GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm / boot / dts / bcm47094-asus-rt-ac88u.dts
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                 power {
37                         label = "white:power";
38                         gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
39                         linux,default-trigger = "default-on";
40                 };
41
42                 wan-red {
43                         label = "red:wan";
44                         gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
45                 };
46
47                 lan {
48                         label = "white:lan";
49                         gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
50                 };
51
52                 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                 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                 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                         reg = <0>;
185                         label = "lan4";
186                 };
187
188                 port@1 {
189                         reg = <1>;
190                         label = "lan3";
191                 };
192
193                 port@2 {
194                         reg = <2>;
195                         label = "lan2";
196                 };
197
198                 port@3 {
199                         reg = <3>;
200                         label = "lan1";
201                 };
202
203                 port@4 {
204                         reg = <4>;
205                         label = "wan";
206                 };
207
208                 sw0_p5: port@5 {
209                         reg = <5>;
210                         label = "extsw";
211                         phy-mode = "rgmii";
212
213                         fixed-link {
214                                 speed = <1000>;
215                                 full-duplex;
216                                 pause;
217                         };
218                 };
219
220                 port@7 {
221                         reg = <7>;
222                         ethernet = <&gmac1>;
223                         label = "cpu";
224
225                         fixed-link {
226                                 speed = <1000>;
227                                 full-duplex;
228                         };
229                 };
230
231                 port@8 {
232                         reg = <8>;
233                         ethernet = <&gmac2>;
234                         label = "cpu";
235
236                         fixed-link {
237                                 speed = <1000>;
238                                 full-duplex;
239                         };
240                 };
241         };
242 };
243
244 &gmac0 {
245         status = "disabled";
246 };
247
248 &gmac1 {
249         nvmem-cells = <&et1macaddr>;
250         nvmem-cell-names = "mac-address";
251 };
252
253 &usb2 {
254         vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
255 };
256
257 &usb3_phy {
258         status = "okay";
259 };
260
261 &nandcs {
262         partitions {
263                 compatible = "fixed-partitions";
264                 #address-cells = <1>;
265                 #size-cells = <1>;
266
267                 partition@0 {
268                         label = "boot";
269                         reg = <0x00000000 0x00080000>;
270                         read-only;
271                 };
272
273                 partition@80000 {
274                         label = "nvram";
275                         reg = <0x00080000 0x00180000>;
276                 };
277
278                 partition@200000 {
279                         label = "firmware";
280                         reg = <0x00200000 0x07e00000>;
281                         compatible = "brcm,trx";
282                 };
283         };
284 };