94b7ed6277e48a0674c2ef4bc9254231e9dc3982
[openwrt/staging/chunkeey.git] / target / linux / ipq806x / files / arch / arm / boot / dts / qcom-ipq8064-r7500.dts
1 #include "qcom-ipq8064-v1.0.dtsi"
2
3 #include <dt-bindings/input/input.h>
4 #include <dt-bindings/soc/qcom,tcsr.h>
5
6 / {
7 model = "Netgear Nighthawk X4 R7500";
8 compatible = "netgear,r7500", "qcom,ipq8064";
9
10 memory@0 {
11 reg = <0x42000000 0xe000000>;
12 device_type = "memory";
13 };
14
15 reserved-memory {
16 #address-cells = <1>;
17 #size-cells = <1>;
18 ranges;
19 rsvd@41200000 {
20 reg = <0x41200000 0x300000>;
21 no-map;
22 };
23 };
24
25 aliases {
26 mdio-gpio0 = &mdio0;
27
28 led-boot = &power_white;
29 led-failsafe = &power_amber;
30 led-running = &power_white;
31 led-upgrade = &power_amber;
32 };
33
34 chosen {
35 bootargs = "rootfstype=squashfs noinitrd";
36 };
37
38 keys {
39 compatible = "gpio-keys";
40 pinctrl-0 = <&button_pins>;
41 pinctrl-names = "default";
42
43 wifi {
44 label = "wifi";
45 gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
46 linux,code = <KEY_RFKILL>;
47 debounce-interval = <60>;
48 wakeup-source;
49 };
50
51 reset {
52 label = "reset";
53 gpios = <&qcom_pinmux 54 GPIO_ACTIVE_LOW>;
54 linux,code = <KEY_RESTART>;
55 debounce-interval = <60>;
56 wakeup-source;
57 };
58
59 wps {
60 label = "wps";
61 gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>;
62 linux,code = <KEY_WPS_BUTTON>;
63 debounce-interval = <60>;
64 wakeup-source;
65 };
66 };
67
68 leds {
69 compatible = "gpio-leds";
70 pinctrl-0 = <&led_pins>;
71 pinctrl-names = "default";
72
73 usb1 {
74 label = "white:usb1";
75 gpios = <&qcom_pinmux 7 GPIO_ACTIVE_HIGH>;
76 };
77
78 usb2 {
79 label = "white:usb2";
80 gpios = <&qcom_pinmux 8 GPIO_ACTIVE_HIGH>;
81 };
82
83 power_amber: power_amber {
84 label = "amber:power";
85 gpios = <&qcom_pinmux 9 GPIO_ACTIVE_HIGH>;
86 };
87
88 wan_white {
89 label = "white:wan";
90 gpios = <&qcom_pinmux 22 GPIO_ACTIVE_HIGH>;
91 };
92
93 wan_amber {
94 label = "amber:wan";
95 gpios = <&qcom_pinmux 23 GPIO_ACTIVE_HIGH>;
96 };
97
98 wps {
99 label = "white:wps";
100 gpios = <&qcom_pinmux 24 GPIO_ACTIVE_HIGH>;
101 };
102
103 esata {
104 label = "white:esata";
105 gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>;
106 };
107
108 power_white: power_white {
109 label = "white:power";
110 gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
111 default-state = "keep";
112 };
113
114 wifi {
115 label = "white:wifi";
116 gpios = <&qcom_pinmux 64 GPIO_ACTIVE_HIGH>;
117 };
118 };
119 };
120
121 &qcom_pinmux {
122 button_pins: button_pins {
123 mux {
124 pins = "gpio6", "gpio54", "gpio65";
125 function = "gpio";
126 drive-strength = <2>;
127 bias-pull-up;
128 };
129 };
130
131 led_pins: led_pins {
132 mux {
133 pins = "gpio7", "gpio8", "gpio9", "gpio22", "gpio23",
134 "gpio24","gpio26", "gpio53", "gpio64";
135 function = "gpio";
136 drive-strength = <2>;
137 bias-pull-up;
138 };
139 };
140 };
141
142 &gsbi5 {
143 status = "disabled";
144
145 spi@1a280000 {
146 status = "disabled";
147 };
148 };
149
150 &usb3_0 {
151 clocks = <&gcc USB30_1_MASTER_CLK>;
152 status = "okay";
153 };
154
155 &usb3_1 {
156 clocks = <&gcc USB30_0_MASTER_CLK>;
157 status = "okay";
158 };
159
160 &pcie0 {
161 status = "okay";
162 };
163
164 &pcie1 {
165 status = "okay";
166 max-link-speed = <1>;
167 };
168
169 &nand {
170 status = "okay";
171
172 pinctrl-0 = <&nand_pins>;
173 pinctrl-names = "default";
174
175 nand@0 {
176 reg = <0>;
177 compatible = "qcom,nandcs";
178
179 nand-ecc-strength = <4>;
180 nand-bus-width = <8>;
181 nand-ecc-step-size = <512>;
182
183 nand-is-boot-medium;
184 qcom,boot_pages_size = <0x1180000>;
185
186 partitions {
187 compatible = "fixed-partitions";
188 #address-cells = <1>;
189 #size-cells = <1>;
190
191 qcadata@0 {
192 label = "qcadata";
193 reg = <0x0000000 0x0c80000>;
194 read-only;
195 };
196
197 APPSBL@c80000 {
198 label = "APPSBL";
199 reg = <0x0c80000 0x0500000>;
200 read-only;
201 };
202
203 APPSBLENV@1180000 {
204 label = "APPSBLENV";
205 reg = <0x1180000 0x0080000>;
206 read-only;
207 };
208
209 art: art@1200000 {
210 label = "art";
211 reg = <0x1200000 0x0140000>;
212 read-only;
213 };
214
215 kernel@1340000 {
216 label = "kernel";
217 reg = <0x1340000 0x0400000>;
218 };
219
220 ubi@1740000 {
221 label = "ubi";
222 reg = <0x1740000 0x1600000>;
223 };
224
225 netgear@2d40000 {
226 label = "netgear";
227 reg = <0x2d40000 0x0c00000>;
228 read-only;
229 };
230
231 reserve@3940000 {
232 label = "reserve";
233 reg = <0x3940000 0x46c0000>;
234 read-only;
235 };
236 };
237 };
238 };
239
240 &mdio0 {
241 status = "okay";
242
243 pinctrl-0 = <&mdio0_pins>;
244 pinctrl-names = "default";
245
246 phy0: ethernet-phy@0 {
247 reg = <0>;
248 qca,ar8327-initvals = <
249 0x00004 0x7600000 /* PAD0_MODE */
250 0x00008 0x1000000 /* PAD5_MODE */
251 0x0000c 0x80 /* PAD6_MODE */
252 0x000e4 0x6a545 /* MAC_POWER_SEL */
253 0x000e0 0xc74164de /* SGMII_CTRL */
254 0x0007c 0x4e /* PORT0_STATUS */
255 0x00094 0x4e /* PORT6_STATUS */
256 >;
257 };
258
259 phy4: ethernet-phy@4 {
260 reg = <4>;
261 };
262 };
263
264 &gmac1 {
265 status = "okay";
266 phy-mode = "rgmii";
267 qcom,id = <1>;
268
269 pinctrl-0 = <&rgmii2_pins>;
270 pinctrl-names = "default";
271
272 nvmem-cells = <&macaddr_art_6>;
273 nvmem-cell-names = "mac-address";
274
275 fixed-link {
276 speed = <1000>;
277 full-duplex;
278 };
279 };
280
281 &gmac2 {
282 status = "okay";
283 phy-mode = "sgmii";
284 qcom,id = <2>;
285
286 nvmem-cells = <&macaddr_art_0>;
287 nvmem-cell-names = "mac-address";
288
289 fixed-link {
290 speed = <1000>;
291 full-duplex;
292 };
293 };
294
295 &tcsr {
296 qcom,usb-ctrl-select = <TCSR_USB_SELECT_USB3_DUAL>;
297 compatible = "qcom,tcsr";
298 };
299
300 &adm_dma {
301 status = "okay";
302 };
303
304 &art {
305 compatible = "nvmem-cells";
306 #address-cells = <1>;
307 #size-cells = <1>;
308
309 macaddr_art_0: macaddr@0 {
310 reg = <0x0 0x6>;
311 };
312
313 macaddr_art_6: macaddr@6 {
314 reg = <0x6 0x6>;
315 };
316 };