Merge remote-tracking branch 'keys/keys-next'
[deliverable/linux.git] / arch / arm / boot / dts / rk3066a-rayeager.dts
1 /*
2 * Copyright (c) 2014, 2015 FUKAUMI Naoki <naobsd@gmail.com>
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This file is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This file is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43 /dts-v1/;
44 #include <dt-bindings/input/input.h>
45 #include "rk3066a.dtsi"
46
47 / {
48 model = "Rayeager PX2";
49 compatible = "chipspark,rayeager-px2", "rockchip,rk3066a";
50
51 memory@60000000 {
52 device_type = "memory";
53 reg = <0x60000000 0x40000000>;
54 };
55
56 ir: ir-receiver {
57 compatible = "gpio-ir-receiver";
58 gpios = <&gpio6 1 GPIO_ACTIVE_LOW>;
59 pinctrl-names = "default";
60 pinctrl-0 = <&ir_int>;
61 };
62
63 keys: gpio-keys {
64 compatible = "gpio-keys";
65
66 power {
67 wakeup-source;
68 gpios = <&gpio6 2 GPIO_ACTIVE_LOW>;
69 label = "GPIO Power";
70 linux,code = <KEY_POWER>;
71 pinctrl-names = "default";
72 pinctrl-0 = <&pwr_key>;
73 };
74 };
75
76 vdd_log: vdd-log {
77 compatible = "pwm-regulator";
78 pwms = <&pwm3 0 1000>;
79 regulator-name = "vdd_log";
80 regulator-min-microvolt = <1200000>;
81 regulator-max-microvolt = <1200000>;
82 regulator-always-on;
83 voltage-table = <1000000 100>,
84 <1200000 42>;
85 status = "okay";
86 };
87
88 vsys: vsys-regulator {
89 compatible = "regulator-fixed";
90 regulator-name = "vsys";
91 regulator-min-microvolt = <5000000>;
92 regulator-max-microvolt = <5000000>;
93 regulator-always-on;
94 regulator-boot-on;
95 };
96
97 /* input for 5V_STDBY is VSYS or DC5V, selectable by jumper J4 */
98 vcc_stdby: 5v-stdby-regulator {
99 compatible = "regulator-fixed";
100 regulator-name = "5v_stdby";
101 regulator-min-microvolt = <5000000>;
102 regulator-max-microvolt = <5000000>;
103 regulator-always-on;
104 regulator-boot-on;
105 };
106
107 vcc_emmc: emmc-regulator {
108 compatible = "regulator-fixed";
109 regulator-name = "emmc_vccq";
110 regulator-min-microvolt = <3000000>;
111 regulator-max-microvolt = <3000000>;
112 vin-supply = <&vsys>;
113 };
114
115 vcc_sata: sata-regulator {
116 compatible = "regulator-fixed";
117 enable-active-high;
118 gpio = <&gpio4 22 GPIO_ACTIVE_HIGH>;
119 pinctrl-names = "default";
120 pinctrl-0 = <&sata_pwr>;
121 regulator-name = "usb_5v";
122 regulator-min-microvolt = <5000000>;
123 regulator-max-microvolt = <5000000>;
124 regulator-always-on;
125 vin-supply = <&vcc_stdby>;
126 };
127
128 vcc_sd: sdmmc-regulator {
129 compatible = "regulator-fixed";
130 gpio = <&gpio3 7 GPIO_ACTIVE_LOW>;
131 pinctrl-names = "default";
132 pinctrl-0 = <&sdmmc_pwr>;
133 regulator-name = "vcc_sd";
134 regulator-min-microvolt = <3300000>;
135 regulator-max-microvolt = <3300000>;
136 startup-delay-us = <100000>;
137 vin-supply = <&vcc_io>;
138 };
139
140 vcc_host: usb-host-regulator {
141 compatible = "regulator-fixed";
142 enable-active-high;
143 gpio = <&gpio0 6 GPIO_ACTIVE_HIGH>;
144 pinctrl-names = "default";
145 pinctrl-0 = <&host_drv>;
146 regulator-name = "host-pwr";
147 regulator-min-microvolt = <5000000>;
148 regulator-max-microvolt = <5000000>;
149 regulator-always-on;
150 vin-supply = <&vcc_stdby>;
151 };
152
153 vcc_otg: usb-otg-regulator {
154 compatible = "regulator-fixed";
155 enable-active-high;
156 gpio = <&gpio0 5 GPIO_ACTIVE_HIGH>;
157 pinctrl-names = "default";
158 pinctrl-0 = <&otg_drv>;
159 regulator-name = "vcc_otg";
160 regulator-min-microvolt = <5000000>;
161 regulator-max-microvolt = <5000000>;
162 regulator-always-on;
163 vin-supply = <&vcc_stdby>;
164 };
165 };
166
167 &cpu0 {
168 cpu0-supply = <&vdd_arm>;
169 };
170
171 &emac {
172 pinctrl-names = "default";
173 pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&rmii_rst>;
174 phy = <&phy0>;
175 phy-supply = <&vcc_rmii>;
176 status = "okay";
177
178 phy0: ethernet-phy@0 {
179 reg = <0>;
180 };
181 };
182
183 &emmc {
184 bus-width = <8>;
185 cap-mmc-highspeed;
186 disable-wp;
187 non-removable;
188 num-slots = <1>;
189 pinctrl-names = "default";
190 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_rst>;
191 vmmc-supply = <&vcc_emmc>;
192 vqmmc-supply = <&vcc_emmc>;
193 status = "okay";
194 };
195
196 &i2c0 {
197 clock-frequency = <400000>;
198 status = "okay";
199
200 ak8963: ak8963@0d {
201 compatible = "asahi-kasei,ak8975";
202 reg = <0x0d>;
203 interrupt-parent = <&gpio4>;
204 interrupts = <17 IRQ_TYPE_EDGE_RISING>;
205 pinctrl-names = "default";
206 pinctrl-0 = <&comp_int>;
207 };
208
209 mma8452: mma8452@1d {
210 compatible = "fsl,mma8452";
211 reg = <0x1d>;
212 interrupt-parent = <&gpio4>;
213 interrupts = <16 IRQ_TYPE_EDGE_RISING>;
214 pinctrl-names = "default";
215 pinctrl-0 = <&gsensor_int>;
216 };
217 };
218
219 &i2c1 {
220 clock-frequency = <400000>;
221 status = "okay";
222
223 tps: tps@2d {
224 reg = <0x2d>;
225 interrupt-parent = <&gpio6>;
226 interrupts = <4 IRQ_TYPE_EDGE_RISING>;
227 pinctrl-names = "default";
228 pinctrl-0 = <&pmic_int>, <&pwr_hold>;
229
230 vcc1-supply = <&vsys>;
231 vcc2-supply = <&vsys>;
232 vcc3-supply = <&vsys>;
233 vcc4-supply = <&vsys>;
234 vcc5-supply = <&vcc_io>;
235 vcc6-supply = <&vcc_io>;
236 vcc7-supply = <&vsys>;
237 vccio-supply = <&vsys>;
238
239 regulators {
240 vcc_rtc: regulator@0 {
241 regulator-name = "vcc_rtc";
242 regulator-always-on;
243 };
244
245 vcc_io: regulator@1 {
246 regulator-name = "vcc_io";
247 regulator-min-microvolt = <3300000>;
248 regulator-max-microvolt = <3300000>;
249 regulator-always-on;
250 };
251
252 vdd_arm: regulator@2 {
253 regulator-name = "vdd_arm";
254 regulator-min-microvolt = <600000>;
255 regulator-max-microvolt = <1500000>;
256 regulator-always-on;
257 regulator-boot-on;
258 };
259
260 vcc_ddr: regulator@3 {
261 regulator-name = "vcc_ddr";
262 regulator-min-microvolt = <600000>;
263 regulator-max-microvolt = <1500000>;
264 regulator-always-on;
265 regulator-boot-on;
266 };
267
268 vcc18: regulator@5 {
269 regulator-name = "vcc18";
270 regulator-min-microvolt = <1800000>;
271 regulator-max-microvolt = <1800000>;
272 regulator-always-on;
273 };
274
275 vdd_11: regulator@6 {
276 regulator-name = "vdd_11";
277 regulator-min-microvolt = <1100000>;
278 regulator-max-microvolt = <1100000>;
279 regulator-always-on;
280 };
281
282 vcc_25: regulator@7 {
283 regulator-name = "vcc_25";
284 regulator-min-microvolt = <2500000>;
285 regulator-max-microvolt = <2500000>;
286 regulator-always-on;
287 };
288
289 vccio_wl: regulator@8 {
290 regulator-name = "vccio_wl";
291 regulator-min-microvolt = <1800000>;
292 regulator-max-microvolt = <1800000>;
293 };
294
295 vcc25_hdmi: regulator@9 {
296 regulator-name = "vcc25_hdmi";
297 regulator-min-microvolt = <2500000>;
298 regulator-max-microvolt = <2500000>;
299 };
300
301 vcca_33: regulator@10 {
302 regulator-name = "vcca_33";
303 regulator-min-microvolt = <3300000>;
304 regulator-max-microvolt = <3300000>;
305 };
306
307 vcc_rmii: regulator@11 {
308 regulator-name = "vcc_rmii";
309 regulator-min-microvolt = <3300000>;
310 regulator-max-microvolt = <3300000>;
311 };
312
313 vcc28_cif: regulator@12 {
314 regulator-name = "vcc28_cif";
315 regulator-min-microvolt = <2800000>;
316 regulator-max-microvolt = <2800000>;
317 };
318 };
319 };
320 };
321
322 #include "tps65910.dtsi"
323
324 &i2c2 {
325 status = "okay";
326 };
327
328 &i2c3 {
329 status = "okay";
330 };
331
332 &i2c4 {
333 status = "okay";
334 };
335
336 &mmc0 {
337 bus-width = <4>;
338 disable-wp;
339 num-slots = <1>;
340 pinctrl-names = "default";
341 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
342 vmmc-supply = <&vcc_sd>;
343 cap-mmc-highspeed;
344 cap-sd-highspeed;
345 status = "okay";
346 };
347
348 &mmc1 {
349 bus-width = <4>;
350 disable-wp;
351 non-removable;
352 num-slots = <1>;
353 pinctrl-names = "default";
354 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_bus4>;
355 vmmc-supply = <&vccio_wl>;
356 status = "okay";
357 };
358
359 &pinctrl {
360 pcfg_output_high: pcfg-output-high {
361 output-high;
362 };
363
364 ak8963 {
365 comp_int: comp-int {
366 rockchip,pins = <4 17 RK_FUNC_GPIO &pcfg_pull_default>;
367 };
368 };
369
370 emac {
371 rmii_rst: rmii-rst {
372 rockchip,pins = <1 30 RK_FUNC_GPIO &pcfg_output_high>;
373 };
374 };
375
376 ir {
377 ir_int: ir-int {
378 rockchip,pins = <6 1 RK_FUNC_GPIO &pcfg_pull_default>;
379 };
380 };
381
382 keys {
383 pwr_key: pwr-key {
384 rockchip,pins = <6 2 RK_FUNC_GPIO &pcfg_pull_default>;
385 };
386 };
387
388 mma8452 {
389 gsensor_int: gsensor-int {
390 rockchip,pins = <4 16 RK_FUNC_GPIO &pcfg_pull_default>;
391 };
392 };
393
394 mmc {
395 sdmmc_pwr: sdmmc-pwr {
396 rockchip,pins = <3 7 RK_FUNC_GPIO &pcfg_pull_default>;
397 };
398 };
399
400 usb_host {
401 host_drv: host-drv {
402 rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_default>;
403 };
404
405 hub_rst: hub-rst {
406 rockchip,pins = <1 31 RK_FUNC_GPIO &pcfg_output_high>;
407 };
408
409 sata_pwr: sata-pwr {
410 rockchip,pins = <4 22 RK_FUNC_GPIO &pcfg_pull_default>;
411 };
412
413 sata_reset: sata-reset {
414 rockchip,pins = <0 13 RK_FUNC_GPIO &pcfg_output_high>;
415 };
416 };
417
418 usb_otg {
419 otg_drv: otg-drv {
420 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_default>;
421 };
422 };
423
424 tps {
425 pmic_int: pmic-int {
426 rockchip,pins = <6 4 RK_FUNC_GPIO &pcfg_pull_default>;
427 };
428
429 pwr_hold: pwr-hold {
430 rockchip,pins = <6 8 RK_FUNC_GPIO &pcfg_output_high>;
431 };
432 };
433 };
434
435 &pwm1 {
436 status = "okay";
437 };
438
439 &pwm2 {
440 status = "okay";
441 };
442
443 &pwm3 {
444 status = "okay";
445 };
446
447 &saradc {
448 vref-supply = <&vcc_25>;
449 status = "okay";
450 };
451
452 &spi0 {
453 status = "okay";
454 };
455
456 &uart0 {
457 pinctrl-names = "default";
458 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
459 status = "okay";
460 };
461
462 &uart2 {
463 status = "okay";
464 };
465
466 &uart3 {
467 pinctrl-names = "default";
468 pinctrl-0 = <&uart3_xfer>, <&uart3_cts>, <&uart3_rts>;
469 status = "okay";
470 };
471
472 &usb_host {
473 pinctrl-names = "default";
474 pinctrl-0 = <&hub_rst>, <&sata_reset>;
475 status = "okay";
476 };
477
478 &usbphy {
479 status = "okay";
480 };
481
482 &usb_otg {
483 status = "okay";
484 };
485
486 &wdt {
487 status = "okay";
488 };
This page took 0.058378 seconds and 5 git commands to generate.