ARM: dts: msm: Add proxy consumers for gx_gdsc dependencies on Sun
The gx_clkctl_gx_gdsc requires both gpu_cc_cx_gdsc and VDD_GX to access its configuration registers. We access these registers during probe, so we need to ensure these dependencies aren't disabled until after our probe completes. Add proxy consumers for this. After probe, the parent-supply will ensure VDD_GX is enabled before we touch registers in the regulator_enable/disable paths. And for the CX GDSC dependency, the client already enables it before the GX GDSC due to historical functional requirements between the CX and GX sides. Change-Id: I49f5654a8a86644074c76788de821eb8ae621d09 Signed-off-by: Mike Tipton <quic_mdtipton@quicinc.com>
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
rpmh-regulator-gfxlvl {
|
||||
compatible = "qcom,rpmh-arc-regulator";
|
||||
qcom,resource-name = "gfx.lvl";
|
||||
proxy-supply = <&VDD_GFX_LEVEL>;
|
||||
|
||||
VDD_GFX_LEVEL: S5D_LEVEL:
|
||||
pm_v8d_s5_level: regulator-pm-v8d-s5-level {
|
||||
@@ -20,6 +21,10 @@
|
||||
<RPMH_REGULATOR_LEVEL_MAX>;
|
||||
qcom,init-voltage-level =
|
||||
<RPMH_REGULATOR_LEVEL_RETENTION>;
|
||||
qcom,proxy-consumer-enable;
|
||||
qcom,proxy-consumer-voltage =
|
||||
<RPMH_REGULATOR_LEVEL_LOW_SVS
|
||||
RPMH_REGULATOR_LEVEL_MAX>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@@ -1777,7 +1777,9 @@
|
||||
clocks = <&gcc GCC_GPU_CFG_AHB_CLK>;
|
||||
regulator-name = "gpu_cc_cx_gdsc";
|
||||
parent-supply = <&VDD_CX_LEVEL>;
|
||||
proxy-supply = <&gpu_cc_cx_gdsc>;
|
||||
hw-ctrl-addr = <&gpu_cc_cx_gdsc_hw_ctrl>;
|
||||
qcom,proxy-consumer-enable;
|
||||
qcom,retain-regs;
|
||||
qcom,support-cfg-gdscr;
|
||||
};
|
||||
@@ -1789,6 +1791,7 @@
|
||||
clocks = <&gpucc GPU_CC_GX_AHB_FF_CLK>;
|
||||
regulator-name = "gx_clkctl_gx_gdsc";
|
||||
parent-supply = <&VDD_GFX_GFX_MXC_VOTER_LEVEL>;
|
||||
reg-supply = <&gpu_cc_cx_gdsc>;
|
||||
qcom,retain-regs;
|
||||
qcom,support-cfg-gdscr;
|
||||
};
|
||||
|
Reference in New Issue
Block a user