]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm64/rockchip/px30-evb.dts
Update to bmake-20200704
[FreeBSD/FreeBSD.git] / sys / gnu / dts / 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 &dsi {
116         status = "okay";
117
118         ports {
119                 mipi_out: port@1 {
120                         reg = <1>;
121
122                         mipi_out_panel: endpoint {
123                                 remote-endpoint = <&mipi_in_panel>;
124                         };
125                 };
126         };
127
128         panel@0 {
129                 compatible = "xinpeng,xpp055c272";
130                 reg = <0>;
131                 backlight = <&backlight>;
132                 iovcc-supply = <&vcc_1v8>;
133                 vci-supply = <&vcc3v3_lcd>;
134
135                 port {
136                         mipi_in_panel: endpoint {
137                                 remote-endpoint = <&mipi_out_panel>;
138                         };
139                 };
140         };
141 };
142
143 &dsi_dphy {
144         status = "okay";
145 };
146
147 &emmc {
148         bus-width = <8>;
149         cap-mmc-highspeed;
150         mmc-hs200-1_8v;
151         non-removable;
152         mmc-pwrseq = <&emmc_pwrseq>;
153         vmmc-supply = <&vcc_3v0>;
154         vqmmc-supply = <&vccio_flash>;
155         status = "okay";
156 };
157
158 &gmac {
159         clock_in_out = "output";
160         phy-supply = <&vcc_rmii>;
161         snps,reset-gpio = <&gpio2 13 GPIO_ACTIVE_LOW>;
162         snps,reset-active-low;
163         snps,reset-delays-us = <0 50000 50000>;
164         status = "okay";
165 };
166
167 &gpu {
168         mali-supply = <&vdd_log>;
169         status = "okay";
170 };
171
172 &i2c0 {
173         status = "okay";
174
175         rk809: pmic@20 {
176                 compatible = "rockchip,rk809";
177                 reg = <0x20>;
178                 interrupt-parent = <&gpio0>;
179                 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
180                 pinctrl-names = "default";
181                 pinctrl-0 = <&pmic_int>;
182                 rockchip,system-power-controller;
183                 wakeup-source;
184                 #clock-cells = <0>;
185                 clock-output-names = "xin32k";
186
187                 vcc1-supply = <&vcc5v0_sys>;
188                 vcc2-supply = <&vcc5v0_sys>;
189                 vcc3-supply = <&vcc5v0_sys>;
190                 vcc4-supply = <&vcc5v0_sys>;
191                 vcc5-supply = <&vcc3v3_sys>;
192                 vcc6-supply = <&vcc3v3_sys>;
193                 vcc7-supply = <&vcc3v3_sys>;
194                 vcc8-supply = <&vcc3v3_sys>;
195                 vcc9-supply = <&vcc5v0_sys>;
196
197                 regulators {
198                         vdd_log: DCDC_REG1 {
199                                 regulator-name = "vdd_log";
200                                 regulator-min-microvolt = <950000>;
201                                 regulator-max-microvolt = <1350000>;
202                                 regulator-ramp-delay = <6001>;
203                                 regulator-always-on;
204                                 regulator-boot-on;
205
206                                 regulator-state-mem {
207                                         regulator-on-in-suspend;
208                                         regulator-suspend-microvolt = <950000>;
209                                 };
210                         };
211
212                         vdd_arm: DCDC_REG2 {
213                                 regulator-name = "vdd_arm";
214                                 regulator-min-microvolt = <950000>;
215                                 regulator-max-microvolt = <1350000>;
216                                 regulator-ramp-delay = <6001>;
217                                 regulator-always-on;
218                                 regulator-boot-on;
219
220                                 regulator-state-mem {
221                                         regulator-off-in-suspend;
222                                         regulator-suspend-microvolt = <950000>;
223                                 };
224                         };
225
226                         vcc_ddr: DCDC_REG3 {
227                                 regulator-name = "vcc_ddr";
228                                 regulator-always-on;
229                                 regulator-boot-on;
230
231                                 regulator-state-mem {
232                                         regulator-on-in-suspend;
233                                 };
234                         };
235
236                         vcc_3v0: vcc_rmii: DCDC_REG4 {
237                                 regulator-name = "vcc_3v0";
238                                 regulator-min-microvolt = <3000000>;
239                                 regulator-max-microvolt = <3000000>;
240                                 regulator-always-on;
241                                 regulator-boot-on;
242
243                                 regulator-state-mem {
244                                         regulator-on-in-suspend;
245                                         regulator-suspend-microvolt = <3000000>;
246                                 };
247                         };
248
249                         vcc3v3_sys: DCDC_REG5 {
250                                 regulator-name = "vcc3v3_sys";
251                                 regulator-min-microvolt = <3300000>;
252                                 regulator-max-microvolt = <3300000>;
253                                 regulator-always-on;
254                                 regulator-boot-on;
255
256                                 regulator-state-mem {
257                                         regulator-on-in-suspend;
258                                         regulator-suspend-microvolt = <3300000>;
259                                 };
260                         };
261
262                         vcc_1v0: LDO_REG1 {
263                                 regulator-name = "vcc_1v0";
264                                 regulator-min-microvolt = <1000000>;
265                                 regulator-max-microvolt = <1000000>;
266                                 regulator-always-on;
267                                 regulator-boot-on;
268
269                                 regulator-state-mem {
270                                         regulator-on-in-suspend;
271                                         regulator-suspend-microvolt = <1000000>;
272                                 };
273                         };
274
275                         vcc_1v8: vccio_flash: vccio_sdio: LDO_REG2 {
276                                 regulator-name = "vcc_1v8";
277                                 regulator-min-microvolt = <1800000>;
278                                 regulator-max-microvolt = <1800000>;
279                                 regulator-always-on;
280                                 regulator-boot-on;
281
282                                 regulator-state-mem {
283                                         regulator-on-in-suspend;
284                                         regulator-suspend-microvolt = <1800000>;
285                                 };
286                         };
287
288                         vdd_1v0: LDO_REG3 {
289                                 regulator-name = "vdd_1v0";
290                                 regulator-min-microvolt = <1000000>;
291                                 regulator-max-microvolt = <1000000>;
292                                 regulator-always-on;
293                                 regulator-boot-on;
294
295                                 regulator-state-mem {
296                                         regulator-on-in-suspend;
297                                         regulator-suspend-microvolt = <1000000>;
298                                 };
299                         };
300
301                         vcc3v0_pmu: LDO_REG4 {
302                                 regulator-name = "vcc3v0_pmu";
303                                 regulator-min-microvolt = <3000000>;
304                                 regulator-max-microvolt = <3000000>;
305                                 regulator-always-on;
306                                 regulator-boot-on;
307
308                                 regulator-state-mem {
309                                         regulator-on-in-suspend;
310                                         regulator-suspend-microvolt = <3000000>;
311                                 };
312                         };
313
314                         vccio_sd: LDO_REG5 {
315                                 regulator-name = "vccio_sd";
316                                 regulator-min-microvolt = <1800000>;
317                                 regulator-max-microvolt = <3300000>;
318                                 regulator-always-on;
319                                 regulator-boot-on;
320
321                                 regulator-state-mem {
322                                         regulator-on-in-suspend;
323                                         regulator-suspend-microvolt = <3300000>;
324                                 };
325                         };
326
327                         vcc_sd: LDO_REG6 {
328                                 regulator-name = "vcc_sd";
329                                 regulator-min-microvolt = <3300000>;
330                                 regulator-max-microvolt = <3300000>;
331                                 regulator-boot-on;
332
333                                 regulator-state-mem {
334                                         regulator-on-in-suspend;
335                                         regulator-suspend-microvolt = <3300000>;
336                                 };
337                         };
338
339                         vcc2v8_dvp: LDO_REG7 {
340                                 regulator-name = "vcc2v8_dvp";
341                                 regulator-min-microvolt = <2800000>;
342                                 regulator-max-microvolt = <2800000>;
343                                 regulator-boot-on;
344
345                                 regulator-state-mem {
346                                         regulator-off-in-suspend;
347                                         regulator-suspend-microvolt = <2800000>;
348                                 };
349                         };
350
351                         vcc1v8_dvp: LDO_REG8 {
352                                 regulator-name = "vcc1v8_dvp";
353                                 regulator-min-microvolt = <1800000>;
354                                 regulator-max-microvolt = <1800000>;
355                                 regulator-boot-on;
356
357                                 regulator-state-mem {
358                                         regulator-on-in-suspend;
359                                         regulator-suspend-microvolt = <1800000>;
360                                 };
361                         };
362
363                         vcc1v5_dvp: LDO_REG9 {
364                                 regulator-name = "vcc1v5_dvp";
365                                 regulator-min-microvolt = <1500000>;
366                                 regulator-max-microvolt = <1500000>;
367                                 regulator-boot-on;
368
369                                 regulator-state-mem {
370                                         regulator-off-in-suspend;
371                                         regulator-suspend-microvolt = <1500000>;
372                                 };
373                         };
374
375                         vcc3v3_lcd: SWITCH_REG1 {
376                                 regulator-name = "vcc3v3_lcd";
377                                 regulator-boot-on;
378                         };
379
380                         vcc5v0_host: SWITCH_REG2 {
381                                 regulator-name = "vcc5v0_host";
382                                 regulator-always-on;
383                                 regulator-boot-on;
384                         };
385                 };
386         };
387 };
388
389 &i2c1 {
390         status = "okay";
391
392         sensor@d {
393                 compatible = "asahi-kasei,ak8963";
394                 reg = <0x0d>;
395                 gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
396                 vdd-supply = <&vcc3v0_pmu>;
397                 mount-matrix = "1", /* x0 */
398                                "0", /* y0 */
399                                "0", /* z0 */
400                                "0", /* x1 */
401                                "1", /* y1 */
402                                "0", /* z1 */
403                                "0", /* x2 */
404                                "0", /* y2 */
405                                "1"; /* z2 */
406         };
407
408         touchscreen@14 {
409                 compatible = "goodix,gt1151";
410                 reg = <0x14>;
411                 interrupt-parent = <&gpio0>;
412                 interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
413                 irq-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
414                 reset-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
415                 VDDIO-supply = <&vcc3v3_lcd>;
416         };
417
418         sensor@4c {
419                 compatible = "fsl,mma7660";
420                 reg = <0x4c>;
421                 interrupt-parent = <&gpio0>;
422                 interrupts = <RK_PB7 IRQ_TYPE_LEVEL_LOW>;
423         };
424 };
425
426 &i2s1_2ch {
427         status = "okay";
428 };
429
430 &io_domains {
431         status = "okay";
432
433         vccio1-supply = <&vccio_sdio>;
434         vccio2-supply = <&vccio_sd>;
435         vccio3-supply = <&vcc_3v0>;
436         vccio4-supply = <&vcc3v0_pmu>;
437         vccio5-supply = <&vcc_3v0>;
438         vccio6-supply = <&vccio_flash>;
439 };
440
441 &pinctrl {
442         headphone {
443                 hp_det: hp-det {
444                         rockchip,pins =
445                                 <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
446                 };
447         };
448
449         emmc {
450                 emmc_reset: emmc-reset {
451                         rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
452                 };
453         };
454
455         pmic {
456                 pmic_int: pmic_int {
457                         rockchip,pins =
458                                 <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
459                 };
460
461                 soc_slppin_gpio: soc_slppin_gpio {
462                         rockchip,pins =
463                                 <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
464                 };
465
466                 soc_slppin_slp: soc_slppin_slp {
467                         rockchip,pins =
468                                 <0 RK_PA4 1 &pcfg_pull_none>;
469                 };
470
471                 soc_slppin_rst: soc_slppin_rst {
472                         rockchip,pins =
473                                 <0 RK_PA4 2 &pcfg_pull_none>;
474                 };
475         };
476
477         sdio-pwrseq {
478                 wifi_enable_h: wifi-enable-h {
479                         rockchip,pins =
480                                 <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
481                 };
482         };
483 };
484
485 &pmu_io_domains {
486         status = "okay";
487
488         pmuio1-supply = <&vcc3v0_pmu>;
489         pmuio2-supply = <&vcc3v0_pmu>;
490 };
491
492 &pwm1 {
493         status = "okay";
494 };
495
496 &saradc {
497         vref-supply = <&vcc_1v8>;
498         status = "okay";
499 };
500
501 &sdmmc {
502         bus-width = <4>;
503         cap-mmc-highspeed;
504         cap-sd-highspeed;
505         card-detect-delay = <800>;
506         sd-uhs-sdr12;
507         sd-uhs-sdr25;
508         sd-uhs-sdr50;
509         sd-uhs-sdr104;
510         vmmc-supply = <&vcc_sd>;
511         vqmmc-supply = <&vccio_sd>;
512         status = "okay";
513 };
514
515 &sdio {
516         bus-width = <4>;
517         cap-sd-highspeed;
518         keep-power-in-suspend;
519         non-removable;
520         mmc-pwrseq = <&sdio_pwrseq>;
521         sd-uhs-sdr104;
522         status = "okay";
523 };
524
525 &tsadc {
526         rockchip,hw-tshut-mode = <1>;
527         rockchip,hw-tshut-polarity = <1>;
528         status = "okay";
529 };
530
531 &u2phy {
532         status = "okay";
533
534         u2phy_host: host-port {
535                 status = "okay";
536         };
537
538         u2phy_otg: otg-port {
539                 status = "okay";
540         };
541 };
542
543 &uart1 {
544         pinctrl-names = "default";
545         pinctrl-0 = <&uart1_xfer &uart1_cts>;
546         status = "okay";
547 };
548
549 &uart5 {
550         status = "okay";
551 };
552
553 &usb20_otg {
554         status = "okay";
555 };
556
557 &usb_host0_ehci {
558         status = "okay";
559 };
560
561 &usb_host0_ohci {
562         status = "okay";
563 };
564
565 &vopb {
566         status = "okay";
567 };
568
569 &vopb_mmu {
570         status = "okay";
571 };
572
573 &vopl {
574         status = "okay";
575 };
576
577 &vopl_mmu {
578         status = "okay";
579 };