Skip to content

Commit

Permalink
dt-bindings: interconnect: qcom: Fix and separate out MSM8996
Browse files Browse the repository at this point in the history
Separate out MSM8996 icc bindings from the common file and fix the
clocks description by removing the wrong internal RPM bus clock
representation that we've been carrying for years.

Signed-off-by: Konrad Dybcio <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Georgi Djakov <[email protected]>
  • Loading branch information
konradybcio authored and Georgi Djakov committed Oct 9, 2023
1 parent c19bcc7 commit d03374a
Show file tree
Hide file tree
Showing 2 changed files with 126 additions and 81 deletions.
126 changes: 126 additions & 0 deletions Documentation/devicetree/bindings/interconnect/qcom,msm8996.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interconnect/qcom,msm8996.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm MSM8996 Network-On-Chip interconnect

maintainers:
- Konrad Dybcio <[email protected]>

description: |
The Qualcomm MSM8996 interconnect providers support adjusting the
bandwidth requirements between the various NoC fabrics.
properties:
compatible:
enum:
- qcom,msm8996-a0noc
- qcom,msm8996-a1noc
- qcom,msm8996-a2noc
- qcom,msm8996-bimc
- qcom,msm8996-cnoc
- qcom,msm8996-mnoc
- qcom,msm8996-pnoc
- qcom,msm8996-snoc

reg:
maxItems: 1

clock-names:
minItems: 1
maxItems: 3

clocks:
minItems: 1
maxItems: 3

power-domains:
maxItems: 1

required:
- compatible
- reg

unevaluatedProperties: false

allOf:
- $ref: qcom,rpm-common.yaml#
- if:
properties:
compatible:
const: qcom,msm8996-a0noc

then:
properties:
clocks:
items:
- description: Aggregate0 System NoC AXI Clock.
- description: Aggregate0 Config NoC AHB Clock.
- description: Aggregate0 NoC MPU Clock.

clock-names:
items:
- const: aggre0_snoc_axi
- const: aggre0_cnoc_ahb
- const: aggre0_noc_mpu_cfg

required:
- power-domains

- if:
properties:
compatible:
const: qcom,msm8996-mnoc

then:
properties:
clocks:
items:
- description: CPU-NoC High-performance Bus Clock.

clock-names:
const: iface

- if:
properties:
compatible:
const: qcom,msm8996-a2noc

then:
properties:
clocks:
items:
- description: Aggregate2 NoC UFS AXI Clock
- description: UFS AXI Clock

clock-names:
items:
- const: aggre2_ufs_axi
- const: ufs_axi

examples:
- |
#include <dt-bindings/clock/qcom,gcc-msm8996.h>
#include <dt-bindings/clock/qcom,mmcc-msm8996.h>
#include <dt-bindings/clock/qcom,rpmcc.h>
bimc: interconnect@408000 {
compatible = "qcom,msm8996-bimc";
reg = <0x00408000 0x5a000>;
#interconnect-cells = <1>;
};
a0noc: interconnect@543000 {
compatible = "qcom,msm8996-a0noc";
reg = <0x00543000 0x6000>;
#interconnect-cells = <1>;
clocks = <&gcc GCC_AGGRE0_SNOC_AXI_CLK>,
<&gcc GCC_AGGRE0_CNOC_AHB_CLK>,
<&gcc GCC_AGGRE0_NOC_MPU_CFG_AHB_CLK>;
clock-names = "aggre0_snoc_axi",
"aggre0_cnoc_ahb",
"aggre0_noc_mpu_cfg";
power-domains = <&gcc AGGRE0_NOC_GDSC>;
};
81 changes: 0 additions & 81 deletions Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,6 @@ properties:
- qcom,msm8939-bimc
- qcom,msm8939-pcnoc
- qcom,msm8939-snoc
- qcom,msm8996-a0noc
- qcom,msm8996-a1noc
- qcom,msm8996-a2noc
- qcom,msm8996-bimc
- qcom,msm8996-cnoc
- qcom,msm8996-mnoc
- qcom,msm8996-pnoc
- qcom,msm8996-snoc
- qcom,qcs404-bimc
- qcom,qcs404-pcnoc
- qcom,qcs404-snoc
Expand Down Expand Up @@ -109,11 +101,6 @@ allOf:
- qcom,msm8939-bimc
- qcom,msm8939-pcnoc
- qcom,msm8939-snoc
- qcom,msm8996-a1noc
- qcom,msm8996-bimc
- qcom,msm8996-cnoc
- qcom,msm8996-pnoc
- qcom,msm8996-snoc
- qcom,qcs404-bimc
- qcom,qcs404-pcnoc
- qcom,qcs404-snoc
Expand All @@ -130,74 +117,6 @@ allOf:
- description: Bus Clock
- description: Bus A Clock

- if:
properties:
compatible:
contains:
enum:
- qcom,msm8996-mnoc

then:
properties:
clock-names:
items:
- const: bus
- const: bus_a
- const: iface

clocks:
items:
- description: Bus Clock.
- description: Bus A Clock.
- description: CPU-NoC High-performance Bus Clock.

- if:
properties:
compatible:
contains:
enum:
- qcom,msm8996-a0noc

then:
properties:
clock-names:
items:
- const: aggre0_snoc_axi
- const: aggre0_cnoc_ahb
- const: aggre0_noc_mpu_cfg

clocks:
items:
- description: Aggregate0 System NoC AXI Clock.
- description: Aggregate0 Config NoC AHB Clock.
- description: Aggregate0 NoC MPU Clock.

required:
- power-domains

- if:
properties:
compatible:
contains:
enum:
- qcom,msm8996-a2noc

then:
properties:
clock-names:
items:
- const: bus
- const: bus_a
- const: aggre2_ufs_axi
- const: ufs_axi

clocks:
items:
- description: Bus Clock
- description: Bus A Clock
- description: Aggregate2 NoC UFS AXI Clock
- description: UFS AXI Clock

- if:
not:
properties:
Expand Down

0 comments on commit d03374a

Please sign in to comment.