1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2/*
3 * Copyright (C) 2021-2022 Arınç ÜNAL <arinc.unal@arinc9.com>
4 */
5
6/dts-v1/;
7
8#include "bcm47094.dtsi"
9#include "bcm5301x-nand-cs0-bch8.dtsi"
10
11/ {
12	compatible = "asus,rt-ac88u", "brcm,bcm47094", "brcm,bcm4708";
13	model = "Asus RT-AC88U";
14
15	chosen {
16		bootargs = "earlycon";
17	};
18
19	memory@0 {
20		device_type = "memory";
21		reg = <0x00000000 0x08000000>,
22		      <0x88000000 0x18000000>;
23	};
24
25	nvram@1c080000 {
26		compatible = "brcm,nvram";
27		reg = <0x1c080000 0x00180000>;
28
29		et1macaddr: et1macaddr {
30		};
31	};
32
33	leds {
34		compatible = "gpio-leds";
35
36		led-power {
37			label = "white:power";
38			gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
39			linux,default-trigger = "default-on";
40		};
41
42		led-wan-red {
43			label = "red:wan";
44			gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
45		};
46
47		led-lan {
48			label = "white:lan";
49			gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
50		};
51
52		led-usb2 {
53			label = "white:usb2";
54			gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
55			trigger-sources = <&ehci_port2>;
56			linux,default-trigger = "usbport";
57		};
58
59		led-usb3 {
60			label = "white:usb3";
61			gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
62			trigger-sources = <&ehci_port1>, <&xhci_port1>;
63			linux,default-trigger = "usbport";
64		};
65
66		led-wps {
67			label = "white:wps";
68			gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
69		};
70	};
71
72	gpio-keys {
73		compatible = "gpio-keys";
74
75		button-wps {
76			label = "WPS";
77			linux,code = <KEY_WPS_BUTTON>;
78			gpios = <&chipcommon 20 GPIO_ACTIVE_LOW>;
79		};
80
81		button-reset {
82			label = "Reset";
83			linux,code = <KEY_RESTART>;
84			gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
85		};
86
87		button-wifi {
88			label = "Wi-Fi";
89			linux,code = <KEY_RFKILL>;
90			gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
91		};
92
93		button-led {
94			label = "Backlight";
95			linux,code = <KEY_BRIGHTNESS_ZERO>;
96			gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
97		};
98	};
99
100	switch {
101		compatible = "realtek,rtl8365mb";
102		/* 7 = MDIO (has input reads), 6 = MDC (clock, output only) */
103		mdc-gpios = <&chipcommon 6 GPIO_ACTIVE_HIGH>;
104		mdio-gpios = <&chipcommon 7 GPIO_ACTIVE_HIGH>;
105		reset-gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
106		realtek,disable-leds;
107		dsa,member = <1 0>;
108
109		ports {
110			#address-cells = <1>;
111			#size-cells = <0>;
112
113			port@0 {
114				reg = <0>;
115				label = "lan5";
116				phy-handle = <&ethphy0>;
117			};
118
119			port@1 {
120				reg = <1>;
121				label = "lan6";
122				phy-handle = <&ethphy1>;
123			};
124
125			port@2 {
126				reg = <2>;
127				label = "lan7";
128				phy-handle = <&ethphy2>;
129			};
130
131			port@3 {
132				reg = <3>;
133				label = "lan8";
134				phy-handle = <&ethphy3>;
135			};
136
137			port@6 {
138				reg = <6>;
139				label = "cpu";
140				ethernet = <&sw0_p5>;
141				phy-mode = "rgmii";
142				tx-internal-delay-ps = <2000>;
143				rx-internal-delay-ps = <2100>;
144
145				fixed-link {
146					speed = <1000>;
147					full-duplex;
148					pause;
149				};
150			};
151		};
152
153		mdio {
154			compatible = "realtek,smi-mdio";
155			#address-cells = <1>;
156			#size-cells = <0>;
157
158			ethphy0: ethernet-phy@0 {
159				reg = <0>;
160			};
161
162			ethphy1: ethernet-phy@1 {
163				reg = <1>;
164			};
165
166			ethphy2: ethernet-phy@2 {
167				reg = <2>;
168			};
169
170			ethphy3: ethernet-phy@3 {
171				reg = <3>;
172			};
173		};
174	};
175};
176
177&srab {
178	compatible = "brcm,bcm53012-srab", "brcm,bcm5301x-srab";
179	status = "okay";
180	dsa,member = <0 0>;
181
182	ports {
183		port@0 {
184			label = "lan4";
185		};
186
187		port@1 {
188			label = "lan3";
189		};
190
191		port@2 {
192			label = "lan2";
193		};
194
195		port@3 {
196			label = "lan1";
197		};
198
199		port@4 {
200			label = "wan";
201		};
202
203		sw0_p5: port@5 {
204			/delete-property/ethernet;
205
206			label = "extsw";
207			phy-mode = "rgmii";
208
209			fixed-link {
210				speed = <1000>;
211				full-duplex;
212				pause;
213			};
214		};
215
216		port@7 {
217			label = "cpu";
218
219			fixed-link {
220				speed = <1000>;
221				full-duplex;
222			};
223		};
224
225		port@8 {
226			label = "cpu";
227		};
228	};
229};
230
231&gmac0 {
232	status = "disabled";
233};
234
235&gmac1 {
236	nvmem-cells = <&et1macaddr>;
237	nvmem-cell-names = "mac-address";
238};
239
240&usb2 {
241	vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
242};
243
244&usb3_phy {
245	status = "okay";
246};
247
248&nandcs {
249	partitions {
250		compatible = "fixed-partitions";
251		#address-cells = <1>;
252		#size-cells = <1>;
253
254		partition@0 {
255			label = "boot";
256			reg = <0x00000000 0x00080000>;
257			read-only;
258		};
259
260		partition@80000 {
261			label = "nvram";
262			reg = <0x00080000 0x00180000>;
263		};
264
265		partition@200000 {
266			label = "firmware";
267			reg = <0x00200000 0x07e00000>;
268			compatible = "brcm,trx";
269		};
270	};
271};
272