]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - arch/arm/boot/dts/rk3066a-rayeager.dts
Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[mirror_ubuntu-bionic-kernel.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 "rk3066a.dtsi"
45
46 / {
47 model = "Rayeager PX2";
48 compatible = "chipspark,rayeager-px2", "rockchip,rk3066a";
49
50 memory {
51 reg = <0x60000000 0x40000000>;
52 };
53
54 ir: ir-receiver {
55 compatible = "gpio-ir-receiver";
56 gpios = <&gpio6 1 GPIO_ACTIVE_LOW>;
57 pinctrl-names = "default";
58 pinctrl-0 = <&ir_int>;
59 };
60
61 keys: gpio-keys {
62 compatible = "gpio-keys";
63 #address-cells = <1>;
64 #size-cells = <0>;
65
66 button@0 {
67 gpio-key,wakeup = <1>;
68 gpios = <&gpio6 2 GPIO_ACTIVE_LOW>;
69 label = "GPIO Power";
70 linux,code = <116>;
71 pinctrl-names = "default";
72 pinctrl-0 = <&pwr_key>;
73 };
74 };
75
76 vsys: vsys-regulator {
77 compatible = "regulator-fixed";
78 regulator-name = "vsys";
79 regulator-min-microvolt = <5000000>;
80 regulator-max-microvolt = <5000000>;
81 regulator-always-on;
82 regulator-boot-on;
83 };
84
85 /* input for 5V_STDBY is VSYS or DC5V, selectable by jumper J4 */
86 vcc_stdby: 5v-stdby-regulator {
87 compatible = "regulator-fixed";
88 regulator-name = "5v_stdby";
89 regulator-min-microvolt = <5000000>;
90 regulator-max-microvolt = <5000000>;
91 regulator-always-on;
92 regulator-boot-on;
93 };
94
95 vcc_emmc: emmc-regulator {
96 compatible = "regulator-fixed";
97 regulator-name = "emmc_vccq";
98 regulator-min-microvolt = <3000000>;
99 regulator-max-microvolt = <3000000>;
100 vin-supply = <&vsys>;
101 };
102
103 vcc_sata: sata-regulator {
104 compatible = "regulator-fixed";
105 enable-active-high;
106 gpio = <&gpio4 22 GPIO_ACTIVE_HIGH>;
107 pinctrl-names = "default";
108 pinctrl-0 = <&sata_pwr>;
109 regulator-name = "usb_5v";
110 regulator-min-microvolt = <5000000>;
111 regulator-max-microvolt = <5000000>;
112 regulator-always-on;
113 vin-supply = <&vcc_stdby>;
114 };
115
116 vcc_sd: sdmmc-regulator {
117 compatible = "regulator-fixed";
118 gpio = <&gpio3 7 GPIO_ACTIVE_LOW>;
119 pinctrl-names = "default";
120 pinctrl-0 = <&sdmmc_pwr>;
121 regulator-name = "vcc_sd";
122 regulator-min-microvolt = <3300000>;
123 regulator-max-microvolt = <3300000>;
124 startup-delay-us = <100000>;
125 vin-supply = <&vcc_io>;
126 };
127
128 vcc_host: usb-host-regulator {
129 compatible = "regulator-fixed";
130 enable-active-high;
131 gpio = <&gpio0 6 GPIO_ACTIVE_HIGH>;
132 pinctrl-names = "default";
133 pinctrl-0 = <&host_drv>;
134 regulator-name = "host-pwr";
135 regulator-min-microvolt = <5000000>;
136 regulator-max-microvolt = <5000000>;
137 regulator-always-on;
138 vin-supply = <&vcc_stdby>;
139 };
140
141 vcc_otg: usb-otg-regulator {
142 compatible = "regulator-fixed";
143 enable-active-high;
144 gpio = <&gpio0 5 GPIO_ACTIVE_HIGH>;
145 pinctrl-names = "default";
146 pinctrl-0 = <&otg_drv>;
147 regulator-name = "vcc_otg";
148 regulator-min-microvolt = <5000000>;
149 regulator-max-microvolt = <5000000>;
150 regulator-always-on;
151 vin-supply = <&vcc_stdby>;
152 };
153 };
154
155 &cpu0 {
156 cpu0-supply = <&vdd_arm>;
157 };
158
159 &emac {
160 pinctrl-names = "default";
161 pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&rmii_rst>;
162 phy = <&phy0>;
163 phy-supply = <&vcc_rmii>;
164 status = "okay";
165
166 phy0: ethernet-phy@0 {
167 reg = <0>;
168 };
169 };
170
171 &emmc {
172 broken-cd;
173 bus-width = <8>;
174 cap-mmc-highspeed;
175 disable-wp;
176 non-removable;
177 num-slots = <1>;
178 pinctrl-names = "default";
179 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_rst>;
180 vmmc-supply = <&vcc_emmc>;
181 vqmmc-supply = <&vcc_emmc>;
182 status = "okay";
183 };
184
185 &i2c0 {
186 clock-frequency = <400000>;
187 status = "okay";
188
189 ak8963: ak8963@0d {
190 compatible = "asahi-kasei,ak8975";
191 reg = <0x0d>;
192 interrupt-parent = <&gpio4>;
193 interrupts = <17 IRQ_TYPE_EDGE_RISING>;
194 pinctrl-names = "default";
195 pinctrl-0 = <&comp_int>;
196 };
197
198 mma8452: mma8452@1d {
199 compatible = "fsl,mma8452";
200 reg = <0x1d>;
201 interrupt-parent = <&gpio4>;
202 interrupts = <16 IRQ_TYPE_EDGE_RISING>;
203 pinctrl-names = "default";
204 pinctrl-0 = <&gsensor_int>;
205 };
206 };
207
208 &i2c1 {
209 clock-frequency = <400000>;
210 status = "okay";
211
212 tps: tps@2d {
213 reg = <0x2d>;
214 interrupt-parent = <&gpio6>;
215 interrupts = <4 IRQ_TYPE_EDGE_RISING>;
216 pinctrl-names = "default";
217 pinctrl-0 = <&pmic_int>, <&pwr_hold>;
218
219 vcc1-supply = <&vsys>;
220 vcc2-supply = <&vsys>;
221 vcc3-supply = <&vsys>;
222 vcc4-supply = <&vsys>;
223 vcc5-supply = <&vcc_io>;
224 vcc6-supply = <&vcc_io>;
225 vcc7-supply = <&vsys>;
226 vccio-supply = <&vsys>;
227
228 regulators {
229 vcc_rtc: regulator@0 {
230 regulator-name = "vcc_rtc";
231 regulator-always-on;
232 };
233
234 vcc_io: regulator@1 {
235 regulator-name = "vcc_io";
236 regulator-min-microvolt = <3300000>;
237 regulator-max-microvolt = <3300000>;
238 regulator-always-on;
239 };
240
241 vdd_arm: regulator@2 {
242 regulator-name = "vdd_arm";
243 regulator-min-microvolt = <600000>;
244 regulator-max-microvolt = <1500000>;
245 regulator-always-on;
246 regulator-boot-on;
247 };
248
249 vcc_ddr: regulator@3 {
250 regulator-name = "vcc_ddr";
251 regulator-min-microvolt = <600000>;
252 regulator-max-microvolt = <1500000>;
253 regulator-always-on;
254 regulator-boot-on;
255 };
256
257 vcc18: regulator@5 {
258 regulator-name = "vcc18";
259 regulator-min-microvolt = <1800000>;
260 regulator-max-microvolt = <1800000>;
261 regulator-always-on;
262 };
263
264 vdd_11: regulator@6 {
265 regulator-name = "vdd_11";
266 regulator-min-microvolt = <1100000>;
267 regulator-max-microvolt = <1100000>;
268 regulator-always-on;
269 };
270
271 vcc_25: regulator@7 {
272 regulator-name = "vcc_25";
273 regulator-min-microvolt = <2500000>;
274 regulator-max-microvolt = <2500000>;
275 regulator-always-on;
276 };
277
278 vccio_wl: regulator@8 {
279 regulator-name = "vccio_wl";
280 regulator-min-microvolt = <1800000>;
281 regulator-max-microvolt = <1800000>;
282 };
283
284 vcc25_hdmi: regulator@9 {
285 regulator-name = "vcc25_hdmi";
286 regulator-min-microvolt = <2500000>;
287 regulator-max-microvolt = <2500000>;
288 };
289
290 vcca_33: regulator@10 {
291 regulator-name = "vcca_33";
292 regulator-min-microvolt = <3300000>;
293 regulator-max-microvolt = <3300000>;
294 };
295
296 vcc_rmii: regulator@11 {
297 regulator-name = "vcc_rmii";
298 regulator-min-microvolt = <3300000>;
299 regulator-max-microvolt = <3300000>;
300 };
301
302 vcc28_cif: regulator@12 {
303 regulator-name = "vcc28_cif";
304 regulator-min-microvolt = <2800000>;
305 regulator-max-microvolt = <2800000>;
306 };
307 };
308 };
309 };
310
311 #include "tps65910.dtsi"
312
313 &i2c2 {
314 status = "okay";
315 };
316
317 &i2c3 {
318 status = "okay";
319 };
320
321 &i2c4 {
322 status = "okay";
323 };
324
325 &mmc0 {
326 bus-width = <4>;
327 disable-wp;
328 num-slots = <1>;
329 pinctrl-names = "default";
330 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
331 vmmc-supply = <&vcc_sd>;
332 status = "okay";
333 };
334
335 &mmc1 {
336 broken-cd;
337 bus-width = <4>;
338 disable-wp;
339 non-removable;
340 num-slots = <1>;
341 pinctrl-names = "default";
342 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_bus4>;
343 vmmc-supply = <&vccio_wl>;
344 status = "okay";
345 };
346
347 &pinctrl {
348 pcfg_output_high: pcfg-output-high {
349 output-high;
350 };
351
352 ak8963 {
353 comp_int: comp-int {
354 rockchip,pins = <4 17 RK_FUNC_GPIO &pcfg_pull_default>;
355 };
356 };
357
358 emac {
359 rmii_rst: rmii-rst {
360 rockchip,pins = <1 30 RK_FUNC_GPIO &pcfg_output_high>;
361 };
362 };
363
364 ir {
365 ir_int: ir-int {
366 rockchip,pins = <6 1 RK_FUNC_GPIO &pcfg_pull_default>;
367 };
368 };
369
370 keys {
371 pwr_key: pwr-key {
372 rockchip,pins = <6 2 RK_FUNC_GPIO &pcfg_pull_default>;
373 };
374 };
375
376 mma8452 {
377 gsensor_int: gsensor-int {
378 rockchip,pins = <4 16 RK_FUNC_GPIO &pcfg_pull_default>;
379 };
380 };
381
382 mmc {
383 sdmmc_pwr: sdmmc-pwr {
384 rockchip,pins = <3 7 RK_FUNC_GPIO &pcfg_pull_default>;
385 };
386 };
387
388 usb_host {
389 host_drv: host-drv {
390 rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_default>;
391 };
392
393 hub_rst: hub-rst {
394 rockchip,pins = <1 31 RK_FUNC_GPIO &pcfg_output_high>;
395 };
396
397 sata_pwr: sata-pwr {
398 rockchip,pins = <4 22 RK_FUNC_GPIO &pcfg_pull_default>;
399 };
400
401 sata_reset: sata-reset {
402 rockchip,pins = <0 13 RK_FUNC_GPIO &pcfg_output_high>;
403 };
404 };
405
406 usb_otg {
407 otg_drv: otg-drv {
408 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_default>;
409 };
410 };
411
412 tps {
413 pmic_int: pmic-int {
414 rockchip,pins = <6 4 RK_FUNC_GPIO &pcfg_pull_default>;
415 };
416
417 pwr_hold: pwr-hold {
418 rockchip,pins = <6 8 RK_FUNC_GPIO &pcfg_output_high>;
419 };
420 };
421 };
422
423 &pwm1 {
424 status = "okay";
425 };
426
427 &pwm2 {
428 status = "okay";
429 };
430
431 &saradc {
432 vref-supply = <&vcc_25>;
433 status = "okay";
434 };
435
436 &spi0 {
437 status = "okay";
438 };
439
440 &uart0 {
441 pinctrl-names = "default";
442 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
443 status = "okay";
444 };
445
446 &uart2 {
447 status = "okay";
448 };
449
450 &uart3 {
451 pinctrl-names = "default";
452 pinctrl-0 = <&uart3_xfer>, <&uart3_cts>, <&uart3_rts>;
453 status = "okay";
454 };
455
456 &usb_host {
457 pinctrl-names = "default";
458 pinctrl-0 = <&hub_rst>, <&sata_reset>;
459 status = "okay";
460 };
461
462 &usb_otg {
463 status = "okay";
464 };
465
466 &wdt {
467 status = "okay";
468 };