1/*
2 * Broadcom BCM470X / BCM5301X ARM platform code.
3 * DTS for Netgear R8000
4 *
5 * Copyright (C) 2015 Rafał Miłecki <zajec5@gmail.com>
6 *
7 * Permission to use, copy, modify, and/or distribute this software for any
8 * purpose with or without fee is hereby granted, provided that the above
9 * copyright notice and this permission notice appear in all copies.
10 *
11 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
12 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
13 * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
14 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
16 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17 * PERFORMANCE OF THIS SOFTWARE.
18 */
19
20/dts-v1/;
21
22#include "bcm4709.dtsi"
23#include "bcm5301x-nand-cs0-bch8.dtsi"
24
25/ {
26	compatible = "netgear,r8000", "brcm,bcm4709", "brcm,bcm4708";
27	model = "Netgear R8000 (BCM4709)";
28
29	chosen {
30		bootargs = "console=ttyS0,115200";
31	};
32
33	memory@0 {
34		device_type = "memory";
35		reg = <0x00000000 0x08000000>,
36		      <0x88000000 0x08000000>;
37	};
38
39	leds {
40		compatible = "gpio-leds";
41
42		led-power-white {
43			label = "bcm53xx:white:power";
44			gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
45			linux,default-trigger = "default-on";
46		};
47
48		led-power-amber {
49			label = "bcm53xx:amber:power";
50			gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
51		};
52
53		led-wan-white {
54			label = "bcm53xx:white:wan";
55			gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
56			linux,default-trigger = "default-on";
57		};
58
59		led-wan-amber {
60			label = "bcm53xx:amber:wan";
61			gpios = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
62		};
63
64		led-5ghz-1 {
65			label = "bcm53xx:white:5ghz-1";
66			gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
67		};
68
69		led-2ghz {
70			label = "bcm53xx:white:2ghz";
71			gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
72		};
73
74		led-wireless {
75			label = "bcm53xx:white:wireless";
76			gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
77		};
78
79		led-wps {
80			label = "bcm53xx:white:wps";
81			gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
82		};
83
84		led-5ghz-2 {
85			label = "bcm53xx:white:5ghz-2";
86			gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
87		};
88
89		led-usb3 {
90			label = "bcm53xx:white:usb3";
91			gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
92		};
93
94		led-usb2 {
95			label = "bcm53xx:white:usb2";
96			gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
97		};
98	};
99
100	gpio-keys {
101		compatible = "gpio-keys";
102
103		button-rfkill {
104			label = "WiFi";
105			linux,code = <KEY_RFKILL>;
106			gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
107		};
108
109		button-wps {
110			label = "WPS";
111			linux,code = <KEY_WPS_BUTTON>;
112			gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
113		};
114
115		button-restart {
116			label = "Reset";
117			linux,code = <KEY_RESTART>;
118			gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
119		};
120
121		button-brightness {
122			label = "Backlight";
123			linux,code = <KEY_BRIGHTNESS_ZERO>;
124			gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
125		};
126	};
127};
128
129&pcie0 {
130	#address-cells = <3>;
131	#size-cells = <2>;
132
133	bridge@0,0,0 {
134		reg = <0x0000 0 0 0 0>;
135
136		#address-cells = <3>;
137		#size-cells = <2>;
138
139		wifi@0,1,0 {
140			compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
141			reg = <0x0000 0 0 0 0>;
142			ieee80211-freq-limit = <5735000 5835000>;
143			brcm,ccode-map = "JP-JP-78", "US-Q2-86";
144		};
145	};
146};
147
148&pcie1 {
149	#address-cells = <3>;
150	#size-cells = <2>;
151
152	bridge@1,0,0 {
153		reg = <0x0000 0 0 0 0>;
154
155		#address-cells = <3>;
156		#size-cells = <2>;
157
158		bridge@1,1,0 {
159			reg = <0x0000 0 0 0 0>;
160
161			#address-cells = <3>;
162			#size-cells = <2>;
163
164			bridge@1,0 {
165				reg = <0x800 0 0 0 0>;
166
167				#address-cells = <3>;
168				#size-cells = <2>;
169
170				wifi@0,0 {
171					compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
172					reg = <0x0000 0 0 0 0>;
173					brcm,ccode-map = "JP-JP-78", "US-Q2-86";
174				};
175			};
176
177			bridge@1,2,2 {
178				reg = <0x1000 0 0 0 0>;
179
180				#address-cells = <3>;
181				#size-cells = <2>;
182
183				wifi@1,4,0 {
184					compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
185					reg = <0x0000 0 0 0 0>;
186					ieee80211-freq-limit = <5170000 5730000>;
187					brcm,ccode-map = "JP-JP-78", "US-Q2-86";
188				};
189			};
190		};
191	};
192};
193
194&usb2 {
195	vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
196};
197
198&usb3 {
199	vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
200};
201
202&usb3_phy {
203	status = "okay";
204};
205
206&srab {
207	status = "okay";
208
209	ports {
210		port@0 {
211			label = "lan1";
212		};
213
214		port@1 {
215			label = "lan2";
216		};
217
218		port@2 {
219			label = "lan3";
220		};
221
222		port@3 {
223			label = "lan4";
224		};
225
226		port@4 {
227			label = "wan";
228		};
229
230		port@5 {
231			status = "disabled";
232		};
233
234		port@7 {
235			status = "disabled";
236		};
237
238		port@8 {
239			label = "cpu";
240		};
241	};
242};
243