@@ -1112,8 +1112,6 @@ static const struct qmp_phy_init_tbl sc8280xp_usb3_uniphy_pcs_tbl[] = {
11121112 QMP_PHY_INIT_CFG (QPHY_V5_PCS_RCVR_DTCT_DLY_P1U2_H , 0x03 ),
11131113 QMP_PHY_INIT_CFG (QPHY_V5_PCS_RX_SIGDET_LVL , 0xaa ),
11141114 QMP_PHY_INIT_CFG (QPHY_V5_PCS_PCS_TX_RX_CONFIG , 0x0c ),
1115- QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 , 0x07 ),
1116- QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL , 0xf8 ),
11171115 QMP_PHY_INIT_CFG (QPHY_V5_PCS_CDR_RESET_TIME , 0x0a ),
11181116 QMP_PHY_INIT_CFG (QPHY_V5_PCS_ALIGN_DETECT_CONFIG1 , 0x88 ),
11191117 QMP_PHY_INIT_CFG (QPHY_V5_PCS_ALIGN_DETECT_CONFIG2 , 0x13 ),
@@ -1122,6 +1120,11 @@ static const struct qmp_phy_init_tbl sc8280xp_usb3_uniphy_pcs_tbl[] = {
11221120 QMP_PHY_INIT_CFG (QPHY_V5_PCS_REFGEN_REQ_CONFIG1 , 0x21 ),
11231121};
11241122
1123+ static const struct qmp_phy_init_tbl sc8280xp_usb3_uniphy_pcs_usb_tbl [] = {
1124+ QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 , 0x07 ),
1125+ QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL , 0xf8 ),
1126+ };
1127+
11251128static const struct qmp_phy_init_tbl sa8775p_usb3_uniphy_pcs_tbl [] = {
11261129 QMP_PHY_INIT_CFG (QPHY_V5_PCS_LOCK_DETECT_CONFIG1 , 0xc4 ),
11271130 QMP_PHY_INIT_CFG (QPHY_V5_PCS_LOCK_DETECT_CONFIG2 , 0x89 ),
@@ -1131,9 +1134,6 @@ static const struct qmp_phy_init_tbl sa8775p_usb3_uniphy_pcs_tbl[] = {
11311134 QMP_PHY_INIT_CFG (QPHY_V5_PCS_RCVR_DTCT_DLY_P1U2_H , 0x03 ),
11321135 QMP_PHY_INIT_CFG (QPHY_V5_PCS_RX_SIGDET_LVL , 0xaa ),
11331136 QMP_PHY_INIT_CFG (QPHY_V5_PCS_PCS_TX_RX_CONFIG , 0x0c ),
1134- QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 , 0x07 ),
1135- QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL , 0xf8 ),
1136- QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_POWER_STATE_CONFIG1 , 0x6f ),
11371137 QMP_PHY_INIT_CFG (QPHY_V5_PCS_CDR_RESET_TIME , 0x0a ),
11381138 QMP_PHY_INIT_CFG (QPHY_V5_PCS_ALIGN_DETECT_CONFIG1 , 0x88 ),
11391139 QMP_PHY_INIT_CFG (QPHY_V5_PCS_ALIGN_DETECT_CONFIG2 , 0x13 ),
@@ -1142,6 +1142,12 @@ static const struct qmp_phy_init_tbl sa8775p_usb3_uniphy_pcs_tbl[] = {
11421142 QMP_PHY_INIT_CFG (QPHY_V5_PCS_REFGEN_REQ_CONFIG1 , 0x21 ),
11431143};
11441144
1145+ static const struct qmp_phy_init_tbl sa8775p_usb3_uniphy_pcs_usb_tbl [] = {
1146+ QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 , 0x07 ),
1147+ QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL , 0xf8 ),
1148+ QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_POWER_STATE_CONFIG1 , 0x6f ),
1149+ };
1150+
11451151struct qmp_usb_offsets {
11461152 u16 serdes ;
11471153 u16 pcs ;
@@ -1383,6 +1389,8 @@ static const struct qmp_phy_cfg sa8775p_usb3_uniphy_cfg = {
13831389 .rx_tbl_num = ARRAY_SIZE (sc8280xp_usb3_uniphy_rx_tbl ),
13841390 .pcs_tbl = sa8775p_usb3_uniphy_pcs_tbl ,
13851391 .pcs_tbl_num = ARRAY_SIZE (sa8775p_usb3_uniphy_pcs_tbl ),
1392+ .pcs_usb_tbl = sa8775p_usb3_uniphy_pcs_usb_tbl ,
1393+ .pcs_usb_tbl_num = ARRAY_SIZE (sa8775p_usb3_uniphy_pcs_usb_tbl ),
13861394 .clk_list = qmp_v4_phy_clk_l ,
13871395 .num_clks = ARRAY_SIZE (qmp_v4_phy_clk_l ),
13881396 .reset_list = qcm2290_usb3phy_reset_l ,
@@ -1405,6 +1413,8 @@ static const struct qmp_phy_cfg sc8280xp_usb3_uniphy_cfg = {
14051413 .rx_tbl_num = ARRAY_SIZE (sc8280xp_usb3_uniphy_rx_tbl ),
14061414 .pcs_tbl = sc8280xp_usb3_uniphy_pcs_tbl ,
14071415 .pcs_tbl_num = ARRAY_SIZE (sc8280xp_usb3_uniphy_pcs_tbl ),
1416+ .pcs_usb_tbl = sc8280xp_usb3_uniphy_pcs_usb_tbl ,
1417+ .pcs_usb_tbl_num = ARRAY_SIZE (sc8280xp_usb3_uniphy_pcs_usb_tbl ),
14081418 .clk_list = qmp_v4_phy_clk_l ,
14091419 .num_clks = ARRAY_SIZE (qmp_v4_phy_clk_l ),
14101420 .reset_list = qcm2290_usb3phy_reset_l ,
@@ -1703,6 +1713,7 @@ static int qmp_usb_power_on(struct phy *phy)
17031713 void __iomem * tx = qmp -> tx ;
17041714 void __iomem * rx = qmp -> rx ;
17051715 void __iomem * pcs = qmp -> pcs ;
1716+ void __iomem * pcs_usb = qmp -> pcs_usb ;
17061717 void __iomem * status ;
17071718 unsigned int val ;
17081719 int ret ;
@@ -1726,6 +1737,9 @@ static int qmp_usb_power_on(struct phy *phy)
17261737
17271738 qmp_usb_configure (pcs , cfg -> pcs_tbl , cfg -> pcs_tbl_num );
17281739
1740+ if (pcs_usb )
1741+ qmp_usb_configure (pcs_usb , cfg -> pcs_usb_tbl , cfg -> pcs_usb_tbl_num );
1742+
17291743 if (cfg -> has_pwrdn_delay )
17301744 usleep_range (10 , 20 );
17311745
0 commit comments