# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/interconnect/qcom,sdm660.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Qualcomm SDM660 Network-On-Chip interconnect maintainers: - AngeloGioacchino Del Regno description: | The Qualcomm SDM660 interconnect providers support adjusting the bandwidth requirements between the various NoC fabrics. properties: reg: maxItems: 1 compatible: enum: - qcom,sdm660-a2noc - qcom,sdm660-bimc - qcom,sdm660-cnoc - qcom,sdm660-gnoc - qcom,sdm660-mnoc - qcom,sdm660-snoc '#interconnect-cells': const: 1 clocks: minItems: 1 maxItems: 3 clock-names: minItems: 1 maxItems: 3 required: - compatible - reg - '#interconnect-cells' - clock-names - clocks additionalProperties: false allOf: - if: properties: compatible: contains: enum: - qcom,sdm660-mnoc then: properties: clocks: items: - description: Bus Clock. - description: Bus A Clock. - description: CPU-NoC High-performance Bus Clock. clock-names: items: - const: bus - const: bus_a - const: iface - if: properties: compatible: contains: enum: - qcom,sdm660-a2noc - qcom,sdm660-bimc - qcom,sdm660-cnoc - qcom,sdm660-gnoc - qcom,sdm660-snoc then: properties: clocks: items: - description: Bus Clock. - description: Bus A Clock. clock-names: items: - const: bus - const: bus_a examples: - | #include #include bimc: interconnect@1008000 { compatible = "qcom,sdm660-bimc"; reg = <0x01008000 0x78000>; #interconnect-cells = <1>; clock-names = "bus", "bus_a"; clocks = <&rpmcc RPM_SMD_BIMC_CLK>, <&rpmcc RPM_SMD_BIMC_A_CLK>; }; cnoc: interconnect@1500000 { compatible = "qcom,sdm660-cnoc"; reg = <0x01500000 0x10000>; #interconnect-cells = <1>; clock-names = "bus", "bus_a"; clocks = <&rpmcc RPM_SMD_CNOC_CLK>, <&rpmcc RPM_SMD_CNOC_A_CLK>; }; snoc: interconnect@1626000 { compatible = "qcom,sdm660-snoc"; reg = <0x01626000 0x7090>; #interconnect-cells = <1>; clock-names = "bus", "bus_a"; clocks = <&rpmcc RPM_SMD_SNOC_CLK>, <&rpmcc RPM_SMD_SNOC_A_CLK>; }; a2noc: interconnect@1704000 { compatible = "qcom,sdm660-a2noc"; reg = <0x01704000 0xc100>; #interconnect-cells = <1>; clock-names = "bus", "bus_a"; clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>, <&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>; }; mnoc: interconnect@1745000 { compatible = "qcom,sdm660-mnoc"; reg = <0x01745000 0xa010>; #interconnect-cells = <1>; clock-names = "bus", "bus_a", "iface"; clocks = <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK>, <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK_A>, <&mmcc AHB_CLK_SRC>; }; gnoc: interconnect@17900000 { compatible = "qcom,sdm660-gnoc"; reg = <0x17900000 0xe000>; #interconnect-cells = <1>; clock-names = "bus", "bus_a"; clocks = <&xo_board>, <&xo_board>; };