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

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

 





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.




[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