Re: [PATCH 0/2] clk: qcom: Add support for multiple power-domains for a clock controller.

From: Taniya Das
Date: Tue Nov 19 2024 - 01:09:14 EST




On 11/18/2024 7:54 AM, Bryan O'Donoghue wrote:
On x1e80100 and it's SKUs the Camera Clock Controller - CAMCC has
multiple power-domains which power it. Usually with a single power-domain
the core platform code will automatically switch on the singleton
power-domain for you. If you have multiple power-domains for a device, in
this case the clock controller, you need to switch those power-domains
on/off yourself.

The clock controllers can also contain Global Distributed
Switch Controllers - GDSCs which themselves can be referenced from dtsi
nodes ultimately triggering a gdsc_en() in drivers/clk/qcom/gdsc.c.

As an example:

cci0: cci@ac4a000 {
power-domains = <&camcc TITAN_TOP_GDSC>;
};

This series adds the support to attach a power-domain list to the
clock-controllers and the GDSCs those controllers provide so that in the
case of the above example gdsc_toggle_logic() will trigger the power-domain
list with pm_runtime_resume_and_get() and pm_runtime_put_sync()
respectively.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
---

Bryan, as we were already in discussion with Bjorn to post the patches which take care of Multi GDSC and PLL requirements, I would request to kindly hold this series posting. I am in the final discussions with Bjorn to handle it gracefully to post the series.

Bryan O'Donoghue (2):
clk: qcom: common: Add support for power-domain attachment
clk: qcom: gdsc: Add pm_runtime hooks

drivers/clk/qcom/common.c | 24 ++++++++++++++++++++++++
drivers/clk/qcom/gdsc.c | 26 ++++++++++++++++++--------
drivers/clk/qcom/gdsc.h | 2 ++
3 files changed, 44 insertions(+), 8 deletions(-)
---
base-commit: 744cf71b8bdfcdd77aaf58395e068b7457634b2c
change-id: 20241118-b4-linux-next-24-11-18-clock-multiple-power-domains-a5f994dc452a

Best regards,

--
Thanks & Regards,
Taniya Das.