Message ID | 20230721-topic-icc_bindings-v1-0-93e2bc728fb7@linaro.org |
---|---|
Headers | show |
Series | Update RPM ICC bindings | expand |
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
On 21/07/2023 15:54, Konrad Dybcio wrote: > Separate out SDM660 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 <konrad.dybcio@linaro.org> ... > + > +examples: > + - | > + #include <dt-bindings/clock/qcom,gcc-sdm660.h> > + #include <dt-bindings/clock/qcom,mmcc-sdm660.h> > + #include <dt-bindings/clock/qcom,rpmcc.h> > + > + bimc: interconnect@1008000 { > + compatible = "qcom,sdm660-bimc"; > + reg = <0x01008000 0x78000>; > + #interconnect-cells = <1>; > + }; > + > + cnoc: interconnect@1500000 { > + compatible = "qcom,sdm660-cnoc"; > + reg = <0x01500000 0x10000>; > + #interconnect-cells = <1>; > + }; > + > + snoc: interconnect@1626000 { > + compatible = "qcom,sdm660-snoc"; > + reg = <0x01626000 0x7090>; > + #interconnect-cells = <1>; > + }; > + > + a2noc: interconnect@1704000 { > + compatible = "qcom,sdm660-a2noc"; > + reg = <0x01704000 0xc100>; > + #interconnect-cells = <1>; > + clocks = <&rpmcc RPM_SMD_IPA_CLK>, > + <&gcc GCC_UFS_AXI_CLK>, > + <&gcc GCC_AGGRE2_UFS_AXI_CLK>, > + <&gcc GCC_AGGRE2_USB3_AXI_CLK>, > + <&gcc GCC_CFG_NOC_USB2_AXI_CLK>; > + clock-names = "ipa", > + "ufs_axi", > + "aggre2_ufs_axi", > + "aggre2_usb3_axi", > + "cfg_noc_usb2_axi"; > + }; Keep only two examples. Best regards, Krzysztof
The recent necessary overhaul [1] of how we represent SMD ICC and RPM bus clocks changed the way they're connected. The bindings however were not updated to reflect that. This series tries to address that, while also making the relevant bindings less convoluted. Now, instead of referencing RPM SMD bus clocks via clocks=<>, they're handled internally within the interconnect framework (via direct RPM calls from there). We still need to allow some "interface" clocks, which are necessary to access some registers and not managed for us. [1] https://lore.kernel.org/linux-arm-msm/20230526-topic-smd_icc-v7-0-09c78c175546@linaro.org/ Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> --- Konrad Dybcio (7): dt-bindings: interconnect: qcom: Introduce qcom,rpm-common dt-bindings: interconnect: qcom: qcm2290: Remove RPM bus clocks dt-bindings: interconnect: qcom: Fix and separate out MSM8916 dt-bindings: interconnect: qcom: Fix and separate out QCS404 dt-bindings: interconnect: qcom: Fix and separate out SDM660 dt-bindings: interconnect: qcom: Fix and separate out MSM8996 dt-bindings: interconnect: qcom: Fix and separate out MSM8939 .../bindings/interconnect/qcom,msm8916.yaml | 52 ++++ .../bindings/interconnect/qcom,msm8939.yaml | 74 ++++++ .../bindings/interconnect/qcom,msm8996.yaml | 165 ++++++++++++ .../bindings/interconnect/qcom,qcm2290.yaml | 54 +--- .../bindings/interconnect/qcom,qcs404.yaml | 52 ++++ .../bindings/interconnect/qcom,rpm-common.yaml | 31 +++ .../devicetree/bindings/interconnect/qcom,rpm.yaml | 281 --------------------- .../bindings/interconnect/qcom,sdm660.yaml | 131 ++++++++++ 8 files changed, 509 insertions(+), 331 deletions(-) --- base-commit: ae867bc97b713121b2a7f5fcac68378a0774739b change-id: 20230721-topic-icc_bindings-72917016f595 Best regards,