Re: [PATCH V3 2/2] phy: qcom-qmp-ufs: Add regulator loads for SM8650 and SM8750
From: Dmitry Baryshkov <hidden>
Date: 2025-08-22 09:19:14
Also in:
linux-arm-msm, lkml
On 21/08/2025 19:02, Nitin Rawat wrote:
On 8/20/2025 5:24 PM, Dmitry Baryshkov wrote:quoted
On Wed, Aug 20, 2025 at 12:07:57PM +0530, Nitin Rawat wrote:quoted
On 8/20/2025 6:19 AM, Dmitry Baryshkov wrote:quoted
On Wed, Aug 20, 2025 at 03:58:26AM +0530, Nitin Rawat wrote:quoted
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?Hi Dmitry, If you're okay with it, can I merge the configuration for the remaining platforms in the next patch series after I complete testing on all remaining platforms.You don't need to test, finding MSM8996 or 98 might be troublesome. Just fill in the values from the hardware documentation.Hi Dmitry, While implementing changes for all remaining platform, I noticed that the "regulator-allow-set-load" property is defined only for SM8750 and SM8850 within the PMIC PHY and PLL device tree nodes which means that even if the UFS PHY driver is updated to vote for this configuration on other platforms, it will have no impact.
If I remember correctly, on other platforms we don't allow setting the load exactly because consumers were not voting on the current/power requirements.
Should I still proceed with applying the change across all platform, or limit it to just the SM8750 and SM8850 drivers? What’s your recommendation?
I think, we should proceed, then once all PHYs get those votes we can enable load toggling on those platforms too.
=========================================================================== // Device tree: vreg_l1j_0p91: ldo1 { regulator-name = "vreg_l1j_0p91"; regulator-min-microvolt = <880000>; regulator-max-microvolt = <920000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; =========================================================================== drivers/regulator/of_regulator.c if (of_property_read_bool(np, "regulator-allow-set-load")) constraints->valid_ops_mask |= REGULATOR_CHANGE_DRMS; =========================================================================== //drivers/regulator/core.c static int drms_uA_update(struct regulator_dev *rdev) { ... if (!regulator_ops_is_valid(rdev, REGULATOR_CHANGE_DRMS)) { rdev_dbg(rdev, "DRMS operation not allowed\n"); return 0; } ... } Regards, Nitinquoted
-- With best wishes Dmitry -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy