On Fri, Sep 19, 2025 at 10:24:29PM +0800, Xiangxu Yin wrote: > Add QCS615-specific configuration for USB/DP PHY, including DP init > routines, voltage swing tables, and platform data. Add compatible > "qcs615-qmp-usb3-dp-phy". > > Signed-off-by: Xiangxu Yin <xiangxu....@oss.qualcomm.com> > --- > drivers/phy/qualcomm/phy-qcom-qmp-usbc.c | 395 > +++++++++++++++++++++++++++++++ > 1 file changed, 395 insertions(+) > > + > + writel(0x3f, qmp->dp_tx + QSERDES_V2_TX_TRANSCEIVER_BIAS_EN); > + writel(0x10, qmp->dp_tx + QSERDES_V2_TX_HIGHZ_DRVR_EN); > + writel(0x0a, qmp->dp_tx + QSERDES_V2_TX_TX_POL_INV); > + writel(0x3f, qmp->dp_tx2 + QSERDES_V2_TX_TRANSCEIVER_BIAS_EN); > + writel(0x10, qmp->dp_tx2 + QSERDES_V2_TX_HIGHZ_DRVR_EN); > + writel(0x0a, qmp->dp_tx2 + QSERDES_V2_TX_TX_POL_INV);
Are you sure that these don't need to be adjusted based on qmp->orientation or selected lanes count? In fact... I don't see orientation handling for DP at all. Don't we need it? > + > + writel(0x18, qmp->dp_dp_phy + QSERDES_DP_PHY_CFG); > + writel(0x19, qmp->dp_dp_phy + QSERDES_DP_PHY_CFG); > + > + if (readl_poll_timeout(qmp->dp_dp_phy + QSERDES_V2_DP_PHY_STATUS, > + status, > + ((status & BIT(1)) > 0), > + 500, > + 10000)){ > + dev_err(qmp->dev, "PHY_READY not ready\n"); > + return -ETIMEDOUT; > + } > + > + return 0; > +} > + -- With best wishes Dmitry