Bjorn, > On Tue, Apr 30, 2024 at 12:12:08PM +0530, Varadarajan Narayanan wrote: > MSM platforms manage NoC related clocks and scaling from RPM. > However, in IPQ SoCs, RPM is not involved in managing NoC > related clocks and there is no NoC scaling. > > However, there is a requirement to enable some NoC interface > clocks for the accessing the peripherals present in the > system. Hence add a minimalistic interconnect driver that > establishes a path from the processor/memory to those peripherals > and vice versa. > > Change icc-clk driver to take master and slave ids instead > of auto generating. > > Currently, drivers/clk/qcom/clk-cbf-8996.c is the only user of > icc-clk. And, it had exactly one master and one slave node. > For this the auto generated master (= 1) and slave (= 0) was > enough. > > However, when drivers/clk/qcom/gcc-ipq9574.c wanted to make use > of the icc-clk framework, it had more number of master and slave > nodes and the auto generated ids did not suit the usage. > > --- > v11: No code changes > Commit log changed for the first patch > Added Acked-By: to 3 patches Can this be included in your driver changes for 6.10? Thanks Varada > v10: Set gcc-ipq9574 driver's sync_state to icc_sync_state > v9: Squash icc-clk driver change and cbf-msm8996 change > Remove HWS_DATA macro > v8: Change icc-clk driver to take master and slave ids instead > of auto generating > Remove ICC_xxx defines from dt-bindings header > Define MASTER/SLAVE_xxx macros from 0 .. n > > v7: Fix macro names in dt-bindings header > Do clock get in icc driver > > v6: Removed 'Reviewed-by: Krzysztof' from dt-bindings patch > Remove clock get from ICC driver as suggested by Stephen Boyd > so that the actual peripheral can do the clock get > first_id -> icc_first_node_id > Remove tristate from INTERCONNECT_CLK > v5: > Split gcc-ipq9574.c and common.c changes into separate patches > Introduce devm_icc_clk_register > Fix error handling > v4: > gcc-ipq9574.c > Use clk_hw instead of indices > common.c > Do icc register in qcom_cc_probe() call stream > common.h > Add icc clock info to qcom_cc_desc structure > > v3: > qcom,ipq9574.h > Move 'first id' define to clock driver > gcc-ipq9574.c: > Use indexed identifiers here to avoid confusion > Fix error messages and move code to common.c as it can be > shared with future SoCs > > v2: > qcom,ipq9574.h > Fix license identifier > Rename macros > qcom,ipq9574-gcc.yaml > Include interconnect-cells > gcc-ipq9574.c > Update commit log > Remove IS_ENABLED(CONFIG_INTERCONNECT) and auto select it from Kconfig > ipq9574.dtsi > Moved to separate patch > Include interconnect-cells to clock controller node > drivers/clk/qcom/Kconfig: > Auto select CONFIG_INTERCONNECT & CONFIG_INTERCONNECT_CLK > > Varadarajan Narayanan (6): > interconnect: icc-clk: Specify master/slave ids > dt-bindings: interconnect: Add Qualcomm IPQ9574 support > interconnect: icc-clk: Add devm_icc_clk_register > clk: qcom: common: Add interconnect clocks support > clk: qcom: ipq9574: Use icc-clk for enabling NoC related clocks > arm64: dts: qcom: ipq9574: Add icc provider ability to gcc > > .../bindings/clock/qcom,ipq9574-gcc.yaml | 3 + > arch/arm64/boot/dts/qcom/ipq9574.dtsi | 2 + > drivers/clk/qcom/Kconfig | 2 + > drivers/clk/qcom/clk-cbf-8996.c | 7 ++- > drivers/clk/qcom/common.c | 35 ++++++++++- > drivers/clk/qcom/common.h | 9 +++ > drivers/clk/qcom/gcc-ipq9574.c | 33 +++++++++++ > drivers/interconnect/icc-clk.c | 24 +++++++- > .../dt-bindings/interconnect/qcom,ipq9574.h | 59 +++++++++++++++++++ > include/linux/interconnect-clk.h | 4 ++ > 10 files changed, 173 insertions(+), 5 deletions(-) > create mode 100644 include/dt-bindings/interconnect/qcom,ipq9574.h > > -- > 2.34.1 >