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