]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
phy: uniphier-usb3hs: Change Rx sync mode to avoid communication failure
authorKunihiko Hayashi <hayashi.kunihiko@socionext.com>
Thu, 30 Jan 2020 06:52:43 +0000 (15:52 +0900)
committerKishon Vijay Abraham I <kishon@ti.com>
Fri, 20 Mar 2020 14:04:29 +0000 (19:34 +0530)
In case of using default parameters, communication failure might occur
in rare cases. This sets Rx sync mode parameter to avoid the issue.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/socionext/phy-uniphier-usb3hs.c

index bdf696e5bd22143ab8d7a9a03e69e604a7b93a8a..a9bc74121f38a4daf0635d23d8279066d0ec2c14 100644 (file)
 
 #define PHY_F(regno, msb, lsb) { (regno), (msb), (lsb) }
 
+#define RX_CHK_SYNC    PHY_F(0, 5, 5)  /* RX sync mode */
+#define RX_SYNC_SEL    PHY_F(1, 1, 0)  /* RX sync length */
 #define LS_SLEW                PHY_F(10, 6, 6) /* LS mode slew rate */
 #define FS_LS_DRV      PHY_F(10, 5, 5) /* FS/LS slew rate */
 
-#define MAX_PHY_PARAMS 2
+#define MAX_PHY_PARAMS 4
 
 struct uniphier_u3hsphy_param {
        struct {
@@ -395,13 +397,19 @@ static const struct uniphier_u3hsphy_soc_data uniphier_pro5_data = {
 
 static const struct uniphier_u3hsphy_soc_data uniphier_pxs2_data = {
        .is_legacy = false,
-       .nparams = 0,
+       .nparams = 2,
+       .param = {
+               { RX_CHK_SYNC, 1 },
+               { RX_SYNC_SEL, 1 },
+       },
 };
 
 static const struct uniphier_u3hsphy_soc_data uniphier_ld20_data = {
        .is_legacy = false,
-       .nparams = 2,
+       .nparams = 4,
        .param = {
+               { RX_CHK_SYNC, 1 },
+               { RX_SYNC_SEL, 1 },
                { LS_SLEW, 1 },
                { FS_LS_DRV, 1 },
        },
@@ -412,7 +420,11 @@ static const struct uniphier_u3hsphy_soc_data uniphier_ld20_data = {
 
 static const struct uniphier_u3hsphy_soc_data uniphier_pxs3_data = {
        .is_legacy = false,
-       .nparams = 0,
+       .nparams = 2,
+       .param = {
+               { RX_CHK_SYNC, 1 },
+               { RX_SYNC_SEL, 1 },
+       },
        .trim_func = uniphier_u3hsphy_trim_ld20,
        .config0 = 0x92316680,
        .config1 = 0x00000106,