| # 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 <raviteja.laggyshetty@oss.qualcomm.com> | |
| 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>; | |
| }; | |
| }; |