Message ID | 20231125-topic-6115icc-v1-0-fa51c0b556c9@linaro.org |
---|---|
Headers | show |
Series | SM6115 interconnect | expand |
On 25/11/2023 16:59, Konrad Dybcio wrote: > Add bindings for Qualcomm SM6115 Network-On-Chip interconnect. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > .../bindings/interconnect/qcom,sm6115.yaml | 128 +++++++++++++++++++++ > include/dt-bindings/interconnect/qcom,sm6115.h | 111 ++++++++++++++++++ > 2 files changed, 239 insertions(+) > > diff --git a/Documentation/devicetree/bindings/interconnect/qcom,sm6115.yaml b/Documentation/devicetree/bindings/interconnect/qcom,sm6115.yaml > new file mode 100644 > index 000000000000..8908946eb391 > --- /dev/null > +++ b/Documentation/devicetree/bindings/interconnect/qcom,sm6115.yaml > @@ -0,0 +1,128 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/interconnect/qcom,sm6115.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm SM6115 Network-On-Chip interconnect > + > +maintainers: > + - Konrad Dybcio <konradybcio@kernel.org> > + > +description: | Do not need '|' unless you need to preserve formatting. > + The Qualcomm SM6115 interconnect providers support adjusting the > + bandwidth requirements between the various NoC fabrics. > + > +properties: > + reg: > + maxItems: 1 > + > + compatible: compatible is the first in properties (move it before reg). > + enum: > + - qcom,sm6115-bimc > + - qcom,sm6115-cnoc > + - qcom,sm6115-snoc > + Add clocks: with min/maxItems here. Same with clock-names. > +# Child node's properties > +patternProperties: > + '^interconnect-[a-z0-9]+$': > + type: object > + description: > + The interconnect providers do not have a separate QoS register space, > + but share parent's space. > + > + allOf: Drop allOf, just $ref. > + - $ref: qcom,rpm-common.yaml# > + > + properties: > + compatible: > + enum: > + - qcom,sm6115-clk-virt > + - qcom,sm6115-mmrt-virt > + - qcom,sm6115-mmnrt-virt > + > + required: > + - compatible > + > + unevaluatedProperties: false > + > +required: > + - compatible > + - reg > + > +unevaluatedProperties: false Put it after allOf: block. > + > +allOf: > + - $ref: qcom,rpm-common.yaml# > + - if: > + properties: > + compatible: > + const: qcom,sm6115-cnoc > + > + then: > + properties: > + clocks: > + items: > + - description: USB-NoC AXI clock > + > + clock-names: > + items: > + - const: usb_axi > + > + - if: > + properties: > + compatible: > + const: qcom,sm6115-snoc > + > + then: > + properties: > + clocks: > + items: > + - description: CPU-NoC AXI clock. > + - description: UFS-NoC AXI clock. > + - description: USB-NoC AXI clock. > + - description: IPA clock. > + > + clock-names: > + items: > + - const: cpu_axi > + - const: ufs_axi > + - const: usb_axi > + - const: ipa Add if: for remaining variant disallowing clocks and clock-names. (clocks: false) > + > +examples: > + - | > + #include <dt-bindings/clock/qcom,rpmcc.h> Is it used? > + > + snoc: interconnect@1880000 { > + compatible = "qcom,sm6115-snoc"; > + reg = <0x01880000 0x60200>; > + #interconnect-cells = <1>; Missing clocks. > + > + qup_virt: interconnect-qup { > + compatible = "qcom,sm6115-qup-virt"; > + #interconnect-cells = <1>; > + }; > + > + mmnrt_virt: interconnect-mmnrt { > + compatible = "qcom,sm6115-mmnrt-virt"; > + #interconnect-cells = <1>; > + }; > + > + mmrt_virt: interconnect-mmrt { > + compatible = "qcom,sm6115-mmrt-virt"; > + #interconnect-cells = <1>; > + }; > + }; > + > + cnoc: interconnect@1900000 { > + compatible = "qcom,sm6115-cnoc"; > + reg = <0x01900000 0x8200>; > + #interconnect-cells = <1>; > + }; > + > + bimc: interconnect@4480000 { > + compatible = "qcom,sm6115-bimc"; > + reg = <0x04480000 0x80000>; > + #interconnect-cells = <1>; > + }; Drop this node, duplicates cnoc. > diff --git a/include/dt-bindings/interconnect/qcom,sm6115.h b/include/dt-bindings/interconnect/qcom,sm6115.h > new file mode 100644 > index 000000000000..21090e585f05 Best regards, Krzysztof
As it says on the can. Georgi, Bjorn, can we please set up an immutable branch with the bindings? Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> --- Konrad Dybcio (2): dt-bindings: interconnect: Add Qualcomm SM6115 NoC interconnect: qcom: Add SM6115 interconnect provider driver .../bindings/interconnect/qcom,sm6115.yaml | 128 ++ drivers/interconnect/qcom/Kconfig | 9 + drivers/interconnect/qcom/Makefile | 2 + drivers/interconnect/qcom/sm6115.c | 1427 ++++++++++++++++++++ include/dt-bindings/interconnect/qcom,sm6115.h | 111 ++ 5 files changed, 1677 insertions(+) --- base-commit: 8c9660f6515396aba78d1168d2e17951d653ebf2 change-id: 20231125-topic-6115icc-a187f5989af7 Best regards,