@@ -1125,8 +1125,6 @@ static const struct qmp_phy_init_tbl sc8280xp_usb3_uniphy_pcs_tbl[] = {
11251125 QMP_PHY_INIT_CFG (QPHY_V5_PCS_RCVR_DTCT_DLY_P1U2_H , 0x03 ),
11261126 QMP_PHY_INIT_CFG (QPHY_V5_PCS_RX_SIGDET_LVL , 0xaa ),
11271127 QMP_PHY_INIT_CFG (QPHY_V5_PCS_PCS_TX_RX_CONFIG , 0x0c ),
1128- QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 , 0x07 ),
1129- QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL , 0xf8 ),
11301128 QMP_PHY_INIT_CFG (QPHY_V5_PCS_CDR_RESET_TIME , 0x0a ),
11311129 QMP_PHY_INIT_CFG (QPHY_V5_PCS_ALIGN_DETECT_CONFIG1 , 0x88 ),
11321130 QMP_PHY_INIT_CFG (QPHY_V5_PCS_ALIGN_DETECT_CONFIG2 , 0x13 ),
@@ -1135,6 +1133,11 @@ static const struct qmp_phy_init_tbl sc8280xp_usb3_uniphy_pcs_tbl[] = {
11351133 QMP_PHY_INIT_CFG (QPHY_V5_PCS_REFGEN_REQ_CONFIG1 , 0x21 ),
11361134};
11371135
1136+ static const struct qmp_phy_init_tbl sc8280xp_usb3_uniphy_pcs_usb_tbl [] = {
1137+ QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 , 0x07 ),
1138+ QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL , 0xf8 ),
1139+ };
1140+
11381141static const struct qmp_phy_init_tbl sa8775p_usb3_uniphy_pcs_tbl [] = {
11391142 QMP_PHY_INIT_CFG (QPHY_V5_PCS_LOCK_DETECT_CONFIG1 , 0xc4 ),
11401143 QMP_PHY_INIT_CFG (QPHY_V5_PCS_LOCK_DETECT_CONFIG2 , 0x89 ),
@@ -1144,9 +1147,6 @@ static const struct qmp_phy_init_tbl sa8775p_usb3_uniphy_pcs_tbl[] = {
11441147 QMP_PHY_INIT_CFG (QPHY_V5_PCS_RCVR_DTCT_DLY_P1U2_H , 0x03 ),
11451148 QMP_PHY_INIT_CFG (QPHY_V5_PCS_RX_SIGDET_LVL , 0xaa ),
11461149 QMP_PHY_INIT_CFG (QPHY_V5_PCS_PCS_TX_RX_CONFIG , 0x0c ),
1147- QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 , 0x07 ),
1148- QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL , 0xf8 ),
1149- QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_POWER_STATE_CONFIG1 , 0x6f ),
11501150 QMP_PHY_INIT_CFG (QPHY_V5_PCS_CDR_RESET_TIME , 0x0a ),
11511151 QMP_PHY_INIT_CFG (QPHY_V5_PCS_ALIGN_DETECT_CONFIG1 , 0x88 ),
11521152 QMP_PHY_INIT_CFG (QPHY_V5_PCS_ALIGN_DETECT_CONFIG2 , 0x13 ),
@@ -1155,6 +1155,12 @@ static const struct qmp_phy_init_tbl sa8775p_usb3_uniphy_pcs_tbl[] = {
11551155 QMP_PHY_INIT_CFG (QPHY_V5_PCS_REFGEN_REQ_CONFIG1 , 0x21 ),
11561156};
11571157
1158+ static const struct qmp_phy_init_tbl sa8775p_usb3_uniphy_pcs_usb_tbl [] = {
1159+ QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 , 0x07 ),
1160+ QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL , 0xf8 ),
1161+ QMP_PHY_INIT_CFG (QPHY_V5_PCS_USB3_POWER_STATE_CONFIG1 , 0x6f ),
1162+ };
1163+
11581164struct qmp_usb_offsets {
11591165 u16 serdes ;
11601166 u16 pcs ;
@@ -1378,6 +1384,8 @@ static const struct qmp_phy_cfg sa8775p_usb3_uniphy_cfg = {
13781384 .rx_tbl_num = ARRAY_SIZE (sc8280xp_usb3_uniphy_rx_tbl ),
13791385 .pcs_tbl = sa8775p_usb3_uniphy_pcs_tbl ,
13801386 .pcs_tbl_num = ARRAY_SIZE (sa8775p_usb3_uniphy_pcs_tbl ),
1387+ .pcs_usb_tbl = sa8775p_usb3_uniphy_pcs_usb_tbl ,
1388+ .pcs_usb_tbl_num = ARRAY_SIZE (sa8775p_usb3_uniphy_pcs_usb_tbl ),
13811389 .vreg_list = qmp_phy_vreg_l ,
13821390 .num_vregs = ARRAY_SIZE (qmp_phy_vreg_l ),
13831391 .regs = qmp_v5_usb3phy_regs_layout ,
@@ -1396,6 +1404,8 @@ static const struct qmp_phy_cfg sc8280xp_usb3_uniphy_cfg = {
13961404 .rx_tbl_num = ARRAY_SIZE (sc8280xp_usb3_uniphy_rx_tbl ),
13971405 .pcs_tbl = sc8280xp_usb3_uniphy_pcs_tbl ,
13981406 .pcs_tbl_num = ARRAY_SIZE (sc8280xp_usb3_uniphy_pcs_tbl ),
1407+ .pcs_usb_tbl = sc8280xp_usb3_uniphy_pcs_usb_tbl ,
1408+ .pcs_usb_tbl_num = ARRAY_SIZE (sc8280xp_usb3_uniphy_pcs_usb_tbl ),
13991409 .vreg_list = qmp_phy_vreg_l ,
14001410 .num_vregs = ARRAY_SIZE (qmp_phy_vreg_l ),
14011411 .regs = qmp_v5_usb3phy_regs_layout ,
@@ -1672,6 +1682,7 @@ static int qmp_usb_power_on(struct phy *phy)
16721682 void __iomem * tx = qmp -> tx ;
16731683 void __iomem * rx = qmp -> rx ;
16741684 void __iomem * pcs = qmp -> pcs ;
1685+ void __iomem * pcs_usb = qmp -> pcs_usb ;
16751686 void __iomem * status ;
16761687 unsigned int val ;
16771688 int ret ;
@@ -1695,6 +1706,9 @@ static int qmp_usb_power_on(struct phy *phy)
16951706
16961707 qmp_usb_configure (pcs , cfg -> pcs_tbl , cfg -> pcs_tbl_num );
16971708
1709+ if (pcs_usb )
1710+ qmp_usb_configure (pcs_usb , cfg -> pcs_usb_tbl , cfg -> pcs_usb_tbl_num );
1711+
16981712 if (cfg -> has_pwrdn_delay )
16991713 usleep_range (10 , 20 );
17001714
0 commit comments