# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/interconnect/qcom,qcm2290.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Qualcomm QCM2290 Network-On-Chip interconnect maintainers: - Shawn Guo <shawn.guo@linaro.org> description: | The Qualcomm QCM2290 interconnect providers support adjusting the bandwidth requirements between the various NoC fabrics. properties: reg: maxItems: 1 compatible: enum: - qcom,qcm2290-bimc - qcom,qcm2290-cnoc - qcom,qcm2290-snoc '#interconnect-cells': const: 1 clock-names: items: - const: bus - const: bus_a clocks: items: - description: Bus Clock - description: Bus A Clock # 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. properties: compatible: enum: - qcom,qcm2290-qup-virt - qcom,qcm2290-mmrt-virt - qcom,qcm2290-mmnrt-virt '#interconnect-cells': const: 1 clock-names: items: - const: bus - const: bus_a clocks: items: - description: Bus Clock - description: Bus A Clock required: - compatible - '#interconnect-cells' - clock-names - clocks additionalProperties: false required: - compatible - reg - '#interconnect-cells' - clock-names - clocks additionalProperties: false examples: - | #include <dt-bindings/clock/qcom,rpmcc.h> snoc: interconnect@1880000 { compatible = "qcom,qcm2290-snoc"; reg = <0x01880000 0x60200>; #interconnect-cells = <1>; clock-names = "bus", "bus_a"; clocks = <&rpmcc RPM_SMD_SNOC_CLK>, <&rpmcc RPM_SMD_SNOC_A_CLK>; qup_virt: interconnect-qup { compatible = "qcom,qcm2290-qup-virt"; #interconnect-cells = <1>; clock-names = "bus", "bus_a"; clocks = <&rpmcc RPM_SMD_QUP_CLK>, <&rpmcc RPM_SMD_QUP_A_CLK>; }; mmnrt_virt: interconnect-mmnrt { compatible = "qcom,qcm2290-mmnrt-virt"; #interconnect-cells = <1>; clock-names = "bus", "bus_a"; clocks = <&rpmcc RPM_SMD_MMNRT_CLK>, <&rpmcc RPM_SMD_MMNRT_A_CLK>; }; mmrt_virt: interconnect-mmrt { compatible = "qcom,qcm2290-mmrt-virt"; #interconnect-cells = <1>; clock-names = "bus", "bus_a"; clocks = <&rpmcc RPM_SMD_MMRT_CLK>, <&rpmcc RPM_SMD_MMRT_A_CLK>; }; }; cnoc: interconnect@1900000 { compatible = "qcom,qcm2290-cnoc"; reg = <0x01900000 0x8200>; #interconnect-cells = <1>; clock-names = "bus", "bus_a"; clocks = <&rpmcc RPM_SMD_CNOC_CLK>, <&rpmcc RPM_SMD_CNOC_A_CLK>; }; bimc: interconnect@4480000 { compatible = "qcom,qcm2290-bimc"; reg = <0x04480000 0x80000>; #interconnect-cells = <1>; clock-names = "bus", "bus_a"; clocks = <&rpmcc RPM_SMD_BIMC_CLK>, <&rpmcc RPM_SMD_BIMC_A_CLK>; };