1724ba675SRob Herring/*
2724ba675SRob Herring * Broadcom BCM470X / BCM5301X ARM platform code.
3724ba675SRob Herring * DTS for Netgear R8000
4724ba675SRob Herring *
5724ba675SRob Herring * Copyright (C) 2015 Rafał Miłecki <zajec5@gmail.com>
6724ba675SRob Herring *
7724ba675SRob Herring * Permission to use, copy, modify, and/or distribute this software for any
8724ba675SRob Herring * purpose with or without fee is hereby granted, provided that the above
9724ba675SRob Herring * copyright notice and this permission notice appear in all copies.
10724ba675SRob Herring *
11724ba675SRob Herring * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
12724ba675SRob Herring * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
13724ba675SRob Herring * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
14724ba675SRob Herring * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15724ba675SRob Herring * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
16724ba675SRob Herring * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17724ba675SRob Herring * PERFORMANCE OF THIS SOFTWARE.
18724ba675SRob Herring */
19724ba675SRob Herring
20724ba675SRob Herring/dts-v1/;
21724ba675SRob Herring
22724ba675SRob Herring#include "bcm4709.dtsi"
23724ba675SRob Herring#include "bcm5301x-nand-cs0-bch8.dtsi"
24724ba675SRob Herring
25724ba675SRob Herring/ {
26724ba675SRob Herring	compatible = "netgear,r8000", "brcm,bcm4709", "brcm,bcm4708";
27724ba675SRob Herring	model = "Netgear R8000 (BCM4709)";
28724ba675SRob Herring
29724ba675SRob Herring	chosen {
30724ba675SRob Herring		bootargs = "console=ttyS0,115200";
31724ba675SRob Herring	};
32724ba675SRob Herring
33724ba675SRob Herring	memory@0 {
34724ba675SRob Herring		device_type = "memory";
35724ba675SRob Herring		reg = <0x00000000 0x08000000>,
36724ba675SRob Herring		      <0x88000000 0x08000000>;
37724ba675SRob Herring	};
38724ba675SRob Herring
39724ba675SRob Herring	leds {
40724ba675SRob Herring		compatible = "gpio-leds";
41724ba675SRob Herring
42724ba675SRob Herring		led-power-white {
43724ba675SRob Herring			label = "bcm53xx:white:power";
44724ba675SRob Herring			gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
45724ba675SRob Herring			linux,default-trigger = "default-on";
46724ba675SRob Herring		};
47724ba675SRob Herring
48724ba675SRob Herring		led-power-amber {
49724ba675SRob Herring			label = "bcm53xx:amber:power";
50724ba675SRob Herring			gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
51724ba675SRob Herring		};
52724ba675SRob Herring
53724ba675SRob Herring		led-wan-white {
54724ba675SRob Herring			label = "bcm53xx:white:wan";
55724ba675SRob Herring			gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
56724ba675SRob Herring			linux,default-trigger = "default-on";
57724ba675SRob Herring		};
58724ba675SRob Herring
59724ba675SRob Herring		led-wan-amber {
60724ba675SRob Herring			label = "bcm53xx:amber:wan";
61724ba675SRob Herring			gpios = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
62724ba675SRob Herring		};
63724ba675SRob Herring
64724ba675SRob Herring		led-5ghz-1 {
65724ba675SRob Herring			label = "bcm53xx:white:5ghz-1";
66724ba675SRob Herring			gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
67724ba675SRob Herring		};
68724ba675SRob Herring
69724ba675SRob Herring		led-2ghz {
70724ba675SRob Herring			label = "bcm53xx:white:2ghz";
71724ba675SRob Herring			gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
72724ba675SRob Herring		};
73724ba675SRob Herring
74724ba675SRob Herring		led-wireless {
75724ba675SRob Herring			label = "bcm53xx:white:wireless";
76724ba675SRob Herring			gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
77724ba675SRob Herring		};
78724ba675SRob Herring
79724ba675SRob Herring		led-wps {
80724ba675SRob Herring			label = "bcm53xx:white:wps";
81724ba675SRob Herring			gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
82724ba675SRob Herring		};
83724ba675SRob Herring
84724ba675SRob Herring		led-5ghz-2 {
85724ba675SRob Herring			label = "bcm53xx:white:5ghz-2";
86724ba675SRob Herring			gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
87724ba675SRob Herring		};
88724ba675SRob Herring
89724ba675SRob Herring		led-usb3 {
90724ba675SRob Herring			label = "bcm53xx:white:usb3";
91724ba675SRob Herring			gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
92724ba675SRob Herring		};
93724ba675SRob Herring
94724ba675SRob Herring		led-usb2 {
95724ba675SRob Herring			label = "bcm53xx:white:usb2";
96724ba675SRob Herring			gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
97724ba675SRob Herring		};
98724ba675SRob Herring	};
99724ba675SRob Herring
100724ba675SRob Herring	gpio-keys {
101724ba675SRob Herring		compatible = "gpio-keys";
102724ba675SRob Herring
103724ba675SRob Herring		button-rfkill {
104724ba675SRob Herring			label = "WiFi";
105724ba675SRob Herring			linux,code = <KEY_RFKILL>;
106724ba675SRob Herring			gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
107724ba675SRob Herring		};
108724ba675SRob Herring
109724ba675SRob Herring		button-wps {
110724ba675SRob Herring			label = "WPS";
111724ba675SRob Herring			linux,code = <KEY_WPS_BUTTON>;
112724ba675SRob Herring			gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
113724ba675SRob Herring		};
114724ba675SRob Herring
115724ba675SRob Herring		button-restart {
116724ba675SRob Herring			label = "Reset";
117724ba675SRob Herring			linux,code = <KEY_RESTART>;
118724ba675SRob Herring			gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
119724ba675SRob Herring		};
120724ba675SRob Herring
121724ba675SRob Herring		button-brightness {
122724ba675SRob Herring			label = "Backlight";
123724ba675SRob Herring			linux,code = <KEY_BRIGHTNESS_ZERO>;
124724ba675SRob Herring			gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
125724ba675SRob Herring		};
126724ba675SRob Herring	};
127724ba675SRob Herring};
128724ba675SRob Herring
129724ba675SRob Herring&pcie0 {
130724ba675SRob Herring	#address-cells = <3>;
131724ba675SRob Herring	#size-cells = <2>;
132724ba675SRob Herring
133724ba675SRob Herring	bridge@0,0,0 {
134724ba675SRob Herring		reg = <0x0000 0 0 0 0>;
135724ba675SRob Herring
136724ba675SRob Herring		#address-cells = <3>;
137724ba675SRob Herring		#size-cells = <2>;
138724ba675SRob Herring
139724ba675SRob Herring		wifi@0,1,0 {
140724ba675SRob Herring			compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
141724ba675SRob Herring			reg = <0x0000 0 0 0 0>;
142724ba675SRob Herring			ieee80211-freq-limit = <5735000 5835000>;
143724ba675SRob Herring			brcm,ccode-map = "JP-JP-78", "US-Q2-86";
144724ba675SRob Herring		};
145724ba675SRob Herring	};
146724ba675SRob Herring};
147724ba675SRob Herring
148724ba675SRob Herring&pcie1 {
149724ba675SRob Herring	#address-cells = <3>;
150724ba675SRob Herring	#size-cells = <2>;
151724ba675SRob Herring
152724ba675SRob Herring	bridge@1,0,0 {
153724ba675SRob Herring		reg = <0x0000 0 0 0 0>;
154724ba675SRob Herring
155724ba675SRob Herring		#address-cells = <3>;
156724ba675SRob Herring		#size-cells = <2>;
157724ba675SRob Herring
158724ba675SRob Herring		bridge@1,1,0 {
159724ba675SRob Herring			reg = <0x0000 0 0 0 0>;
160724ba675SRob Herring
161724ba675SRob Herring			#address-cells = <3>;
162724ba675SRob Herring			#size-cells = <2>;
163724ba675SRob Herring
164724ba675SRob Herring			bridge@1,0 {
165724ba675SRob Herring				reg = <0x800 0 0 0 0>;
166724ba675SRob Herring
167724ba675SRob Herring				#address-cells = <3>;
168724ba675SRob Herring				#size-cells = <2>;
169724ba675SRob Herring
170724ba675SRob Herring				wifi@0,0 {
171724ba675SRob Herring					compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
172724ba675SRob Herring					reg = <0x0000 0 0 0 0>;
173724ba675SRob Herring					brcm,ccode-map = "JP-JP-78", "US-Q2-86";
174724ba675SRob Herring				};
175724ba675SRob Herring			};
176724ba675SRob Herring
177724ba675SRob Herring			bridge@1,2,2 {
178724ba675SRob Herring				reg = <0x1000 0 0 0 0>;
179724ba675SRob Herring
180724ba675SRob Herring				#address-cells = <3>;
181724ba675SRob Herring				#size-cells = <2>;
182724ba675SRob Herring
183724ba675SRob Herring				wifi@1,4,0 {
184724ba675SRob Herring					compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
185724ba675SRob Herring					reg = <0x0000 0 0 0 0>;
186724ba675SRob Herring					ieee80211-freq-limit = <5170000 5730000>;
187724ba675SRob Herring					brcm,ccode-map = "JP-JP-78", "US-Q2-86";
188724ba675SRob Herring				};
189724ba675SRob Herring			};
190724ba675SRob Herring		};
191724ba675SRob Herring	};
192724ba675SRob Herring};
193724ba675SRob Herring
194724ba675SRob Herring&usb2 {
195724ba675SRob Herring	vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
196724ba675SRob Herring};
197724ba675SRob Herring
198724ba675SRob Herring&usb3 {
199724ba675SRob Herring	vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
200724ba675SRob Herring};
201724ba675SRob Herring
202724ba675SRob Herring&usb3_phy {
203724ba675SRob Herring	status = "okay";
204724ba675SRob Herring};
205724ba675SRob Herring
206724ba675SRob Herring&srab {
207724ba675SRob Herring	status = "okay";
208724ba675SRob Herring
209724ba675SRob Herring	ports {
210724ba675SRob Herring		port@0 {
211724ba675SRob Herring			label = "lan1";
212724ba675SRob Herring		};
213724ba675SRob Herring
214724ba675SRob Herring		port@1 {
215724ba675SRob Herring			label = "lan2";
216724ba675SRob Herring		};
217724ba675SRob Herring
218724ba675SRob Herring		port@2 {
219724ba675SRob Herring			label = "lan3";
220724ba675SRob Herring		};
221724ba675SRob Herring
222724ba675SRob Herring		port@3 {
223724ba675SRob Herring			label = "lan4";
224724ba675SRob Herring		};
225724ba675SRob Herring
226724ba675SRob Herring		port@4 {
227724ba675SRob Herring			label = "wan";
228724ba675SRob Herring		};
229724ba675SRob Herring
230*fca21e13SRafał Miłecki		port@5 {
231*fca21e13SRafał Miłecki			status = "disabled";
232*fca21e13SRafał Miłecki		};
233*fca21e13SRafał Miłecki
234*fca21e13SRafał Miłecki		port@7 {
235*fca21e13SRafał Miłecki			status = "disabled";
236*fca21e13SRafał Miłecki		};
237*fca21e13SRafał Miłecki
238724ba675SRob Herring		port@8 {
239724ba675SRob Herring			label = "cpu";
240724ba675SRob Herring		};
241724ba675SRob Herring	};
242724ba675SRob Herring};
243