ipq806x: use qcom-ipq8064-v1.0.dtsi from upstream
[openwrt/openwrt.git] / target / linux / ipq806x / files-5.4 / 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 };
48
49 reset {
50 label = "reset";
51 gpios = <&qcom_pinmux 54 GPIO_ACTIVE_LOW>;
52 linux,code = <KEY_RESTART>;
53 };
54
55 wps {
56 label = "wps";
57 gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>;
58 linux,code = <KEY_WPS_BUTTON>;
59 };
60 };
61
62 leds {
63 compatible = "gpio-leds";
64 pinctrl-0 = <&led_pins>;
65 pinctrl-names = "default";
66
67 usb1 {
68 label = "r7500:white:usb1";
69 gpios = <&qcom_pinmux 7 GPIO_ACTIVE_HIGH>;
70 };
71
72 usb2 {
73 label = "r7500:white:usb2";
74 gpios = <&qcom_pinmux 8 GPIO_ACTIVE_HIGH>;
75 };
76
77 power_amber: power_amber {
78 label = "r7500:amber:power";
79 gpios = <&qcom_pinmux 9 GPIO_ACTIVE_HIGH>;
80 };
81
82 wan_white {
83 label = "r7500:white:wan";
84 gpios = <&qcom_pinmux 22 GPIO_ACTIVE_HIGH>;
85 };
86
87 wan_amber {
88 label = "r7500:amber:wan";
89 gpios = <&qcom_pinmux 23 GPIO_ACTIVE_HIGH>;
90 };
91
92 wps {
93 label = "r7500:white:wps";
94 gpios = <&qcom_pinmux 24 GPIO_ACTIVE_HIGH>;
95 };
96
97 esata {
98 label = "r7500:white:esata";
99 gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>;
100 };
101
102 power_white: power_white {
103 label = "r7500:white:power";
104 gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
105 default-state = "keep";
106 };
107
108 wifi {
109 label = "r7500:white:wifi";
110 gpios = <&qcom_pinmux 64 GPIO_ACTIVE_HIGH>;
111 };
112 };
113 };
114
115 &qcom_pinmux {
116 button_pins: button_pins {
117 mux {
118 pins = "gpio6", "gpio54", "gpio65";
119 function = "gpio";
120 drive-strength = <2>;
121 bias-pull-up;
122 };
123 };
124
125 led_pins: led_pins {
126 mux {
127 pins = "gpio7", "gpio8", "gpio9", "gpio22", "gpio23",
128 "gpio24","gpio26", "gpio53", "gpio64";
129 function = "gpio";
130 drive-strength = <2>;
131 bias-pull-up;
132 };
133 };
134 };
135
136 /*
137 * The i2c device on gsbi4 should not be enabled.
138 * On ipq806x designs gsbi4 i2c is meant for exclusive
139 * RPM usage. Turning this on in kernel manifests as
140 * i2c failure for the RPM.
141 */
142
143 &gsbi5 {
144 status = "disabled";
145
146 spi@1a280000 {
147 status = "disabled";
148 };
149 };
150
151 &usb3_0 {
152 clocks = <&gcc USB30_1_MASTER_CLK>;
153 status = "okay";
154 };
155
156 &usb3_1 {
157 clocks = <&gcc USB30_0_MASTER_CLK>;
158 status = "okay";
159 };
160
161 &pcie0 {
162 status = "okay";
163 };
164
165 &pcie1 {
166 status = "okay";
167 force_gen1 = <1>;
168 };
169
170 &nand_controller {
171 status = "okay";
172
173 pinctrl-0 = <&nand_pins>;
174 pinctrl-names = "default";
175
176 nand@0 {
177 reg = <0>;
178 compatible = "qcom,nandcs";
179
180 nand-ecc-strength = <4>;
181 nand-bus-width = <8>;
182 nand-ecc-step-size = <512>;
183
184 partitions {
185 compatible = "fixed-partitions";
186 #address-cells = <1>;
187 #size-cells = <1>;
188
189 qcadata@0 {
190 label = "qcadata";
191 reg = <0x0000000 0x0c80000>;
192 read-only;
193 };
194
195 APPSBL@c80000 {
196 label = "APPSBL";
197 reg = <0x0c80000 0x0500000>;
198 read-only;
199 };
200
201 APPSBLENV@1180000 {
202 label = "APPSBLENV";
203 reg = <0x1180000 0x0080000>;
204 read-only;
205 };
206
207 art: art@1200000 {
208 label = "art";
209 reg = <0x1200000 0x0140000>;
210 read-only;
211 };
212
213 kernel@1340000 {
214 label = "kernel";
215 reg = <0x1340000 0x0400000>;
216 };
217
218 ubi@1740000 {
219 label = "ubi";
220 reg = <0x1740000 0x1600000>;
221 };
222
223 netgear@2d40000 {
224 label = "netgear";
225 reg = <0x2d40000 0x0c00000>;
226 read-only;
227 };
228
229 reserve@3940000 {
230 label = "reserve";
231 reg = <0x3940000 0x46c0000>;
232 read-only;
233 };
234 };
235 };
236 };
237
238 &mdio0 {
239 status = "okay";
240
241 pinctrl-0 = <&mdio0_pins>;
242 pinctrl-names = "default";
243
244 phy0: ethernet-phy@0 {
245 reg = <0>;
246 qca,ar8327-initvals = <
247 0x00004 0x7600000 /* PAD0_MODE */
248 0x00008 0x1000000 /* PAD5_MODE */
249 0x0000c 0x80 /* PAD6_MODE */
250 0x000e4 0x6a545 /* MAC_POWER_SEL */
251 0x000e0 0xc74164de /* SGMII_CTRL */
252 0x0007c 0x4e /* PORT0_STATUS */
253 0x00094 0x4e /* PORT6_STATUS */
254 >;
255 };
256
257 phy4: ethernet-phy@4 {
258 reg = <4>;
259 };
260 };
261
262 &gmac1 {
263 status = "okay";
264 phy-mode = "rgmii";
265 qcom,id = <1>;
266
267 pinctrl-0 = <&rgmii2_pins>;
268 pinctrl-names = "default";
269
270 mtd-mac-address = <&art 6>;
271
272 fixed-link {
273 speed = <1000>;
274 full-duplex;
275 };
276 };
277
278 &gmac2 {
279 status = "okay";
280 phy-mode = "sgmii";
281 qcom,id = <2>;
282
283 mtd-mac-address = <&art 0>;
284
285 fixed-link {
286 speed = <1000>;
287 full-duplex;
288 };
289 };
290
291 &tcsr {
292 qcom,usb-ctrl-select = <TCSR_USB_SELECT_USB3_DUAL>;
293 compatible = "qcom,tcsr";
294 };
295
296 &adm_dma {
297 status = "okay";
298 };