All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v9 1/4] dt-bindings: mailbox: qcom: set correct #clock-cells
@ 2022-08-18 22:08 Robert Marko
  2022-08-18 22:08 ` [PATCH v9 2/4] dt-bindings: mailbox: qcom: correct clocks for IPQ6018 and IPQ8074 Robert Marko
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Robert Marko @ 2022-08-18 22:08 UTC (permalink / raw)
  To: agross, bjorn.andersson, konrad.dybcio, jassisinghbrar, robh+dt,
	krzysztof.kozlowski+dt, linux-arm-msm, devicetree,
	dmitry.baryshkov
  Cc: Robert Marko, Krzysztof Kozlowski

IPQ6018 and IPQ8074 require #clock-cells to be set to 1 as their APSS
clock driver provides multiple clock outputs.

So allow setting 1 as #clock-cells and check that its set to 1 for IPQ6018
and IPQ8074, check others for 0 as its currently.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
Changes in v3:
* Drop not needed blank line

Changes in v2:
* Correct subject name
---
 .../bindings/mailbox/qcom,apcs-kpss-global.yaml | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
index f504652fc0ea..982bcdebba4c 100644
--- a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
+++ b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
@@ -54,7 +54,7 @@ properties:
     const: 1
 
   '#clock-cells':
-    const: 0
+    enum: [0, 1]
 
   clock-names:
     minItems: 2
@@ -100,6 +100,21 @@ allOf:
       properties:
         clocks:
           maxItems: 3
+  - if:
+      properties:
+        compatible:
+          enum:
+            - qcom,ipq6018-apcs-apps-global
+            - qcom,ipq8074-apcs-apps-global
+    then:
+      properties:
+        '#clock-cells':
+          const: 1
+    else:
+      properties:
+        '#clock-cells':
+          const: 0
+
 examples:
 
   # Example apcs with msm8996
-- 
2.37.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v9 2/4] dt-bindings: mailbox: qcom: correct clocks for IPQ6018 and IPQ8074
  2022-08-18 22:08 [PATCH v9 1/4] dt-bindings: mailbox: qcom: set correct #clock-cells Robert Marko
@ 2022-08-18 22:08 ` Robert Marko
  2022-08-18 22:08 ` [PATCH v9 3/4] mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock support Robert Marko
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Robert Marko @ 2022-08-18 22:08 UTC (permalink / raw)
  To: agross, bjorn.andersson, konrad.dybcio, jassisinghbrar, robh+dt,
	krzysztof.kozlowski+dt, linux-arm-msm, devicetree,
	dmitry.baryshkov
  Cc: Robert Marko, Krzysztof Kozlowski

IPQ6018 APSS driver is registered by APCS as they share the same register
space, and it uses "pll" and "xo" as inputs.

Correct the allowed clocks for IPQ6018 and IPQ8074 as they share the same
driver to allow "pll" and "xo" as clock-names.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
Changes in v8:
* Add maxItems to clocks and clock-names
---
 .../mailbox/qcom,apcs-kpss-global.yaml        | 46 ++++++++++++++-----
 1 file changed, 34 insertions(+), 12 deletions(-)

diff --git a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
index 982bcdebba4c..f24fd84b4b05 100644
--- a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
+++ b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
@@ -45,10 +45,7 @@ properties:
   clocks:
     description: phandles to the parent clocks of the clock driver
     minItems: 2
-    items:
-      - description: primary pll parent of the clock driver
-      - description: auxiliary parent
-      - description: reference clock
+    maxItems: 3
 
   '#mbox-cells':
     const: 1
@@ -58,10 +55,7 @@ properties:
 
   clock-names:
     minItems: 2
-    items:
-      - const: pll
-      - const: aux
-      - const: ref
+    maxItems: 3
 
 required:
   - compatible
@@ -75,8 +69,6 @@ allOf:
       properties:
         compatible:
           enum:
-            - qcom,ipq6018-apcs-apps-global
-            - qcom,ipq8074-apcs-apps-global
             - qcom,msm8916-apcs-kpss-global
             - qcom,msm8994-apcs-kpss-global
             - qcom,msm8996-apcs-hmss-global
@@ -90,7 +82,13 @@ allOf:
     then:
       properties:
         clocks:
-          maxItems: 2
+          items:
+            - description: primary pll parent of the clock driver
+            - description: auxiliary parent
+        clock-names:
+          items:
+            - const: pll
+            - const: aux
   - if:
       properties:
         compatible:
@@ -99,7 +97,31 @@ allOf:
     then:
       properties:
         clocks:
-          maxItems: 3
+          items:
+            - description: primary pll parent of the clock driver
+            - description: auxiliary parent
+            - description: reference clock
+        clock-names:
+          items:
+            - const: pll
+            - const: aux
+            - const: ref
+  - if:
+      properties:
+        compatible:
+          enum:
+            - qcom,ipq6018-apcs-apps-global
+            - qcom,ipq8074-apcs-apps-global
+    then:
+      properties:
+        clocks:
+          items:
+            - description: primary pll parent of the clock driver
+            - description: XO clock
+        clock-names:
+          items:
+            - const: pll
+            - const: xo
   - if:
       properties:
         compatible:
-- 
2.37.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v9 3/4] mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock support
  2022-08-18 22:08 [PATCH v9 1/4] dt-bindings: mailbox: qcom: set correct #clock-cells Robert Marko
  2022-08-18 22:08 ` [PATCH v9 2/4] dt-bindings: mailbox: qcom: correct clocks for IPQ6018 and IPQ8074 Robert Marko
@ 2022-08-18 22:08 ` Robert Marko
  2022-08-18 22:08 ` [PATCH v9 4/4] arm64: dts: qcom: ipq8074: add clocks to APCS Robert Marko
  2022-10-18  3:14 ` (subset) [PATCH v9 1/4] dt-bindings: mailbox: qcom: set correct #clock-cells Bjorn Andersson
  3 siblings, 0 replies; 5+ messages in thread
From: Robert Marko @ 2022-08-18 22:08 UTC (permalink / raw)
  To: agross, bjorn.andersson, konrad.dybcio, jassisinghbrar, robh+dt,
	krzysztof.kozlowski+dt, linux-arm-msm, devicetree,
	dmitry.baryshkov
  Cc: Robert Marko

IPQ8074 has the APSS clock controller utilizing the same register space as
the APCS, so provide access to the APSS utilizing a child device like
IPQ6018.

IPQ6018 and IPQ8074 use the same controller and driver, so just utilize
IPQ6018 match data for IPQ8074.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Changes in v7:
* Dont max_register modifications
* Drop custom IPQ8074 match data and use IPQ6018 one as they share the
controller and driver

Changes in v5:
* Use lower case hex for max_register
* Update the APSS clock name to match the new one without commas
---
 drivers/mailbox/qcom-apcs-ipc-mailbox.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mailbox/qcom-apcs-ipc-mailbox.c b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
index 80a54d81412e..f1f0e87a79e6 100644
--- a/drivers/mailbox/qcom-apcs-ipc-mailbox.c
+++ b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
@@ -142,7 +142,7 @@ static int qcom_apcs_ipc_remove(struct platform_device *pdev)
 /* .data is the offset of the ipc register within the global block */
 static const struct of_device_id qcom_apcs_ipc_of_match[] = {
 	{ .compatible = "qcom,ipq6018-apcs-apps-global", .data = &ipq6018_apcs_data },
-	{ .compatible = "qcom,ipq8074-apcs-apps-global", .data = &msm8994_apcs_data },
+	{ .compatible = "qcom,ipq8074-apcs-apps-global", .data = &ipq6018_apcs_data },
 	{ .compatible = "qcom,msm8916-apcs-kpss-global", .data = &msm8916_apcs_data },
 	{ .compatible = "qcom,msm8939-apcs-kpss-global", .data = &msm8916_apcs_data },
 	{ .compatible = "qcom,msm8953-apcs-kpss-global", .data = &msm8994_apcs_data },
-- 
2.37.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v9 4/4] arm64: dts: qcom: ipq8074: add clocks to APCS
  2022-08-18 22:08 [PATCH v9 1/4] dt-bindings: mailbox: qcom: set correct #clock-cells Robert Marko
  2022-08-18 22:08 ` [PATCH v9 2/4] dt-bindings: mailbox: qcom: correct clocks for IPQ6018 and IPQ8074 Robert Marko
  2022-08-18 22:08 ` [PATCH v9 3/4] mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock support Robert Marko
@ 2022-08-18 22:08 ` Robert Marko
  2022-10-18  3:14 ` (subset) [PATCH v9 1/4] dt-bindings: mailbox: qcom: set correct #clock-cells Bjorn Andersson
  3 siblings, 0 replies; 5+ messages in thread
From: Robert Marko @ 2022-08-18 22:08 UTC (permalink / raw)
  To: agross, bjorn.andersson, konrad.dybcio, jassisinghbrar, robh+dt,
	krzysztof.kozlowski+dt, linux-arm-msm, devicetree,
	dmitry.baryshkov
  Cc: Robert Marko

APCS now has support for providing the APSS clocks as the child device
for IPQ8074.

So, add the A53 PLL and XO clocks in order to use APCS as the CPU
clocksource for APSS scaling.

Signed-off-by: Robert Marko <robimarko@gmail.com>
---
 arch/arm64/boot/dts/qcom/ipq8074.dtsi | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
index bace14b742a1..7d4ff7d8a239 100644
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -704,8 +704,9 @@ watchdog: watchdog@b017000 {
 		apcs_glb: mailbox@b111000 {
 			compatible = "qcom,ipq8074-apcs-apps-global";
 			reg = <0x0b111000 0x1000>;
-
 			#clock-cells = <1>;
+			clocks = <&a53pll>, <&xo>;
+			clock-names = "pll", "xo";
 			#mbox-cells = <1>;
 		};
 
-- 
2.37.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: (subset) [PATCH v9 1/4] dt-bindings: mailbox: qcom: set correct #clock-cells
  2022-08-18 22:08 [PATCH v9 1/4] dt-bindings: mailbox: qcom: set correct #clock-cells Robert Marko
                   ` (2 preceding siblings ...)
  2022-08-18 22:08 ` [PATCH v9 4/4] arm64: dts: qcom: ipq8074: add clocks to APCS Robert Marko
@ 2022-10-18  3:14 ` Bjorn Andersson
  3 siblings, 0 replies; 5+ messages in thread
From: Bjorn Andersson @ 2022-10-18  3:14 UTC (permalink / raw)
  To: Bjorn Andersson, jassisinghbrar, konrad.dybcio, dmitry.baryshkov,
	devicetree, krzysztof.kozlowski+dt, agross, robh+dt,
	linux-arm-msm, robimarko
  Cc: krzysztof.kozlowski

On Fri, 19 Aug 2022 00:08:46 +0200, Robert Marko wrote:
> IPQ6018 and IPQ8074 require #clock-cells to be set to 1 as their APSS
> clock driver provides multiple clock outputs.
> 
> So allow setting 1 as #clock-cells and check that its set to 1 for IPQ6018
> and IPQ8074, check others for 0 as its currently.
> 
> 
> [...]

Applied, thanks!

[4/4] arm64: dts: qcom: ipq8074: add clocks to APCS
      commit: fd8bdb451c6541b40e5977defcfebfe51713a538

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-10-18  3:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-18 22:08 [PATCH v9 1/4] dt-bindings: mailbox: qcom: set correct #clock-cells Robert Marko
2022-08-18 22:08 ` [PATCH v9 2/4] dt-bindings: mailbox: qcom: correct clocks for IPQ6018 and IPQ8074 Robert Marko
2022-08-18 22:08 ` [PATCH v9 3/4] mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock support Robert Marko
2022-08-18 22:08 ` [PATCH v9 4/4] arm64: dts: qcom: ipq8074: add clocks to APCS Robert Marko
2022-10-18  3:14 ` (subset) [PATCH v9 1/4] dt-bindings: mailbox: qcom: set correct #clock-cells Bjorn Andersson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.