GNU Linux-libre 4.19.264-gnu1
[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 {
34                 reg = <0x00000000 0x08000000
35                        0x88000000 0x08000000>;
36         };
37
38         leds {
39                 compatible = "gpio-leds";
40
41                 power-white {
42                         label = "bcm53xx:white:power";
43                         gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
44                         linux,default-trigger = "default-on";
45                 };
46
47                 power-amber {
48                         label = "bcm53xx:amber:power";
49                         gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
50                 };
51
52                 wan-white {
53                         label = "bcm53xx:white:wan";
54                         gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
55                         linux,default-trigger = "default-on";
56                 };
57
58                 wan-amber {
59                         label = "bcm53xx:amber:wan";
60                         gpios = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
61                 };
62
63                 5ghz-1 {
64                         label = "bcm53xx:white:5ghz-1";
65                         gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
66                 };
67
68                 2ghz {
69                         label = "bcm53xx:white:2ghz";
70                         gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
71                 };
72
73                 wireless {
74                         label = "bcm53xx:white:wireless";
75                         gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
76                 };
77
78                 wps {
79                         label = "bcm53xx:white:wps";
80                         gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
81                 };
82
83                 5ghz-2 {
84                         label = "bcm53xx:white:5ghz-2";
85                         gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
86                 };
87
88                 usb3 {
89                         label = "bcm53xx:white:usb3";
90                         gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
91                 };
92
93                 usb2 {
94                         label = "bcm53xx:white:usb2";
95                         gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
96                 };
97         };
98
99         gpio-keys {
100                 compatible = "gpio-keys";
101                 #address-cells = <1>;
102                 #size-cells = <0>;
103
104                 rfkill {
105                         label = "WiFi";
106                         linux,code = <KEY_RFKILL>;
107                         gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
108                 };
109
110                 wps {
111                         label = "WPS";
112                         linux,code = <KEY_WPS_BUTTON>;
113                         gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
114                 };
115
116                 restart {
117                         label = "Reset";
118                         linux,code = <KEY_RESTART>;
119                         gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
120                 };
121
122                 brightness {
123                         label = "Backlight";
124                         linux,code = <KEY_BRIGHTNESS_ZERO>;
125                         gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
126                 };
127         };
128 };
129
130 &pcie0 {
131         #address-cells = <3>;
132         #size-cells = <2>;
133
134         bridge@0,0,0 {
135                 reg = <0x0000 0 0 0 0>;
136
137                 #address-cells = <3>;
138                 #size-cells = <2>;
139
140                 wifi@0,1,0 {
141                         reg = <0x0000 0 0 0 0>;
142                         ieee80211-freq-limit = <5735000 5835000>;
143                 };
144         };
145 };
146
147 &pcie1 {
148         #address-cells = <3>;
149         #size-cells = <2>;
150
151         bridge@1,0,0 {
152                 reg = <0x0000 0 0 0 0>;
153
154                 #address-cells = <3>;
155                 #size-cells = <2>;
156
157                 bridge@1,1,0 {
158                         reg = <0x0000 0 0 0 0>;
159
160                         #address-cells = <3>;
161                         #size-cells = <2>;
162
163                         bridge@1,2,2 {
164                                 reg = <0x1000 0 0 0 0>;
165
166                                 #address-cells = <3>;
167                                 #size-cells = <2>;
168
169                                 wifi@1,4,0 {
170                                         reg = <0x0000 0 0 0 0>;
171                                         ieee80211-freq-limit = <5170000 5730000>;
172                                 };
173                         };
174                 };
175         };
176 };
177
178 &usb2 {
179         vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
180 };
181
182 &usb3 {
183         vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
184 };
185
186 &usb3_phy {
187         status = "okay";
188 };