Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / rockchip / rk3588s-indiedroid-nova.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3 /dts-v1/;
4
5 #include <dt-bindings/gpio/gpio.h>
6 #include <dt-bindings/input/linux-event-codes.h>
7 #include <dt-bindings/pinctrl/rockchip.h>
8 #include <dt-bindings/usb/pd.h>
9 #include "rk3588s.dtsi"
10
11 / {
12         model = "Indiedroid Nova";
13         compatible = "indiedroid,nova", "rockchip,rk3588s";
14
15         adc-keys-0 {
16                 compatible = "adc-keys";
17                 io-channel-names = "buttons";
18                 io-channels = <&saradc 0>;
19                 keyup-threshold-microvolt = <1800000>;
20                 poll-interval = <100>;
21
22                 button-boot {
23                         label = "boot";
24                         linux,code = <KEY_PROG1>;
25                         press-threshold-microvolt = <18000>;
26                 };
27         };
28
29         adc-keys-1 {
30                 compatible = "adc-keys";
31                 io-channel-names = "buttons";
32                 io-channels = <&saradc 1>;
33                 keyup-threshold-microvolt = <1800000>;
34                 poll-interval = <100>;
35
36                 button-recovery {
37                         label = "recovery";
38                         linux,code = <KEY_PROG2>;
39                         press-threshold-microvolt = <18000>;
40                 };
41         };
42
43         aliases {
44                 mmc0 = &sdhci;
45                 mmc1 = &sdmmc;
46                 mmc2 = &sdio;
47                 serial2 = &uart2;
48         };
49
50         chosen {
51                 stdout-path = "serial2:1500000n8";
52         };
53
54         sdio_pwrseq: sdio-pwrseq {
55                 compatible = "mmc-pwrseq-simple";
56                 clock-names = "ext_clock";
57                 clocks = <&rtc_hym8563>;
58                 pinctrl-0 = <&wifi_enable_h>;
59                 pinctrl-names = "default";
60                 post-power-on-delay-ms = <200>;
61                 reset-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_LOW>;
62         };
63
64         sound {
65                 compatible = "audio-graph-card";
66                 label = "rockchip,es8388-codec";
67                 widgets = "Microphone", "Mic Jack",
68                           "Headphone", "Headphones";
69                 routing = "LINPUT2", "Mic Jack",
70                           "Headphones", "LOUT1",
71                           "Headphones", "ROUT1";
72                 dais = <&i2s0_8ch_p0>;
73         };
74
75         vbus5v0_typec: vbus5v0-typec-regulator {
76                 compatible = "regulator-fixed";
77                 enable-active-high;
78                 gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
79                 pinctrl-0 = <&typec5v_pwren>;
80                 pinctrl-names = "default";
81                 regulator-name = "vbus5v0_typec";
82                 regulator-min-microvolt = <5000000>;
83                 regulator-max-microvolt = <5000000>;
84                 vin-supply = <&vcc5v0_usb>;
85         };
86
87         vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
88                 compatible = "regulator-fixed";
89                 regulator-always-on;
90                 regulator-boot-on;
91                 regulator-max-microvolt = <1100000>;
92                 regulator-min-microvolt = <1100000>;
93                 regulator-name = "vcc_1v1_nldo_s3";
94                 vin-supply = <&vcc5v0_sys>;
95         };
96
97         /* Regulator is enabled whenever vcc_1v8_s0 is above 1.6v */
98         vcc_3v3_s0: vcc-3v3-s0-regulator {
99                 compatible = "regulator-fixed";
100                 regulator-always-on;
101                 regulator-boot-on;
102                 regulator-max-microvolt = <3300000>;
103                 regulator-min-microvolt = <3300000>;
104                 regulator-name = "vcc_3v3_s0";
105                 vin-supply = <&vcc_3v3_s3>;
106
107                 regulator-state-mem {
108                         regulator-off-in-suspend;
109                 };
110         };
111
112         vcc5v0_sys: vcc5v0-sys-regulator {
113                 compatible = "regulator-fixed";
114                 regulator-always-on;
115                 regulator-boot-on;
116                 regulator-max-microvolt = <5000000>;
117                 regulator-min-microvolt = <5000000>;
118                 regulator-name = "vcc5v0_sys";
119         };
120
121         vcc5v0_usb: vcc5v0-usb-regulator {
122                 compatible = "regulator-fixed";
123                 regulator-always-on;
124                 regulator-boot-on;
125                 regulator-max-microvolt = <5000000>;
126                 regulator-min-microvolt = <5000000>;
127                 regulator-name = "vcc5v0_usb";
128                 vin-supply = <&vcc5v0_usbdcin>;
129         };
130
131         vcc5v0_usbdcin: vcc5v0-usbdcin-regulator {
132                 compatible = "regulator-fixed";
133                 regulator-always-on;
134                 regulator-boot-on;
135                 regulator-max-microvolt = <5000000>;
136                 regulator-min-microvolt = <5000000>;
137                 regulator-name = "vcc5v0_usbdcin";
138         };
139 };
140
141 &combphy0_ps {
142         status = "okay";
143 };
144
145 &cpu_l0 {
146         cpu-supply = <&vdd_cpu_lit_s0>;
147 };
148
149 &cpu_l1 {
150         cpu-supply = <&vdd_cpu_lit_s0>;
151 };
152
153 &cpu_l2 {
154         cpu-supply = <&vdd_cpu_lit_s0>;
155 };
156
157 &cpu_l3 {
158         cpu-supply = <&vdd_cpu_lit_s0>;
159 };
160
161 &cpu_b0 {
162         cpu-supply = <&vdd_cpu_big0_s0>;
163 };
164
165 &cpu_b1 {
166         cpu-supply = <&vdd_cpu_big0_s0>;
167 };
168
169 &cpu_b2 {
170         cpu-supply = <&vdd_cpu_big1_s0>;
171 };
172
173 &cpu_b3 {
174         cpu-supply = <&vdd_cpu_big1_s0>;
175 };
176
177 /*
178  * Add labels for each GPIO pin exposed on the 40 pin header. Note that
179  * voltage of each GPIO pin could be either 3.3v or 1.8v (as noted by
180  * label).
181  */
182 &gpio0 {
183         gpio-line-names = /* GPIO0 A0-A7 */
184                           "", "", "", "",
185                           "", "", "", "",
186                           /* GPIO0 B0-B7 */
187                           "", "", "", "",
188                           "", "", "", "",
189                           /* GPIO0 C0-C7 */
190                           "", "", "", "",
191                           "", "", "", "",
192                           /* GPIO0 D0-D7 */
193                           "HEADER_12_1v8", "", "", "HEADER_24_1v8",
194                           "", "", "", "";
195 };
196
197 &gpio1 {
198         gpio-line-names = /* GPIO1 A0-A7 */
199                           "HEADER_27_3v3", "HEADER_28_3v3", "", "",
200                           "HEADER_29_1v8", "", "HEADER_7_1v8", "",
201                           /* GPIO1 B0-B7 */
202                           "", "HEADER_31_1v8", "HEADER_33_1v8", "",
203                           "HEADER_11_1v8", "HEADER_13_1v8", "", "",
204                           /* GPIO1 C0-C7 */
205                           "", "", "", "",
206                           "", "", "", "",
207                           /* GPIO1 D0-D7 */
208                           "", "", "", "",
209                           "", "", "HEADER_5_3v3", "HEADER_3_3v3";
210 };
211
212 &gpio3 {
213         gpio-line-names = /* GPIO3 A0-A7 */
214                           "", "", "", "",
215                           "", "", "", "",
216                           /* GPIO3 B0-B7 */
217                           "HEADER_16_1v8", "HEADER_18_1v8", "", "",
218                           "", "", "", "HEADER_19_1v8",
219                           /* GPIO3 C0-C7 */
220                           "HEADER_21_1v8", "HEADER_23_1v8", "", "HEADER_26_1v8",
221                           "HEADER_15_1v8", "HEADER_22_1v8", "", "",
222                           /* GPIO3 D0-D7 */
223                           "", "", "", "",
224                           "", "", "", "";
225 };
226
227 &gpio4 {
228         gpio-line-names = /* GPIO4 A0-A7 */
229                           "", "", "HEADER_37_3v3", "HEADER_32_3v3",
230                           "HEADER_36_3v3", "", "HEADER_35_3v3", "HEADER_38_3v3",
231                           /* GPIO4 B0-B7 */
232                           "", "", "", "HEADER_40_3v3",
233                           "HEADER_8_3v3", "HEADER_10_3v3", "", "",
234                           /* GPIO4 C0-C7 */
235                           "", "", "", "",
236                           "", "", "", "",
237                           /* GPIO4 D0-D7 */
238                           "", "", "", "",
239                           "", "", "", "";
240 };
241
242 &i2c0 {
243         pinctrl-0 = <&i2c0m2_xfer>;
244         pinctrl-names = "default";
245         status = "okay";
246
247         vdd_cpu_big0_s0: regulator@42 {
248                 compatible = "rockchip,rk8602";
249                 reg = <0x42>;
250                 regulator-always-on;
251                 regulator-boot-on;
252                 regulator-max-microvolt = <1050000>;
253                 regulator-min-microvolt = <550000>;
254                 regulator-name = "vdd_cpu_big0_s0";
255                 regulator-ramp-delay = <2300>;
256                 fcs,suspend-voltage-selector = <1>;
257                 vin-supply = <&vcc5v0_sys>;
258
259                 regulator-state-mem {
260                         regulator-off-in-suspend;
261                 };
262         };
263
264         vdd_cpu_big1_s0: regulator@43 {
265                 compatible = "rockchip,rk8603", "rockchip,rk8602";
266                 reg = <0x43>;
267                 regulator-always-on;
268                 regulator-boot-on;
269                 regulator-max-microvolt = <1050000>;
270                 regulator-min-microvolt = <550000>;
271                 regulator-name = "vdd_cpu_big1_s0";
272                 regulator-ramp-delay = <2300>;
273                 fcs,suspend-voltage-selector = <1>;
274                 vin-supply = <&vcc5v0_sys>;
275
276                 regulator-state-mem {
277                         regulator-off-in-suspend;
278                 };
279         };
280 };
281
282 &i2c2 {
283         status = "okay";
284
285         vdd_npu_s0: regulator@42 {
286                 compatible = "rockchip,rk8602";
287                 reg = <0x42>;
288                 regulator-always-on;
289                 regulator-boot-on;
290                 regulator-max-microvolt = <950000>;
291                 regulator-min-microvolt = <550000>;
292                 regulator-name = "vdd_npu_s0";
293                 regulator-ramp-delay = <2300>;
294                 fcs,suspend-voltage-selector = <1>;
295                 vin-supply = <&vcc5v0_sys>;
296
297                 regulator-state-mem {
298                         regulator-off-in-suspend;
299                 };
300         };
301 };
302
303 &i2c6 {
304         pinctrl-0 = <&i2c6m3_xfer>;
305         status = "okay";
306
307         fusb302: typec-portc@22 {
308                 compatible = "fcs,fusb302";
309                 reg = <0x22>;
310                 interrupt-parent = <&gpio0>;
311                 interrupts = <RK_PC4 IRQ_TYPE_LEVEL_LOW>;
312                 pinctrl-0 = <&usbc0_int>;
313                 pinctrl-names = "default";
314                 vbus-supply = <&vbus5v0_typec>;
315
316                 connector {
317                         compatible = "usb-c-connector";
318                         data-role = "dual";
319                         label = "USB-C";
320                         power-role = "dual";
321                         try-power-role = "sink";
322                         source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
323                         sink-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
324                         op-sink-microwatt = <1000000>;
325                 };
326         };
327
328         rtc_hym8563: rtc@51 {
329                 compatible = "haoyu,hym8563";
330                 reg = <0x51>;
331                 #clock-cells = <0>;
332                 clock-output-names = "hym8563";
333                 interrupt-parent = <&gpio0>;
334                 interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
335                 pinctrl-0 = <&hym8563_int>;
336                 pinctrl-names = "default";
337                 wakeup-source;
338         };
339 };
340
341 &i2c7 {
342         pinctrl-0 = <&i2c7m0_xfer>;
343         status = "okay";
344
345         es8388: audio-codec@11 {
346                 compatible = "everest,es8388";
347                 reg = <0x11>;
348                 assigned-clock-rates = <12288000>;
349                 assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
350                 AVDD-supply = <&vcc_3v3_s3>;
351                 clock-names = "mclk";
352                 clocks = <&cru I2S0_8CH_MCLKOUT>;
353                 DVDD-supply = <&vcc_1v8_s3>;
354                 HPVDD-supply = <&vcc_3v3_s3>;
355                 PVDD-supply = <&vcc_1v8_s3>;
356                 #sound-dai-cells = <0>;
357
358                 port {
359                         es8388_p0_0: endpoint {
360                                 remote-endpoint = <&i2s0_8ch_p0_0>;
361                         };
362                 };
363         };
364 };
365
366 &i2s0_8ch {
367         pinctrl-names = "default";
368         pinctrl-0 = <&i2s0_lrck
369                      &i2s0_mclk
370                      &i2s0_sclk
371                      &i2s0_sdi0
372                      &i2s0_sdo0>;
373         status = "okay";
374
375         i2s0_8ch_p0: port {
376                 i2s0_8ch_p0_0: endpoint {
377                         dai-format = "i2s";
378                         mclk-fs = <256>;
379                         remote-endpoint = <&es8388_p0_0>;
380                 };
381         };
382 };
383
384 &pcie2x1l2 {
385         pinctrl-0 = <&rtl8111_perstb>;
386         pinctrl-names = "default";
387         status = "okay";
388 };
389
390 &pinctrl {
391         bluetooth-pins {
392                 bt_reset: bt-reset {
393                         rockchip,pins =
394                                 <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
395                 };
396
397                 bt_wake_dev: bt-wake-dev {
398                         rockchip,pins =
399                                 <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
400                 };
401
402                 bt_wake_host: bt-wake-host {
403                         rockchip,pins =
404                                 <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>;
405                 };
406         };
407
408         ethernet-pins {
409                 rtl8111_perstb: rtl8111-perstb {
410                         rockchip,pins = <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
411                 };
412         };
413
414         hym8563 {
415
416                 hym8563_int: hym8563-int {
417                         rockchip,pins =
418                                 <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
419                 };
420         };
421
422         sdio-pwrseq {
423                 wifi_enable_h: wifi-enable-h {
424                         rockchip,pins =
425                                 <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
426                 };
427         };
428
429         usb-typec {
430                 usbc0_int: usbc0-int {
431                         rockchip,pins =
432                                 <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>;
433                 };
434
435                 typec5v_pwren: typec5v-pwren {
436                         rockchip,pins =
437                                 <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
438                 };
439         };
440 };
441
442 &saradc {
443         vref-supply = <&vcca_1v8_s0>;
444         status = "okay";
445 };
446
447 /* HS400 modes seemed to cause io errors. */
448 &sdhci {
449         bus-width = <8>;
450         no-mmc-hs400;
451         no-sd;
452         no-sdio;
453         non-removable;
454         vmmc-supply = <&vcc_3v3_s0>;
455         vqmmc-supply = <&vcc_1v8_s3>;
456         status = "okay";
457 };
458
459 &sdio {
460         bus-width = <4>;
461         cap-sd-highspeed;
462         cap-sdio-irq;
463         disable-wp;
464         keep-power-in-suspend;
465         max-frequency = <100000000>;
466         mmc-pwrseq = <&sdio_pwrseq>;
467         no-mmc;
468         no-sd;
469         non-removable;
470         sd-uhs-sdr104;
471         vmmc-supply = <&vcc_3v3_s3>;
472         vqmmc-supply = <&vcc_1v8_s3>;
473         status = "okay";
474 };
475
476 &sdmmc {
477         bus-width = <4>;
478         cap-mmc-highspeed;
479         cap-sd-highspeed;
480         disable-wp;
481         no-sdio;
482         no-mmc;
483         sd-uhs-sdr104;
484         vmmc-supply = <&vcc_3v3_s3>;
485         vqmmc-supply = <&vccio_sd_s0>;
486         status = "okay";
487 };
488
489 &spi2 {
490         #address-cells = <1>;
491         assigned-clocks = <&cru CLK_SPI2>;
492         assigned-clock-rates = <200000000>;
493         num-cs = <1>;
494         pinctrl-0 = <&spi2m2_pins>, <&spi2m2_cs0>;
495         pinctrl-names = "default";
496         #size-cells = <0>;
497         status = "okay";
498
499         pmic@0 {
500                 compatible = "rockchip,rk806";
501                 reg = <0x0>;
502                 #gpio-cells = <2>;
503                 gpio-controller;
504                 interrupt-parent = <&gpio0>;
505                 interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
506                 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
507                             <&rk806_dvs2_null>, <&rk806_dvs3_null>;
508                 pinctrl-names = "default";
509                 spi-max-frequency = <1000000>;
510
511                 vcc1-supply = <&vcc5v0_sys>;
512                 vcc2-supply = <&vcc5v0_sys>;
513                 vcc3-supply = <&vcc5v0_sys>;
514                 vcc4-supply = <&vcc5v0_sys>;
515                 vcc5-supply = <&vcc5v0_sys>;
516                 vcc6-supply = <&vcc5v0_sys>;
517                 vcc7-supply = <&vcc5v0_sys>;
518                 vcc8-supply = <&vcc5v0_sys>;
519                 vcc9-supply = <&vcc5v0_sys>;
520                 vcc10-supply = <&vcc5v0_sys>;
521                 vcc11-supply = <&vcc_2v0_pldo_s3>;
522                 vcc12-supply = <&vcc5v0_sys>;
523                 vcc13-supply = <&vcc_1v1_nldo_s3>;
524                 vcc14-supply = <&vcc_1v1_nldo_s3>;
525                 vcca-supply = <&vcc5v0_sys>;
526
527                 rk806_dvs1_null: dvs1-null-pins {
528                         pins = "gpio_pwrctrl2";
529                         function = "pin_fun0";
530                 };
531
532                 rk806_dvs2_null: dvs2-null-pins {
533                         pins = "gpio_pwrctrl2";
534                         function = "pin_fun0";
535                 };
536
537                 rk806_dvs3_null: dvs3-null-pins {
538                         pins = "gpio_pwrctrl3";
539                         function = "pin_fun0";
540                 };
541
542                 regulators {
543                         vdd_gpu_s0: dcdc-reg1 {
544                                 regulator-boot-on;
545                                 regulator-enable-ramp-delay = <400>;
546                                 regulator-max-microvolt = <950000>;
547                                 regulator-min-microvolt = <550000>;
548                                 regulator-name = "vdd_gpu_s0";
549                                 regulator-ramp-delay = <12500>;
550                                 regulator-state-mem {
551                                         regulator-off-in-suspend;
552                                 };
553                         };
554
555                         vdd_cpu_lit_s0: dcdc-reg2 {
556                                 regulator-always-on;
557                                 regulator-boot-on;
558                                 regulator-max-microvolt = <950000>;
559                                 regulator-min-microvolt = <550000>;
560                                 regulator-ramp-delay = <12500>;
561                                 regulator-name = "vdd_cpu_lit_s0";
562                                 regulator-state-mem {
563                                         regulator-off-in-suspend;
564                                 };
565                         };
566
567                         vdd_logic_s0: dcdc-reg3 {
568                                 regulator-always-on;
569                                 regulator-boot-on;
570                                 regulator-max-microvolt = <750000>;
571                                 regulator-min-microvolt = <675000>;
572                                 regulator-name = "vdd_logic_s0";
573                                 regulator-ramp-delay = <12500>;
574                                 regulator-state-mem {
575                                         regulator-on-in-suspend;
576                                         regulator-suspend-microvolt = <750000>;
577                                 };
578                         };
579
580                         vdd_vdenc_s0: dcdc-reg4 {
581                                 regulator-always-on;
582                                 regulator-boot-on;
583                                 regulator-max-microvolt = <950000>;
584                                 regulator-min-microvolt = <550000>;
585                                 regulator-name = "vdd_vdenc_s0";
586                                 regulator-ramp-delay = <12500>;
587                                 regulator-state-mem {
588                                         regulator-off-in-suspend;
589                                 };
590                         };
591
592                         vdd_ddr_s0: dcdc-reg5 {
593                                 regulator-always-on;
594                                 regulator-boot-on;
595                                 regulator-min-microvolt = <750000>;
596                                 regulator-max-microvolt = <850000>;
597                                 regulator-ramp-delay = <12500>;
598                                 regulator-name = "vdd_ddr_s0";
599                                 regulator-state-mem {
600                                         regulator-off-in-suspend;
601                                         regulator-suspend-microvolt = <850000>;
602                                 };
603                         };
604
605                         vdd2_ddr_s3: dcdc-reg6 {
606                                 regulator-always-on;
607                                 regulator-boot-on;
608                                 regulator-max-microvolt = <1100000>;
609                                 regulator-min-microvolt = <1100000>;
610                                 regulator-name = "vdd2_ddr_s3";
611                                 regulator-state-mem {
612                                         regulator-on-in-suspend;
613                                 };
614                         };
615
616                         vcc_2v0_pldo_s3: dcdc-reg7 {
617                                 regulator-always-on;
618                                 regulator-boot-on;
619                                 regulator-max-microvolt = <2000000>;
620                                 regulator-min-microvolt = <2000000>;
621                                 regulator-name = "vdd_2v0_pldo_s3";
622                                 regulator-state-mem {
623                                         regulator-on-in-suspend;
624                                         regulator-suspend-microvolt = <2000000>;
625                                 };
626                         };
627
628                         vcc_3v3_s3: dcdc-reg8 {
629                                 regulator-always-on;
630                                 regulator-boot-on;
631                                 regulator-max-microvolt = <3300000>;
632                                 regulator-min-microvolt = <3300000>;
633                                 regulator-name = "vcc_3v3_s3";
634                                 regulator-state-mem {
635                                         regulator-on-in-suspend;
636                                         regulator-suspend-microvolt = <3300000>;
637                                 };
638                         };
639
640                         vddq_ddr_s0: dcdc-reg9 {
641                                 regulator-always-on;
642                                 regulator-boot-on;
643                                 regulator-max-microvolt = <600000>;
644                                 regulator-min-microvolt = <600000>;
645                                 regulator-name = "vddq_ddr_s0";
646                                 regulator-state-mem {
647                                         regulator-off-in-suspend;
648                                 };
649                         };
650
651                         vcc_1v8_s3: dcdc-reg10 {
652                                 regulator-always-on;
653                                 regulator-boot-on;
654                                 regulator-max-microvolt = <1800000>;
655                                 regulator-min-microvolt = <1800000>;
656                                 regulator-name = "vcc_1v8_s3";
657                                 regulator-state-mem {
658                                         regulator-on-in-suspend;
659                                         regulator-suspend-microvolt = <1800000>;
660                                 };
661                         };
662
663                         vcc_1v8_s0: pldo-reg1 {
664                                 regulator-always-on;
665                                 regulator-boot-on;
666                                 regulator-max-microvolt = <1800000>;
667                                 regulator-min-microvolt = <1800000>;
668                                 regulator-name = "vcc_1v8_s0";
669                                 regulator-state-mem {
670                                         regulator-off-in-suspend;
671                                 };
672                         };
673
674                         vcca_1v8_s0: pldo-reg2 {
675                                 regulator-always-on;
676                                 regulator-boot-on;
677                                 regulator-max-microvolt = <1800000>;
678                                 regulator-min-microvolt = <1800000>;
679                                 regulator-name = "vcca_1v8_s0";
680                                 regulator-state-mem {
681                                         regulator-off-in-suspend;
682                                         regulator-suspend-microvolt = <1800000>;
683                                 };
684                         };
685
686                         vdda_1v2_s0: pldo-reg3 {
687                                 regulator-always-on;
688                                 regulator-boot-on;
689                                 regulator-max-microvolt = <1200000>;
690                                 regulator-min-microvolt = <1200000>;
691                                 regulator-name = "vdda_1v2_s0";
692                                 regulator-state-mem {
693                                         regulator-off-in-suspend;
694                                 };
695                         };
696
697                         vcca_3v3_s0: pldo-reg4 {
698                                 regulator-always-on;
699                                 regulator-boot-on;
700                                 regulator-max-microvolt = <3300000>;
701                                 regulator-min-microvolt = <3300000>;
702                                 regulator-name = "vcca_3v3_s0";
703                                 regulator-state-mem {
704                                         regulator-off-in-suspend;
705                                 };
706                         };
707
708                         vccio_sd_s0: pldo-reg5 {
709                                 regulator-always-on;
710                                 regulator-boot-on;
711                                 regulator-max-microvolt = <3300000>;
712                                 regulator-min-microvolt = <1800000>;
713                                 regulator-name = "vccio_sd_s0";
714                                 regulator-state-mem {
715                                         regulator-off-in-suspend;
716                                 };
717                         };
718
719                         vcc_1v8_s3_pldo6: pldo-reg6 {
720                                 regulator-always-on;
721                                 regulator-boot-on;
722                                 regulator-max-microvolt = <1800000>;
723                                 regulator-min-microvolt = <1800000>;
724                                 regulator-name = "vcc_1v8_s3_pldo6";
725                                 regulator-state-mem {
726                                         regulator-on-in-suspend;
727                                         regulator-suspend-microvolt = <1800000>;
728                                 };
729                         };
730
731                         vdd_0v75_s3: nldo-reg1 {
732                                 regulator-always-on;
733                                 regulator-boot-on;
734                                 regulator-max-microvolt = <750000>;
735                                 regulator-min-microvolt = <750000>;
736                                 regulator-name = "vdd_0v75_s3";
737                                 regulator-state-mem {
738                                         regulator-on-in-suspend;
739                                         regulator-suspend-microvolt = <750000>;
740                                 };
741                         };
742
743                         vdda_ddr_pll_s0: nldo-reg2 {
744                                 regulator-always-on;
745                                 regulator-boot-on;
746                                 regulator-max-microvolt = <850000>;
747                                 regulator-min-microvolt = <850000>;
748                                 regulator-name = "vdda_ddr_pll_s0";
749                                 regulator-state-mem {
750                                         regulator-off-in-suspend;
751                                         regulator-suspend-microvolt = <850000>;
752                                 };
753                         };
754
755                         avdd_0v75_s0: nldo-reg3 {
756                                 regulator-always-on;
757                                 regulator-boot-on;
758                                 regulator-max-microvolt = <750000>;
759                                 regulator-min-microvolt = <750000>;
760                                 regulator-name = "avdd_0v75_s0";
761                                 regulator-state-mem {
762                                         regulator-off-in-suspend;
763                                 };
764                         };
765
766                         vdda_0v85_s0: nldo-reg4 {
767                                 regulator-always-on;
768                                 regulator-boot-on;
769                                 regulator-min-microvolt = <850000>;
770                                 regulator-max-microvolt = <850000>;
771                                 regulator-name = "vdda_0v85_s0";
772                                 regulator-state-mem {
773                                         regulator-off-in-suspend;
774                                 };
775                         };
776
777                         /* Schematics show not in use */
778                         nldo-reg5 {
779                         };
780                 };
781         };
782 };
783
784 &tsadc {
785         status = "okay";
786 };
787
788 &u2phy2 {
789         status = "okay";
790 };
791
792 &u2phy2_host {
793         phy-supply = <&vcc5v0_usb>;
794         status = "okay";
795 };
796
797 &u2phy3 {
798         status = "okay";
799 };
800
801 &u2phy3_host {
802         phy-supply = <&vcc5v0_usb>;
803         status = "okay";
804 };
805
806 &uart2 {
807         pinctrl-0 = <&uart2m0_xfer>;
808         status = "okay";
809 };
810
811 /* DMA seems to interfere with bluetooth device normal operation. */
812 &uart9 {
813         pinctrl-0 = <&uart9m2_xfer>, <&uart9m2_ctsn>, <&uart9m2_rtsn>;
814         pinctrl-names = "default";
815         /delete-property/ dma-names;
816         /delete-property/ dmas;
817         uart-has-rtscts;
818         status = "okay";
819
820         bluetooth {
821                 compatible = "realtek,rtl8821cs-bt",
822                              "realtek,rtl8723bs-bt";
823                 device-wake-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
824                 enable-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
825                 host-wake-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
826                 pinctrl-0 = <&bt_reset>, <&bt_wake_dev>, <&bt_wake_host>;
827                 pinctrl-names = "default";
828         };
829 };
830
831 &usb_host0_ehci {
832         status = "okay";
833 };
834
835 &usb_host0_ohci {
836         status = "okay";
837 };
838
839 &usb_host1_ehci {
840         status = "okay";
841 };
842
843 &usb_host1_ohci {
844         status = "okay";
845 };