Hi, On Fri, Jan 10, 2020 at 05:48:15PM +0530, Sandeep Maheswaram wrote: > Using generic cfg table for QUSB2 V2 PHY. > Add QUSB2 PHY config data and compatible for SC7180. > > Signed-off-by: Sandeep Maheswaram <sanm@xxxxxxxxxxxxxx> > --- > drivers/phy/qualcomm/phy-qcom-qusb2.c | 22 ++++++++++++++-------- > 1 file changed, 14 insertions(+), 8 deletions(-) > > diff --git a/drivers/phy/qualcomm/phy-qcom-qusb2.c b/drivers/phy/qualcomm/phy-qcom-qusb2.c > index bf94a52..db4ae26 100644 > --- a/drivers/phy/qualcomm/phy-qcom-qusb2.c > +++ b/drivers/phy/qualcomm/phy-qcom-qusb2.c > @@ -1,6 +1,6 @@ > // SPDX-License-Identifier: GPL-2.0 > /* > - * Copyright (c) 2017, The Linux Foundation. All rights reserved. > + * Copyright (c) 2017, 2019, The Linux Foundation. All rights reserved. > */ > > #include <linux/clk.h> > @@ -177,7 +177,7 @@ static const struct qusb2_phy_init_tbl msm8998_init_tbl[] = { > QUSB2_PHY_INIT_CFG(QUSB2PHY_PLL_DIGITAL_TIMERS_TWO, 0x19), > }; > > -static const unsigned int sdm845_regs_layout[] = { > +static const unsigned int qusb2_v2_regs_layout[] = { > [QUSB2PHY_PLL_CORE_INPUT_OVERRIDE] = 0xa8, > [QUSB2PHY_PLL_STATUS] = 0x1a0, > [QUSB2PHY_PORT_TUNE1] = 0x240, > @@ -191,7 +191,7 @@ static const unsigned int sdm845_regs_layout[] = { > [QUSB2PHY_INTR_CTRL] = 0x230, > }; > > -static const struct qusb2_phy_init_tbl sdm845_init_tbl[] = { > +static const struct qusb2_phy_init_tbl qusb2_v2_init_tbl[] = { > QUSB2_PHY_INIT_CFG(QUSB2PHY_PLL_ANALOG_CONTROLS_TWO, 0x03), > QUSB2_PHY_INIT_CFG(QUSB2PHY_PLL_CLOCK_INVERTERS, 0x7c), > QUSB2_PHY_INIT_CFG(QUSB2PHY_PLL_CMODE, 0x80), > @@ -258,10 +258,10 @@ static const struct qusb2_phy_cfg msm8998_phy_cfg = { > .update_tune1_with_efuse = true, > }; > > -static const struct qusb2_phy_cfg sdm845_phy_cfg = { > - .tbl = sdm845_init_tbl, > - .tbl_num = ARRAY_SIZE(sdm845_init_tbl), > - .regs = sdm845_regs_layout, > +static const struct qusb2_phy_cfg qusb2_v2_phy_cfg = { > + .tbl = qusb2_v2_init_tbl, > + .tbl_num = ARRAY_SIZE(qusb2_v2_init_tbl), > + .regs = qusb2_v2_regs_layout, > > .disable_ctrl = (PWR_CTRL1_VREF_SUPPLY_TRIM | PWR_CTRL1_CLAMP_N_EN | > POWER_DOWN), > @@ -774,8 +774,14 @@ static const struct of_device_id qusb2_phy_of_match_table[] = { > .compatible = "qcom,msm8998-qusb2-phy", > .data = &msm8998_phy_cfg, > }, { > + .compatible = "qcom,sc7180-qusb2-phy", > + .data = &qusb2_v2_phy_cfg, > + }, { I don't think you need the new entry as of now, since sc7180 just uses the standard v2 configuration. DT compatible entries should look like this: { compatible = "qcom,sc7180-qusb2-phy", "qcom,qusb2-v2-phy"; ... } hence the correct configuration is selected, even without a specific entry for 'qcom,sc7180-qusb2-phy'. > .compatible = "qcom,sdm845-qusb2-phy", > - .data = &sdm845_phy_cfg, > + .data = &qusb2_v2_phy_cfg, > + }, { think this can also be removed if you add 'qcom,qusb2-v2-phy' to the list of compatible strings of nodes 'usb_1_hsphy' and 'usb_2_hsphy' in arch/arm64/boot/dts/qcom/sdm845.dtsi. > + .compatible = "qcom,qusb2-v2-phy", > + .data = &qusb2_v2_phy_cfg, > }, > { }, > };