# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/interconnect/qcom,shikra.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Qualcomm Shikra Network-On-Chip interconnect maintainers: - Raviteja Laggyshetty description: The Qualcomm Shikra interconnect providers support adjusting the bandwidth requirements between the various NoC fabrics. properties: compatible: enum: - qcom,shikra-config-noc - qcom,shikra-mem-noc-core - qcom,shikra-sys-noc reg: maxItems: 1 clocks: minItems: 1 maxItems: 4 clock-names: minItems: 1 maxItems: 4 # 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. $ref: qcom,rpm-common.yaml# properties: compatible: enum: - qcom,shikra-clk-virt - qcom,shikra-mc-virt - qcom,shikra-mmrt-virt - qcom,shikra-mmnrt-virt required: - compatible unevaluatedProperties: false required: - compatible - reg allOf: - $ref: qcom,rpm-common.yaml# - if: properties: compatible: const: qcom,shikra-mem-noc-core then: properties: clocks: items: - description: GPU-NoC AXI clock clock-names: items: - const: gpu_axi patternProperties: '^interconnect-[a-z0-9]+$': false - if: properties: compatible: const: qcom,shikra-sys-noc then: properties: clocks: items: - description: EMAC0-NoC AXI clock. - description: EMAC1-NoC AXI clock. - description: USB2-NoC AXI clock. - description: USB3-NoC AXI clock. clock-names: items: - const: emac0_axi - const: emac1_axi - const: usb2_axi - const: usb3_axi - if: properties: compatible: const: qcom,shikra-config-noc then: properties: clocks: false clock-names: false patternProperties: '^interconnect-[a-z0-9]+$': false unevaluatedProperties: false examples: - | interconnect@1880000 { compatible = "qcom,shikra-sys-noc"; reg = <0x01880000 0x6a080>; #interconnect-cells = <2>; clocks = <&gcc_emac0_axi_sys_noc_clk>, <&gcc_emac1_axi_sys_noc_clk>, <&gcc_sys_noc_usb2_prim_axi_clk>, <&gcc_sys_noc_usb3_prim_axi_clk>; clock-names = "emac0_axi", "emac1_axi", "usb2_axi", "usb3_axi"; interconnect-clk { compatible = "qcom,shikra-clk-virt"; #interconnect-cells = <2>; }; };