xref: /openbmc/linux/Documentation/devicetree/bindings/net/renesas,r8a779f0-ether-switch.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
1*f9edd827SYoshihiro Shimoda# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*f9edd827SYoshihiro Shimoda%YAML 1.2
3*f9edd827SYoshihiro Shimoda---
4*f9edd827SYoshihiro Shimoda$id: http://devicetree.org/schemas/net/renesas,r8a779f0-ether-switch.yaml#
5*f9edd827SYoshihiro Shimoda$schema: http://devicetree.org/meta-schemas/core.yaml#
6*f9edd827SYoshihiro Shimoda
7*f9edd827SYoshihiro Shimodatitle: Renesas Ethernet Switch
8*f9edd827SYoshihiro Shimoda
9*f9edd827SYoshihiro Shimodamaintainers:
10*f9edd827SYoshihiro Shimoda  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
11*f9edd827SYoshihiro Shimoda
12*f9edd827SYoshihiro Shimodaproperties:
13*f9edd827SYoshihiro Shimoda  compatible:
14*f9edd827SYoshihiro Shimoda    const: renesas,r8a779f0-ether-switch
15*f9edd827SYoshihiro Shimoda
16*f9edd827SYoshihiro Shimoda  reg:
17*f9edd827SYoshihiro Shimoda    maxItems: 2
18*f9edd827SYoshihiro Shimoda
19*f9edd827SYoshihiro Shimoda  reg-names:
20*f9edd827SYoshihiro Shimoda    items:
21*f9edd827SYoshihiro Shimoda      - const: base
22*f9edd827SYoshihiro Shimoda      - const: secure_base
23*f9edd827SYoshihiro Shimoda
24*f9edd827SYoshihiro Shimoda  interrupts:
25*f9edd827SYoshihiro Shimoda    maxItems: 47
26*f9edd827SYoshihiro Shimoda
27*f9edd827SYoshihiro Shimoda  interrupt-names:
28*f9edd827SYoshihiro Shimoda    items:
29*f9edd827SYoshihiro Shimoda      - const: mfwd_error
30*f9edd827SYoshihiro Shimoda      - const: race_error
31*f9edd827SYoshihiro Shimoda      - const: coma_error
32*f9edd827SYoshihiro Shimoda      - const: gwca0_error
33*f9edd827SYoshihiro Shimoda      - const: gwca1_error
34*f9edd827SYoshihiro Shimoda      - const: etha0_error
35*f9edd827SYoshihiro Shimoda      - const: etha1_error
36*f9edd827SYoshihiro Shimoda      - const: etha2_error
37*f9edd827SYoshihiro Shimoda      - const: gptp0_status
38*f9edd827SYoshihiro Shimoda      - const: gptp1_status
39*f9edd827SYoshihiro Shimoda      - const: mfwd_status
40*f9edd827SYoshihiro Shimoda      - const: race_status
41*f9edd827SYoshihiro Shimoda      - const: coma_status
42*f9edd827SYoshihiro Shimoda      - const: gwca0_status
43*f9edd827SYoshihiro Shimoda      - const: gwca1_status
44*f9edd827SYoshihiro Shimoda      - const: etha0_status
45*f9edd827SYoshihiro Shimoda      - const: etha1_status
46*f9edd827SYoshihiro Shimoda      - const: etha2_status
47*f9edd827SYoshihiro Shimoda      - const: rmac0_status
48*f9edd827SYoshihiro Shimoda      - const: rmac1_status
49*f9edd827SYoshihiro Shimoda      - const: rmac2_status
50*f9edd827SYoshihiro Shimoda      - const: gwca0_rxtx0
51*f9edd827SYoshihiro Shimoda      - const: gwca0_rxtx1
52*f9edd827SYoshihiro Shimoda      - const: gwca0_rxtx2
53*f9edd827SYoshihiro Shimoda      - const: gwca0_rxtx3
54*f9edd827SYoshihiro Shimoda      - const: gwca0_rxtx4
55*f9edd827SYoshihiro Shimoda      - const: gwca0_rxtx5
56*f9edd827SYoshihiro Shimoda      - const: gwca0_rxtx6
57*f9edd827SYoshihiro Shimoda      - const: gwca0_rxtx7
58*f9edd827SYoshihiro Shimoda      - const: gwca1_rxtx0
59*f9edd827SYoshihiro Shimoda      - const: gwca1_rxtx1
60*f9edd827SYoshihiro Shimoda      - const: gwca1_rxtx2
61*f9edd827SYoshihiro Shimoda      - const: gwca1_rxtx3
62*f9edd827SYoshihiro Shimoda      - const: gwca1_rxtx4
63*f9edd827SYoshihiro Shimoda      - const: gwca1_rxtx5
64*f9edd827SYoshihiro Shimoda      - const: gwca1_rxtx6
65*f9edd827SYoshihiro Shimoda      - const: gwca1_rxtx7
66*f9edd827SYoshihiro Shimoda      - const: gwca0_rxts0
67*f9edd827SYoshihiro Shimoda      - const: gwca0_rxts1
68*f9edd827SYoshihiro Shimoda      - const: gwca1_rxts0
69*f9edd827SYoshihiro Shimoda      - const: gwca1_rxts1
70*f9edd827SYoshihiro Shimoda      - const: rmac0_mdio
71*f9edd827SYoshihiro Shimoda      - const: rmac1_mdio
72*f9edd827SYoshihiro Shimoda      - const: rmac2_mdio
73*f9edd827SYoshihiro Shimoda      - const: rmac0_phy
74*f9edd827SYoshihiro Shimoda      - const: rmac1_phy
75*f9edd827SYoshihiro Shimoda      - const: rmac2_phy
76*f9edd827SYoshihiro Shimoda
77*f9edd827SYoshihiro Shimoda  clocks:
78*f9edd827SYoshihiro Shimoda    maxItems: 1
79*f9edd827SYoshihiro Shimoda
80*f9edd827SYoshihiro Shimoda  resets:
81*f9edd827SYoshihiro Shimoda    maxItems: 1
82*f9edd827SYoshihiro Shimoda
83*f9edd827SYoshihiro Shimoda  iommus:
84*f9edd827SYoshihiro Shimoda    maxItems: 16
85*f9edd827SYoshihiro Shimoda
86*f9edd827SYoshihiro Shimoda  power-domains:
87*f9edd827SYoshihiro Shimoda    maxItems: 1
88*f9edd827SYoshihiro Shimoda
89*f9edd827SYoshihiro Shimoda  ethernet-ports:
90*f9edd827SYoshihiro Shimoda    type: object
91*f9edd827SYoshihiro Shimoda    additionalProperties: false
92*f9edd827SYoshihiro Shimoda
93*f9edd827SYoshihiro Shimoda    properties:
94*f9edd827SYoshihiro Shimoda      '#address-cells':
95*f9edd827SYoshihiro Shimoda        description: Port number of ETHA (TSNA).
96*f9edd827SYoshihiro Shimoda        const: 1
97*f9edd827SYoshihiro Shimoda
98*f9edd827SYoshihiro Shimoda      '#size-cells':
99*f9edd827SYoshihiro Shimoda        const: 0
100*f9edd827SYoshihiro Shimoda
101*f9edd827SYoshihiro Shimoda    patternProperties:
102*f9edd827SYoshihiro Shimoda      "^port@[0-9a-f]+$":
103*f9edd827SYoshihiro Shimoda        type: object
104*f9edd827SYoshihiro Shimoda        $ref: /schemas/net/ethernet-controller.yaml#
105*f9edd827SYoshihiro Shimoda        unevaluatedProperties: false
106*f9edd827SYoshihiro Shimoda
107*f9edd827SYoshihiro Shimoda        properties:
108*f9edd827SYoshihiro Shimoda          reg:
109*f9edd827SYoshihiro Shimoda            maxItems: 1
110*f9edd827SYoshihiro Shimoda            description:
111*f9edd827SYoshihiro Shimoda              Port number of ETHA (TSNA).
112*f9edd827SYoshihiro Shimoda
113*f9edd827SYoshihiro Shimoda          phys:
114*f9edd827SYoshihiro Shimoda            maxItems: 1
115*f9edd827SYoshihiro Shimoda            description:
116*f9edd827SYoshihiro Shimoda              Phandle of an Ethernet SERDES.
117*f9edd827SYoshihiro Shimoda
118*f9edd827SYoshihiro Shimoda          mdio:
119*f9edd827SYoshihiro Shimoda            $ref: /schemas/net/mdio.yaml#
120*f9edd827SYoshihiro Shimoda            unevaluatedProperties: false
121*f9edd827SYoshihiro Shimoda
122*f9edd827SYoshihiro Shimoda        required:
123*f9edd827SYoshihiro Shimoda          - reg
124*f9edd827SYoshihiro Shimoda          - phy-handle
125*f9edd827SYoshihiro Shimoda          - phy-mode
126*f9edd827SYoshihiro Shimoda          - phys
127*f9edd827SYoshihiro Shimoda          - mdio
128*f9edd827SYoshihiro Shimoda
129*f9edd827SYoshihiro Shimodarequired:
130*f9edd827SYoshihiro Shimoda  - compatible
131*f9edd827SYoshihiro Shimoda  - reg
132*f9edd827SYoshihiro Shimoda  - reg-names
133*f9edd827SYoshihiro Shimoda  - interrupts
134*f9edd827SYoshihiro Shimoda  - interrupt-names
135*f9edd827SYoshihiro Shimoda  - clocks
136*f9edd827SYoshihiro Shimoda  - resets
137*f9edd827SYoshihiro Shimoda  - power-domains
138*f9edd827SYoshihiro Shimoda  - ethernet-ports
139*f9edd827SYoshihiro Shimoda
140*f9edd827SYoshihiro ShimodaadditionalProperties: false
141*f9edd827SYoshihiro Shimoda
142*f9edd827SYoshihiro Shimodaexamples:
143*f9edd827SYoshihiro Shimoda  - |
144*f9edd827SYoshihiro Shimoda    #include <dt-bindings/clock/r8a779f0-cpg-mssr.h>
145*f9edd827SYoshihiro Shimoda    #include <dt-bindings/interrupt-controller/arm-gic.h>
146*f9edd827SYoshihiro Shimoda    #include <dt-bindings/power/r8a779f0-sysc.h>
147*f9edd827SYoshihiro Shimoda
148*f9edd827SYoshihiro Shimoda    ethernet@e6880000 {
149*f9edd827SYoshihiro Shimoda        compatible = "renesas,r8a779f0-ether-switch";
150*f9edd827SYoshihiro Shimoda        reg = <0xe6880000 0x20000>, <0xe68c0000 0x20000>;
151*f9edd827SYoshihiro Shimoda        reg-names = "base", "secure_base";
152*f9edd827SYoshihiro Shimoda        interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
153*f9edd827SYoshihiro Shimoda                     <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>,
154*f9edd827SYoshihiro Shimoda                     <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>,
155*f9edd827SYoshihiro Shimoda                     <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>,
156*f9edd827SYoshihiro Shimoda                     <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
157*f9edd827SYoshihiro Shimoda                     <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
158*f9edd827SYoshihiro Shimoda                     <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
159*f9edd827SYoshihiro Shimoda                     <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
160*f9edd827SYoshihiro Shimoda                     <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
161*f9edd827SYoshihiro Shimoda                     <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
162*f9edd827SYoshihiro Shimoda                     <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
163*f9edd827SYoshihiro Shimoda                     <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
164*f9edd827SYoshihiro Shimoda                     <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>,
165*f9edd827SYoshihiro Shimoda                     <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>,
166*f9edd827SYoshihiro Shimoda                     <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
167*f9edd827SYoshihiro Shimoda                     <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>,
168*f9edd827SYoshihiro Shimoda                     <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>,
169*f9edd827SYoshihiro Shimoda                     <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>,
170*f9edd827SYoshihiro Shimoda                     <GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>,
171*f9edd827SYoshihiro Shimoda                     <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>,
172*f9edd827SYoshihiro Shimoda                     <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>,
173*f9edd827SYoshihiro Shimoda                     <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
174*f9edd827SYoshihiro Shimoda                     <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
175*f9edd827SYoshihiro Shimoda                     <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
176*f9edd827SYoshihiro Shimoda                     <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
177*f9edd827SYoshihiro Shimoda                     <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
178*f9edd827SYoshihiro Shimoda                     <GIC_SPI 285 IRQ_TYPE_LEVEL_HIGH>,
179*f9edd827SYoshihiro Shimoda                     <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>,
180*f9edd827SYoshihiro Shimoda                     <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>,
181*f9edd827SYoshihiro Shimoda                     <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>,
182*f9edd827SYoshihiro Shimoda                     <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH>,
183*f9edd827SYoshihiro Shimoda                     <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>,
184*f9edd827SYoshihiro Shimoda                     <GIC_SPI 291 IRQ_TYPE_LEVEL_HIGH>,
185*f9edd827SYoshihiro Shimoda                     <GIC_SPI 292 IRQ_TYPE_LEVEL_HIGH>,
186*f9edd827SYoshihiro Shimoda                     <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
187*f9edd827SYoshihiro Shimoda                     <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
188*f9edd827SYoshihiro Shimoda                     <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
189*f9edd827SYoshihiro Shimoda                     <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
190*f9edd827SYoshihiro Shimoda                     <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
191*f9edd827SYoshihiro Shimoda                     <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
192*f9edd827SYoshihiro Shimoda                     <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>,
193*f9edd827SYoshihiro Shimoda                     <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>,
194*f9edd827SYoshihiro Shimoda                     <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>,
195*f9edd827SYoshihiro Shimoda                     <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>,
196*f9edd827SYoshihiro Shimoda                     <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
197*f9edd827SYoshihiro Shimoda                     <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>,
198*f9edd827SYoshihiro Shimoda                     <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
199*f9edd827SYoshihiro Shimoda        interrupt-names = "mfwd_error", "race_error",
200*f9edd827SYoshihiro Shimoda                          "coma_error", "gwca0_error",
201*f9edd827SYoshihiro Shimoda                          "gwca1_error", "etha0_error",
202*f9edd827SYoshihiro Shimoda                          "etha1_error", "etha2_error",
203*f9edd827SYoshihiro Shimoda                          "gptp0_status", "gptp1_status",
204*f9edd827SYoshihiro Shimoda                          "mfwd_status", "race_status",
205*f9edd827SYoshihiro Shimoda                          "coma_status", "gwca0_status",
206*f9edd827SYoshihiro Shimoda                          "gwca1_status", "etha0_status",
207*f9edd827SYoshihiro Shimoda                          "etha1_status", "etha2_status",
208*f9edd827SYoshihiro Shimoda                          "rmac0_status", "rmac1_status",
209*f9edd827SYoshihiro Shimoda                          "rmac2_status",
210*f9edd827SYoshihiro Shimoda                          "gwca0_rxtx0", "gwca0_rxtx1",
211*f9edd827SYoshihiro Shimoda                          "gwca0_rxtx2", "gwca0_rxtx3",
212*f9edd827SYoshihiro Shimoda                          "gwca0_rxtx4", "gwca0_rxtx5",
213*f9edd827SYoshihiro Shimoda                          "gwca0_rxtx6", "gwca0_rxtx7",
214*f9edd827SYoshihiro Shimoda                          "gwca1_rxtx0", "gwca1_rxtx1",
215*f9edd827SYoshihiro Shimoda                          "gwca1_rxtx2", "gwca1_rxtx3",
216*f9edd827SYoshihiro Shimoda                          "gwca1_rxtx4", "gwca1_rxtx5",
217*f9edd827SYoshihiro Shimoda                          "gwca1_rxtx6", "gwca1_rxtx7",
218*f9edd827SYoshihiro Shimoda                          "gwca0_rxts0", "gwca0_rxts1",
219*f9edd827SYoshihiro Shimoda                          "gwca1_rxts0", "gwca1_rxts1",
220*f9edd827SYoshihiro Shimoda                          "rmac0_mdio", "rmac1_mdio",
221*f9edd827SYoshihiro Shimoda                          "rmac2_mdio",
222*f9edd827SYoshihiro Shimoda                          "rmac0_phy", "rmac1_phy",
223*f9edd827SYoshihiro Shimoda                          "rmac2_phy";
224*f9edd827SYoshihiro Shimoda        clocks = <&cpg CPG_MOD 1505>;
225*f9edd827SYoshihiro Shimoda        power-domains = <&sysc R8A779F0_PD_ALWAYS_ON>;
226*f9edd827SYoshihiro Shimoda        resets = <&cpg 1505>;
227*f9edd827SYoshihiro Shimoda
228*f9edd827SYoshihiro Shimoda        ethernet-ports {
229*f9edd827SYoshihiro Shimoda            #address-cells = <1>;
230*f9edd827SYoshihiro Shimoda            #size-cells = <0>;
231*f9edd827SYoshihiro Shimoda            port@0 {
232*f9edd827SYoshihiro Shimoda                reg = <0>;
233*f9edd827SYoshihiro Shimoda                phy-handle = <&eth_phy0>;
234*f9edd827SYoshihiro Shimoda                phy-mode = "sgmii";
235*f9edd827SYoshihiro Shimoda                phys = <&eth_serdes 0>;
236*f9edd827SYoshihiro Shimoda                mdio {
237*f9edd827SYoshihiro Shimoda                    #address-cells = <1>;
238*f9edd827SYoshihiro Shimoda                    #size-cells = <0>;
239*f9edd827SYoshihiro Shimoda                };
240*f9edd827SYoshihiro Shimoda            };
241*f9edd827SYoshihiro Shimoda            port@1 {
242*f9edd827SYoshihiro Shimoda                reg = <1>;
243*f9edd827SYoshihiro Shimoda                phy-handle = <&eth_phy1>;
244*f9edd827SYoshihiro Shimoda                phy-mode = "sgmii";
245*f9edd827SYoshihiro Shimoda                phys = <&eth_serdes 1>;
246*f9edd827SYoshihiro Shimoda                mdio {
247*f9edd827SYoshihiro Shimoda                    #address-cells = <1>;
248*f9edd827SYoshihiro Shimoda                    #size-cells = <0>;
249*f9edd827SYoshihiro Shimoda                };
250*f9edd827SYoshihiro Shimoda            };
251*f9edd827SYoshihiro Shimoda            port@2 {
252*f9edd827SYoshihiro Shimoda                reg = <2>;
253*f9edd827SYoshihiro Shimoda                phy-handle = <&eth_phy2>;
254*f9edd827SYoshihiro Shimoda                phy-mode = "sgmii";
255*f9edd827SYoshihiro Shimoda                phys = <&eth_serdes 2>;
256*f9edd827SYoshihiro Shimoda                mdio {
257*f9edd827SYoshihiro Shimoda                    #address-cells = <1>;
258*f9edd827SYoshihiro Shimoda                    #size-cells = <0>;
259*f9edd827SYoshihiro Shimoda                };
260*f9edd827SYoshihiro Shimoda            };
261*f9edd827SYoshihiro Shimoda        };
262*f9edd827SYoshihiro Shimoda    };
263