[PATCH v3 0/4] Add sc8280xp CAMCC bindings and driver

From: Bryan O'Donoghue
Date: Wed Oct 04 2023 - 12:19:02 EST


This patch depends-on:
https://lore.kernel.org/linux-arm-msm/20230923112105.18102-4-quic_luoj@xxxxxxxxxxx

V3:
- Resolves CLK_CRITICAL camcc_gdsc_clk by making camcc_gdsc_clk
always-on and dropping the CLK_CRITICAL flag.
We want camcc_gdsc_clk for retention, however CLK_CRITICAL is not
compatible with pm_runtime suspend and power collapse. - Konrad, Bod

- Uses gcc.yaml instead of camcc-common.yaml - Krzysztof

- Drops fix for 8550, TBH I didn't know use for socname-ip.yaml
with compat strings for different drivers was OK, so long as the
content of the yaml was compliant for both. - Krzysztof

- Drops clock-names, adds RB as indicated - Konrad

- Reworks "really_probe" to account for patch from Lou Jie which
is RB from Stephen Boyd but not in any -next tree I can point to right
now. - Konrad, Bod

- :g/CAM_CC/s//CAMCC/g - Bod

Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/commits/clk-for-6.7-camcc-sc8280xp-v3

V2:

I've expanded the scope of this series to include some fixups for the
camcc.yaml in general.

- Adds qcom,camcc-common.yaml
There are a number of repeated patterns in the various camcc yaml
files which we can contain in a common camcc .yaml instead.
I used gcc.yaml as a base per Krzysztof's suggestion.

- Adding the common values file I noticed that sm8450 and sm8550 were
both listed as compatible strings in qcom,sm8450-camcc.yaml.

This appears to be in error though since sm8450 and sm8550 are
not compat strings of the same driver but different drivers entirely.

- Switches to indexing, instead of fw_name for clocks - Konrad

- Adds the GCC AHB to the clock index - Bod/Konrad

- Changes reference "cam_cc" to "camcc" throughout camcc-sc8280xp.c

Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/linux-next-26-10-23-sc8280xp-camcc-v2

V1:
This is a bog-standard series to add in the CAMCC for 8280xp.
As a precursor to adding in sc8280xp I thought a bit of tidy up on the
existing yaml for the camcc controllers in general would be worthwhile.

As a result there's a precursor patch which aggregates the various camcc
yaml files into one location.

The sc8280xp looks like sdm845 with more blocks. Similar to sc8280xp we
park GDSC to CXO. Thanks to Dmitry for the suggestion the GDSC parking.

Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/linux-next-23-09-23-sc8280xp-camcc

Bryan O'Donoghue (4):
dt-bindings: clock: Use gcc.yaml for common clock properties
dt-bindings: clock: Add SC8280XP CAMCC
clk: qcom: camcc-sc8280xp: Add sc8280xp CAMCC
arm64: dts: qcom: sc8280xp: Add in CAMCC for sc8280xp

.../bindings/clock/qcom,camcc-sm8250.yaml | 18 +-
.../bindings/clock/qcom,sc7180-camcc.yaml | 18 +-
.../bindings/clock/qcom,sc7280-camcc.yaml | 18 +-
.../bindings/clock/qcom,sdm845-camcc.yaml | 18 +-
.../bindings/clock/qcom,sm8450-camcc.yaml | 20 +-
arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 15 +
drivers/clk/qcom/Kconfig | 9 +
drivers/clk/qcom/Makefile | 1 +
drivers/clk/qcom/camcc-sc8280xp.c | 3048 +++++++++++++++++
.../dt-bindings/clock/qcom,sc8280xp-camcc.h | 179 +
10 files changed, 3274 insertions(+), 70 deletions(-)
create mode 100644 drivers/clk/qcom/camcc-sc8280xp.c
create mode 100644 include/dt-bindings/clock/qcom,sc8280xp-camcc.h

--
2.40.1