On Wed, Aug 20, 2025 at 03:58:26AM +0530, Nitin Rawat wrote: > Add regulator load voting support for SM8650 and SM8750 platforms by > introducing dedicated regulator bulk data arrays with their load > values. > > The load requirements are: > - SM8650: vdda-phy (205mA), vdda-pll (17.5mA) > - SM8750: vdda-phy (213mA), vdda-pll (18.3mA) > > This ensures stable operation and proper power management for these > platforms where regulators are shared between the QMP USB PHY and > other IP blocks by setting appropriate regulator load currents during PHY > operations. > > Configurations without specific load requirements will continue to work > unchanged, as init_load_uA remains zero-initialized when .init_load_uA > is not provided. Can we please get configuration for the rest of the platforms? > > Signed-off-by: Nitin Rawat <quic_nitirawa@xxxxxxxxxxx> > --- > drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 19 +++++++++++++++---- > 1 file changed, 15 insertions(+), 4 deletions(-) > > diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c > index aaa88ca0ef07..1c3ce0fa6adf 100644 > --- a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c > +++ b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c > @@ -1170,6 +1170,17 @@ static const struct regulator_bulk_data qmp_phy_vreg_l[] = { > { .supply = "vdda-pll" }, > }; > > +/* Regulator bulk data with load values for specific configurations */ > +static const struct regulator_bulk_data sm8650_ufsphy_vreg_l[] = { > + { .supply = "vdda-phy", .init_load_uA = 205000 }, > + { .supply = "vdda-pll", .init_load_uA = 17500 }, > +}; > + > +static const struct regulator_bulk_data sm8750_ufsphy_vreg_l[] = { > + { .supply = "vdda-phy", .init_load_uA = 213000 }, > + { .supply = "vdda-pll", .init_load_uA = 18300 }, > +}; > + > static const struct qmp_ufs_offsets qmp_ufs_offsets = { > .serdes = 0, > .pcs = 0xc00, > @@ -1638,8 +1649,8 @@ static const struct qmp_phy_cfg sm8650_ufsphy_cfg = { > .max_gear = UFS_HS_G5, > }, > > - .vreg_list = qmp_phy_vreg_l, > - .num_vregs = ARRAY_SIZE(qmp_phy_vreg_l), > + .vreg_list = sm8650_ufsphy_vreg_l, > + .num_vregs = ARRAY_SIZE(sm8650_ufsphy_vreg_l), > .regs = ufsphy_v6_regs_layout, > }; > > @@ -1676,8 +1687,8 @@ static const struct qmp_phy_cfg sm8750_ufsphy_cfg = { > .max_gear = UFS_HS_G5, > }, > > - .vreg_list = qmp_phy_vreg_l, > - .num_vregs = ARRAY_SIZE(qmp_phy_vreg_l), > + .vreg_list = sm8750_ufsphy_vreg_l, > + .num_vregs = ARRAY_SIZE(sm8750_ufsphy_vreg_l), > .regs = ufsphy_v6_regs_layout, > > }; > -- > 2.48.1 > -- With best wishes Dmitry