49b34a32c6287218e1a1134c18c1e8147e1d866a
[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 &gsbi4 {
137 qcom,mode = <GSBI_PROT_I2C_UART>;
138 status = "okay";
139 serial@16340000 {
140 status = "okay";
141 };
142 /*
143 * The i2c device on gsbi4 should not be enabled.
144 * On ipq806x designs gsbi4 i2c is meant for exclusive
145 * RPM usage. Turning this on in kernel manifests as
146 * i2c failure for the RPM.
147 */
148 };
149
150 &sata_phy {
151 status = "okay";
152 };
153
154 &sata {
155 status = "okay";
156 };
157
158 &usb3_0 {
159 clocks = <&gcc USB30_1_MASTER_CLK>;
160 status = "okay";
161 };
162
163 &usb3_1 {
164 clocks = <&gcc USB30_0_MASTER_CLK>;
165 status = "okay";
166 };
167
168 &pcie0 {
169 status = "okay";
170 };
171
172 &pcie1 {
173 status = "okay";
174 force_gen1 = <1>;
175 };
176
177 &nand_controller {
178 status = "okay";
179
180 pinctrl-0 = <&nand_pins>;
181 pinctrl-names = "default";
182
183 nand@0 {
184 reg = <0>;
185 compatible = "qcom,nandcs";
186
187 nand-ecc-strength = <4>;
188 nand-bus-width = <8>;
189 nand-ecc-step-size = <512>;
190
191 partitions {
192 compatible = "fixed-partitions";
193 #address-cells = <1>;
194 #size-cells = <1>;
195
196 qcadata@0 {
197 label = "qcadata";
198 reg = <0x0000000 0x0c80000>;
199 read-only;
200 };
201
202 APPSBL@c80000 {
203 label = "APPSBL";
204 reg = <0x0c80000 0x0500000>;
205 read-only;
206 };
207
208 APPSBLENV@1180000 {
209 label = "APPSBLENV";
210 reg = <0x1180000 0x0080000>;
211 read-only;
212 };
213
214 art: art@1200000 {
215 label = "art";
216 reg = <0x1200000 0x0140000>;
217 read-only;
218 };
219
220 kernel@1340000 {
221 label = "kernel";
222 reg = <0x1340000 0x0400000>;
223 };
224
225 ubi@1740000 {
226 label = "ubi";
227 reg = <0x1740000 0x1600000>;
228 };
229
230 netgear@2d40000 {
231 label = "netgear";
232 reg = <0x2d40000 0x0c00000>;
233 read-only;
234 };
235
236 reserve@3940000 {
237 label = "reserve";
238 reg = <0x3940000 0x46c0000>;
239 read-only;
240 };
241 };
242 };
243 };
244
245 &mdio0 {
246 status = "okay";
247
248 pinctrl-0 = <&mdio0_pins>;
249 pinctrl-names = "default";
250
251 phy0: ethernet-phy@0 {
252 reg = <0>;
253 qca,ar8327-initvals = <
254 0x00004 0x7600000 /* PAD0_MODE */
255 0x00008 0x1000000 /* PAD5_MODE */
256 0x0000c 0x80 /* PAD6_MODE */
257 0x000e4 0x6a545 /* MAC_POWER_SEL */
258 0x000e0 0xc74164de /* SGMII_CTRL */
259 0x0007c 0x4e /* PORT0_STATUS */
260 0x00094 0x4e /* PORT6_STATUS */
261 >;
262 };
263
264 phy4: ethernet-phy@4 {
265 reg = <4>;
266 };
267 };
268
269 &gmac1 {
270 status = "okay";
271 phy-mode = "rgmii";
272 qcom,id = <1>;
273
274 pinctrl-0 = <&rgmii2_pins>;
275 pinctrl-names = "default";
276
277 mtd-mac-address = <&art 6>;
278
279 fixed-link {
280 speed = <1000>;
281 full-duplex;
282 };
283 };
284
285 &gmac2 {
286 status = "okay";
287 phy-mode = "sgmii";
288 qcom,id = <2>;
289
290 mtd-mac-address = <&art 0>;
291
292 fixed-link {
293 speed = <1000>;
294 full-duplex;
295 };
296 };
297
298 &tcsr {
299 qcom,usb-ctrl-select = <TCSR_USB_SELECT_USB3_DUAL>;
300 compatible = "qcom,tcsr";
301 };
302
303 &adm_dma {
304 status = "okay";
305 };