phy: uniphier-usb3hs: Change Rx sync mode to avoid communication failure
[linux-2.6-microblaze.git] / drivers / phy / socionext / phy-uniphier-usb3hs.c
index bdf696e..a9bc741 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,