xref: /linux/scripts/dtc/include-prefixes/arm64/airoha/en7581.dtsi (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1ab52c591SDaniel Danzberger// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2ab52c591SDaniel Danzberger
3ab52c591SDaniel Danzberger#include <dt-bindings/interrupt-controller/irq.h>
4ab52c591SDaniel Danzberger#include <dt-bindings/interrupt-controller/arm-gic.h>
576930175SChristian Marangi#include <dt-bindings/clock/en7523-clk.h>
64fbfe81fSLorenzo Bianconi#include <dt-bindings/reset/airoha,en7581-reset.h>
7ab52c591SDaniel Danzberger
8ab52c591SDaniel Danzberger/ {
9ab52c591SDaniel Danzberger	interrupt-parent = <&gic>;
10ab52c591SDaniel Danzberger	#address-cells = <2>;
11ab52c591SDaniel Danzberger	#size-cells = <2>;
12ab52c591SDaniel Danzberger
13ab52c591SDaniel Danzberger	reserved-memory {
14ab52c591SDaniel Danzberger		#address-cells = <2>;
15ab52c591SDaniel Danzberger		#size-cells = <2>;
16ab52c591SDaniel Danzberger		ranges;
17ab52c591SDaniel Danzberger
18ab52c591SDaniel Danzberger		npu-binary@84000000 {
19ab52c591SDaniel Danzberger			no-map;
20ab52c591SDaniel Danzberger			reg = <0x0 0x84000000 0x0 0xa00000>;
21ab52c591SDaniel Danzberger		};
22ab52c591SDaniel Danzberger
23ab52c591SDaniel Danzberger		npu-flag@84b0000 {
24ab52c591SDaniel Danzberger			no-map;
25ab52c591SDaniel Danzberger			reg = <0x0 0x84b00000 0x0 0x100000>;
26ab52c591SDaniel Danzberger		};
27ab52c591SDaniel Danzberger
28ab52c591SDaniel Danzberger		npu-pkt@85000000 {
29ab52c591SDaniel Danzberger			no-map;
30ab52c591SDaniel Danzberger			reg = <0x0 0x85000000 0x0 0x1a00000>;
31ab52c591SDaniel Danzberger		};
32ab52c591SDaniel Danzberger
33ab52c591SDaniel Danzberger		npu-phyaddr@86b00000 {
34ab52c591SDaniel Danzberger			no-map;
35ab52c591SDaniel Danzberger			reg = <0x0 0x86b00000 0x0 0x100000>;
36ab52c591SDaniel Danzberger		};
37ab52c591SDaniel Danzberger
38ab52c591SDaniel Danzberger		npu-rxdesc@86d00000 {
39ab52c591SDaniel Danzberger			no-map;
40ab52c591SDaniel Danzberger			reg = <0x0 0x86d00000 0x0 0x100000>;
41ab52c591SDaniel Danzberger		};
42ab52c591SDaniel Danzberger	};
43ab52c591SDaniel Danzberger
44ab52c591SDaniel Danzberger	psci {
45ab52c591SDaniel Danzberger		compatible = "arm,psci-1.0";
46ab52c591SDaniel Danzberger		method = "smc";
47ab52c591SDaniel Danzberger	};
48ab52c591SDaniel Danzberger
49ab52c591SDaniel Danzberger	cpus {
50ab52c591SDaniel Danzberger		#address-cells = <1>;
51ab52c591SDaniel Danzberger		#size-cells = <0>;
52ab52c591SDaniel Danzberger
53ab52c591SDaniel Danzberger		cpu-map {
54ab52c591SDaniel Danzberger			cluster0 {
55ab52c591SDaniel Danzberger				core0 {
56ab52c591SDaniel Danzberger					cpu = <&cpu0>;
57ab52c591SDaniel Danzberger				};
58ab52c591SDaniel Danzberger
59ab52c591SDaniel Danzberger				core1 {
60ab52c591SDaniel Danzberger					cpu = <&cpu1>;
61ab52c591SDaniel Danzberger				};
62ab52c591SDaniel Danzberger
63ab52c591SDaniel Danzberger				core2 {
64ab52c591SDaniel Danzberger					cpu = <&cpu2>;
65ab52c591SDaniel Danzberger				};
66ab52c591SDaniel Danzberger
67ab52c591SDaniel Danzberger				core3 {
68ab52c591SDaniel Danzberger					cpu = <&cpu3>;
69ab52c591SDaniel Danzberger				};
70ab52c591SDaniel Danzberger			};
71ab52c591SDaniel Danzberger		};
72ab52c591SDaniel Danzberger
73ab52c591SDaniel Danzberger		cpu0: cpu@0 {
74ab52c591SDaniel Danzberger			device_type = "cpu";
75ab52c591SDaniel Danzberger			compatible = "arm,cortex-a53";
76ab52c591SDaniel Danzberger			reg = <0x0>;
77ab52c591SDaniel Danzberger			enable-method = "psci";
78ab52c591SDaniel Danzberger			clock-frequency = <80000000>;
79ab52c591SDaniel Danzberger			next-level-cache = <&l2>;
80ab52c591SDaniel Danzberger		};
81ab52c591SDaniel Danzberger
82ab52c591SDaniel Danzberger		cpu1: cpu@1 {
83ab52c591SDaniel Danzberger			device_type = "cpu";
84ab52c591SDaniel Danzberger			compatible = "arm,cortex-a53";
85ab52c591SDaniel Danzberger			reg = <0x1>;
86ab52c591SDaniel Danzberger			enable-method = "psci";
87ab52c591SDaniel Danzberger			clock-frequency = <80000000>;
88ab52c591SDaniel Danzberger			next-level-cache = <&l2>;
89ab52c591SDaniel Danzberger		};
90ab52c591SDaniel Danzberger
91ab52c591SDaniel Danzberger		cpu2: cpu@2 {
92ab52c591SDaniel Danzberger			device_type = "cpu";
93ab52c591SDaniel Danzberger			compatible = "arm,cortex-a53";
94ab52c591SDaniel Danzberger			reg = <0x2>;
95ab52c591SDaniel Danzberger			enable-method = "psci";
96ab52c591SDaniel Danzberger			clock-frequency = <80000000>;
97ab52c591SDaniel Danzberger			next-level-cache = <&l2>;
98ab52c591SDaniel Danzberger		};
99ab52c591SDaniel Danzberger
100ab52c591SDaniel Danzberger		cpu3: cpu@3 {
101ab52c591SDaniel Danzberger			device_type = "cpu";
102ab52c591SDaniel Danzberger			compatible = "arm,cortex-a53";
103ab52c591SDaniel Danzberger			reg = <0x3>;
104ab52c591SDaniel Danzberger			enable-method = "psci";
105ab52c591SDaniel Danzberger			clock-frequency = <80000000>;
106ab52c591SDaniel Danzberger			next-level-cache = <&l2>;
107ab52c591SDaniel Danzberger		};
108ab52c591SDaniel Danzberger
109ab52c591SDaniel Danzberger		l2: l2-cache {
110ab52c591SDaniel Danzberger			compatible = "cache";
111ab52c591SDaniel Danzberger			cache-size = <0x80000>;
112ab52c591SDaniel Danzberger			cache-line-size = <64>;
113ab52c591SDaniel Danzberger			cache-level = <2>;
114ab52c591SDaniel Danzberger			cache-unified;
115ab52c591SDaniel Danzberger		};
116ab52c591SDaniel Danzberger	};
117ab52c591SDaniel Danzberger
118ab52c591SDaniel Danzberger	timer {
119ab52c591SDaniel Danzberger		compatible = "arm,armv8-timer";
120ab52c591SDaniel Danzberger		interrupt-parent = <&gic>;
121ab52c591SDaniel Danzberger		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
122ab52c591SDaniel Danzberger			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
123ab52c591SDaniel Danzberger			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
124ab52c591SDaniel Danzberger			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
125ab52c591SDaniel Danzberger	};
126ab52c591SDaniel Danzberger
1274fbfe81fSLorenzo Bianconi	clk20m: clock-20000000 {
1284fbfe81fSLorenzo Bianconi		compatible = "fixed-clock";
1294fbfe81fSLorenzo Bianconi		#clock-cells = <0>;
1304fbfe81fSLorenzo Bianconi		clock-frequency = <20000000>;
1314fbfe81fSLorenzo Bianconi	};
1324fbfe81fSLorenzo Bianconi
133ab52c591SDaniel Danzberger	soc {
134ab52c591SDaniel Danzberger		compatible = "simple-bus";
135ab52c591SDaniel Danzberger		#address-cells = <2>;
136ab52c591SDaniel Danzberger		#size-cells = <2>;
137ab52c591SDaniel Danzberger		ranges;
138ab52c591SDaniel Danzberger
139ab52c591SDaniel Danzberger		gic: interrupt-controller@9000000 {
140ab52c591SDaniel Danzberger			compatible = "arm,gic-v3";
141ab52c591SDaniel Danzberger			interrupt-controller;
142ab52c591SDaniel Danzberger			#interrupt-cells = <3>;
143ab52c591SDaniel Danzberger			#address-cells = <1>;
144ab52c591SDaniel Danzberger			#size-cells = <1>;
145ab52c591SDaniel Danzberger			reg = <0x0 0x09000000 0x0 0x20000>,
146ab52c591SDaniel Danzberger			      <0x0 0x09080000 0x0 0x80000>,
147ab52c591SDaniel Danzberger			      <0x0 0x09400000 0x0 0x2000>,
148ab52c591SDaniel Danzberger			      <0x0 0x09500000 0x0 0x2000>,
149ab52c591SDaniel Danzberger			      <0x0 0x09600000 0x0 0x20000>;
150ab52c591SDaniel Danzberger			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>;
151ab52c591SDaniel Danzberger		};
152ab52c591SDaniel Danzberger
1538e2e6908SChristian Marangi		spi@1fa10000 {
1548e2e6908SChristian Marangi			compatible = "airoha,en7581-snand";
1558e2e6908SChristian Marangi			reg = <0x0 0x1fa10000 0x0 0x140>,
1568e2e6908SChristian Marangi			      <0x0 0x1fa11000 0x0 0x160>;
1578e2e6908SChristian Marangi
1588e2e6908SChristian Marangi			clocks = <&scuclk EN7523_CLK_SPI>;
1598e2e6908SChristian Marangi			clock-names = "spi";
1608e2e6908SChristian Marangi
1618e2e6908SChristian Marangi			#address-cells = <1>;
1628e2e6908SChristian Marangi			#size-cells = <0>;
1638e2e6908SChristian Marangi
1648e2e6908SChristian Marangi			status = "disabled";
1658e2e6908SChristian Marangi
1668e2e6908SChristian Marangi			spi_nand: nand@0 {
1678e2e6908SChristian Marangi				compatible = "spi-nand";
1688e2e6908SChristian Marangi				reg = <0>;
1698e2e6908SChristian Marangi
1708e2e6908SChristian Marangi				spi-max-frequency = <50000000>;
1718e2e6908SChristian Marangi				spi-tx-bus-width = <1>;
1728e2e6908SChristian Marangi				spi-rx-bus-width = <2>;
1738e2e6908SChristian Marangi			};
1748e2e6908SChristian Marangi		};
1758e2e6908SChristian Marangi
176afcd38c9SLorenzo Bianconi		scuclk: clock-controller@1fb00000 {
17776930175SChristian Marangi			compatible = "airoha,en7581-scu";
17876930175SChristian Marangi			reg = <0x0 0x1fb00000 0x0 0x970>;
17976930175SChristian Marangi			#clock-cells = <1>;
18076930175SChristian Marangi			#reset-cells = <1>;
18176930175SChristian Marangi		};
18276930175SChristian Marangi
183781cffe8SLorenzo Bianconi		pbus_csr: syscon@1fbe3400 {
184781cffe8SLorenzo Bianconi			compatible = "airoha,en7581-pbus-csr", "syscon";
185781cffe8SLorenzo Bianconi			reg = <0x0 0x1fbe3400 0x0 0xff>;
186781cffe8SLorenzo Bianconi		};
187781cffe8SLorenzo Bianconi
188781cffe8SLorenzo Bianconi		pciephy: phy@1fa5a000 {
189781cffe8SLorenzo Bianconi			compatible = "airoha,en7581-pcie-phy";
190781cffe8SLorenzo Bianconi			reg = <0x0 0x1fa5a000 0x0 0xfff>,
191781cffe8SLorenzo Bianconi			      <0x0 0x1fa5b000 0x0 0xfff>,
192781cffe8SLorenzo Bianconi			      <0x0 0x1fa5c000 0x0 0xfff>,
193781cffe8SLorenzo Bianconi			      <0x0 0x1fc10044 0x0 0x4>,
194781cffe8SLorenzo Bianconi			      <0x0 0x1fc30044 0x0 0x4>,
195781cffe8SLorenzo Bianconi			      <0x0 0x1fc15030 0x0 0x104>;
196781cffe8SLorenzo Bianconi			reg-names = "csr-2l", "pma0", "pma1",
197781cffe8SLorenzo Bianconi				    "p0-xr-dtime", "p1-xr-dtime",
198781cffe8SLorenzo Bianconi				    "rx-aeq";
199781cffe8SLorenzo Bianconi			#phy-cells = <0>;
200781cffe8SLorenzo Bianconi		};
201781cffe8SLorenzo Bianconi
202781cffe8SLorenzo Bianconi		pcie0: pcie@1fc00000 {
203781cffe8SLorenzo Bianconi			compatible = "airoha,en7581-pcie";
204781cffe8SLorenzo Bianconi			device_type = "pci";
205781cffe8SLorenzo Bianconi			linux,pci-domain = <0>;
206781cffe8SLorenzo Bianconi			#address-cells = <3>;
207781cffe8SLorenzo Bianconi			#size-cells = <2>;
208781cffe8SLorenzo Bianconi
209781cffe8SLorenzo Bianconi			reg = <0x0 0x1fc00000 0x0 0x1670>;
210781cffe8SLorenzo Bianconi			reg-names = "pcie-mac";
211781cffe8SLorenzo Bianconi
212781cffe8SLorenzo Bianconi			clocks = <&scuclk EN7523_CLK_PCIE>;
213781cffe8SLorenzo Bianconi			clock-names = "sys-ck";
214781cffe8SLorenzo Bianconi
215781cffe8SLorenzo Bianconi			phys = <&pciephy>;
216781cffe8SLorenzo Bianconi			phy-names = "pcie-phy";
217781cffe8SLorenzo Bianconi
218781cffe8SLorenzo Bianconi			ranges = <0x02000000 0 0x20000000 0x0 0x20000000 0 0x4000000>;
219781cffe8SLorenzo Bianconi
220781cffe8SLorenzo Bianconi			resets = <&scuclk EN7581_PCIE0_RST>,
221781cffe8SLorenzo Bianconi				 <&scuclk EN7581_PCIE1_RST>,
222781cffe8SLorenzo Bianconi				 <&scuclk EN7581_PCIE2_RST>;
223781cffe8SLorenzo Bianconi			reset-names = "phy-lane0", "phy-lane1", "phy-lane2";
224781cffe8SLorenzo Bianconi
225781cffe8SLorenzo Bianconi			mediatek,pbus-csr = <&pbus_csr 0x0 0x4>;
226781cffe8SLorenzo Bianconi
227781cffe8SLorenzo Bianconi			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
228781cffe8SLorenzo Bianconi			bus-range = <0x00 0xff>;
229781cffe8SLorenzo Bianconi			#interrupt-cells = <1>;
230781cffe8SLorenzo Bianconi			interrupt-map-mask = <0 0 0 7>;
231781cffe8SLorenzo Bianconi			interrupt-map = <0 0 0 1 &pcie_intc0 0>,
232781cffe8SLorenzo Bianconi					<0 0 0 2 &pcie_intc0 1>,
233781cffe8SLorenzo Bianconi					<0 0 0 3 &pcie_intc0 2>,
234781cffe8SLorenzo Bianconi					<0 0 0 4 &pcie_intc0 3>;
235781cffe8SLorenzo Bianconi
236781cffe8SLorenzo Bianconi			status = "disabled";
237781cffe8SLorenzo Bianconi
238781cffe8SLorenzo Bianconi			pcie_intc0: interrupt-controller {
239781cffe8SLorenzo Bianconi				interrupt-controller;
240781cffe8SLorenzo Bianconi				#address-cells = <0>;
241781cffe8SLorenzo Bianconi				#interrupt-cells = <1>;
242781cffe8SLorenzo Bianconi			};
243781cffe8SLorenzo Bianconi		};
244781cffe8SLorenzo Bianconi
245781cffe8SLorenzo Bianconi		pcie1: pcie@1fc20000 {
246781cffe8SLorenzo Bianconi			compatible = "airoha,en7581-pcie";
247781cffe8SLorenzo Bianconi			device_type = "pci";
248781cffe8SLorenzo Bianconi			linux,pci-domain = <1>;
249781cffe8SLorenzo Bianconi			#address-cells = <3>;
250781cffe8SLorenzo Bianconi			#size-cells = <2>;
251781cffe8SLorenzo Bianconi
252781cffe8SLorenzo Bianconi			reg = <0x0 0x1fc20000 0x0 0x1670>;
253781cffe8SLorenzo Bianconi			reg-names = "pcie-mac";
254781cffe8SLorenzo Bianconi
255781cffe8SLorenzo Bianconi			clocks = <&scuclk EN7523_CLK_PCIE>;
256781cffe8SLorenzo Bianconi			clock-names = "sys-ck";
257781cffe8SLorenzo Bianconi
258781cffe8SLorenzo Bianconi			phys = <&pciephy>;
259781cffe8SLorenzo Bianconi			phy-names = "pcie-phy";
260781cffe8SLorenzo Bianconi
261781cffe8SLorenzo Bianconi			ranges = <0x02000000 0 0x24000000 0x0 0x24000000 0 0x4000000>;
262781cffe8SLorenzo Bianconi
263781cffe8SLorenzo Bianconi			resets = <&scuclk EN7581_PCIE0_RST>,
264781cffe8SLorenzo Bianconi				 <&scuclk EN7581_PCIE1_RST>,
265781cffe8SLorenzo Bianconi				 <&scuclk EN7581_PCIE2_RST>;
266781cffe8SLorenzo Bianconi			reset-names = "phy-lane0", "phy-lane1", "phy-lane2";
267781cffe8SLorenzo Bianconi
268781cffe8SLorenzo Bianconi			mediatek,pbus-csr = <&pbus_csr 0x8 0xc>;
269781cffe8SLorenzo Bianconi
270781cffe8SLorenzo Bianconi			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
271781cffe8SLorenzo Bianconi			bus-range = <0x00 0xff>;
272781cffe8SLorenzo Bianconi			#interrupt-cells = <1>;
273781cffe8SLorenzo Bianconi			interrupt-map-mask = <0 0 0 7>;
274781cffe8SLorenzo Bianconi			interrupt-map = <0 0 0 1 &pcie_intc1 0>,
275781cffe8SLorenzo Bianconi					<0 0 0 2 &pcie_intc1 1>,
276781cffe8SLorenzo Bianconi					<0 0 0 3 &pcie_intc1 2>,
277781cffe8SLorenzo Bianconi					<0 0 0 4 &pcie_intc1 3>;
278781cffe8SLorenzo Bianconi
279781cffe8SLorenzo Bianconi			status = "disabled";
280781cffe8SLorenzo Bianconi
281781cffe8SLorenzo Bianconi			pcie_intc1: interrupt-controller {
282781cffe8SLorenzo Bianconi				interrupt-controller;
283781cffe8SLorenzo Bianconi				#address-cells = <0>;
284781cffe8SLorenzo Bianconi				#interrupt-cells = <1>;
285781cffe8SLorenzo Bianconi			};
286781cffe8SLorenzo Bianconi		};
287781cffe8SLorenzo Bianconi
288ab52c591SDaniel Danzberger		uart1: serial@1fbf0000 {
289ab52c591SDaniel Danzberger			compatible = "ns16550";
290ab52c591SDaniel Danzberger			reg = <0x0 0x1fbf0000 0x0 0x30>;
291ab52c591SDaniel Danzberger			reg-io-width = <4>;
292ab52c591SDaniel Danzberger			reg-shift = <2>;
293ab52c591SDaniel Danzberger			interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
294ab52c591SDaniel Danzberger			clock-frequency = <1843200>;
295ab52c591SDaniel Danzberger		};
2964fbfe81fSLorenzo Bianconi
2974fbfe81fSLorenzo Bianconi		rng@1faa1000 {
2984fbfe81fSLorenzo Bianconi			compatible = "airoha,en7581-trng";
2994fbfe81fSLorenzo Bianconi			reg = <0x0 0x1faa1000 0x0 0xc04>;
3004fbfe81fSLorenzo Bianconi			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
3014fbfe81fSLorenzo Bianconi		};
3024fbfe81fSLorenzo Bianconi
3034fbfe81fSLorenzo Bianconi		system-controller@1fbf0200 {
3044fbfe81fSLorenzo Bianconi			compatible = "airoha,en7581-gpio-sysctl", "syscon",
3054fbfe81fSLorenzo Bianconi				     "simple-mfd";
3064fbfe81fSLorenzo Bianconi			reg = <0x0 0x1fbf0200 0x0 0xc0>;
3074fbfe81fSLorenzo Bianconi
3084fbfe81fSLorenzo Bianconi			en7581_pinctrl: pinctrl {
3094fbfe81fSLorenzo Bianconi				compatible = "airoha,en7581-pinctrl";
3104fbfe81fSLorenzo Bianconi
3114fbfe81fSLorenzo Bianconi				interrupt-parent = <&gic>;
3124fbfe81fSLorenzo Bianconi				interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
3134fbfe81fSLorenzo Bianconi
3144fbfe81fSLorenzo Bianconi				gpio-controller;
3154fbfe81fSLorenzo Bianconi				#gpio-cells = <2>;
3164fbfe81fSLorenzo Bianconi
3174fbfe81fSLorenzo Bianconi				interrupt-controller;
3184fbfe81fSLorenzo Bianconi				#interrupt-cells = <2>;
3194fbfe81fSLorenzo Bianconi			};
3204fbfe81fSLorenzo Bianconi		};
3214fbfe81fSLorenzo Bianconi
3224fbfe81fSLorenzo Bianconi		i2c0: i2c@1fbf8000 {
3234fbfe81fSLorenzo Bianconi			compatible = "mediatek,mt7621-i2c";
3244fbfe81fSLorenzo Bianconi			reg = <0x0 0x1fbf8000 0x0 0x100>;
3254fbfe81fSLorenzo Bianconi
3264fbfe81fSLorenzo Bianconi			resets = <&scuclk EN7581_I2C2_RST>;
3274fbfe81fSLorenzo Bianconi
3284fbfe81fSLorenzo Bianconi			clocks = <&clk20m>;
3294fbfe81fSLorenzo Bianconi			clock-frequency = <100000>;
3304fbfe81fSLorenzo Bianconi			#address-cells = <1>;
3314fbfe81fSLorenzo Bianconi			#size-cells = <0>;
3324fbfe81fSLorenzo Bianconi
3334fbfe81fSLorenzo Bianconi			status = "disabled";
3344fbfe81fSLorenzo Bianconi		};
3354fbfe81fSLorenzo Bianconi
3364fbfe81fSLorenzo Bianconi		i2c1: i2c@1fbf8100 {
3374fbfe81fSLorenzo Bianconi			compatible = "mediatek,mt7621-i2c";
3384fbfe81fSLorenzo Bianconi			reg = <0x0 0x1fbf8100 0x0 0x100>;
3394fbfe81fSLorenzo Bianconi
3404fbfe81fSLorenzo Bianconi			resets = <&scuclk EN7581_I2C_MASTER_RST>;
3414fbfe81fSLorenzo Bianconi
3424fbfe81fSLorenzo Bianconi			clocks = <&clk20m>;
3434fbfe81fSLorenzo Bianconi			clock-frequency = <100000>;
3444fbfe81fSLorenzo Bianconi			#address-cells = <1>;
3454fbfe81fSLorenzo Bianconi			#size-cells = <0>;
3464fbfe81fSLorenzo Bianconi
3474fbfe81fSLorenzo Bianconi			status = "disabled";
3484fbfe81fSLorenzo Bianconi		};
349*d172b923SLorenzo Bianconi
350*d172b923SLorenzo Bianconi		eth: ethernet@1fb50000 {
351*d172b923SLorenzo Bianconi			compatible = "airoha,en7581-eth";
352*d172b923SLorenzo Bianconi			reg = <0 0x1fb50000 0 0x2600>,
353*d172b923SLorenzo Bianconi			      <0 0x1fb54000 0 0x2000>,
354*d172b923SLorenzo Bianconi			      <0 0x1fb56000 0 0x2000>;
355*d172b923SLorenzo Bianconi			reg-names = "fe", "qdma0", "qdma1";
356*d172b923SLorenzo Bianconi
357*d172b923SLorenzo Bianconi			resets = <&scuclk EN7581_FE_RST>,
358*d172b923SLorenzo Bianconi				 <&scuclk EN7581_FE_PDMA_RST>,
359*d172b923SLorenzo Bianconi				 <&scuclk EN7581_FE_QDMA_RST>,
360*d172b923SLorenzo Bianconi				 <&scuclk EN7581_XSI_MAC_RST>,
361*d172b923SLorenzo Bianconi				 <&scuclk EN7581_DUAL_HSI0_MAC_RST>,
362*d172b923SLorenzo Bianconi				 <&scuclk EN7581_DUAL_HSI1_MAC_RST>,
363*d172b923SLorenzo Bianconi				 <&scuclk EN7581_HSI_MAC_RST>,
364*d172b923SLorenzo Bianconi				 <&scuclk EN7581_XFP_MAC_RST>;
365*d172b923SLorenzo Bianconi			reset-names = "fe", "pdma", "qdma",
366*d172b923SLorenzo Bianconi				      "xsi-mac", "hsi0-mac", "hsi1-mac",
367*d172b923SLorenzo Bianconi				      "hsi-mac", "xfp-mac";
368*d172b923SLorenzo Bianconi
369*d172b923SLorenzo Bianconi			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
370*d172b923SLorenzo Bianconi				     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
371*d172b923SLorenzo Bianconi				     <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
372*d172b923SLorenzo Bianconi				     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
373*d172b923SLorenzo Bianconi				     <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
374*d172b923SLorenzo Bianconi				     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
375*d172b923SLorenzo Bianconi				     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
376*d172b923SLorenzo Bianconi				     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
377*d172b923SLorenzo Bianconi				     <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
378*d172b923SLorenzo Bianconi				     <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
379*d172b923SLorenzo Bianconi
380*d172b923SLorenzo Bianconi			status = "disabled";
381*d172b923SLorenzo Bianconi
382*d172b923SLorenzo Bianconi			#address-cells = <1>;
383*d172b923SLorenzo Bianconi			#size-cells = <0>;
384*d172b923SLorenzo Bianconi
385*d172b923SLorenzo Bianconi			gdm1: ethernet@1 {
386*d172b923SLorenzo Bianconi				compatible = "airoha,eth-mac";
387*d172b923SLorenzo Bianconi				reg = <1>;
388*d172b923SLorenzo Bianconi				phy-mode = "internal";
389*d172b923SLorenzo Bianconi				status = "disabled";
390*d172b923SLorenzo Bianconi
391*d172b923SLorenzo Bianconi				fixed-link {
392*d172b923SLorenzo Bianconi					speed = <10000>;
393*d172b923SLorenzo Bianconi					full-duplex;
394*d172b923SLorenzo Bianconi					pause;
395*d172b923SLorenzo Bianconi				};
396*d172b923SLorenzo Bianconi			};
397*d172b923SLorenzo Bianconi		};
398ab52c591SDaniel Danzberger	};
399ab52c591SDaniel Danzberger};
400