]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm64/rockchip/px30-evb.dts
DTS: Update the device-tree files to Linux 5.5
[FreeBSD/FreeBSD.git] / src / arm64 / rockchip / px30-evb.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
4  */
5
6 /dts-v1/;
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/input/input.h>
9 #include <dt-bindings/pinctrl/rockchip.h>
10 #include "px30.dtsi"
11
12 / {
13         model = "Rockchip PX30 EVB";
14         compatible = "rockchip,px30-evb", "rockchip,px30";
15
16         chosen {
17                 stdout-path = "serial5:115200n8";
18         };
19
20         adc-keys {
21                 compatible = "adc-keys";
22                 io-channels = <&saradc 2>;
23                 io-channel-names = "buttons";
24                 keyup-threshold-microvolt = <1800000>;
25                 poll-interval = <100>;
26
27                 esc-key {
28                         label = "esc";
29                         linux,code = <KEY_ESC>;
30                         press-threshold-microvolt = <1310000>;
31                 };
32
33                 home-key {
34                         label = "home";
35                         linux,code = <KEY_HOME>;
36                         press-threshold-microvolt = <624000>;
37                 };
38
39                 menu-key {
40                         label = "menu";
41                         linux,code = <KEY_MENU>;
42                         press-threshold-microvolt = <987000>;
43                 };
44
45                 vol-down-key {
46                         label = "volume down";
47                         linux,code = <KEY_VOLUMEDOWN>;
48                         press-threshold-microvolt = <300000>;
49                 };
50
51                 vol-up-key {
52                         label = "volume up";
53                         linux,code = <KEY_VOLUMEUP>;
54                         press-threshold-microvolt = <17000>;
55                 };
56         };
57
58         backlight: backlight {
59                 compatible = "pwm-backlight";
60                 pwms = <&pwm1 0 25000 0>;
61                 power-supply = <&vcc3v3_lcd>;
62         };
63
64         emmc_pwrseq: emmc-pwrseq {
65                 compatible = "mmc-pwrseq-emmc";
66                 pinctrl-0 = <&emmc_reset>;
67                 pinctrl-names = "default";
68                 reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>;
69         };
70
71         sdio_pwrseq: sdio-pwrseq {
72                 compatible = "mmc-pwrseq-simple";
73                 pinctrl-names = "default";
74                 pinctrl-0 = <&wifi_enable_h>;
75
76                 /*
77                  * On the module itself this is one of these (depending
78                  * on the actual card populated):
79                  * - SDIO_RESET_L_WL_REG_ON
80                  * - PDN (power down when low)
81                  */
82                 reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
83         };
84
85         vcc5v0_sys: vccsys {
86                 compatible = "regulator-fixed";
87                 regulator-name = "vcc5v0_sys";
88                 regulator-always-on;
89                 regulator-boot-on;
90                 regulator-min-microvolt = <5000000>;
91                 regulator-max-microvolt = <5000000>;
92         };
93 };
94
95 &cpu0 {
96         cpu-supply = <&vdd_arm>;
97 };
98
99 &cpu1 {
100         cpu-supply = <&vdd_arm>;
101 };
102
103 &cpu2 {
104         cpu-supply = <&vdd_arm>;
105 };
106
107 &cpu3 {
108         cpu-supply = <&vdd_arm>;
109 };
110
111 &display_subsystem {
112         status = "okay";
113 };
114
115 &emmc {
116         bus-width = <8>;
117         cap-mmc-highspeed;
118         mmc-hs200-1_8v;
119         non-removable;
120         mmc-pwrseq = <&emmc_pwrseq>;
121         vmmc-supply = <&vcc_3v0>;
122         vqmmc-supply = <&vccio_flash>;
123         status = "okay";
124 };
125
126 &gmac {
127         clock_in_out = "output";
128         phy-supply = <&vcc_rmii>;
129         snps,reset-gpio = <&gpio2 13 GPIO_ACTIVE_LOW>;
130         snps,reset-active-low;
131         snps,reset-delays-us = <0 50000 50000>;
132         status = "okay";
133 };
134
135 &i2c0 {
136         status = "okay";
137
138         rk809: pmic@20 {
139                 compatible = "rockchip,rk809";
140                 reg = <0x20>;
141                 interrupt-parent = <&gpio0>;
142                 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
143                 pinctrl-names = "default";
144                 pinctrl-0 = <&pmic_int>;
145                 rockchip,system-power-controller;
146                 wakeup-source;
147                 #clock-cells = <0>;
148                 clock-output-names = "xin32k";
149
150                 vcc1-supply = <&vcc5v0_sys>;
151                 vcc2-supply = <&vcc5v0_sys>;
152                 vcc3-supply = <&vcc5v0_sys>;
153                 vcc4-supply = <&vcc5v0_sys>;
154                 vcc5-supply = <&vcc3v3_sys>;
155                 vcc6-supply = <&vcc3v3_sys>;
156                 vcc7-supply = <&vcc3v3_sys>;
157                 vcc8-supply = <&vcc3v3_sys>;
158                 vcc9-supply = <&vcc5v0_sys>;
159
160                 regulators {
161                         vdd_log: DCDC_REG1 {
162                                 regulator-name = "vdd_log";
163                                 regulator-min-microvolt = <950000>;
164                                 regulator-max-microvolt = <1350000>;
165                                 regulator-ramp-delay = <6001>;
166                                 regulator-always-on;
167                                 regulator-boot-on;
168
169                                 regulator-state-mem {
170                                         regulator-on-in-suspend;
171                                         regulator-suspend-microvolt = <950000>;
172                                 };
173                         };
174
175                         vdd_arm: DCDC_REG2 {
176                                 regulator-name = "vdd_arm";
177                                 regulator-min-microvolt = <950000>;
178                                 regulator-max-microvolt = <1350000>;
179                                 regulator-ramp-delay = <6001>;
180                                 regulator-always-on;
181                                 regulator-boot-on;
182
183                                 regulator-state-mem {
184                                         regulator-off-in-suspend;
185                                         regulator-suspend-microvolt = <950000>;
186                                 };
187                         };
188
189                         vcc_ddr: DCDC_REG3 {
190                                 regulator-name = "vcc_ddr";
191                                 regulator-always-on;
192                                 regulator-boot-on;
193
194                                 regulator-state-mem {
195                                         regulator-on-in-suspend;
196                                 };
197                         };
198
199                         vcc_3v0: vcc_rmii: DCDC_REG4 {
200                                 regulator-name = "vcc_3v0";
201                                 regulator-min-microvolt = <3000000>;
202                                 regulator-max-microvolt = <3000000>;
203                                 regulator-always-on;
204                                 regulator-boot-on;
205
206                                 regulator-state-mem {
207                                         regulator-on-in-suspend;
208                                         regulator-suspend-microvolt = <3000000>;
209                                 };
210                         };
211
212                         vcc3v3_sys: DCDC_REG5 {
213                                 regulator-name = "vcc3v3_sys";
214                                 regulator-min-microvolt = <3300000>;
215                                 regulator-max-microvolt = <3300000>;
216                                 regulator-always-on;
217                                 regulator-boot-on;
218
219                                 regulator-state-mem {
220                                         regulator-on-in-suspend;
221                                         regulator-suspend-microvolt = <3300000>;
222                                 };
223                         };
224
225                         vcc_1v0: LDO_REG1 {
226                                 regulator-name = "vcc_1v0";
227                                 regulator-min-microvolt = <1000000>;
228                                 regulator-max-microvolt = <1000000>;
229                                 regulator-always-on;
230                                 regulator-boot-on;
231
232                                 regulator-state-mem {
233                                         regulator-on-in-suspend;
234                                         regulator-suspend-microvolt = <1000000>;
235                                 };
236                         };
237
238                         vcc_1v8: vccio_flash: vccio_sdio: LDO_REG2 {
239                                 regulator-name = "vcc_1v8";
240                                 regulator-min-microvolt = <1800000>;
241                                 regulator-max-microvolt = <1800000>;
242                                 regulator-always-on;
243                                 regulator-boot-on;
244
245                                 regulator-state-mem {
246                                         regulator-on-in-suspend;
247                                         regulator-suspend-microvolt = <1800000>;
248                                 };
249                         };
250
251                         vdd_1v0: LDO_REG3 {
252                                 regulator-name = "vdd_1v0";
253                                 regulator-min-microvolt = <1000000>;
254                                 regulator-max-microvolt = <1000000>;
255                                 regulator-always-on;
256                                 regulator-boot-on;
257
258                                 regulator-state-mem {
259                                         regulator-on-in-suspend;
260                                         regulator-suspend-microvolt = <1000000>;
261                                 };
262                         };
263
264                         vcc3v0_pmu: LDO_REG4 {
265                                 regulator-name = "vcc3v0_pmu";
266                                 regulator-min-microvolt = <3000000>;
267                                 regulator-max-microvolt = <3000000>;
268                                 regulator-always-on;
269                                 regulator-boot-on;
270
271                                 regulator-state-mem {
272                                         regulator-on-in-suspend;
273                                         regulator-suspend-microvolt = <3000000>;
274                                 };
275                         };
276
277                         vccio_sd: LDO_REG5 {
278                                 regulator-name = "vccio_sd";
279                                 regulator-min-microvolt = <1800000>;
280                                 regulator-max-microvolt = <3300000>;
281                                 regulator-always-on;
282                                 regulator-boot-on;
283
284                                 regulator-state-mem {
285                                         regulator-on-in-suspend;
286                                         regulator-suspend-microvolt = <3300000>;
287                                 };
288                         };
289
290                         vcc_sd: LDO_REG6 {
291                                 regulator-name = "vcc_sd";
292                                 regulator-min-microvolt = <3300000>;
293                                 regulator-max-microvolt = <3300000>;
294                                 regulator-boot-on;
295
296                                 regulator-state-mem {
297                                         regulator-on-in-suspend;
298                                         regulator-suspend-microvolt = <3300000>;
299                                 };
300                         };
301
302                         vcc2v8_dvp: LDO_REG7 {
303                                 regulator-name = "vcc2v8_dvp";
304                                 regulator-min-microvolt = <2800000>;
305                                 regulator-max-microvolt = <2800000>;
306                                 regulator-boot-on;
307
308                                 regulator-state-mem {
309                                         regulator-off-in-suspend;
310                                         regulator-suspend-microvolt = <2800000>;
311                                 };
312                         };
313
314                         vcc1v8_dvp: LDO_REG8 {
315                                 regulator-name = "vcc1v8_dvp";
316                                 regulator-min-microvolt = <1800000>;
317                                 regulator-max-microvolt = <1800000>;
318                                 regulator-boot-on;
319
320                                 regulator-state-mem {
321                                         regulator-on-in-suspend;
322                                         regulator-suspend-microvolt = <1800000>;
323                                 };
324                         };
325
326                         vcc1v5_dvp: LDO_REG9 {
327                                 regulator-name = "vcc1v5_dvp";
328                                 regulator-min-microvolt = <1500000>;
329                                 regulator-max-microvolt = <1500000>;
330                                 regulator-boot-on;
331
332                                 regulator-state-mem {
333                                         regulator-off-in-suspend;
334                                         regulator-suspend-microvolt = <1500000>;
335                                 };
336                         };
337
338                         vcc3v3_lcd: SWITCH_REG1 {
339                                 regulator-name = "vcc3v3_lcd";
340                                 regulator-boot-on;
341                         };
342
343                         vcc5v0_host: SWITCH_REG2 {
344                                 regulator-name = "vcc5v0_host";
345                                 regulator-always-on;
346                                 regulator-boot-on;
347                         };
348                 };
349         };
350 };
351
352 &i2c1 {
353         status = "okay";
354
355         sensor@d {
356                 compatible = "asahi-kasei,ak8963";
357                 reg = <0x0d>;
358                 gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
359                 vdd-supply = <&vcc3v0_pmu>;
360                 mount-matrix = "1", /* x0 */
361                                "0", /* y0 */
362                                "0", /* z0 */
363                                "0", /* x1 */
364                                "1", /* y1 */
365                                "0", /* z1 */
366                                "0", /* x2 */
367                                "0", /* y2 */
368                                "1"; /* z2 */
369         };
370
371         touchscreen@14 {
372                 compatible = "goodix,gt1151";
373                 reg = <0x14>;
374                 interrupt-parent = <&gpio0>;
375                 interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
376                 irq-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
377                 reset-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
378                 VDDIO-supply = <&vcc3v3_lcd>;
379         };
380
381         sensor@4c {
382                 compatible = "fsl,mma7660";
383                 reg = <0x4c>;
384                 interrupt-parent = <&gpio0>;
385                 interrupts = <RK_PB7 IRQ_TYPE_LEVEL_LOW>;
386         };
387 };
388
389 &i2s1_2ch {
390         status = "okay";
391 };
392
393 &io_domains {
394         status = "okay";
395
396         vccio1-supply = <&vccio_sdio>;
397         vccio2-supply = <&vccio_sd>;
398         vccio3-supply = <&vcc_3v0>;
399         vccio4-supply = <&vcc3v0_pmu>;
400         vccio5-supply = <&vcc_3v0>;
401         vccio6-supply = <&vccio_flash>;
402 };
403
404 &pinctrl {
405         headphone {
406                 hp_det: hp-det {
407                         rockchip,pins =
408                                 <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
409                 };
410         };
411
412         emmc {
413                 emmc_reset: emmc-reset {
414                         rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
415                 };
416         };
417
418         pmic {
419                 pmic_int: pmic_int {
420                         rockchip,pins =
421                                 <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
422                 };
423
424                 soc_slppin_gpio: soc_slppin_gpio {
425                         rockchip,pins =
426                                 <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
427                 };
428
429                 soc_slppin_slp: soc_slppin_slp {
430                         rockchip,pins =
431                                 <0 RK_PA4 1 &pcfg_pull_none>;
432                 };
433
434                 soc_slppin_rst: soc_slppin_rst {
435                         rockchip,pins =
436                                 <0 RK_PA4 2 &pcfg_pull_none>;
437                 };
438         };
439
440         sdio-pwrseq {
441                 wifi_enable_h: wifi-enable-h {
442                         rockchip,pins =
443                                 <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
444                 };
445         };
446 };
447
448 &pmu_io_domains {
449         status = "okay";
450
451         pmuio1-supply = <&vcc3v0_pmu>;
452         pmuio2-supply = <&vcc3v0_pmu>;
453 };
454
455 &pwm1 {
456         status = "okay";
457 };
458
459 &saradc {
460         vref-supply = <&vcc_1v8>;
461         status = "okay";
462 };
463
464 &sdmmc {
465         bus-width = <4>;
466         cap-mmc-highspeed;
467         cap-sd-highspeed;
468         card-detect-delay = <800>;
469         sd-uhs-sdr12;
470         sd-uhs-sdr25;
471         sd-uhs-sdr50;
472         sd-uhs-sdr104;
473         vmmc-supply = <&vcc_sd>;
474         vqmmc-supply = <&vccio_sd>;
475         status = "okay";
476 };
477
478 &sdio {
479         bus-width = <4>;
480         cap-sd-highspeed;
481         keep-power-in-suspend;
482         non-removable;
483         mmc-pwrseq = <&sdio_pwrseq>;
484         sd-uhs-sdr104;
485         status = "okay";
486 };
487
488 &u2phy {
489         status = "okay";
490
491         u2phy_host: host-port {
492                 status = "okay";
493         };
494
495         u2phy_otg: otg-port {
496                 status = "okay";
497         };
498 };
499
500 &uart1 {
501         pinctrl-names = "default";
502         pinctrl-0 = <&uart1_xfer &uart1_cts>;
503         status = "okay";
504 };
505
506 &uart5 {
507         status = "okay";
508 };
509
510 &usb20_otg {
511         status = "okay";
512 };
513
514 &usb_host0_ehci {
515         status = "okay";
516 };
517
518 &usb_host0_ohci {
519         status = "okay";
520 };
521
522 &vopb {
523         status = "okay";
524 };
525
526 &vopb_mmu {
527         status = "okay";
528 };
529
530 &vopl {
531         status = "okay";
532 };
533
534 &vopl_mmu {
535         status = "okay";
536 };