GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm / boot / dts / bcm4709-netgear-r8000.dts
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                 power-white {
43                         label = "bcm53xx:white:power";
44                         gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
45                         linux,default-trigger = "default-on";
46                 };
47
48                 power-amber {
49                         label = "bcm53xx:amber:power";
50                         gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
51                 };
52
53                 wan-white {
54                         label = "bcm53xx:white:wan";
55                         gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
56                         linux,default-trigger = "default-on";
57                 };
58
59                 wan-amber {
60                         label = "bcm53xx:amber:wan";
61                         gpios = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
62                 };
63
64                 5ghz-1 {
65                         label = "bcm53xx:white:5ghz-1";
66                         gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
67                 };
68
69                 2ghz {
70                         label = "bcm53xx:white:2ghz";
71                         gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
72                 };
73
74                 wireless {
75                         label = "bcm53xx:white:wireless";
76                         gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
77                 };
78
79                 wps {
80                         label = "bcm53xx:white:wps";
81                         gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
82                 };
83
84                 5ghz-2 {
85                         label = "bcm53xx:white:5ghz-2";
86                         gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
87                 };
88
89                 usb3 {
90                         label = "bcm53xx:white:usb3";
91                         gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
92                 };
93
94                 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                         reg = <0x0000 0 0 0 0>;
141                         ieee80211-freq-limit = <5735000 5835000>;
142                 };
143         };
144 };
145
146 &pcie1 {
147         #address-cells = <3>;
148         #size-cells = <2>;
149
150         bridge@1,0,0 {
151                 reg = <0x0000 0 0 0 0>;
152
153                 #address-cells = <3>;
154                 #size-cells = <2>;
155
156                 bridge@1,1,0 {
157                         reg = <0x0000 0 0 0 0>;
158
159                         #address-cells = <3>;
160                         #size-cells = <2>;
161
162                         bridge@1,2,2 {
163                                 reg = <0x1000 0 0 0 0>;
164
165                                 #address-cells = <3>;
166                                 #size-cells = <2>;
167
168                                 wifi@1,4,0 {
169                                         reg = <0x0000 0 0 0 0>;
170                                         ieee80211-freq-limit = <5170000 5730000>;
171                                 };
172                         };
173                 };
174         };
175 };
176
177 &usb2 {
178         vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
179 };
180
181 &usb3 {
182         vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
183 };
184
185 &usb3_phy {
186         status = "okay";
187 };
188
189 &srab {
190         status = "okay";
191
192         ports {
193                 port@0 {
194                         reg = <0>;
195                         label = "lan1";
196                 };
197
198                 port@1 {
199                         reg = <1>;
200                         label = "lan2";
201                 };
202
203                 port@2 {
204                         reg = <2>;
205                         label = "lan3";
206                 };
207
208                 port@3 {
209                         reg = <3>;
210                         label = "lan4";
211                 };
212
213                 port@4 {
214                         reg = <4>;
215                         label = "wan";
216                 };
217
218                 port@8 {
219                         reg = <8>;
220                         label = "cpu";
221                         ethernet = <&gmac2>;
222
223                         fixed-link {
224                                 speed = <1000>;
225                                 full-duplex;
226                         };
227                 };
228         };
229 };