162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 462306a36Sopenharmony_ci#include <dt-bindings/input/gpio-keys.h> 562306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 662306a36Sopenharmony_ci#include <dt-bindings/leds/common.h> 762306a36Sopenharmony_ci#include <dt-bindings/pinctrl/rockchip.h> 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include "rk3566.dtsi" 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/ { 1262306a36Sopenharmony_ci aliases { 1362306a36Sopenharmony_ci mmc0 = &sdhci; 1462306a36Sopenharmony_ci }; 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci chosen { 1762306a36Sopenharmony_ci stdout-path = "serial2:1500000n8"; 1862306a36Sopenharmony_ci }; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci adc-keys { 2162306a36Sopenharmony_ci compatible = "adc-keys"; 2262306a36Sopenharmony_ci io-channels = <&saradc 0>; 2362306a36Sopenharmony_ci io-channel-names = "buttons"; 2462306a36Sopenharmony_ci keyup-threshold-microvolt = <1750000>; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci button-recovery { 2762306a36Sopenharmony_ci label = "recovery"; 2862306a36Sopenharmony_ci linux,code = <KEY_VENDOR>; 2962306a36Sopenharmony_ci press-threshold-microvolt = <0>; 3062306a36Sopenharmony_ci }; 3162306a36Sopenharmony_ci }; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci spk_amp: audio-amplifier { 3462306a36Sopenharmony_ci compatible = "simple-audio-amplifier"; 3562306a36Sopenharmony_ci enable-gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>; 3662306a36Sopenharmony_ci pinctrl-0 = <&spk_amp_enable_h>; 3762306a36Sopenharmony_ci pinctrl-names = "default"; 3862306a36Sopenharmony_ci sound-name-prefix = "Speaker Amp"; 3962306a36Sopenharmony_ci }; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci dmic_codec: dmic-codec { 4262306a36Sopenharmony_ci compatible = "dmic-codec"; 4362306a36Sopenharmony_ci num-channels = <6>; 4462306a36Sopenharmony_ci #sound-dai-cells = <0>; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci gpio-keys { 4862306a36Sopenharmony_ci compatible = "gpio-keys"; 4962306a36Sopenharmony_ci pinctrl-0 = <&hall_int_l>; 5062306a36Sopenharmony_ci pinctrl-names = "default"; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci switch-cover { 5362306a36Sopenharmony_ci label = "cover"; 5462306a36Sopenharmony_ci gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_LOW>; 5562306a36Sopenharmony_ci linux,input-type = <EV_SW>; 5662306a36Sopenharmony_ci linux,code = <SW_MACHINE_COVER>; 5762306a36Sopenharmony_ci linux,can-disable; 5862306a36Sopenharmony_ci wakeup-event-action = <EV_ACT_DEASSERTED>; 5962306a36Sopenharmony_ci wakeup-source; 6062306a36Sopenharmony_ci }; 6162306a36Sopenharmony_ci }; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci gpio-leds { 6462306a36Sopenharmony_ci compatible = "gpio-leds"; 6562306a36Sopenharmony_ci pinctrl-0 = <&led_pin>; 6662306a36Sopenharmony_ci pinctrl-names = "default"; 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci led-0 { 6962306a36Sopenharmony_ci color = <LED_COLOR_ID_WHITE>; 7062306a36Sopenharmony_ci function = LED_FUNCTION_CHARGING; 7162306a36Sopenharmony_ci gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>; 7262306a36Sopenharmony_ci }; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci sdio_pwrseq: sdio-pwrseq { 7662306a36Sopenharmony_ci compatible = "mmc-pwrseq-simple"; 7762306a36Sopenharmony_ci clocks = <&rk817 1>; 7862306a36Sopenharmony_ci clock-names = "ext_clock"; 7962306a36Sopenharmony_ci pinctrl-0 = <&wifi_enable_h>; 8062306a36Sopenharmony_ci pinctrl-names = "default"; 8162306a36Sopenharmony_ci reset-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_LOW>; 8262306a36Sopenharmony_ci }; 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci sound { 8562306a36Sopenharmony_ci compatible = "simple-audio-card"; 8662306a36Sopenharmony_ci simple-audio-card,name = "PineNote"; 8762306a36Sopenharmony_ci simple-audio-card,aux-devs = <&spk_amp>; 8862306a36Sopenharmony_ci simple-audio-card,widgets = "Headphone", "Headphones", 8962306a36Sopenharmony_ci "Speaker", "Internal Speakers"; 9062306a36Sopenharmony_ci simple-audio-card,routing = "Headphones", "HPOL", 9162306a36Sopenharmony_ci "Headphones", "HPOR", 9262306a36Sopenharmony_ci "Internal Speakers", "Speaker Amp OUTL", 9362306a36Sopenharmony_ci "Internal Speakers", "Speaker Amp OUTR", 9462306a36Sopenharmony_ci "Speaker Amp INL", "HPOL", 9562306a36Sopenharmony_ci "Speaker Amp INR", "HPOR"; 9662306a36Sopenharmony_ci simple-audio-card,pin-switches = "Internal Speakers"; 9762306a36Sopenharmony_ci #address-cells = <1>; 9862306a36Sopenharmony_ci #size-cells = <0>; 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci simple-audio-card,dai-link@0 { 10162306a36Sopenharmony_ci reg = <0>; 10262306a36Sopenharmony_ci bitclock-master = <&link0_cpu>; 10362306a36Sopenharmony_ci format = "i2s"; 10462306a36Sopenharmony_ci frame-master = <&link0_cpu>; 10562306a36Sopenharmony_ci mclk-fs = <256>; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci link0_cpu: cpu { 10862306a36Sopenharmony_ci sound-dai = <&i2s1_8ch>; 10962306a36Sopenharmony_ci }; 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci link0_codec: codec { 11262306a36Sopenharmony_ci sound-dai = <&rk817>; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci }; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci simple-audio-card,dai-link@1 { 11762306a36Sopenharmony_ci reg = <1>; 11862306a36Sopenharmony_ci bitclock-master = <&link1_cpu>; 11962306a36Sopenharmony_ci format = "pdm"; 12062306a36Sopenharmony_ci frame-master = <&link1_cpu>; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci link1_cpu: cpu { 12362306a36Sopenharmony_ci sound-dai = <&pdm>; 12462306a36Sopenharmony_ci }; 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ci link1_codec: codec { 12762306a36Sopenharmony_ci sound-dai = <&dmic_codec>; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci }; 13062306a36Sopenharmony_ci }; 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci vbat_4g: vbat-4g { 13362306a36Sopenharmony_ci compatible = "regulator-fixed"; 13462306a36Sopenharmony_ci regulator-name = "vbat_4g"; 13562306a36Sopenharmony_ci regulator-min-microvolt = <3800000>; 13662306a36Sopenharmony_ci regulator-max-microvolt = <3800000>; 13762306a36Sopenharmony_ci /* powered by vcc_bat, enabled by vbat_4g_en */ 13862306a36Sopenharmony_ci vin-supply = <&vbat_4g_en>; 13962306a36Sopenharmony_ci }; 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci vcc_1v8: vcc-1v8 { 14262306a36Sopenharmony_ci compatible = "regulator-fixed"; 14362306a36Sopenharmony_ci regulator-name = "vcc_1v8"; 14462306a36Sopenharmony_ci regulator-always-on; 14562306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 14662306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 14762306a36Sopenharmony_ci /* powered by vcc_sys, enabled by vcc_1v8_en */ 14862306a36Sopenharmony_ci vin-supply = <&vcc_1v8_en>; 14962306a36Sopenharmony_ci }; 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci vcc_bat: vcc-bat { 15262306a36Sopenharmony_ci compatible = "regulator-fixed"; 15362306a36Sopenharmony_ci regulator-name = "vcc_bat"; 15462306a36Sopenharmony_ci regulator-always-on; 15562306a36Sopenharmony_ci regulator-min-microvolt = <3800000>; 15662306a36Sopenharmony_ci regulator-max-microvolt = <3800000>; 15762306a36Sopenharmony_ci }; 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci vcc_hall_3v3: vcc-hall-3v3 { 16062306a36Sopenharmony_ci compatible = "regulator-fixed"; 16162306a36Sopenharmony_ci regulator-name = "vcc_hall_3v3"; 16262306a36Sopenharmony_ci regulator-always-on; 16362306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 16462306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 16562306a36Sopenharmony_ci vin-supply = <&vcc_sys>; 16662306a36Sopenharmony_ci }; 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci vcc_sys: vcc-sys { 16962306a36Sopenharmony_ci compatible = "regulator-fixed"; 17062306a36Sopenharmony_ci regulator-name = "vcc_sys"; 17162306a36Sopenharmony_ci regulator-always-on; 17262306a36Sopenharmony_ci regulator-min-microvolt = <3800000>; 17362306a36Sopenharmony_ci regulator-max-microvolt = <3800000>; 17462306a36Sopenharmony_ci vin-supply = <&vcc_bat>; 17562306a36Sopenharmony_ci }; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci vcc_wl: vcc-wl { 17862306a36Sopenharmony_ci compatible = "regulator-fixed"; 17962306a36Sopenharmony_ci enable-active-high; 18062306a36Sopenharmony_ci gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 18162306a36Sopenharmony_ci pinctrl-0 = <&vcc_wl_pin>; 18262306a36Sopenharmony_ci pinctrl-names = "default"; 18362306a36Sopenharmony_ci regulator-name = "vcc_wl"; 18462306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 18562306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 18662306a36Sopenharmony_ci vin-supply = <&vcc_bat>; 18762306a36Sopenharmony_ci }; 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci vdda_0v9: vdda-0v9 { 19062306a36Sopenharmony_ci compatible = "regulator-fixed"; 19162306a36Sopenharmony_ci regulator-name = "vdda_0v9"; 19262306a36Sopenharmony_ci regulator-always-on; 19362306a36Sopenharmony_ci regulator-min-microvolt = <900000>; 19462306a36Sopenharmony_ci regulator-max-microvolt = <900000>; 19562306a36Sopenharmony_ci /* powered by vcc_sys, enabled by vcc_1v8_en */ 19662306a36Sopenharmony_ci vin-supply = <&vcc_1v8_en>; 19762306a36Sopenharmony_ci }; 19862306a36Sopenharmony_ci}; 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci&cpu0 { 20162306a36Sopenharmony_ci cpu-supply = <&vdd_cpu>; 20262306a36Sopenharmony_ci}; 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ci&cpu1 { 20562306a36Sopenharmony_ci cpu-supply = <&vdd_cpu>; 20662306a36Sopenharmony_ci}; 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ci&cpu2 { 20962306a36Sopenharmony_ci cpu-supply = <&vdd_cpu>; 21062306a36Sopenharmony_ci}; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci&cpu3 { 21362306a36Sopenharmony_ci cpu-supply = <&vdd_cpu>; 21462306a36Sopenharmony_ci}; 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci&i2c0 { 21762306a36Sopenharmony_ci status = "okay"; 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ci vdd_cpu: regulator@1c { 22062306a36Sopenharmony_ci compatible = "tcs,tcs4525"; 22162306a36Sopenharmony_ci reg = <0x1c>; 22262306a36Sopenharmony_ci fcs,suspend-voltage-selector = <0>; 22362306a36Sopenharmony_ci regulator-name = "vdd_cpu"; 22462306a36Sopenharmony_ci regulator-min-microvolt = <712500>; 22562306a36Sopenharmony_ci regulator-max-microvolt = <1390000>; 22662306a36Sopenharmony_ci regulator-ramp-delay = <2300>; 22762306a36Sopenharmony_ci regulator-always-on; 22862306a36Sopenharmony_ci vin-supply = <&vcc_sys>; 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci regulator-state-mem { 23162306a36Sopenharmony_ci regulator-on-in-suspend; 23262306a36Sopenharmony_ci }; 23362306a36Sopenharmony_ci }; 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci rk817: pmic@20 { 23662306a36Sopenharmony_ci compatible = "rockchip,rk817"; 23762306a36Sopenharmony_ci reg = <0x20>; 23862306a36Sopenharmony_ci interrupt-parent = <&gpio0>; 23962306a36Sopenharmony_ci interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 24062306a36Sopenharmony_ci assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 24162306a36Sopenharmony_ci assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 24262306a36Sopenharmony_ci clocks = <&cru I2S1_MCLKOUT_TX>; 24362306a36Sopenharmony_ci clock-names = "mclk"; 24462306a36Sopenharmony_ci #clock-cells = <1>; 24562306a36Sopenharmony_ci pinctrl-0 = <&i2s1m0_mclk>, <&pmic_int_l>, <&pmic_sleep>; 24662306a36Sopenharmony_ci pinctrl-names = "default"; 24762306a36Sopenharmony_ci rockchip,system-power-controller; 24862306a36Sopenharmony_ci #sound-dai-cells = <0>; 24962306a36Sopenharmony_ci wakeup-source; 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci vcc1-supply = <&vcc_sys>; 25262306a36Sopenharmony_ci vcc2-supply = <&vcc_sys>; 25362306a36Sopenharmony_ci vcc3-supply = <&vcc_sys>; 25462306a36Sopenharmony_ci vcc4-supply = <&vcc_sys>; 25562306a36Sopenharmony_ci vcc5-supply = <&vcc_sys>; 25662306a36Sopenharmony_ci vcc6-supply = <&vcc_sys>; 25762306a36Sopenharmony_ci vcc7-supply = <&vcc_sys>; 25862306a36Sopenharmony_ci vcc8-supply = <&vcc_sys>; 25962306a36Sopenharmony_ci vcc9-supply = <&dcdc_boost>; 26062306a36Sopenharmony_ci 26162306a36Sopenharmony_ci regulators { 26262306a36Sopenharmony_ci vdd_logic: DCDC_REG1 { 26362306a36Sopenharmony_ci regulator-name = "vdd_logic"; 26462306a36Sopenharmony_ci regulator-always-on; 26562306a36Sopenharmony_ci regulator-min-microvolt = <500000>; 26662306a36Sopenharmony_ci regulator-max-microvolt = <1350000>; 26762306a36Sopenharmony_ci regulator-ramp-delay = <6001>; 26862306a36Sopenharmony_ci regulator-initial-mode = <0x2>; 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_ci regulator-state-mem { 27162306a36Sopenharmony_ci regulator-off-in-suspend; 27262306a36Sopenharmony_ci regulator-suspend-microvolt = <900000>; 27362306a36Sopenharmony_ci }; 27462306a36Sopenharmony_ci }; 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci vdd_gpu_npu: DCDC_REG2 { 27762306a36Sopenharmony_ci regulator-name = "vdd_gpu_npu"; 27862306a36Sopenharmony_ci regulator-min-microvolt = <500000>; 27962306a36Sopenharmony_ci regulator-max-microvolt = <1350000>; 28062306a36Sopenharmony_ci regulator-ramp-delay = <6001>; 28162306a36Sopenharmony_ci regulator-initial-mode = <0x2>; 28262306a36Sopenharmony_ci 28362306a36Sopenharmony_ci regulator-state-mem { 28462306a36Sopenharmony_ci regulator-off-in-suspend; 28562306a36Sopenharmony_ci }; 28662306a36Sopenharmony_ci }; 28762306a36Sopenharmony_ci 28862306a36Sopenharmony_ci vcc_ddr: DCDC_REG3 { 28962306a36Sopenharmony_ci regulator-name = "vcc_ddr"; 29062306a36Sopenharmony_ci regulator-always-on; 29162306a36Sopenharmony_ci regulator-initial-mode = <0x2>; 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ci regulator-state-mem { 29462306a36Sopenharmony_ci regulator-on-in-suspend; 29562306a36Sopenharmony_ci }; 29662306a36Sopenharmony_ci }; 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ci vcc_3v3: DCDC_REG4 { 29962306a36Sopenharmony_ci regulator-name = "vcc_3v3"; 30062306a36Sopenharmony_ci regulator-always-on; 30162306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 30262306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 30362306a36Sopenharmony_ci regulator-initial-mode = <0x2>; 30462306a36Sopenharmony_ci 30562306a36Sopenharmony_ci regulator-state-mem { 30662306a36Sopenharmony_ci regulator-off-in-suspend; 30762306a36Sopenharmony_ci }; 30862306a36Sopenharmony_ci }; 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ci vcca_1v8_pmu: LDO_REG1 { 31162306a36Sopenharmony_ci regulator-name = "vcca_1v8_pmu"; 31262306a36Sopenharmony_ci regulator-always-on; 31362306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 31462306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 31562306a36Sopenharmony_ci 31662306a36Sopenharmony_ci regulator-state-mem { 31762306a36Sopenharmony_ci regulator-on-in-suspend; 31862306a36Sopenharmony_ci }; 31962306a36Sopenharmony_ci }; 32062306a36Sopenharmony_ci 32162306a36Sopenharmony_ci /* unused */ 32262306a36Sopenharmony_ci vdda_0v9_ldo: LDO_REG2 { 32362306a36Sopenharmony_ci regulator-name = "vdda_0v9_ldo"; 32462306a36Sopenharmony_ci regulator-min-microvolt = <900000>; 32562306a36Sopenharmony_ci regulator-max-microvolt = <900000>; 32662306a36Sopenharmony_ci 32762306a36Sopenharmony_ci regulator-state-mem { 32862306a36Sopenharmony_ci regulator-off-in-suspend; 32962306a36Sopenharmony_ci }; 33062306a36Sopenharmony_ci }; 33162306a36Sopenharmony_ci 33262306a36Sopenharmony_ci vdda_0v9_pmu: LDO_REG3 { 33362306a36Sopenharmony_ci regulator-name = "vdda_0v9_pmu"; 33462306a36Sopenharmony_ci regulator-always-on; 33562306a36Sopenharmony_ci regulator-min-microvolt = <900000>; 33662306a36Sopenharmony_ci regulator-max-microvolt = <900000>; 33762306a36Sopenharmony_ci 33862306a36Sopenharmony_ci regulator-state-mem { 33962306a36Sopenharmony_ci regulator-on-in-suspend; 34062306a36Sopenharmony_ci }; 34162306a36Sopenharmony_ci }; 34262306a36Sopenharmony_ci 34362306a36Sopenharmony_ci vccio_acodec: LDO_REG4 { 34462306a36Sopenharmony_ci regulator-name = "vccio_acodec"; 34562306a36Sopenharmony_ci regulator-always-on; 34662306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 34762306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ci regulator-state-mem { 35062306a36Sopenharmony_ci regulator-off-in-suspend; 35162306a36Sopenharmony_ci }; 35262306a36Sopenharmony_ci }; 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ci /* unused */ 35562306a36Sopenharmony_ci vccio_sd: LDO_REG5 { 35662306a36Sopenharmony_ci regulator-name = "vccio_sd"; 35762306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 35862306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 35962306a36Sopenharmony_ci 36062306a36Sopenharmony_ci regulator-state-mem { 36162306a36Sopenharmony_ci regulator-off-in-suspend; 36262306a36Sopenharmony_ci }; 36362306a36Sopenharmony_ci }; 36462306a36Sopenharmony_ci 36562306a36Sopenharmony_ci vcc_3v3_pmu: LDO_REG6 { 36662306a36Sopenharmony_ci regulator-name = "vcc_3v3_pmu"; 36762306a36Sopenharmony_ci regulator-always-on; 36862306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 36962306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 37062306a36Sopenharmony_ci 37162306a36Sopenharmony_ci regulator-state-mem { 37262306a36Sopenharmony_ci regulator-on-in-suspend; 37362306a36Sopenharmony_ci }; 37462306a36Sopenharmony_ci }; 37562306a36Sopenharmony_ci 37662306a36Sopenharmony_ci vcc_1v8_en: LDO_REG7 { 37762306a36Sopenharmony_ci regulator-name = "vcc_1v8_en"; 37862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 37962306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci regulator-state-mem { 38262306a36Sopenharmony_ci regulator-off-in-suspend; 38362306a36Sopenharmony_ci }; 38462306a36Sopenharmony_ci }; 38562306a36Sopenharmony_ci 38662306a36Sopenharmony_ci vbat_4g_en: LDO_REG8 { 38762306a36Sopenharmony_ci regulator-name = "vbat_4g_en"; 38862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 38962306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 39062306a36Sopenharmony_ci 39162306a36Sopenharmony_ci regulator-state-mem { 39262306a36Sopenharmony_ci regulator-off-in-suspend; 39362306a36Sopenharmony_ci }; 39462306a36Sopenharmony_ci }; 39562306a36Sopenharmony_ci 39662306a36Sopenharmony_ci sleep_sta_ctl: LDO_REG9 { 39762306a36Sopenharmony_ci regulator-name = "sleep_sta_ctl"; 39862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 39962306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 40062306a36Sopenharmony_ci 40162306a36Sopenharmony_ci regulator-state-mem { 40262306a36Sopenharmony_ci regulator-on-in-suspend; 40362306a36Sopenharmony_ci }; 40462306a36Sopenharmony_ci }; 40562306a36Sopenharmony_ci 40662306a36Sopenharmony_ci dcdc_boost: BOOST { 40762306a36Sopenharmony_ci regulator-name = "boost"; 40862306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 40962306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 41062306a36Sopenharmony_ci 41162306a36Sopenharmony_ci regulator-state-mem { 41262306a36Sopenharmony_ci regulator-off-in-suspend; 41362306a36Sopenharmony_ci }; 41462306a36Sopenharmony_ci }; 41562306a36Sopenharmony_ci 41662306a36Sopenharmony_ci otg_switch: OTG_SWITCH { 41762306a36Sopenharmony_ci regulator-name = "otg_switch"; 41862306a36Sopenharmony_ci 41962306a36Sopenharmony_ci regulator-state-mem { 42062306a36Sopenharmony_ci regulator-off-in-suspend; 42162306a36Sopenharmony_ci }; 42262306a36Sopenharmony_ci }; 42362306a36Sopenharmony_ci }; 42462306a36Sopenharmony_ci }; 42562306a36Sopenharmony_ci}; 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_ci&i2c1 { 42862306a36Sopenharmony_ci status = "okay"; 42962306a36Sopenharmony_ci 43062306a36Sopenharmony_ci digitizer@9 { 43162306a36Sopenharmony_ci compatible = "wacom,w9013", "hid-over-i2c"; 43262306a36Sopenharmony_ci reg = <0x09>; 43362306a36Sopenharmony_ci interrupt-parent = <&gpio0>; 43462306a36Sopenharmony_ci interrupts = <RK_PB6 IRQ_TYPE_LEVEL_LOW>; 43562306a36Sopenharmony_ci hid-descr-addr = <0x1>; 43662306a36Sopenharmony_ci pinctrl-0 = <&pen_fwe>, <&pen_irq_l>, <&pen_rst_l>; 43762306a36Sopenharmony_ci pinctrl-names = "default"; 43862306a36Sopenharmony_ci vdd-supply = <&vcc_3v3_pmu>; 43962306a36Sopenharmony_ci }; 44062306a36Sopenharmony_ci}; 44162306a36Sopenharmony_ci 44262306a36Sopenharmony_ci&i2c3 { 44362306a36Sopenharmony_ci pinctrl-0 = <&i2c3m1_xfer>; 44462306a36Sopenharmony_ci status = "okay"; 44562306a36Sopenharmony_ci 44662306a36Sopenharmony_ci led-controller@36 { 44762306a36Sopenharmony_ci compatible = "ti,lm3630a"; 44862306a36Sopenharmony_ci reg = <0x36>; 44962306a36Sopenharmony_ci enable-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; 45062306a36Sopenharmony_ci pinctrl-0 = <&backlight_hwen_h>; 45162306a36Sopenharmony_ci pinctrl-names = "default"; 45262306a36Sopenharmony_ci #address-cells = <1>; 45362306a36Sopenharmony_ci #size-cells = <0>; 45462306a36Sopenharmony_ci 45562306a36Sopenharmony_ci led@0 { 45662306a36Sopenharmony_ci reg = <0>; 45762306a36Sopenharmony_ci label = "backlight_cool"; 45862306a36Sopenharmony_ci default-brightness = <0>; 45962306a36Sopenharmony_ci }; 46062306a36Sopenharmony_ci 46162306a36Sopenharmony_ci led@1 { 46262306a36Sopenharmony_ci reg = <1>; 46362306a36Sopenharmony_ci label = "backlight_warm"; 46462306a36Sopenharmony_ci default-brightness = <0>; 46562306a36Sopenharmony_ci }; 46662306a36Sopenharmony_ci }; 46762306a36Sopenharmony_ci 46862306a36Sopenharmony_ci wusb3801: tcpc@60 { 46962306a36Sopenharmony_ci compatible = "willsemi,wusb3801"; 47062306a36Sopenharmony_ci reg = <0x60>; 47162306a36Sopenharmony_ci interrupt-parent = <&gpio0>; 47262306a36Sopenharmony_ci interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; 47362306a36Sopenharmony_ci pinctrl-0 = <&tcpc_int_l>; 47462306a36Sopenharmony_ci pinctrl-names = "default"; 47562306a36Sopenharmony_ci 47662306a36Sopenharmony_ci connector { 47762306a36Sopenharmony_ci compatible = "usb-c-connector"; 47862306a36Sopenharmony_ci label = "USB-C"; 47962306a36Sopenharmony_ci vbus-supply = <&otg_switch>; 48062306a36Sopenharmony_ci power-role = "dual"; 48162306a36Sopenharmony_ci try-power-role = "sink"; 48262306a36Sopenharmony_ci data-role = "dual"; 48362306a36Sopenharmony_ci typec-power-opmode = "default"; 48462306a36Sopenharmony_ci pd-disable; 48562306a36Sopenharmony_ci 48662306a36Sopenharmony_ci ports { 48762306a36Sopenharmony_ci #address-cells = <0x1>; 48862306a36Sopenharmony_ci #size-cells = <0x0>; 48962306a36Sopenharmony_ci 49062306a36Sopenharmony_ci port@0 { 49162306a36Sopenharmony_ci reg = <0x0>; 49262306a36Sopenharmony_ci 49362306a36Sopenharmony_ci typec_hs_usb2phy0: endpoint { 49462306a36Sopenharmony_ci remote-endpoint = <&usb2phy0_typec_hs>; 49562306a36Sopenharmony_ci }; 49662306a36Sopenharmony_ci }; 49762306a36Sopenharmony_ci }; 49862306a36Sopenharmony_ci }; 49962306a36Sopenharmony_ci }; 50062306a36Sopenharmony_ci}; 50162306a36Sopenharmony_ci 50262306a36Sopenharmony_ci&i2c5 { 50362306a36Sopenharmony_ci status = "okay"; 50462306a36Sopenharmony_ci 50562306a36Sopenharmony_ci accelerometer@18 { 50662306a36Sopenharmony_ci compatible = "silan,sc7a20"; 50762306a36Sopenharmony_ci reg = <0x18>; 50862306a36Sopenharmony_ci interrupt-parent = <&gpio3>; 50962306a36Sopenharmony_ci interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>; 51062306a36Sopenharmony_ci pinctrl-0 = <&accelerometer_int_l>; 51162306a36Sopenharmony_ci pinctrl-names = "default"; 51262306a36Sopenharmony_ci st,drdy-int-pin = <1>; 51362306a36Sopenharmony_ci vdd-supply = <&vcc_3v3>; 51462306a36Sopenharmony_ci vddio-supply = <&vcc_3v3>; 51562306a36Sopenharmony_ci }; 51662306a36Sopenharmony_ci}; 51762306a36Sopenharmony_ci 51862306a36Sopenharmony_ci&i2s1_8ch { 51962306a36Sopenharmony_ci pinctrl-0 = <&i2s1m0_lrcktx>, <&i2s1m0_sclktx>, <&i2s1m0_sdi0>, <&i2s1m0_sdo0>; 52062306a36Sopenharmony_ci rockchip,trcm-sync-tx-only; 52162306a36Sopenharmony_ci status = "okay"; 52262306a36Sopenharmony_ci}; 52362306a36Sopenharmony_ci 52462306a36Sopenharmony_ci&pdm { 52562306a36Sopenharmony_ci pinctrl-0 = <&pdmm0_clk1>, <&pdmm0_sdi1>, <&pdmm0_sdi2>; 52662306a36Sopenharmony_ci /* microphones are on channels 1 and 2 */ 52762306a36Sopenharmony_ci rockchip,path-map = <1>, <2>, <0>, <3>; 52862306a36Sopenharmony_ci status = "okay"; 52962306a36Sopenharmony_ci}; 53062306a36Sopenharmony_ci 53162306a36Sopenharmony_ci&pinctrl { 53262306a36Sopenharmony_ci accelerometer { 53362306a36Sopenharmony_ci accelerometer_int_l: accelerometer-int-l { 53462306a36Sopenharmony_ci rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 53562306a36Sopenharmony_ci }; 53662306a36Sopenharmony_ci }; 53762306a36Sopenharmony_ci 53862306a36Sopenharmony_ci audio-amplifier { 53962306a36Sopenharmony_ci spk_amp_enable_h: spk-amp-enable-h { 54062306a36Sopenharmony_ci rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; 54162306a36Sopenharmony_ci }; 54262306a36Sopenharmony_ci }; 54362306a36Sopenharmony_ci 54462306a36Sopenharmony_ci backlight { 54562306a36Sopenharmony_ci backlight_hwen_h: backlight-hwen-h { 54662306a36Sopenharmony_ci rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 54762306a36Sopenharmony_ci }; 54862306a36Sopenharmony_ci }; 54962306a36Sopenharmony_ci 55062306a36Sopenharmony_ci bt { 55162306a36Sopenharmony_ci bt_enable_h: bt-enable-h { 55262306a36Sopenharmony_ci rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; 55362306a36Sopenharmony_ci }; 55462306a36Sopenharmony_ci 55562306a36Sopenharmony_ci bt_host_wake_l: bt-host-wake-l { 55662306a36Sopenharmony_ci rockchip,pins = <0 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up>; 55762306a36Sopenharmony_ci }; 55862306a36Sopenharmony_ci 55962306a36Sopenharmony_ci bt_wake_h: bt-wake-h { 56062306a36Sopenharmony_ci rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 56162306a36Sopenharmony_ci }; 56262306a36Sopenharmony_ci }; 56362306a36Sopenharmony_ci 56462306a36Sopenharmony_ci led { 56562306a36Sopenharmony_ci led_pin: led-pin { 56662306a36Sopenharmony_ci rockchip,pins = <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 56762306a36Sopenharmony_ci }; 56862306a36Sopenharmony_ci }; 56962306a36Sopenharmony_ci 57062306a36Sopenharmony_ci hall { 57162306a36Sopenharmony_ci hall_int_l: hall-int-l { 57262306a36Sopenharmony_ci rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 57362306a36Sopenharmony_ci }; 57462306a36Sopenharmony_ci }; 57562306a36Sopenharmony_ci 57662306a36Sopenharmony_ci pen { 57762306a36Sopenharmony_ci pen_fwe: pen-fwe { 57862306a36Sopenharmony_ci rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_down>; 57962306a36Sopenharmony_ci }; 58062306a36Sopenharmony_ci 58162306a36Sopenharmony_ci pen_irq_l: pen-irq-l { 58262306a36Sopenharmony_ci rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 58362306a36Sopenharmony_ci }; 58462306a36Sopenharmony_ci 58562306a36Sopenharmony_ci pen_rst_l: pen-rst-l { 58662306a36Sopenharmony_ci rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 58762306a36Sopenharmony_ci }; 58862306a36Sopenharmony_ci }; 58962306a36Sopenharmony_ci 59062306a36Sopenharmony_ci pmic { 59162306a36Sopenharmony_ci pmic_int_l: pmic-int-l { 59262306a36Sopenharmony_ci rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 59362306a36Sopenharmony_ci }; 59462306a36Sopenharmony_ci 59562306a36Sopenharmony_ci pmic_sleep: pmic-sleep { 59662306a36Sopenharmony_ci rockchip,pins = <0 RK_PA2 1 &pcfg_pull_none>; 59762306a36Sopenharmony_ci }; 59862306a36Sopenharmony_ci }; 59962306a36Sopenharmony_ci 60062306a36Sopenharmony_ci sdio-pwrseq { 60162306a36Sopenharmony_ci wifi_enable_h: wifi-enable-h { 60262306a36Sopenharmony_ci rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 60362306a36Sopenharmony_ci }; 60462306a36Sopenharmony_ci }; 60562306a36Sopenharmony_ci 60662306a36Sopenharmony_ci tcpc { 60762306a36Sopenharmony_ci tcpc_int_l: tcpc-int-l { 60862306a36Sopenharmony_ci rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 60962306a36Sopenharmony_ci }; 61062306a36Sopenharmony_ci }; 61162306a36Sopenharmony_ci 61262306a36Sopenharmony_ci vcc-wl { 61362306a36Sopenharmony_ci vcc_wl_pin: vcc-wl-pin { 61462306a36Sopenharmony_ci rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 61562306a36Sopenharmony_ci }; 61662306a36Sopenharmony_ci }; 61762306a36Sopenharmony_ci 61862306a36Sopenharmony_ci wifi { 61962306a36Sopenharmony_ci wifi_host_wake_l: wifi-host-wake-l { 62062306a36Sopenharmony_ci rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 62162306a36Sopenharmony_ci }; 62262306a36Sopenharmony_ci }; 62362306a36Sopenharmony_ci}; 62462306a36Sopenharmony_ci 62562306a36Sopenharmony_ci&pmu_io_domains { 62662306a36Sopenharmony_ci pmuio1-supply = <&vcc_3v3_pmu>; 62762306a36Sopenharmony_ci pmuio2-supply = <&vcc_3v3_pmu>; 62862306a36Sopenharmony_ci vccio1-supply = <&vccio_acodec>; 62962306a36Sopenharmony_ci vccio2-supply = <&vcc_1v8>; 63062306a36Sopenharmony_ci vccio3-supply = <&vcc_3v3>; 63162306a36Sopenharmony_ci vccio4-supply = <&vcca_1v8_pmu>; 63262306a36Sopenharmony_ci vccio5-supply = <&vcc_3v3>; 63362306a36Sopenharmony_ci vccio6-supply = <&vcc_3v3>; 63462306a36Sopenharmony_ci status = "okay"; 63562306a36Sopenharmony_ci}; 63662306a36Sopenharmony_ci 63762306a36Sopenharmony_ci&saradc { 63862306a36Sopenharmony_ci vref-supply = <&vcc_1v8>; 63962306a36Sopenharmony_ci status = "okay"; 64062306a36Sopenharmony_ci}; 64162306a36Sopenharmony_ci 64262306a36Sopenharmony_ci&sdhci { 64362306a36Sopenharmony_ci bus-width = <8>; 64462306a36Sopenharmony_ci mmc-hs200-1_8v; 64562306a36Sopenharmony_ci non-removable; 64662306a36Sopenharmony_ci pinctrl-0 = <&emmc_bus8>, <&emmc_clk>, <&emmc_cmd>, <&emmc_datastrobe>, <&emmc_rstnout>; 64762306a36Sopenharmony_ci pinctrl-names = "default"; 64862306a36Sopenharmony_ci vmmc-supply = <&vcc_3v3>; 64962306a36Sopenharmony_ci vqmmc-supply = <&vcc_1v8>; 65062306a36Sopenharmony_ci status = "okay"; 65162306a36Sopenharmony_ci}; 65262306a36Sopenharmony_ci 65362306a36Sopenharmony_ci&sdmmc1 { 65462306a36Sopenharmony_ci bus-width = <4>; 65562306a36Sopenharmony_ci cap-sd-highspeed; 65662306a36Sopenharmony_ci cap-sdio-irq; 65762306a36Sopenharmony_ci keep-power-in-suspend; 65862306a36Sopenharmony_ci mmc-pwrseq = <&sdio_pwrseq>; 65962306a36Sopenharmony_ci non-removable; 66062306a36Sopenharmony_ci pinctrl-0 = <&sdmmc1_bus4>, <&sdmmc1_clk>, <&sdmmc1_cmd>; 66162306a36Sopenharmony_ci pinctrl-names = "default"; 66262306a36Sopenharmony_ci sd-uhs-sdr104; 66362306a36Sopenharmony_ci vmmc-supply = <&vcc_wl>; 66462306a36Sopenharmony_ci vqmmc-supply = <&vcca_1v8_pmu>; 66562306a36Sopenharmony_ci status = "okay"; 66662306a36Sopenharmony_ci}; 66762306a36Sopenharmony_ci 66862306a36Sopenharmony_ci&tsadc { 66962306a36Sopenharmony_ci /* tshut mode 0:CRU 1:GPIO */ 67062306a36Sopenharmony_ci rockchip,hw-tshut-mode = <1>; 67162306a36Sopenharmony_ci /* tshut polarity 0:LOW 1:HIGH */ 67262306a36Sopenharmony_ci rockchip,hw-tshut-polarity = <0>; 67362306a36Sopenharmony_ci status = "okay"; 67462306a36Sopenharmony_ci}; 67562306a36Sopenharmony_ci 67662306a36Sopenharmony_ci&uart1 { 67762306a36Sopenharmony_ci pinctrl-0 = <&uart1m0_ctsn>, <&uart1m0_rtsn>, <&uart1m0_xfer>; 67862306a36Sopenharmony_ci pinctrl-names = "default"; 67962306a36Sopenharmony_ci uart-has-rtscts; 68062306a36Sopenharmony_ci status = "okay"; 68162306a36Sopenharmony_ci 68262306a36Sopenharmony_ci bluetooth { 68362306a36Sopenharmony_ci compatible = "brcm,bcm43438-bt"; 68462306a36Sopenharmony_ci clocks = <&rk817 1>; 68562306a36Sopenharmony_ci clock-names = "lpo"; 68662306a36Sopenharmony_ci device-wake-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>; 68762306a36Sopenharmony_ci host-wake-gpios = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>; 68862306a36Sopenharmony_ci reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>; 68962306a36Sopenharmony_ci pinctrl-0 = <&bt_enable_h>, <&bt_host_wake_l>, <&bt_wake_h>; 69062306a36Sopenharmony_ci pinctrl-names = "default"; 69162306a36Sopenharmony_ci vbat-supply = <&vcc_wl>; 69262306a36Sopenharmony_ci vddio-supply = <&vcca_1v8_pmu>; 69362306a36Sopenharmony_ci }; 69462306a36Sopenharmony_ci}; 69562306a36Sopenharmony_ci 69662306a36Sopenharmony_ci&uart2 { 69762306a36Sopenharmony_ci status = "okay"; 69862306a36Sopenharmony_ci}; 69962306a36Sopenharmony_ci 70062306a36Sopenharmony_ci&usb_host0_xhci { 70162306a36Sopenharmony_ci dr_mode = "otg"; 70262306a36Sopenharmony_ci status = "okay"; 70362306a36Sopenharmony_ci}; 70462306a36Sopenharmony_ci 70562306a36Sopenharmony_ci&usb2phy0 { 70662306a36Sopenharmony_ci status = "okay"; 70762306a36Sopenharmony_ci}; 70862306a36Sopenharmony_ci 70962306a36Sopenharmony_ci&usb2phy0_otg { 71062306a36Sopenharmony_ci status = "okay"; 71162306a36Sopenharmony_ci 71262306a36Sopenharmony_ci port { 71362306a36Sopenharmony_ci usb2phy0_typec_hs: endpoint { 71462306a36Sopenharmony_ci remote-endpoint = <&typec_hs_usb2phy0>; 71562306a36Sopenharmony_ci }; 71662306a36Sopenharmony_ci }; 71762306a36Sopenharmony_ci}; 718