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