@@ -2639,29 +2639,29 @@ static const struct qmp_phy_init_tbl sa8775p_qmp_gen4x2_pcie_rc_serdes_alt_tbl[]
26392639};
26402640
26412641static const struct qmp_phy_init_tbl sa8775p_qmp_gen4x2_pcie_rx_alt_tbl [] = {
2642- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_PI_CONTROLS , 0x16 ),
2642+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_PI_CONTROLS , 0x07 ),
26432643 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_DFE_CTLE_POST_CAL_OFFSET , 0x38 ),
2644- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B0 , 0x9a ),
2644+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B0 , 0x9b ),
26452645 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B1 , 0xb0 ),
2646- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B2 , 0x92 ),
2646+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B2 , 0xe4 ),
26472647 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B3 , 0xf0 ),
26482648 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B4 , 0x42 ),
2649- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B5 , 0x99 ),
2650- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B6 , 0x29 ),
2651- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B0 , 0x9a ),
2649+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B5 , 0x00 ),
2650+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B6 , 0x20 ),
2651+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B0 , 0x9b ),
26522652 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B1 , 0xfb ),
2653- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B2 , 0x92 ),
2653+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B2 , 0xe4 ),
26542654 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B3 , 0xec ),
26552655 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B4 , 0x43 ),
26562656 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B5 , 0xdd ),
26572657 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B6 , 0x0d ),
2658- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B0 , 0xf3 ),
2658+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B0 , 0xb3 ),
26592659 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B1 , 0xf8 ),
2660- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B2 , 0xec ),
2661- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B3 , 0xd6 ),
2662- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B4 , 0x83 ),
2663- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B5 , 0xf5 ),
2664- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B6 , 0x5e ),
2660+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B2 , 0xed ),
2661+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B3 , 0xe5 ),
2662+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B4 , 0x8d ),
2663+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B5 , 0xd6 ),
2664+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B6 , 0x7e ),
26652665 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_PHPRE_CTRL , 0x20 ),
26662666 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_AUX_DATA_THRESH_BIN_RATE_0_1 , 0x3f ),
26672667 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_AUX_DATA_THRESH_BIN_RATE_2_3 , 0x37 ),
@@ -2680,12 +2680,12 @@ static const struct qmp_phy_init_tbl sa8775p_qmp_gen4x2_pcie_rx_alt_tbl[] = {
26802680 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_FO_GAIN_RATE3 , 0x08 ),
26812681 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_SO_GAIN_RATE3 , 0x04 ),
26822682 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_VGA_CAL_CNTRL1 , 0x04 ),
2683- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_VGA_CAL_MAN_VAL , 0x08 ),
2684- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_EQU_ADAPTOR_CNTRL4 , 0x0b ),
2683+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_VGA_CAL_MAN_VAL , 0x03 ),
2684+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_EQU_ADAPTOR_CNTRL4 , 0x08 ),
26852685 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_EQ_OFFSET_ADAPTOR_CNTRL1 , 0x7c ),
26862686 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_IDAC_SAOFFSET , 0x10 ),
26872687 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_DFE_DAC_ENABLE1 , 0x00 ),
2688- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_GM_CAL , 0x05 ),
2688+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_GM_CAL , 0x01 ),
26892689 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_TX_ADAPT_POST_THRESH1 , 0x00 ),
26902690 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_TX_ADAPT_POST_THRESH2 , 0x1f ),
26912691};
@@ -2699,6 +2699,8 @@ static const struct qmp_phy_init_tbl sa8775p_qmp_gen4_pcie_tx_tbl[] = {
26992699};
27002700
27012701static const struct qmp_phy_init_tbl sa8775p_qmp_gen4_pcie_pcs_misc_tbl [] = {
2702+ QMP_PHY_INIT_CFG (QPHY_PCIE_V5_20_PCS_G3_RXEQEVAL_TIME , 0x27 ),
2703+ QMP_PHY_INIT_CFG (QPHY_PCIE_V5_20_PCS_G4_RXEQEVAL_TIME , 0x27 ),
27022704 QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_PCIE_EQ_CONFIG1 , 0x16 ),
27032705 QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_PCIE_G4_EQ_CONFIG5 , 0x02 ),
27042706 QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_PCIE_G4_PRE_GAIN , 0x2e ),
@@ -2711,11 +2713,19 @@ static const struct qmp_phy_init_tbl sa8775p_qmp_gen4_pcie_rc_pcs_misc_tbl[] = {
27112713 QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_PCIE_OSC_DTCT_ACTIONS , 0x00 ),
27122714};
27132715
2714- static const struct qmp_phy_init_tbl sa8775p_qmp_gen4x2_pcie_pcs_alt_tbl [] = {
2716+ static const struct qmp_phy_init_tbl sa8775p_qmp_gen4_pcie_pcs_alt_tbl [] = {
27152717 QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_EQ_CONFIG4 , 0x16 ),
27162718 QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_EQ_CONFIG5 , 0x22 ),
27172719 QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_G3S2_PRE_GAIN , 0x2e ),
27182720 QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_RX_SIGDET_LVL , 0x66 ),
2721+ QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_LOCK_DETECT_CONFIG1 , 0xff ),
2722+ QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_LOCK_DETECT_CONFIG2 , 0x89 ),
2723+ QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_ALIGN_DETECT_CONFIG1 , 0x00 ),
2724+ QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_ALIGN_DETECT_CONFIG2 , 0x50 ),
2725+ };
2726+
2727+ static const struct qmp_phy_init_tbl sa8775p_qmp_gen4x2_pcie_ln_shrd_tbl [] = {
2728+ QMP_PHY_INIT_CFG (QSERDES_v5_LN_SHRD_UCDR_PI_CTRL2 , 0x00 ),
27192729};
27202730
27212731static const struct qmp_phy_init_tbl sa8775p_qmp_gen4x4_pcie_rx_alt_tbl [] = {
@@ -2739,42 +2749,35 @@ static const struct qmp_phy_init_tbl sa8775p_qmp_gen4x4_pcie_rx_alt_tbl[] = {
27392749 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MARG_COARSE_THRESH5_RATE3 , 0x1f ),
27402750 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MARG_COARSE_THRESH6_RATE3 , 0x1f ),
27412751 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_Q_PI_INTRINSIC_BIAS_RATE32 , 0x09 ),
2742- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B0 , 0x99 ),
2752+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B0 , 0x9b ),
27432753 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B1 , 0xb0 ),
2744- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B2 , 0x92 ),
2754+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B2 , 0xd2 ),
27452755 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B3 , 0xf0 ),
27462756 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B4 , 0x42 ),
27472757 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B5 , 0x00 ),
27482758 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B6 , 0x20 ),
2749- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B0 , 0x9a ),
2759+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B0 , 0x9b ),
27502760 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B1 , 0xb6 ),
2751- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B2 , 0x92 ),
2761+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B2 , 0xd2 ),
27522762 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B3 , 0xf0 ),
27532763 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B4 , 0x43 ),
27542764 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B5 , 0xdd ),
27552765 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B6 , 0x0d ),
2756- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B0 , 0xf3 ),
2766+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B0 , 0xb3 ),
27572767 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B1 , 0xf6 ),
2758- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B2 , 0xee ),
2759- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B3 , 0xd2 ),
2768+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B2 , 0xe4 ),
2769+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B3 , 0xe6 ),
27602770 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B4 , 0x83 ),
2761- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B5 , 0xf9 ),
2762- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B6 , 0x3d ),
2771+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B5 , 0xd6 ),
2772+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE3_B6 , 0x7e ),
27632773 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_TX_ADAPT_POST_THRESH1 , 0x00 ),
27642774 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_TX_ADAPT_POST_THRESH2 , 0x1f ),
27652775 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_FO_GAIN_RATE2 , 0x0c ),
27662776 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_FO_GAIN_RATE3 , 0x08 ),
27672777 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_SO_GAIN_RATE3 , 0x04 ),
27682778 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_PI_CONTROLS , 0x16 ),
27692779 QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_VGA_CAL_CNTRL1 , 0x04 ),
2770- QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_VGA_CAL_MAN_VAL , 0x08 ),
2771- };
2772-
2773- static const struct qmp_phy_init_tbl sa8775p_qmp_gen4x4_pcie_pcs_alt_tbl [] = {
2774- QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_EQ_CONFIG4 , 0x16 ),
2775- QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_EQ_CONFIG5 , 0x22 ),
2776- QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_G3S2_PRE_GAIN , 0x2e ),
2777- QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_RX_SIGDET_LVL , 0x66 ),
2780+ QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_VGA_CAL_MAN_VAL , 0x06 ),
27782781};
27792782
27802783static const struct qmp_phy_init_tbl sa8775p_qmp_gen4x4_pcie_serdes_alt_tbl [] = {
@@ -3191,6 +3194,7 @@ static const struct qmp_pcie_offsets qmp_pcie_offsets_v5_20 = {
31913194 .rx = 0x0200 ,
31923195 .tx2 = 0x0800 ,
31933196 .rx2 = 0x0a00 ,
3197+ .ln_shrd = 0x0e00 ,
31943198};
31953199
31963200static const struct qmp_pcie_offsets qmp_pcie_offsets_v5_30 = {
@@ -3398,8 +3402,8 @@ static const struct qmp_phy_cfg qcs8300_qmp_gen4x2_pciephy_cfg = {
33983402 .tx_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_tx_tbl ),
33993403 .rx = qcs8300_qmp_gen4x2_pcie_rx_alt_tbl ,
34003404 .rx_num = ARRAY_SIZE (qcs8300_qmp_gen4x2_pcie_rx_alt_tbl ),
3401- .pcs = sa8775p_qmp_gen4x2_pcie_pcs_alt_tbl ,
3402- .pcs_num = ARRAY_SIZE (sa8775p_qmp_gen4x2_pcie_pcs_alt_tbl ),
3405+ .pcs = sa8775p_qmp_gen4_pcie_pcs_alt_tbl ,
3406+ .pcs_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_pcs_alt_tbl ),
34033407 .pcs_misc = sa8775p_qmp_gen4_pcie_pcs_misc_tbl ,
34043408 .pcs_misc_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_pcs_misc_tbl ),
34053409 },
@@ -4067,12 +4071,15 @@ static const struct qmp_phy_cfg sa8775p_qmp_gen4x2_pciephy_cfg = {
40674071 .tx_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_tx_tbl ),
40684072 .rx = sa8775p_qmp_gen4x2_pcie_rx_alt_tbl ,
40694073 .rx_num = ARRAY_SIZE (sa8775p_qmp_gen4x2_pcie_rx_alt_tbl ),
4070- .pcs = sa8775p_qmp_gen4x2_pcie_pcs_alt_tbl ,
4071- .pcs_num = ARRAY_SIZE (sa8775p_qmp_gen4x2_pcie_pcs_alt_tbl ),
4072- .pcs_misc = sa8775p_qmp_gen4_pcie_pcs_misc_tbl ,
4074+ .pcs = sa8775p_qmp_gen4_pcie_pcs_alt_tbl ,
4075+ .pcs_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_pcs_alt_tbl ),
4076+ .pcs_misc = sa8775p_qmp_gen4_pcie_pcs_misc_tbl ,
40734077 .pcs_misc_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_pcs_misc_tbl ),
40744078 .pcs_lane1 = sdx65_qmp_pcie_pcs_lane1_tbl ,
40754079 .pcs_lane1_num = ARRAY_SIZE (sdx65_qmp_pcie_pcs_lane1_tbl ),
4080+ .ln_shrd = sa8775p_qmp_gen4x2_pcie_ln_shrd_tbl ,
4081+ .ln_shrd_num = ARRAY_SIZE (sa8775p_qmp_gen4x2_pcie_ln_shrd_tbl ),
4082+
40764083 },
40774084
40784085 .tbls_rc = & (const struct qmp_phy_cfg_tbls ) {
@@ -4112,8 +4119,8 @@ static const struct qmp_phy_cfg sa8775p_qmp_gen4x4_pciephy_cfg = {
41124119 .tx_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_tx_tbl ),
41134120 .rx = sa8775p_qmp_gen4x4_pcie_rx_alt_tbl ,
41144121 .rx_num = ARRAY_SIZE (sa8775p_qmp_gen4x4_pcie_rx_alt_tbl ),
4115- .pcs = sa8775p_qmp_gen4x4_pcie_pcs_alt_tbl ,
4116- .pcs_num = ARRAY_SIZE (sa8775p_qmp_gen4x4_pcie_pcs_alt_tbl ),
4122+ .pcs = sa8775p_qmp_gen4_pcie_pcs_alt_tbl ,
4123+ .pcs_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_pcs_alt_tbl ),
41174124 .pcs_misc = sa8775p_qmp_gen4_pcie_pcs_misc_tbl ,
41184125 .pcs_misc_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_pcs_misc_tbl ),
41194126 },
0 commit comments