xref: /linux/Documentation/devicetree/bindings/interconnect/qcom,shikra.yaml (revision efe86f088f48f18c27b648e5724048947f3b7fb4)
1*0f90f883SRaviteja Laggyshetty# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*0f90f883SRaviteja Laggyshetty%YAML 1.2
3*0f90f883SRaviteja Laggyshetty---
4*0f90f883SRaviteja Laggyshetty$id: http://devicetree.org/schemas/interconnect/qcom,shikra.yaml#
5*0f90f883SRaviteja Laggyshetty$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0f90f883SRaviteja Laggyshetty
7*0f90f883SRaviteja Laggyshettytitle: Qualcomm Shikra Network-On-Chip interconnect
8*0f90f883SRaviteja Laggyshetty
9*0f90f883SRaviteja Laggyshettymaintainers:
10*0f90f883SRaviteja Laggyshetty  - Raviteja Laggyshetty <raviteja.laggyshetty@oss.qualcomm.com>
11*0f90f883SRaviteja Laggyshetty
12*0f90f883SRaviteja Laggyshettydescription:
13*0f90f883SRaviteja Laggyshetty  The Qualcomm Shikra interconnect providers support adjusting the
14*0f90f883SRaviteja Laggyshetty  bandwidth requirements between the various NoC fabrics.
15*0f90f883SRaviteja Laggyshetty
16*0f90f883SRaviteja Laggyshettyproperties:
17*0f90f883SRaviteja Laggyshetty  compatible:
18*0f90f883SRaviteja Laggyshetty    enum:
19*0f90f883SRaviteja Laggyshetty      - qcom,shikra-config-noc
20*0f90f883SRaviteja Laggyshetty      - qcom,shikra-mem-noc-core
21*0f90f883SRaviteja Laggyshetty      - qcom,shikra-sys-noc
22*0f90f883SRaviteja Laggyshetty
23*0f90f883SRaviteja Laggyshetty  reg:
24*0f90f883SRaviteja Laggyshetty    maxItems: 1
25*0f90f883SRaviteja Laggyshetty
26*0f90f883SRaviteja Laggyshetty  clocks:
27*0f90f883SRaviteja Laggyshetty    minItems: 1
28*0f90f883SRaviteja Laggyshetty    maxItems: 4
29*0f90f883SRaviteja Laggyshetty
30*0f90f883SRaviteja Laggyshetty  clock-names:
31*0f90f883SRaviteja Laggyshetty    minItems: 1
32*0f90f883SRaviteja Laggyshetty    maxItems: 4
33*0f90f883SRaviteja Laggyshetty
34*0f90f883SRaviteja Laggyshetty# Child node's properties
35*0f90f883SRaviteja LaggyshettypatternProperties:
36*0f90f883SRaviteja Laggyshetty  '^interconnect-[a-z0-9]+$':
37*0f90f883SRaviteja Laggyshetty    type: object
38*0f90f883SRaviteja Laggyshetty    description:
39*0f90f883SRaviteja Laggyshetty      The interconnect providers do not have a separate QoS register space,
40*0f90f883SRaviteja Laggyshetty      but share parent's space.
41*0f90f883SRaviteja Laggyshetty
42*0f90f883SRaviteja Laggyshetty    $ref: qcom,rpm-common.yaml#
43*0f90f883SRaviteja Laggyshetty
44*0f90f883SRaviteja Laggyshetty    properties:
45*0f90f883SRaviteja Laggyshetty      compatible:
46*0f90f883SRaviteja Laggyshetty        enum:
47*0f90f883SRaviteja Laggyshetty          - qcom,shikra-clk-virt
48*0f90f883SRaviteja Laggyshetty          - qcom,shikra-mc-virt
49*0f90f883SRaviteja Laggyshetty          - qcom,shikra-mmrt-virt
50*0f90f883SRaviteja Laggyshetty          - qcom,shikra-mmnrt-virt
51*0f90f883SRaviteja Laggyshetty
52*0f90f883SRaviteja Laggyshetty    required:
53*0f90f883SRaviteja Laggyshetty      - compatible
54*0f90f883SRaviteja Laggyshetty
55*0f90f883SRaviteja Laggyshetty    unevaluatedProperties: false
56*0f90f883SRaviteja Laggyshetty
57*0f90f883SRaviteja Laggyshettyrequired:
58*0f90f883SRaviteja Laggyshetty  - compatible
59*0f90f883SRaviteja Laggyshetty  - reg
60*0f90f883SRaviteja Laggyshetty
61*0f90f883SRaviteja LaggyshettyallOf:
62*0f90f883SRaviteja Laggyshetty  - $ref: qcom,rpm-common.yaml#
63*0f90f883SRaviteja Laggyshetty  - if:
64*0f90f883SRaviteja Laggyshetty      properties:
65*0f90f883SRaviteja Laggyshetty        compatible:
66*0f90f883SRaviteja Laggyshetty          const: qcom,shikra-mem-noc-core
67*0f90f883SRaviteja Laggyshetty
68*0f90f883SRaviteja Laggyshetty    then:
69*0f90f883SRaviteja Laggyshetty      properties:
70*0f90f883SRaviteja Laggyshetty        clocks:
71*0f90f883SRaviteja Laggyshetty          items:
72*0f90f883SRaviteja Laggyshetty            - description: GPU-NoC AXI clock
73*0f90f883SRaviteja Laggyshetty
74*0f90f883SRaviteja Laggyshetty        clock-names:
75*0f90f883SRaviteja Laggyshetty          items:
76*0f90f883SRaviteja Laggyshetty            - const: gpu_axi
77*0f90f883SRaviteja Laggyshetty      patternProperties:
78*0f90f883SRaviteja Laggyshetty        '^interconnect-[a-z0-9]+$': false
79*0f90f883SRaviteja Laggyshetty
80*0f90f883SRaviteja Laggyshetty  - if:
81*0f90f883SRaviteja Laggyshetty      properties:
82*0f90f883SRaviteja Laggyshetty        compatible:
83*0f90f883SRaviteja Laggyshetty          const: qcom,shikra-sys-noc
84*0f90f883SRaviteja Laggyshetty
85*0f90f883SRaviteja Laggyshetty    then:
86*0f90f883SRaviteja Laggyshetty      properties:
87*0f90f883SRaviteja Laggyshetty        clocks:
88*0f90f883SRaviteja Laggyshetty          items:
89*0f90f883SRaviteja Laggyshetty            - description: EMAC0-NoC AXI clock.
90*0f90f883SRaviteja Laggyshetty            - description: EMAC1-NoC AXI clock.
91*0f90f883SRaviteja Laggyshetty            - description: USB2-NoC AXI clock.
92*0f90f883SRaviteja Laggyshetty            - description: USB3-NoC AXI clock.
93*0f90f883SRaviteja Laggyshetty
94*0f90f883SRaviteja Laggyshetty        clock-names:
95*0f90f883SRaviteja Laggyshetty          items:
96*0f90f883SRaviteja Laggyshetty            - const: emac0_axi
97*0f90f883SRaviteja Laggyshetty            - const: emac1_axi
98*0f90f883SRaviteja Laggyshetty            - const: usb2_axi
99*0f90f883SRaviteja Laggyshetty            - const: usb3_axi
100*0f90f883SRaviteja Laggyshetty
101*0f90f883SRaviteja Laggyshetty  - if:
102*0f90f883SRaviteja Laggyshetty      properties:
103*0f90f883SRaviteja Laggyshetty        compatible:
104*0f90f883SRaviteja Laggyshetty          const: qcom,shikra-config-noc
105*0f90f883SRaviteja Laggyshetty
106*0f90f883SRaviteja Laggyshetty    then:
107*0f90f883SRaviteja Laggyshetty      properties:
108*0f90f883SRaviteja Laggyshetty        clocks: false
109*0f90f883SRaviteja Laggyshetty        clock-names: false
110*0f90f883SRaviteja Laggyshetty      patternProperties:
111*0f90f883SRaviteja Laggyshetty        '^interconnect-[a-z0-9]+$': false
112*0f90f883SRaviteja Laggyshetty
113*0f90f883SRaviteja LaggyshettyunevaluatedProperties: false
114*0f90f883SRaviteja Laggyshetty
115*0f90f883SRaviteja Laggyshettyexamples:
116*0f90f883SRaviteja Laggyshetty  - |
117*0f90f883SRaviteja Laggyshetty    interconnect@1880000 {
118*0f90f883SRaviteja Laggyshetty        compatible = "qcom,shikra-sys-noc";
119*0f90f883SRaviteja Laggyshetty        reg = <0x01880000 0x6a080>;
120*0f90f883SRaviteja Laggyshetty        #interconnect-cells = <2>;
121*0f90f883SRaviteja Laggyshetty        clocks = <&gcc_emac0_axi_sys_noc_clk>,
122*0f90f883SRaviteja Laggyshetty                 <&gcc_emac1_axi_sys_noc_clk>,
123*0f90f883SRaviteja Laggyshetty                 <&gcc_sys_noc_usb2_prim_axi_clk>,
124*0f90f883SRaviteja Laggyshetty                 <&gcc_sys_noc_usb3_prim_axi_clk>;
125*0f90f883SRaviteja Laggyshetty        clock-names = "emac0_axi",
126*0f90f883SRaviteja Laggyshetty                      "emac1_axi",
127*0f90f883SRaviteja Laggyshetty                      "usb2_axi",
128*0f90f883SRaviteja Laggyshetty                      "usb3_axi";
129*0f90f883SRaviteja Laggyshetty
130*0f90f883SRaviteja Laggyshetty        interconnect-clk {
131*0f90f883SRaviteja Laggyshetty            compatible = "qcom,shikra-clk-virt";
132*0f90f883SRaviteja Laggyshetty            #interconnect-cells = <2>;
133*0f90f883SRaviteja Laggyshetty        };
134*0f90f883SRaviteja Laggyshetty    };
135