Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: qcom: camcc-sm8450: Specify Titan GDSC power domain as a parent to IPE/BPS/SBI

When a consumer turns on/off a power domain dependent on another power
domain in hardware, the parent power domain shall be turned on/off by
the power domain provider as well, and to get it the power domain hardware
hierarchy shall be described in the CAMCC driver.

Establish the power domain hierarchy with a Titan GDSC set as a parent of
other GDSC power domains provided by the SM8450 camera clock controller,
including IPE, BPS and SBI ones.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Imran Shaik <imran.shaik@oss.qualcomm.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Link: https://lore.kernel.org/r/20251021234450.2271279-7-vladimir.zapolskiy@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>

authored by

Vladimir Zapolskiy and committed by
Bjorn Andersson
70dc5425 fc3985b2

+3
+3
drivers/clk/qcom/camcc-sm8450.c
··· 2935 2935 .name = "bps_gdsc", 2936 2936 }, 2937 2937 .flags = HW_CTRL | POLL_CFG_GDSCR, 2938 + .parent = &titan_top_gdsc.pd, 2938 2939 .pwrsts = PWRSTS_OFF_ON, 2939 2940 }; 2940 2941 ··· 2945 2944 .name = "ipe_0_gdsc", 2946 2945 }, 2947 2946 .flags = HW_CTRL | POLL_CFG_GDSCR, 2947 + .parent = &titan_top_gdsc.pd, 2948 2948 .pwrsts = PWRSTS_OFF_ON, 2949 2949 }; 2950 2950 ··· 2955 2953 .name = "sbi_gdsc", 2956 2954 }, 2957 2955 .flags = POLL_CFG_GDSCR, 2956 + .parent = &titan_top_gdsc.pd, 2958 2957 .pwrsts = PWRSTS_OFF_ON, 2959 2958 }; 2960 2959