]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
sunxi: usb_phy: Swap check for disconnect threshold
authorHans de Goede <hdegoede@redhat.com>
Sun, 31 May 2015 17:26:54 +0000 (19:26 +0200)
committerHans de Goede <hdegoede@redhat.com>
Thu, 4 Jun 2015 12:11:01 +0000 (14:11 +0200)
Before this commit the code for determining the disconnect threshold was
checking for sun4i or sun6i assuming that those where the exception and
that newer SoCs use a disconnect threshold of 2 like sun7i does.

But it turns out that newer SoCs actually use a disconnect threshold of 3
and sun5i and sun7i are the exceptions, so check for those instead.

Here are the settings from the various Allwinner SDK sources:
 sun4i-a10: USBC_Phy_Write(usbc_no, 0x2a, 3, 2);
 sun5i-a13: USBC_Phy_Write(usbc_no, 0x2a, 2, 2);
 sun6i-a31: USBC_Phy_Write(usbc_no, 0x2a, 3, 2);
 sun7i-a20: USBC_Phy_Write(usbc_no, 0x2a, 2, 2);
 sun8i-a23: USBC_Phy_Write(usbc_no, 0x2a, 3, 2);
 sun8i-h3:  USBC_Phy_Write(usbc_no, 0x2a, 3, 2);
 sun9i-a80: USBC_Phy_Write(usbc_no, 0x2a, 3, 2);

Note this commit makes no functional changes for sun4i - sun7i, and
changes the disconnect threshold for sun8i to match what Allwinner uses.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
arch/arm/cpu/armv7/sunxi/usb_phy.c

index 410669e548ea7bbcdbd825d23adbaa2c2394f2f7..b07d67ff3f82f18b1c57a153ff5e3e21f3675fa3 100644 (file)
@@ -128,10 +128,10 @@ static void sunxi_usb_phy_config(struct sunxi_usb_phy *phy)
        usb_phy_write(phy, 0x20, 0x14, 5);
 
        /* threshold adjustment disconnect */
-#if defined CONFIG_MACH_SUN4I || defined CONFIG_MACH_SUN6I
-       usb_phy_write(phy, 0x2a, 3, 2);
-#else
+#if defined CONFIG_MACH_SUN5I || defined CONFIG_MACH_SUN7I
        usb_phy_write(phy, 0x2a, 2, 2);
+#else
+       usb_phy_write(phy, 0x2a, 3, 2);
 #endif
 
        return;