@@ -2639,29 +2639,29 @@ static const struct qmp_phy_init_tbl sa8775p_qmp_gen4x2_pcie_rc_serdes_alt_tbl[]
2639
2639
};
2640
2640
2641
2641
static 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 ),
2643
2643
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 ),
2645
2645
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 ),
2647
2647
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B3 , 0xf0 ),
2648
2648
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 ),
2652
2652
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 ),
2654
2654
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B3 , 0xec ),
2655
2655
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B4 , 0x43 ),
2656
2656
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B5 , 0xdd ),
2657
2657
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 ),
2659
2659
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 ),
2665
2665
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_PHPRE_CTRL , 0x20 ),
2666
2666
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_AUX_DATA_THRESH_BIN_RATE_0_1 , 0x3f ),
2667
2667
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[] = {
2680
2680
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_FO_GAIN_RATE3 , 0x08 ),
2681
2681
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_SO_GAIN_RATE3 , 0x04 ),
2682
2682
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 ),
2685
2685
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_EQ_OFFSET_ADAPTOR_CNTRL1 , 0x7c ),
2686
2686
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_IDAC_SAOFFSET , 0x10 ),
2687
2687
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 ),
2689
2689
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_TX_ADAPT_POST_THRESH1 , 0x00 ),
2690
2690
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_TX_ADAPT_POST_THRESH2 , 0x1f ),
2691
2691
};
@@ -2699,6 +2699,8 @@ static const struct qmp_phy_init_tbl sa8775p_qmp_gen4_pcie_tx_tbl[] = {
2699
2699
};
2700
2700
2701
2701
static 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 ),
2702
2704
QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_PCIE_EQ_CONFIG1 , 0x16 ),
2703
2705
QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_PCIE_G4_EQ_CONFIG5 , 0x02 ),
2704
2706
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[] = {
2711
2713
QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_PCIE_OSC_DTCT_ACTIONS , 0x00 ),
2712
2714
};
2713
2715
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 [] = {
2715
2717
QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_EQ_CONFIG4 , 0x16 ),
2716
2718
QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_EQ_CONFIG5 , 0x22 ),
2717
2719
QMP_PHY_INIT_CFG (QPHY_V5_20_PCS_G3S2_PRE_GAIN , 0x2e ),
2718
2720
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 ),
2719
2729
};
2720
2730
2721
2731
static 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[] = {
2739
2749
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MARG_COARSE_THRESH5_RATE3 , 0x1f ),
2740
2750
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MARG_COARSE_THRESH6_RATE3 , 0x1f ),
2741
2751
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 ),
2743
2753
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 ),
2745
2755
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B3 , 0xf0 ),
2746
2756
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B4 , 0x42 ),
2747
2757
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE_0_1_B5 , 0x00 ),
2748
2758
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 ),
2750
2760
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 ),
2752
2762
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B3 , 0xf0 ),
2753
2763
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B4 , 0x43 ),
2754
2764
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_RX_MODE_RATE2_B5 , 0xdd ),
2755
2765
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 ),
2757
2767
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 ),
2760
2770
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 ),
2763
2773
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_TX_ADAPT_POST_THRESH1 , 0x00 ),
2764
2774
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_TX_ADAPT_POST_THRESH2 , 0x1f ),
2765
2775
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_FO_GAIN_RATE2 , 0x0c ),
2766
2776
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_FO_GAIN_RATE3 , 0x08 ),
2767
2777
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_SO_GAIN_RATE3 , 0x04 ),
2768
2778
QMP_PHY_INIT_CFG (QSERDES_V5_20_RX_UCDR_PI_CONTROLS , 0x16 ),
2769
2779
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 ),
2778
2781
};
2779
2782
2780
2783
static 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 = {
3191
3194
.rx = 0x0200 ,
3192
3195
.tx2 = 0x0800 ,
3193
3196
.rx2 = 0x0a00 ,
3197
+ .ln_shrd = 0x0e00 ,
3194
3198
};
3195
3199
3196
3200
static 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 = {
3398
3402
.tx_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_tx_tbl ),
3399
3403
.rx = qcs8300_qmp_gen4x2_pcie_rx_alt_tbl ,
3400
3404
.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 ),
3403
3407
.pcs_misc = sa8775p_qmp_gen4_pcie_pcs_misc_tbl ,
3404
3408
.pcs_misc_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_pcs_misc_tbl ),
3405
3409
},
@@ -4067,12 +4071,15 @@ static const struct qmp_phy_cfg sa8775p_qmp_gen4x2_pciephy_cfg = {
4067
4071
.tx_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_tx_tbl ),
4068
4072
.rx = sa8775p_qmp_gen4x2_pcie_rx_alt_tbl ,
4069
4073
.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 ,
4073
4077
.pcs_misc_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_pcs_misc_tbl ),
4074
4078
.pcs_lane1 = sdx65_qmp_pcie_pcs_lane1_tbl ,
4075
4079
.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
+
4076
4083
},
4077
4084
4078
4085
.tbls_rc = & (const struct qmp_phy_cfg_tbls ) {
@@ -4112,8 +4119,8 @@ static const struct qmp_phy_cfg sa8775p_qmp_gen4x4_pciephy_cfg = {
4112
4119
.tx_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_tx_tbl ),
4113
4120
.rx = sa8775p_qmp_gen4x4_pcie_rx_alt_tbl ,
4114
4121
.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 ),
4117
4124
.pcs_misc = sa8775p_qmp_gen4_pcie_pcs_misc_tbl ,
4118
4125
.pcs_misc_num = ARRAY_SIZE (sa8775p_qmp_gen4_pcie_pcs_misc_tbl ),
4119
4126
},
0 commit comments