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