[3/7] dt-bindings: interconnect: qcom: Fix and separate out MSM8916

Message ID 20230721-topic-icc_bindings-v1-3-93e2bc728fb7@linaro.org
State New
Headers
Series Update RPM ICC bindings |

Commit Message

Konrad Dybcio July 21, 2023, 1:54 p.m. UTC
  Separate out MSM8916 icc bindings and fix the clocks description by
removing the wrong internal RPM bus clock representation that we've
been carrying for years.

Replace the example in qcom,rpm.yaml with MSM8939 to keep it relevant
to the file.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
 .../bindings/interconnect/qcom,msm8916.yaml        | 52 ++++++++++++++++++++++
 .../devicetree/bindings/interconnect/qcom,rpm.yaml | 24 +++++-----
 2 files changed, 65 insertions(+), 11 deletions(-)
  

Comments

Krzysztof Kozlowski July 22, 2023, 9:38 a.m. UTC | #1
On 21/07/2023 15:54, Konrad Dybcio wrote:
> Separate out MSM8916 icc bindings and fix the clocks description by
> removing the wrong internal RPM bus clock representation that we've
> been carrying for years.
> 
> Replace the example in qcom,rpm.yaml with MSM8939 to keep it relevant
> to the file.
> 
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---
>  .../bindings/interconnect/qcom,msm8916.yaml        | 52 ++++++++++++++++++++++
>  .../devicetree/bindings/interconnect/qcom,rpm.yaml | 24 +++++-----
>  2 files changed, 65 insertions(+), 11 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/interconnect/qcom,msm8916.yaml b/Documentation/devicetree/bindings/interconnect/qcom,msm8916.yaml
> new file mode 100644
> index 000000000000..49baf808c087
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/interconnect/qcom,msm8916.yaml
> @@ -0,0 +1,52 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/interconnect/qcom,msm8916.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm MSM8916 Network-On-Chip interconnect
> +
> +maintainers:
> +  - Konrad Dybcio <konradybcio@kernel.org>
> +
> +description: |
> +  The Qualcomm MSM8916 interconnect providers support adjusting the
> +  bandwidth requirements between the various NoC fabrics.
> +
> +allOf:
> +  - $ref: qcom,rpm-common.yaml#
> +
> +properties:
> +  compatible:
> +    enum:
> +      - qcom,msm8916-bimc
> +      - qcom,msm8916-pcnoc
> +      - qcom,msm8916-snoc
> +

Keeping reg here also makes it nicely aligned with required: (property
and required are both in one file)

> +required:
> +  - compatible
> +  - reg
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/qcom,rpmcc.h>
> +
> +    snoc: interconnect@580000 {
> +        compatible = "qcom,msm8916-snoc";
> +        reg = <0x00580000 0x14000>;
> +        #interconnect-cells = <1>;
> +    };
> +
> +    pcnoc: interconnect@500000 {
> +        compatible = "qcom,msm8916-pcnoc";
> +        reg = <0x00500000 0x11000>;
> +        #interconnect-cells = <1>;
> +    };
> +
> +    bimc: interconnect@400000 {
> +        compatible = "qcom,msm8916-bimc";
> +        reg = <0x00400000 0x62000>;
> +        #interconnect-cells = <1>;
> +    };

Just keep one example.

> diff --git a/Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml b/Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml
> index 4f95d512012a..788c5e88445a 100644
> --- a/Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml
> +++ b/Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml
> @@ -20,9 +20,6 @@ properties:
>  
>    compatible:
>      enum:
> -      - qcom,msm8916-bimc
> -      - qcom,msm8916-pcnoc
> -      - qcom,msm8916-snoc
>        - qcom,msm8939-bimc
>        - qcom,msm8939-pcnoc
>        - qcom,msm8939-snoc
> @@ -109,9 +106,6 @@ allOf:
>          compatible:
>            contains:
>              enum:
> -              - qcom,msm8916-bimc
> -              - qcom,msm8916-pcnoc
> -              - qcom,msm8916-snoc
>                - qcom,msm8939-bimc
>                - qcom,msm8939-pcnoc
>                - qcom,msm8939-snoc
> @@ -254,7 +248,7 @@ examples:
>        #include <dt-bindings/clock/qcom,rpmcc.h>
>  
>        bimc: interconnect@400000 {
> -              compatible = "qcom,msm8916-bimc";
> +              compatible = "qcom,msm8939-bimc";
>                reg = <0x00400000 0x62000>;
>                #interconnect-cells = <1>;
>                clock-names = "bus", "bus_a";
> @@ -263,7 +257,7 @@ examples:
>        };
>  
>        pcnoc: interconnect@500000 {
> -              compatible = "qcom,msm8916-pcnoc";
> +              compatible = "qcom,msm8939-pcnoc";
>                reg = <0x00500000 0x11000>;
>                #interconnect-cells = <1>;
>                clock-names = "bus", "bus_a";

This part makes little sense since you remove the file few patches
later. I suggest reverse the order of patches. Split out first the oones
without examples (like 8939), so the last step is kind of rename.


Best regards,
Krzysztof
  

Patch

diff --git a/Documentation/devicetree/bindings/interconnect/qcom,msm8916.yaml b/Documentation/devicetree/bindings/interconnect/qcom,msm8916.yaml
new file mode 100644
index 000000000000..49baf808c087
--- /dev/null
+++ b/Documentation/devicetree/bindings/interconnect/qcom,msm8916.yaml
@@ -0,0 +1,52 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/interconnect/qcom,msm8916.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm MSM8916 Network-On-Chip interconnect
+
+maintainers:
+  - Konrad Dybcio <konradybcio@kernel.org>
+
+description: |
+  The Qualcomm MSM8916 interconnect providers support adjusting the
+  bandwidth requirements between the various NoC fabrics.
+
+allOf:
+  - $ref: qcom,rpm-common.yaml#
+
+properties:
+  compatible:
+    enum:
+      - qcom,msm8916-bimc
+      - qcom,msm8916-pcnoc
+      - qcom,msm8916-snoc
+
+required:
+  - compatible
+  - reg
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/qcom,rpmcc.h>
+
+    snoc: interconnect@580000 {
+        compatible = "qcom,msm8916-snoc";
+        reg = <0x00580000 0x14000>;
+        #interconnect-cells = <1>;
+    };
+
+    pcnoc: interconnect@500000 {
+        compatible = "qcom,msm8916-pcnoc";
+        reg = <0x00500000 0x11000>;
+        #interconnect-cells = <1>;
+    };
+
+    bimc: interconnect@400000 {
+        compatible = "qcom,msm8916-bimc";
+        reg = <0x00400000 0x62000>;
+        #interconnect-cells = <1>;
+    };
diff --git a/Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml b/Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml
index 4f95d512012a..788c5e88445a 100644
--- a/Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml
+++ b/Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml
@@ -20,9 +20,6 @@  properties:
 
   compatible:
     enum:
-      - qcom,msm8916-bimc
-      - qcom,msm8916-pcnoc
-      - qcom,msm8916-snoc
       - qcom,msm8939-bimc
       - qcom,msm8939-pcnoc
       - qcom,msm8939-snoc
@@ -109,9 +106,6 @@  allOf:
         compatible:
           contains:
             enum:
-              - qcom,msm8916-bimc
-              - qcom,msm8916-pcnoc
-              - qcom,msm8916-snoc
               - qcom,msm8939-bimc
               - qcom,msm8939-pcnoc
               - qcom,msm8939-snoc
@@ -254,7 +248,7 @@  examples:
       #include <dt-bindings/clock/qcom,rpmcc.h>
 
       bimc: interconnect@400000 {
-              compatible = "qcom,msm8916-bimc";
+              compatible = "qcom,msm8939-bimc";
               reg = <0x00400000 0x62000>;
               #interconnect-cells = <1>;
               clock-names = "bus", "bus_a";
@@ -263,7 +257,7 @@  examples:
       };
 
       pcnoc: interconnect@500000 {
-              compatible = "qcom,msm8916-pcnoc";
+              compatible = "qcom,msm8939-pcnoc";
               reg = <0x00500000 0x11000>;
               #interconnect-cells = <1>;
               clock-names = "bus", "bus_a";
@@ -272,10 +266,18 @@  examples:
       };
 
       snoc: interconnect@580000 {
-              compatible = "qcom,msm8916-snoc";
-              reg = <0x00580000 0x14000>;
-              #interconnect-cells = <1>;
+              compatible = "qcom,msm8939-snoc";
+              reg = <0x00580000 0x14080>;
               clock-names = "bus", "bus_a";
               clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
                        <&rpmcc RPM_SMD_SNOC_A_CLK>;
+              #interconnect-cells = <1>;
+
+              snoc_mm: interconnect-snoc {
+                      compatible = "qcom,msm8939-snoc-mm";
+                      clock-names = "bus", "bus_a";
+                      clocks = <&rpmcc RPM_SMD_SYSMMNOC_CLK>,
+                               <&rpmcc RPM_SMD_SYSMMNOC_A_CLK>;
+                      #interconnect-cells = <1>;
+              };
       };