3737#include "phy-qcom-qmp-pcs-pcie-v6_30.h"
3838#include "phy-qcom-qmp-pcs-v6_30.h"
3939#include "phy-qcom-qmp-pcie-qhp.h"
40+ #include "phy-qcom-qmp-qserdes-com-v8.h"
41+ #include "phy-qcom-qmp-pcs-pcie-v8.h"
42+ #include "phy-qcom-qmp-qserdes-txrx-pcie-v8.h"
4043
4144#define PHY_INIT_COMPLETE_TIMEOUT 10000
4245
@@ -101,9 +104,10 @@ static const unsigned int pciephy_v7_regs_layout[QPHY_LAYOUT_SIZE] = {
101104};
102105
103106static const unsigned int pciephy_v8_regs_layout [QPHY_LAYOUT_SIZE ] = {
104- [QPHY_START_CTRL ] = QPHY_V8_PCS_START_CONTROL ,
105- [QPHY_PCS_STATUS ] = QPHY_V8_PCS_PCS_STATUS1 ,
106- [QPHY_PCS_POWER_DOWN_CONTROL ] = QPHY_V8_PCS_POWER_DOWN_CONTROL ,
107+ [QPHY_SW_RESET ] = QPHY_V8_PCS_SW_RESET ,
108+ [QPHY_START_CTRL ] = QPHY_V8_PCS_START_CONTROL ,
109+ [QPHY_PCS_STATUS ] = QPHY_V8_PCS_PCS_STATUS1 ,
110+ [QPHY_PCS_POWER_DOWN_CONTROL ] = QPHY_V8_PCS_POWER_DOWN_CONTROL ,
107111};
108112
109113static const unsigned int pciephy_v8_50_regs_layout [QPHY_LAYOUT_SIZE ] = {
@@ -3073,6 +3077,149 @@ static const struct qmp_phy_init_tbl sar2130p_qmp_gen3x2_pcie_ep_pcs_misc_tbl[]
30733077 QMP_PHY_INIT_CFG (QPHY_PCIE_V6_PCS_PCIE_POWER_STATE_CONFIG4 , 0x07 ),
30743078};
30753079
3080+ static const struct qmp_phy_init_tbl kaanapali_qmp_gen3x2_pcie_serdes_tbl [] = {
3081+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_SSC_STEP_SIZE1_MODE1 , 0x93 ),
3082+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_SSC_STEP_SIZE2_MODE1 , 0x01 ),
3083+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_CP_CTRL_MODE1 , 0x06 ),
3084+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_PLL_RCTRL_MODE1 , 0x16 ),
3085+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_PLL_CCTRL_MODE1 , 0x36 ),
3086+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_CORECLK_DIV_MODE1 , 0x04 ),
3087+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_LOCK_CMP1_MODE1 , 0x0a ),
3088+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_LOCK_CMP2_MODE1 , 0x1a ),
3089+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_DEC_START_MODE1 , 0x34 ),
3090+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_DIV_FRAC_START1_MODE1 , 0x55 ),
3091+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_DIV_FRAC_START2_MODE1 , 0x55 ),
3092+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_DIV_FRAC_START3_MODE1 , 0x01 ),
3093+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_HSCLK_SEL_1 , 0x01 ),
3094+
3095+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_SSC_STEP_SIZE1_MODE0 , 0xf8 ),
3096+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_SSC_STEP_SIZE2_MODE0 , 0x01 ),
3097+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_CP_CTRL_MODE0 , 0x06 ),
3098+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_PLL_RCTRL_MODE0 , 0x16 ),
3099+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_PLL_CCTRL_MODE0 , 0x36 ),
3100+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_CORECLK_DIV_MODE0 , 0x0a ),
3101+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_LOCK_CMP1_MODE0 , 0x04 ),
3102+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_LOCK_CMP2_MODE0 , 0x0d ),
3103+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_DEC_START_MODE0 , 0x41 ),
3104+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_DIV_FRAC_START1_MODE0 , 0xab ),
3105+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_DIV_FRAC_START2_MODE0 , 0xaa ),
3106+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_DIV_FRAC_START3_MODE0 , 0x01 ),
3107+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_HSCLK_HS_SWITCH_SEL_1 , 0x00 ),
3108+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_BG_TIMER , 0x0a ),
3109+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_SSC_PER1 , 0x62 ),
3110+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_SSC_PER2 , 0x02 ),
3111+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_BIAS_EN_CLKBUFLR_EN , 0x14 ),
3112+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_CLK_ENABLE1 , 0x90 ),
3113+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_SYS_CLK_CTRL , 0x82 ),
3114+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_PLL_IVCO , 0x0f ),
3115+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_SYSCLK_EN_SEL , 0x08 ),
3116+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_LOCK_CMP_EN , 0x46 ),
3117+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_LOCK_CMP_CFG , 0x04 ),
3118+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_VCO_TUNE_MAP , 0x14 ),
3119+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_CLK_SELECT , 0x34 ),
3120+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_CORE_CLK_EN , 0xa0 ),
3121+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_CMN_CONFIG_1 , 0x16 ),
3122+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_CMN_MISC_1 , 0x88 ),
3123+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_CMN_MODE , 0x04 ),
3124+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_VCO_DC_LEVEL_CTRL , 0x0f ),
3125+ QMP_PHY_INIT_CFG (QSERDES_V8_COM_PLL_SPARE_FOR_ECO , 0x02 ),
3126+ };
3127+
3128+ static const struct qmp_phy_init_tbl kaanapali_qmp_gen3x2_pcie_tx_tbl [] = {
3129+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_RES_CODE_LANE_OFFSET_TX , 0x1b ),
3130+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_RES_CODE_LANE_OFFSET_RX , 0x14 ),
3131+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_LANE_MODE_1 , 0x00 ),
3132+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_LANE_MODE_2 , 0x40 ),
3133+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_LANE_MODE_3 , 0x00 ),
3134+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_TRAN_DRVR_EMP_EN , 0x04 ),
3135+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_TX_BAND0 , 0x05 ),
3136+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_TX_BAND1 , 0x00 ),
3137+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_SEL_10B_8B , 0x07 ),
3138+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_SEL_20B_10B , 0x1f ),
3139+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_PARRATE_REC_DETECT_IDLE_EN , 0x90 ),
3140+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_TX_ADAPT_POST_THRESH1 , 0x02 ),
3141+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_TX_ADAPT_POST_THRESH2 , 0x0d ),
3142+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_EQ_RCF_CTRL_RATE3 , 0x53 ),
3143+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_EQ_RCF_CTRL_RATE4 , 0x54 ),
3144+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_TX_PHPRE_CTRL , 0x20 ),
3145+ };
3146+
3147+ static const struct qmp_phy_init_tbl kaanapali_qmp_gen3x2_pcie_rx_tbl [] = {
3148+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_UCDR_FO_GAIN_RATE4 , 0x0b ),
3149+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_UCDR_SO_GAIN_RATE3 , 0x04 ),
3150+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_UCDR_SO_GAIN_RATE4 , 0x05 ),
3151+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_UCDR_PI_CONTROLS , 0x15 ),
3152+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_VGA_CAL_CNTRL1 , 0x00 ),
3153+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_VGA_CAL_MAN_VAL , 0x89 ),
3154+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_EQU_ADAPTOR_CNTRL4 , 0x2d ),
3155+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_SIGDET_ENABLES , 0x1c ),
3156+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_SIGDET_LVL , 0x04 ),
3157+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RXCLK_DIV2_CTRL , 0x01 ),
3158+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_BAND_CTRL0 , 0x05 ),
3159+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_TERM_BW_CTRL0 , 0x00 ),
3160+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_TERM_BW_CTRL1 , 0x00 ),
3161+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_SVS_MODE_CTRL , 0x00 ),
3162+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_UCDR_PI_CTRL1 , 0x40 ),
3163+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_UCDR_PI_CTRL2 , 0x42 ),
3164+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_UCDR_SB2_THRESH2_RATE3 , 0x18 ),
3165+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_UCDR_SB2_GAIN1_RATE3 , 0x12 ),
3166+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_UCDR_SB2_GAIN2_RATE3 , 0x18 ),
3167+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE_0_1_B0 , 0xc2 ),
3168+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE_0_1_B1 , 0xc2 ),
3169+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE_0_1_B2 , 0x18 ),
3170+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE_0_1_B4 , 0x0f ),
3171+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE_0_1_B7 , 0x62 ),
3172+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE3_B0 , 0xe4 ),
3173+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE3_B1 , 0x63 ),
3174+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE3_B2 , 0xd8 ),
3175+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE3_B3 , 0x99 ),
3176+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE3_B4 , 0x67 ),
3177+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE4_SA_B0 , 0xa4 ),
3178+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE4_SA_B1 , 0xa4 ),
3179+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE4_SA_B2 , 0x28 ),
3180+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE4_SA_B3 , 0x9f ),
3181+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE4_SA_B4 , 0x48 ),
3182+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_RX_MODE_RATE4_SA_B5 , 0x24 ),
3183+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_Q_PI_INTRINSIC_BIAS_RATE32 , 0x01 ),
3184+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_Q_PI_INTRINSIC_BIAS_RATE4 , 0x00 ),
3185+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_EOM_MAX_ERR_LIMIT_LSB , 0xff ),
3186+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_EOM_MAX_ERR_LIMIT_MSB , 0xff ),
3187+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_AUXDATA_BIN_RATE23 , 0x30 ),
3188+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_AUXDATA_BIN_RATE4 , 0x03 ),
3189+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_VTHRESH_CAL_MAN_VAL_RATE3 , 0x1f ),
3190+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_VTHRESH_CAL_MAN_VAL_RATE4 , 0x1f ),
3191+ QMP_PHY_INIT_CFG (QSERDES_V8_PCIE_RX_GM_CAL , 0x0d ),
3192+ };
3193+
3194+ static const struct qmp_phy_init_tbl kaanapali_qmp_gen3x2_pcie_pcs_tbl [] = {
3195+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_G12S1_TXDEEMPH_M6DB , 0x17 ),
3196+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_G3S2_PRE_GAIN , 0x2e ),
3197+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_RX_SIGDET_LVL , 0xcc ),
3198+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_ELECIDLE_DLY_SEL , 0x40 ),
3199+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_PCS_TX_RX_CONFIG1 , 0x04 ),
3200+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_PCS_TX_RX_CONFIG2 , 0x02 ),
3201+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_EQ_CONFIG4 , 0x00 ),
3202+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_EQ_CONFIG5 , 0x22 ),
3203+ };
3204+
3205+ static const struct qmp_phy_init_tbl kaanapali_qmp_gen3x2_pcie_pcs_misc_tbl [] = {
3206+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_TX_RX_CONFIG , 0xc0 ),
3207+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_POWER_STATE_CONFIG2 , 0x1d ),
3208+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_ENDPOINT_REFCLK_DRIVE , 0xc1 ),
3209+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_OSC_DTCT_ACTIONS , 0x00 ),
3210+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_EQ_CONFIG1 , 0x16 ),
3211+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_G3_RXEQEVAL_TIME , 0x27 ),
3212+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_G4_RXEQEVAL_TIME , 0x27 ),
3213+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_G4_EQ_CONFIG5 , 0x02 ),
3214+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_G4_PRE_GAIN , 0x2e ),
3215+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_RX_MARGINING_CONFIG1 , 0x03 ),
3216+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_RX_MARGINING_CONFIG3 , 0x28 ),
3217+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_RX_MARGINING_CONFIG5 , 0x0f ),
3218+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_G3_FOM_EQ_CONFIG5 , 0xf2 ),
3219+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_G4_FOM_EQ_CONFIG5 , 0xf2 ),
3220+ QMP_PHY_INIT_CFG (QPHY_PCIE_V8_PCS_POWER_STATE_CONFIG6 , 0x1f ),
3221+ };
3222+
30763223struct qmp_pcie_offsets {
30773224 u16 serdes ;
30783225 u16 pcs ;
@@ -3369,9 +3516,10 @@ static const struct qmp_pcie_offsets qmp_pcie_offsets_v6_30 = {
33693516 .ln_shrd = 0x8000 ,
33703517};
33713518
3372- static const struct qmp_pcie_offsets qmp_pcie_offsets_v8 = {
3519+ static const struct qmp_pcie_offsets qmp_pcie_offsets_v8_0 = {
33733520 .serdes = 0x1000 ,
33743521 .pcs = 0x1400 ,
3522+ .pcs_misc = 0x1800 ,
33753523 .tx = 0x0000 ,
33763524 .rx = 0x0200 ,
33773525 .tx2 = 0x0800 ,
@@ -4440,6 +4588,34 @@ static const struct qmp_phy_cfg qmp_v6_gen4x4_pciephy_cfg = {
44404588 .phy_status = PHYSTATUS_4_20 ,
44414589};
44424590
4591+ static const struct qmp_phy_cfg qmp_v8_gen3x2_pciephy_cfg = {
4592+ .lanes = 2 ,
4593+
4594+ .offsets = & qmp_pcie_offsets_v8_0 ,
4595+
4596+ .tbls = {
4597+ .serdes = kaanapali_qmp_gen3x2_pcie_serdes_tbl ,
4598+ .serdes_num = ARRAY_SIZE (kaanapali_qmp_gen3x2_pcie_serdes_tbl ),
4599+ .tx = kaanapali_qmp_gen3x2_pcie_tx_tbl ,
4600+ .tx_num = ARRAY_SIZE (kaanapali_qmp_gen3x2_pcie_tx_tbl ),
4601+ .rx = kaanapali_qmp_gen3x2_pcie_rx_tbl ,
4602+ .rx_num = ARRAY_SIZE (kaanapali_qmp_gen3x2_pcie_rx_tbl ),
4603+ .pcs = kaanapali_qmp_gen3x2_pcie_pcs_tbl ,
4604+ .pcs_num = ARRAY_SIZE (kaanapali_qmp_gen3x2_pcie_pcs_tbl ),
4605+ .pcs_misc = kaanapali_qmp_gen3x2_pcie_pcs_misc_tbl ,
4606+ .pcs_misc_num = ARRAY_SIZE (kaanapali_qmp_gen3x2_pcie_pcs_misc_tbl ),
4607+ },
4608+
4609+ .reset_list = sdm845_pciephy_reset_l ,
4610+ .num_resets = ARRAY_SIZE (sdm845_pciephy_reset_l ),
4611+ .vreg_list = qmp_phy_vreg_l ,
4612+ .num_vregs = ARRAY_SIZE (qmp_phy_vreg_l ),
4613+ .regs = pciephy_v8_regs_layout ,
4614+
4615+ .pwrdn_ctrl = SW_PWRDN | REFCLK_DRV_DSBL ,
4616+ .phy_status = PHYSTATUS_4_20 ,
4617+ };
4618+
44434619static const struct qmp_phy_cfg glymur_qmp_gen5x4_pciephy_cfg = {
44444620 .lanes = 4 ,
44454621
@@ -4459,7 +4635,7 @@ static const struct qmp_phy_cfg glymur_qmp_gen5x4_pciephy_cfg = {
44594635static const struct qmp_phy_cfg glymur_qmp_gen4x2_pciephy_cfg = {
44604636 .lanes = 2 ,
44614637
4462- .offsets = & qmp_pcie_offsets_v8 ,
4638+ .offsets = & qmp_pcie_offsets_v8_0 ,
44634639
44644640 .reset_list = sdm845_pciephy_reset_l ,
44654641 .num_resets = ARRAY_SIZE (sdm845_pciephy_reset_l ),
@@ -5243,6 +5419,9 @@ static const struct of_device_id qmp_pcie_of_match_table[] = {
52435419 }, {
52445420 .compatible = "qcom,ipq9574-qmp-gen3x2-pcie-phy" ,
52455421 .data = & ipq9574_gen3x2_pciephy_cfg ,
5422+ }, {
5423+ .compatible = "qcom,kaanapali-qmp-gen3x2-pcie-phy" ,
5424+ .data = & qmp_v8_gen3x2_pciephy_cfg ,
52465425 }, {
52475426 .compatible = "qcom,msm8998-qmp-pcie-phy" ,
52485427 .data = & msm8998_pciephy_cfg ,
0 commit comments