1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 #include <dt-bindings/gpio/gpio.h>
4 #include <dt-bindings/input/gpio-keys.h>
5 #include <dt-bindings/input/input.h>
6 #include <dt-bindings/leds/common.h>
7 #include <dt-bindings/pinctrl/rockchip.h>
17 stdout-path = "serial2:1500000n8";
21 compatible = "adc-keys";
22 io-channels = <&saradc 0>;
23 io-channel-names = "buttons";
24 keyup-threshold-microvolt = <1750000>;
28 linux,code = <KEY_VENDOR>;
29 press-threshold-microvolt = <0>;
33 spk_amp: audio-amplifier {
34 compatible = "simple-audio-amplifier";
35 enable-gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
36 pinctrl-0 = <&spk_amp_enable_h>;
37 pinctrl-names = "default";
38 sound-name-prefix = "Speaker Amp";
41 dmic_codec: dmic-codec {
42 compatible = "dmic-codec";
44 #sound-dai-cells = <0>;
48 compatible = "gpio-keys";
49 pinctrl-0 = <&hall_int_l>;
50 pinctrl-names = "default";
54 gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_LOW>;
55 linux,input-type = <EV_SW>;
56 linux,code = <SW_MACHINE_COVER>;
58 wakeup-event-action = <EV_ACT_DEASSERTED>;
64 compatible = "gpio-leds";
65 pinctrl-0 = <&led_pin>;
66 pinctrl-names = "default";
69 color = <LED_COLOR_ID_WHITE>;
70 function = LED_FUNCTION_CHARGING;
71 gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
75 sdio_pwrseq: sdio-pwrseq {
76 compatible = "mmc-pwrseq-simple";
78 clock-names = "ext_clock";
79 pinctrl-0 = <&wifi_enable_h>;
80 pinctrl-names = "default";
81 reset-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_LOW>;
85 compatible = "simple-audio-card";
86 simple-audio-card,name = "PineNote";
87 simple-audio-card,aux-devs = <&spk_amp>;
88 simple-audio-card,widgets = "Headphone", "Headphones",
89 "Speaker", "Internal Speakers";
90 simple-audio-card,routing = "Headphones", "HPOL",
92 "Internal Speakers", "Speaker Amp OUTL",
93 "Internal Speakers", "Speaker Amp OUTR",
94 "Speaker Amp INL", "HPOL",
95 "Speaker Amp INR", "HPOR";
96 simple-audio-card,pin-switches = "Internal Speakers";
100 simple-audio-card,dai-link@0 {
102 bitclock-master = <&link0_cpu>;
104 frame-master = <&link0_cpu>;
108 sound-dai = <&i2s1_8ch>;
112 sound-dai = <&rk817>;
116 simple-audio-card,dai-link@1 {
118 bitclock-master = <&link1_cpu>;
120 frame-master = <&link1_cpu>;
127 sound-dai = <&dmic_codec>;
133 compatible = "regulator-fixed";
134 regulator-name = "vbat_4g";
135 regulator-min-microvolt = <3800000>;
136 regulator-max-microvolt = <3800000>;
137 /* powered by vcc_bat, enabled by vbat_4g_en */
138 vin-supply = <&vbat_4g_en>;
142 compatible = "regulator-fixed";
143 regulator-name = "vcc_1v8";
145 regulator-min-microvolt = <1800000>;
146 regulator-max-microvolt = <1800000>;
147 /* powered by vcc_sys, enabled by vcc_1v8_en */
148 vin-supply = <&vcc_1v8_en>;
152 compatible = "regulator-fixed";
153 regulator-name = "vcc_bat";
155 regulator-min-microvolt = <3800000>;
156 regulator-max-microvolt = <3800000>;
159 vcc_hall_3v3: vcc-hall-3v3 {
160 compatible = "regulator-fixed";
161 regulator-name = "vcc_hall_3v3";
163 regulator-min-microvolt = <3300000>;
164 regulator-max-microvolt = <3300000>;
165 vin-supply = <&vcc_sys>;
169 compatible = "regulator-fixed";
170 regulator-name = "vcc_sys";
172 regulator-min-microvolt = <3800000>;
173 regulator-max-microvolt = <3800000>;
174 vin-supply = <&vcc_bat>;
178 compatible = "regulator-fixed";
180 gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
181 pinctrl-0 = <&vcc_wl_pin>;
182 pinctrl-names = "default";
183 regulator-name = "vcc_wl";
184 regulator-min-microvolt = <3300000>;
185 regulator-max-microvolt = <3300000>;
186 vin-supply = <&vcc_bat>;
190 compatible = "regulator-fixed";
191 regulator-name = "vdda_0v9";
193 regulator-min-microvolt = <900000>;
194 regulator-max-microvolt = <900000>;
195 /* powered by vcc_sys, enabled by vcc_1v8_en */
196 vin-supply = <&vcc_1v8_en>;
201 cpu-supply = <&vdd_cpu>;
205 cpu-supply = <&vdd_cpu>;
209 cpu-supply = <&vdd_cpu>;
213 cpu-supply = <&vdd_cpu>;
219 vdd_cpu: regulator@1c {
220 compatible = "tcs,tcs4525";
222 fcs,suspend-voltage-selector = <0>;
223 regulator-name = "vdd_cpu";
224 regulator-min-microvolt = <712500>;
225 regulator-max-microvolt = <1390000>;
226 regulator-ramp-delay = <2300>;
228 vin-supply = <&vcc_sys>;
230 regulator-state-mem {
231 regulator-on-in-suspend;
236 compatible = "rockchip,rk817";
238 interrupt-parent = <&gpio0>;
239 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
240 assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
241 assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
242 clocks = <&cru I2S1_MCLKOUT_TX>;
243 clock-names = "mclk";
245 pinctrl-0 = <&i2s1m0_mclk>, <&pmic_int_l>, <&pmic_sleep>;
246 pinctrl-names = "default";
247 rockchip,system-power-controller;
248 #sound-dai-cells = <0>;
251 vcc1-supply = <&vcc_sys>;
252 vcc2-supply = <&vcc_sys>;
253 vcc3-supply = <&vcc_sys>;
254 vcc4-supply = <&vcc_sys>;
255 vcc5-supply = <&vcc_sys>;
256 vcc6-supply = <&vcc_sys>;
257 vcc7-supply = <&vcc_sys>;
258 vcc8-supply = <&vcc_sys>;
259 vcc9-supply = <&dcdc_boost>;
262 vdd_logic: DCDC_REG1 {
263 regulator-name = "vdd_logic";
265 regulator-min-microvolt = <500000>;
266 regulator-max-microvolt = <1350000>;
267 regulator-ramp-delay = <6001>;
268 regulator-initial-mode = <0x2>;
270 regulator-state-mem {
271 regulator-off-in-suspend;
272 regulator-suspend-microvolt = <900000>;
276 vdd_gpu_npu: DCDC_REG2 {
277 regulator-name = "vdd_gpu_npu";
278 regulator-min-microvolt = <500000>;
279 regulator-max-microvolt = <1350000>;
280 regulator-ramp-delay = <6001>;
281 regulator-initial-mode = <0x2>;
283 regulator-state-mem {
284 regulator-off-in-suspend;
289 regulator-name = "vcc_ddr";
291 regulator-initial-mode = <0x2>;
293 regulator-state-mem {
294 regulator-on-in-suspend;
299 regulator-name = "vcc_3v3";
301 regulator-min-microvolt = <3300000>;
302 regulator-max-microvolt = <3300000>;
303 regulator-initial-mode = <0x2>;
305 regulator-state-mem {
306 regulator-off-in-suspend;
310 vcca_1v8_pmu: LDO_REG1 {
311 regulator-name = "vcca_1v8_pmu";
313 regulator-min-microvolt = <1800000>;
314 regulator-max-microvolt = <1800000>;
316 regulator-state-mem {
317 regulator-on-in-suspend;
322 vdda_0v9_ldo: LDO_REG2 {
323 regulator-name = "vdda_0v9_ldo";
324 regulator-min-microvolt = <900000>;
325 regulator-max-microvolt = <900000>;
327 regulator-state-mem {
328 regulator-off-in-suspend;
332 vdda_0v9_pmu: LDO_REG3 {
333 regulator-name = "vdda_0v9_pmu";
335 regulator-min-microvolt = <900000>;
336 regulator-max-microvolt = <900000>;
338 regulator-state-mem {
339 regulator-on-in-suspend;
343 vccio_acodec: LDO_REG4 {
344 regulator-name = "vccio_acodec";
346 regulator-min-microvolt = <3300000>;
347 regulator-max-microvolt = <3300000>;
349 regulator-state-mem {
350 regulator-off-in-suspend;
356 regulator-name = "vccio_sd";
357 regulator-min-microvolt = <1800000>;
358 regulator-max-microvolt = <3300000>;
360 regulator-state-mem {
361 regulator-off-in-suspend;
365 vcc_3v3_pmu: LDO_REG6 {
366 regulator-name = "vcc_3v3_pmu";
368 regulator-min-microvolt = <3300000>;
369 regulator-max-microvolt = <3300000>;
371 regulator-state-mem {
372 regulator-on-in-suspend;
376 vcc_1v8_en: LDO_REG7 {
377 regulator-name = "vcc_1v8_en";
378 regulator-min-microvolt = <1800000>;
379 regulator-max-microvolt = <1800000>;
381 regulator-state-mem {
382 regulator-off-in-suspend;
386 vbat_4g_en: LDO_REG8 {
387 regulator-name = "vbat_4g_en";
388 regulator-min-microvolt = <1800000>;
389 regulator-max-microvolt = <1800000>;
391 regulator-state-mem {
392 regulator-off-in-suspend;
396 sleep_sta_ctl: LDO_REG9 {
397 regulator-name = "sleep_sta_ctl";
398 regulator-min-microvolt = <1800000>;
399 regulator-max-microvolt = <1800000>;
401 regulator-state-mem {
402 regulator-on-in-suspend;
407 regulator-name = "boost";
408 regulator-min-microvolt = <5000000>;
409 regulator-max-microvolt = <5000000>;
411 regulator-state-mem {
412 regulator-off-in-suspend;
416 otg_switch: OTG_SWITCH {
417 regulator-name = "otg_switch";
419 regulator-state-mem {
420 regulator-off-in-suspend;
431 compatible = "wacom,w9013", "hid-over-i2c";
433 interrupt-parent = <&gpio0>;
434 interrupts = <RK_PB6 IRQ_TYPE_LEVEL_LOW>;
435 hid-descr-addr = <0x1>;
436 pinctrl-0 = <&pen_fwe>, <&pen_irq_l>, <&pen_rst_l>;
437 pinctrl-names = "default";
438 vdd-supply = <&vcc_3v3_pmu>;
443 pinctrl-0 = <&i2c3m1_xfer>;
447 compatible = "ti,lm3630a";
449 enable-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
450 pinctrl-0 = <&backlight_hwen_h>;
451 pinctrl-names = "default";
452 #address-cells = <1>;
457 label = "backlight_cool";
458 default-brightness = <0>;
463 label = "backlight_warm";
464 default-brightness = <0>;
469 compatible = "willsemi,wusb3801";
471 interrupt-parent = <&gpio0>;
472 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
473 pinctrl-0 = <&tcpc_int_l>;
474 pinctrl-names = "default";
477 compatible = "usb-c-connector";
479 vbus-supply = <&otg_switch>;
481 try-power-role = "sink";
483 typec-power-opmode = "default";
487 #address-cells = <0x1>;
493 typec_hs_usb2phy0: endpoint {
494 remote-endpoint = <&usb2phy0_typec_hs>;
506 compatible = "silan,sc7a20";
508 interrupt-parent = <&gpio3>;
509 interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
510 pinctrl-0 = <&accelerometer_int_l>;
511 pinctrl-names = "default";
512 st,drdy-int-pin = <1>;
513 vdd-supply = <&vcc_3v3>;
514 vddio-supply = <&vcc_3v3>;
519 pinctrl-0 = <&i2s1m0_lrcktx>, <&i2s1m0_sclktx>, <&i2s1m0_sdi0>, <&i2s1m0_sdo0>;
520 rockchip,trcm-sync-tx-only;
525 pinctrl-0 = <&pdmm0_clk1>, <&pdmm0_sdi1>, <&pdmm0_sdi2>;
526 /* microphones are on channels 1 and 2 */
527 rockchip,path-map = <1>, <2>, <0>, <3>;
533 accelerometer_int_l: accelerometer-int-l {
534 rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
539 spk_amp_enable_h: spk-amp-enable-h {
540 rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
545 backlight_hwen_h: backlight-hwen-h {
546 rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
551 bt_enable_h: bt-enable-h {
552 rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
555 bt_host_wake_l: bt-host-wake-l {
556 rockchip,pins = <0 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up>;
559 bt_wake_h: bt-wake-h {
560 rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
566 rockchip,pins = <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
571 hall_int_l: hall-int-l {
572 rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
578 rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_down>;
581 pen_irq_l: pen-irq-l {
582 rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
585 pen_rst_l: pen-rst-l {
586 rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
591 pmic_int_l: pmic-int-l {
592 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
595 pmic_sleep: pmic-sleep {
596 rockchip,pins = <0 RK_PA2 1 &pcfg_pull_none>;
601 wifi_enable_h: wifi-enable-h {
602 rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
607 tcpc_int_l: tcpc-int-l {
608 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
613 vcc_wl_pin: vcc-wl-pin {
614 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
619 wifi_host_wake_l: wifi-host-wake-l {
620 rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
626 pmuio1-supply = <&vcc_3v3_pmu>;
627 pmuio2-supply = <&vcc_3v3_pmu>;
628 vccio1-supply = <&vccio_acodec>;
629 vccio2-supply = <&vcc_1v8>;
630 vccio3-supply = <&vcc_3v3>;
631 vccio4-supply = <&vcca_1v8_pmu>;
632 vccio5-supply = <&vcc_3v3>;
633 vccio6-supply = <&vcc_3v3>;
638 vref-supply = <&vcc_1v8>;
646 pinctrl-0 = <&emmc_bus8>, <&emmc_clk>, <&emmc_cmd>, <&emmc_datastrobe>, <&emmc_rstnout>;
647 pinctrl-names = "default";
648 vmmc-supply = <&vcc_3v3>;
649 vqmmc-supply = <&vcc_1v8>;
657 keep-power-in-suspend;
658 mmc-pwrseq = <&sdio_pwrseq>;
660 pinctrl-0 = <&sdmmc1_bus4>, <&sdmmc1_clk>, <&sdmmc1_cmd>;
661 pinctrl-names = "default";
663 vmmc-supply = <&vcc_wl>;
664 vqmmc-supply = <&vcca_1v8_pmu>;
669 /* tshut mode 0:CRU 1:GPIO */
670 rockchip,hw-tshut-mode = <1>;
671 /* tshut polarity 0:LOW 1:HIGH */
672 rockchip,hw-tshut-polarity = <0>;
677 pinctrl-0 = <&uart1m0_ctsn>, <&uart1m0_rtsn>, <&uart1m0_xfer>;
678 pinctrl-names = "default";
683 compatible = "brcm,bcm43438-bt";
686 device-wake-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>;
687 host-wake-gpios = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>;
688 reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
689 pinctrl-0 = <&bt_enable_h>, <&bt_host_wake_l>, <&bt_wake_h>;
690 pinctrl-names = "default";
691 vbat-supply = <&vcc_wl>;
692 vddio-supply = <&vcca_1v8_pmu>;
713 usb2phy0_typec_hs: endpoint {
714 remote-endpoint = <&typec_hs_usb2phy0>;