Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/airoha,en7581-eth.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Airoha EN7581 Frame Engine Ethernet controller
8
9maintainers:
10 - Lorenzo Bianconi <lorenzo@kernel.org>
11
12description:
13 The frame engine ethernet controller can be found on Airoha SoCs.
14 These SoCs have multi-GMAC ports.
15
16properties:
17 compatible:
18 enum:
19 - airoha,en7581-eth
20
21 reg:
22 items:
23 - description: Frame engine base address
24 - description: QDMA0 base address
25 - description: QDMA1 base address
26
27 reg-names:
28 items:
29 - const: fe
30 - const: qdma0
31 - const: qdma1
32
33 interrupts:
34 items:
35 - description: QDMA lan irq0
36 - description: QDMA lan irq1
37 - description: QDMA lan irq2
38 - description: QDMA lan irq3
39 - description: QDMA wan irq0
40 - description: QDMA wan irq1
41 - description: QDMA wan irq2
42 - description: QDMA wan irq3
43 - description: FE error irq
44 - description: PDMA irq
45
46 resets:
47 maxItems: 8
48
49 reset-names:
50 items:
51 - const: fe
52 - const: pdma
53 - const: qdma
54 - const: xsi-mac
55 - const: hsi0-mac
56 - const: hsi1-mac
57 - const: hsi-mac
58 - const: xfp-mac
59
60 memory-region:
61 items:
62 - description: QDMA0 buffer memory
63 - description: QDMA1 buffer memory
64
65 memory-region-names:
66 items:
67 - const: qdma0-buf
68 - const: qdma1-buf
69
70 "#address-cells":
71 const: 1
72
73 "#size-cells":
74 const: 0
75
76 airoha,npu:
77 $ref: /schemas/types.yaml#/definitions/phandle
78 description:
79 Phandle to the node used to configure the NPU module.
80 The Airoha Network Processor Unit (NPU) provides a configuration
81 interface to implement hardware flow offloading programming Packet
82 Processor Engine (PPE) flow table.
83
84patternProperties:
85 "^ethernet@[1-4]$":
86 type: object
87 unevaluatedProperties: false
88 $ref: ethernet-controller.yaml#
89 description:
90 Ethernet GMAC port associated to the MAC controller
91 properties:
92 compatible:
93 const: airoha,eth-mac
94
95 reg:
96 minimum: 1
97 maximum: 4
98 description: GMAC port identifier
99
100 required:
101 - reg
102 - compatible
103
104required:
105 - compatible
106 - reg
107 - interrupts
108 - resets
109 - reset-names
110
111unevaluatedProperties: false
112
113examples:
114 - |
115 #include <dt-bindings/interrupt-controller/arm-gic.h>
116 #include <dt-bindings/interrupt-controller/irq.h>
117 #include <dt-bindings/clock/en7523-clk.h>
118
119 soc {
120 #address-cells = <2>;
121 #size-cells = <2>;
122
123 eth: ethernet@1fb50000 {
124 compatible = "airoha,en7581-eth";
125 reg = <0 0x1fb50000 0 0x2600>,
126 <0 0x1fb54000 0 0x2000>,
127 <0 0x1fb56000 0 0x2000>;
128 reg-names = "fe", "qdma0", "qdma1";
129
130 resets = <&scuclk 44>,
131 <&scuclk 30>,
132 <&scuclk 31>,
133 <&scuclk 6>,
134 <&scuclk 15>,
135 <&scuclk 16>,
136 <&scuclk 17>,
137 <&scuclk 26>;
138 reset-names = "fe", "pdma", "qdma", "xsi-mac",
139 "hsi0-mac", "hsi1-mac", "hsi-mac",
140 "xfp-mac";
141
142 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
143 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
144 <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
145 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
146 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
147 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
148 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
149 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
150 <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
151 <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
152
153 memory-region = <&qdma0_buf>, <&qdma1_buf>;
154 memory-region-names = "qdma0-buf", "qdma1-buf";
155
156 airoha,npu = <&npu>;
157
158 #address-cells = <1>;
159 #size-cells = <0>;
160
161 mac: ethernet@1 {
162 compatible = "airoha,eth-mac";
163 reg = <1>;
164 };
165 };
166 };