Re: [PATCH V3 2/2] phy: qcom-qmp-ufs: Add regulator loads for SM8650 and SM8750

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 20, 2025 at 03:49:31AM GMT, Dmitry Baryshkov wrote:
> 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?
> 

Only if the rest of the platforms require setting the load... It is not very
clear if the older platforms share the regulators with other IPs or not.

- Mani

> > 
> > 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

-- 
மணிவண்ணன் சதாசிவம்




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux