162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. 462306a36Sopenharmony_ci * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com> 562306a36Sopenharmony_ci * Copyright (c) 2020 Tobias Schramm <t.schramm@manjaro.org> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/dts-v1/; 962306a36Sopenharmony_ci#include <dt-bindings/input/gpio-keys.h> 1062306a36Sopenharmony_ci#include <dt-bindings/input/linux-event-codes.h> 1162306a36Sopenharmony_ci#include <dt-bindings/pwm/pwm.h> 1262306a36Sopenharmony_ci#include <dt-bindings/usb/pd.h> 1362306a36Sopenharmony_ci#include <dt-bindings/leds/common.h> 1462306a36Sopenharmony_ci#include "rk3399.dtsi" 1562306a36Sopenharmony_ci#include "rk3399-opp.dtsi" 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci/ { 1862306a36Sopenharmony_ci model = "Pine64 Pinebook Pro"; 1962306a36Sopenharmony_ci compatible = "pine64,pinebook-pro", "rockchip,rk3399"; 2062306a36Sopenharmony_ci chassis-type = "laptop"; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci aliases { 2362306a36Sopenharmony_ci mmc0 = &sdio0; 2462306a36Sopenharmony_ci mmc1 = &sdmmc; 2562306a36Sopenharmony_ci mmc2 = &sdhci; 2662306a36Sopenharmony_ci }; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci chosen { 2962306a36Sopenharmony_ci stdout-path = "serial2:1500000n8"; 3062306a36Sopenharmony_ci }; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci backlight: edp-backlight { 3362306a36Sopenharmony_ci compatible = "pwm-backlight"; 3462306a36Sopenharmony_ci power-supply = <&vcc_12v>; 3562306a36Sopenharmony_ci pwms = <&pwm0 0 740740 0>; 3662306a36Sopenharmony_ci }; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci bat: battery { 3962306a36Sopenharmony_ci compatible = "simple-battery"; 4062306a36Sopenharmony_ci charge-full-design-microamp-hours = <9800000>; 4162306a36Sopenharmony_ci voltage-max-design-microvolt = <4350000>; 4262306a36Sopenharmony_ci voltage-min-design-microvolt = <3000000>; 4362306a36Sopenharmony_ci }; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci edp_panel: edp-panel { 4662306a36Sopenharmony_ci compatible = "boe,nv140fhmn49"; 4762306a36Sopenharmony_ci backlight = <&backlight>; 4862306a36Sopenharmony_ci enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; 4962306a36Sopenharmony_ci pinctrl-names = "default"; 5062306a36Sopenharmony_ci pinctrl-0 = <&panel_en_pin>; 5162306a36Sopenharmony_ci power-supply = <&vcc3v3_panel>; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci port { 5462306a36Sopenharmony_ci panel_in_edp: endpoint { 5562306a36Sopenharmony_ci remote-endpoint = <&edp_out_panel>; 5662306a36Sopenharmony_ci }; 5762306a36Sopenharmony_ci }; 5862306a36Sopenharmony_ci }; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci /* 6162306a36Sopenharmony_ci * Use separate nodes for gpio-keys to allow for selective deactivation 6262306a36Sopenharmony_ci * of wakeup sources via sysfs without disabling the whole key 6362306a36Sopenharmony_ci */ 6462306a36Sopenharmony_ci gpio-key-lid { 6562306a36Sopenharmony_ci compatible = "gpio-keys"; 6662306a36Sopenharmony_ci pinctrl-names = "default"; 6762306a36Sopenharmony_ci pinctrl-0 = <&lidbtn_pin>; 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci switch-lid { 7062306a36Sopenharmony_ci debounce-interval = <20>; 7162306a36Sopenharmony_ci gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>; 7262306a36Sopenharmony_ci label = "Lid"; 7362306a36Sopenharmony_ci linux,code = <SW_LID>; 7462306a36Sopenharmony_ci linux,input-type = <EV_SW>; 7562306a36Sopenharmony_ci wakeup-event-action = <EV_ACT_DEASSERTED>; 7662306a36Sopenharmony_ci wakeup-source; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci gpio-key-power { 8162306a36Sopenharmony_ci compatible = "gpio-keys"; 8262306a36Sopenharmony_ci pinctrl-names = "default"; 8362306a36Sopenharmony_ci pinctrl-0 = <&pwrbtn_pin>; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci key-power { 8662306a36Sopenharmony_ci debounce-interval = <20>; 8762306a36Sopenharmony_ci gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 8862306a36Sopenharmony_ci label = "Power"; 8962306a36Sopenharmony_ci linux,code = <KEY_POWER>; 9062306a36Sopenharmony_ci wakeup-source; 9162306a36Sopenharmony_ci }; 9262306a36Sopenharmony_ci }; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci leds { 9562306a36Sopenharmony_ci compatible = "gpio-leds"; 9662306a36Sopenharmony_ci pinctrl-names = "default"; 9762306a36Sopenharmony_ci pinctrl-0 = <&pwr_led_pin &slp_led_pin>; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci green_led: led-0 { 10062306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 10162306a36Sopenharmony_ci default-state = "on"; 10262306a36Sopenharmony_ci function = LED_FUNCTION_POWER; 10362306a36Sopenharmony_ci gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; 10462306a36Sopenharmony_ci label = "green:power"; 10562306a36Sopenharmony_ci }; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci red_led: led-1 { 10862306a36Sopenharmony_ci color = <LED_COLOR_ID_RED>; 10962306a36Sopenharmony_ci default-state = "off"; 11062306a36Sopenharmony_ci function = LED_FUNCTION_STANDBY; 11162306a36Sopenharmony_ci gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 11262306a36Sopenharmony_ci label = "red:standby"; 11362306a36Sopenharmony_ci panic-indicator; 11462306a36Sopenharmony_ci retain-state-suspended; 11562306a36Sopenharmony_ci }; 11662306a36Sopenharmony_ci }; 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci /* Power sequence for SDIO WiFi module */ 11962306a36Sopenharmony_ci sdio_pwrseq: sdio-pwrseq { 12062306a36Sopenharmony_ci compatible = "mmc-pwrseq-simple"; 12162306a36Sopenharmony_ci clocks = <&rk808 1>; 12262306a36Sopenharmony_ci clock-names = "ext_clock"; 12362306a36Sopenharmony_ci pinctrl-names = "default"; 12462306a36Sopenharmony_ci pinctrl-0 = <&wifi_enable_h_pin>; 12562306a36Sopenharmony_ci post-power-on-delay-ms = <100>; 12662306a36Sopenharmony_ci power-off-delay-us = <500000>; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci /* WL_REG_ON on module */ 12962306a36Sopenharmony_ci reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 13062306a36Sopenharmony_ci }; 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci /* Audio components */ 13362306a36Sopenharmony_ci es8316-sound { 13462306a36Sopenharmony_ci compatible = "simple-audio-card"; 13562306a36Sopenharmony_ci pinctrl-names = "default"; 13662306a36Sopenharmony_ci pinctrl-0 = <&hp_det_pin>; 13762306a36Sopenharmony_ci simple-audio-card,name = "rockchip,es8316-codec"; 13862306a36Sopenharmony_ci simple-audio-card,format = "i2s"; 13962306a36Sopenharmony_ci simple-audio-card,mclk-fs = <256>; 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci simple-audio-card,widgets = 14262306a36Sopenharmony_ci "Microphone", "Mic Jack", 14362306a36Sopenharmony_ci "Headphone", "Headphones", 14462306a36Sopenharmony_ci "Speaker", "Speaker"; 14562306a36Sopenharmony_ci simple-audio-card,routing = 14662306a36Sopenharmony_ci "MIC1", "Mic Jack", 14762306a36Sopenharmony_ci "Headphones", "HPOL", 14862306a36Sopenharmony_ci "Headphones", "HPOR", 14962306a36Sopenharmony_ci "Speaker Amplifier INL", "HPOL", 15062306a36Sopenharmony_ci "Speaker Amplifier INR", "HPOR", 15162306a36Sopenharmony_ci "Speaker", "Speaker Amplifier OUTL", 15262306a36Sopenharmony_ci "Speaker", "Speaker Amplifier OUTR"; 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; 15562306a36Sopenharmony_ci simple-audio-card,aux-devs = <&speaker_amp>; 15662306a36Sopenharmony_ci simple-audio-card,pin-switches = "Speaker"; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci simple-audio-card,cpu { 15962306a36Sopenharmony_ci sound-dai = <&i2s1>; 16062306a36Sopenharmony_ci }; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci simple-audio-card,codec { 16362306a36Sopenharmony_ci sound-dai = <&es8316>; 16462306a36Sopenharmony_ci }; 16562306a36Sopenharmony_ci }; 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci speaker_amp: speaker-amplifier { 16862306a36Sopenharmony_ci compatible = "simple-audio-amplifier"; 16962306a36Sopenharmony_ci enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>; 17062306a36Sopenharmony_ci sound-name-prefix = "Speaker Amplifier"; 17162306a36Sopenharmony_ci VCC-supply = <&pa_5v>; 17262306a36Sopenharmony_ci }; 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci /* Power tree */ 17562306a36Sopenharmony_ci /* Root power source */ 17662306a36Sopenharmony_ci vcc_sysin: vcc-sysin { 17762306a36Sopenharmony_ci compatible = "regulator-fixed"; 17862306a36Sopenharmony_ci regulator-name = "vcc_sysin"; 17962306a36Sopenharmony_ci regulator-always-on; 18062306a36Sopenharmony_ci regulator-boot-on; 18162306a36Sopenharmony_ci }; 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci /* Regulators supplied by vcc_sysin */ 18462306a36Sopenharmony_ci /* LCD backlight supply */ 18562306a36Sopenharmony_ci vcc_12v: vcc-12v { 18662306a36Sopenharmony_ci compatible = "regulator-fixed"; 18762306a36Sopenharmony_ci regulator-name = "vcc_12v"; 18862306a36Sopenharmony_ci regulator-always-on; 18962306a36Sopenharmony_ci regulator-boot-on; 19062306a36Sopenharmony_ci regulator-min-microvolt = <12000000>; 19162306a36Sopenharmony_ci regulator-max-microvolt = <12000000>; 19262306a36Sopenharmony_ci vin-supply = <&vcc_sysin>; 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ci regulator-state-mem { 19562306a36Sopenharmony_ci regulator-off-in-suspend; 19662306a36Sopenharmony_ci }; 19762306a36Sopenharmony_ci }; 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci /* Main 3.3 V supply */ 20062306a36Sopenharmony_ci vcc3v3_sys: wifi_bat: vcc3v3-sys { 20162306a36Sopenharmony_ci compatible = "regulator-fixed"; 20262306a36Sopenharmony_ci regulator-name = "vcc3v3_sys"; 20362306a36Sopenharmony_ci regulator-always-on; 20462306a36Sopenharmony_ci regulator-boot-on; 20562306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 20662306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 20762306a36Sopenharmony_ci vin-supply = <&vcc_sysin>; 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ci regulator-state-mem { 21062306a36Sopenharmony_ci regulator-on-in-suspend; 21162306a36Sopenharmony_ci }; 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci /* 5 V USB power supply */ 21562306a36Sopenharmony_ci vcc5v0_usb: pa_5v: vcc5v0-usb-regulator { 21662306a36Sopenharmony_ci compatible = "regulator-fixed"; 21762306a36Sopenharmony_ci enable-active-high; 21862306a36Sopenharmony_ci gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 21962306a36Sopenharmony_ci pinctrl-names = "default"; 22062306a36Sopenharmony_ci pinctrl-0 = <&pwr_5v_pin>; 22162306a36Sopenharmony_ci regulator-name = "vcc5v0_usb"; 22262306a36Sopenharmony_ci regulator-always-on; 22362306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 22462306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 22562306a36Sopenharmony_ci vin-supply = <&vcc_sysin>; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci regulator-state-mem { 22862306a36Sopenharmony_ci regulator-off-in-suspend; 22962306a36Sopenharmony_ci }; 23062306a36Sopenharmony_ci }; 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci /* RK3399 logic supply */ 23362306a36Sopenharmony_ci vdd_log: vdd-log { 23462306a36Sopenharmony_ci compatible = "pwm-regulator"; 23562306a36Sopenharmony_ci pwms = <&pwm2 0 25000 1>; 23662306a36Sopenharmony_ci pwm-supply = <&vcc_sysin>; 23762306a36Sopenharmony_ci regulator-name = "vdd_log"; 23862306a36Sopenharmony_ci regulator-always-on; 23962306a36Sopenharmony_ci regulator-boot-on; 24062306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 24162306a36Sopenharmony_ci regulator-max-microvolt = <1400000>; 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci regulator-state-mem { 24462306a36Sopenharmony_ci regulator-on-in-suspend; 24562306a36Sopenharmony_ci }; 24662306a36Sopenharmony_ci }; 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci /* Regulators supplied by vcc3v3_sys */ 24962306a36Sopenharmony_ci /* 0.9 V supply, always on */ 25062306a36Sopenharmony_ci vcc_0v9: vcc-0v9 { 25162306a36Sopenharmony_ci compatible = "regulator-fixed"; 25262306a36Sopenharmony_ci regulator-name = "vcc_0v9"; 25362306a36Sopenharmony_ci regulator-always-on; 25462306a36Sopenharmony_ci regulator-boot-on; 25562306a36Sopenharmony_ci regulator-min-microvolt = <900000>; 25662306a36Sopenharmony_ci regulator-max-microvolt = <900000>; 25762306a36Sopenharmony_ci vin-supply = <&vcc3v3_sys>; 25862306a36Sopenharmony_ci }; 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci /* S3 1.8 V supply, switched by vcc1v8_s3 */ 26162306a36Sopenharmony_ci vcca1v8_s3: vcc1v8-s3 { 26262306a36Sopenharmony_ci compatible = "regulator-fixed"; 26362306a36Sopenharmony_ci regulator-name = "vcca1v8_s3"; 26462306a36Sopenharmony_ci regulator-always-on; 26562306a36Sopenharmony_ci regulator-boot-on; 26662306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 26762306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 26862306a36Sopenharmony_ci vin-supply = <&vcc3v3_sys>; 26962306a36Sopenharmony_ci }; 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci /* micro SD card power */ 27262306a36Sopenharmony_ci vcc3v0_sd: vcc3v0-sd { 27362306a36Sopenharmony_ci compatible = "regulator-fixed"; 27462306a36Sopenharmony_ci enable-active-high; 27562306a36Sopenharmony_ci gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 27662306a36Sopenharmony_ci pinctrl-names = "default"; 27762306a36Sopenharmony_ci pinctrl-0 = <&sdmmc0_pwr_h_pin>; 27862306a36Sopenharmony_ci regulator-name = "vcc3v0_sd"; 27962306a36Sopenharmony_ci regulator-always-on; 28062306a36Sopenharmony_ci regulator-min-microvolt = <3000000>; 28162306a36Sopenharmony_ci regulator-max-microvolt = <3000000>; 28262306a36Sopenharmony_ci vin-supply = <&vcc3v3_sys>; 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci regulator-state-mem { 28562306a36Sopenharmony_ci regulator-off-in-suspend; 28662306a36Sopenharmony_ci }; 28762306a36Sopenharmony_ci }; 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ci /* LCD panel power, called VCC3V3_S0 in schematic */ 29062306a36Sopenharmony_ci vcc3v3_panel: vcc3v3-panel { 29162306a36Sopenharmony_ci compatible = "regulator-fixed"; 29262306a36Sopenharmony_ci enable-active-high; 29362306a36Sopenharmony_ci gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; 29462306a36Sopenharmony_ci pinctrl-names = "default"; 29562306a36Sopenharmony_ci pinctrl-0 = <&lcdvcc_en_pin>; 29662306a36Sopenharmony_ci regulator-name = "vcc3v3_panel"; 29762306a36Sopenharmony_ci regulator-always-on; 29862306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 29962306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 30062306a36Sopenharmony_ci regulator-enable-ramp-delay = <100000>; 30162306a36Sopenharmony_ci vin-supply = <&vcc3v3_sys>; 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_ci regulator-state-mem { 30462306a36Sopenharmony_ci regulator-off-in-suspend; 30562306a36Sopenharmony_ci }; 30662306a36Sopenharmony_ci }; 30762306a36Sopenharmony_ci 30862306a36Sopenharmony_ci /* M.2 adapter power, switched by vcc1v8_s3 */ 30962306a36Sopenharmony_ci vcc3v3_ssd: vcc3v3-ssd { 31062306a36Sopenharmony_ci compatible = "regulator-fixed"; 31162306a36Sopenharmony_ci regulator-name = "vcc3v3_ssd"; 31262306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 31362306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 31462306a36Sopenharmony_ci vin-supply = <&vcc3v3_sys>; 31562306a36Sopenharmony_ci }; 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ci /* Regulators supplied by vcc5v0_usb */ 31862306a36Sopenharmony_ci /* USB 3 port power supply regulator */ 31962306a36Sopenharmony_ci vcc5v0_otg: vcc5v0-otg { 32062306a36Sopenharmony_ci compatible = "regulator-fixed"; 32162306a36Sopenharmony_ci enable-active-high; 32262306a36Sopenharmony_ci gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; 32362306a36Sopenharmony_ci pinctrl-names = "default"; 32462306a36Sopenharmony_ci pinctrl-0 = <&vcc5v0_host_en_pin>; 32562306a36Sopenharmony_ci regulator-name = "vcc5v0_otg"; 32662306a36Sopenharmony_ci regulator-always-on; 32762306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 32862306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 32962306a36Sopenharmony_ci vin-supply = <&vcc5v0_usb>; 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_ci regulator-state-mem { 33262306a36Sopenharmony_ci regulator-off-in-suspend; 33362306a36Sopenharmony_ci }; 33462306a36Sopenharmony_ci }; 33562306a36Sopenharmony_ci 33662306a36Sopenharmony_ci /* Regulators supplied by vcc5v0_usb */ 33762306a36Sopenharmony_ci /* Type C port power supply regulator */ 33862306a36Sopenharmony_ci vbus_5vout: vbus_typec: vbus-5vout { 33962306a36Sopenharmony_ci compatible = "regulator-fixed"; 34062306a36Sopenharmony_ci enable-active-high; 34162306a36Sopenharmony_ci gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 34262306a36Sopenharmony_ci pinctrl-names = "default"; 34362306a36Sopenharmony_ci pinctrl-0 = <&vcc5v0_typec0_en_pin>; 34462306a36Sopenharmony_ci regulator-name = "vbus_5vout"; 34562306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 34662306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 34762306a36Sopenharmony_ci vin-supply = <&vcc5v0_usb>; 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ci regulator-state-mem { 35062306a36Sopenharmony_ci regulator-off-in-suspend; 35162306a36Sopenharmony_ci }; 35262306a36Sopenharmony_ci }; 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ci /* Regulators supplied by vcc_1v8 */ 35562306a36Sopenharmony_ci /* Primary 0.9 V LDO */ 35662306a36Sopenharmony_ci vcca0v9_s3: vcca0v9-s3 { 35762306a36Sopenharmony_ci compatible = "regulator-fixed"; 35862306a36Sopenharmony_ci regulator-name = "vcc0v9_s3"; 35962306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 36062306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 36162306a36Sopenharmony_ci vin-supply = <&vcc_1v8>; 36262306a36Sopenharmony_ci 36362306a36Sopenharmony_ci regulator-state-mem { 36462306a36Sopenharmony_ci regulator-on-in-suspend; 36562306a36Sopenharmony_ci }; 36662306a36Sopenharmony_ci }; 36762306a36Sopenharmony_ci 36862306a36Sopenharmony_ci mains_charger: dc-charger { 36962306a36Sopenharmony_ci compatible = "gpio-charger"; 37062306a36Sopenharmony_ci charger-type = "mains"; 37162306a36Sopenharmony_ci gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>; 37262306a36Sopenharmony_ci 37362306a36Sopenharmony_ci /* Also triggered by USB charger */ 37462306a36Sopenharmony_ci pinctrl-names = "default"; 37562306a36Sopenharmony_ci pinctrl-0 = <&dc_det_pin>; 37662306a36Sopenharmony_ci }; 37762306a36Sopenharmony_ci}; 37862306a36Sopenharmony_ci 37962306a36Sopenharmony_ci&cpu_b0 { 38062306a36Sopenharmony_ci cpu-supply = <&vdd_cpu_b>; 38162306a36Sopenharmony_ci}; 38262306a36Sopenharmony_ci 38362306a36Sopenharmony_ci&cpu_b1 { 38462306a36Sopenharmony_ci cpu-supply = <&vdd_cpu_b>; 38562306a36Sopenharmony_ci}; 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_ci&cpu_l0 { 38862306a36Sopenharmony_ci cpu-supply = <&vdd_cpu_l>; 38962306a36Sopenharmony_ci}; 39062306a36Sopenharmony_ci 39162306a36Sopenharmony_ci&cpu_l1 { 39262306a36Sopenharmony_ci cpu-supply = <&vdd_cpu_l>; 39362306a36Sopenharmony_ci}; 39462306a36Sopenharmony_ci 39562306a36Sopenharmony_ci&cpu_l2 { 39662306a36Sopenharmony_ci cpu-supply = <&vdd_cpu_l>; 39762306a36Sopenharmony_ci}; 39862306a36Sopenharmony_ci 39962306a36Sopenharmony_ci&cpu_l3 { 40062306a36Sopenharmony_ci cpu-supply = <&vdd_cpu_l>; 40162306a36Sopenharmony_ci}; 40262306a36Sopenharmony_ci 40362306a36Sopenharmony_ci&edp { 40462306a36Sopenharmony_ci force-hpd; 40562306a36Sopenharmony_ci pinctrl-names = "default"; 40662306a36Sopenharmony_ci pinctrl-0 = <&edp_hpd>; 40762306a36Sopenharmony_ci status = "okay"; 40862306a36Sopenharmony_ci 40962306a36Sopenharmony_ci ports { 41062306a36Sopenharmony_ci edp_out: port@1 { 41162306a36Sopenharmony_ci reg = <1>; 41262306a36Sopenharmony_ci #address-cells = <1>; 41362306a36Sopenharmony_ci #size-cells = <0>; 41462306a36Sopenharmony_ci 41562306a36Sopenharmony_ci edp_out_panel: endpoint@0 { 41662306a36Sopenharmony_ci reg = <0>; 41762306a36Sopenharmony_ci remote-endpoint = <&panel_in_edp>; 41862306a36Sopenharmony_ci }; 41962306a36Sopenharmony_ci }; 42062306a36Sopenharmony_ci }; 42162306a36Sopenharmony_ci}; 42262306a36Sopenharmony_ci 42362306a36Sopenharmony_ci&emmc_phy { 42462306a36Sopenharmony_ci status = "okay"; 42562306a36Sopenharmony_ci}; 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_ci&gpu { 42862306a36Sopenharmony_ci mali-supply = <&vdd_gpu>; 42962306a36Sopenharmony_ci status = "okay"; 43062306a36Sopenharmony_ci}; 43162306a36Sopenharmony_ci 43262306a36Sopenharmony_ci&hdmi_sound { 43362306a36Sopenharmony_ci status = "okay"; 43462306a36Sopenharmony_ci}; 43562306a36Sopenharmony_ci 43662306a36Sopenharmony_ci&i2c0 { 43762306a36Sopenharmony_ci clock-frequency = <400000>; 43862306a36Sopenharmony_ci i2c-scl-falling-time-ns = <4>; 43962306a36Sopenharmony_ci i2c-scl-rising-time-ns = <168>; 44062306a36Sopenharmony_ci status = "okay"; 44162306a36Sopenharmony_ci 44262306a36Sopenharmony_ci rk808: pmic@1b { 44362306a36Sopenharmony_ci compatible = "rockchip,rk808"; 44462306a36Sopenharmony_ci reg = <0x1b>; 44562306a36Sopenharmony_ci #clock-cells = <1>; 44662306a36Sopenharmony_ci clock-output-names = "xin32k", "rk808-clkout2"; 44762306a36Sopenharmony_ci interrupt-parent = <&gpio3>; 44862306a36Sopenharmony_ci interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 44962306a36Sopenharmony_ci pinctrl-names = "default"; 45062306a36Sopenharmony_ci pinctrl-0 = <&pmic_int_l_pin>; 45162306a36Sopenharmony_ci rockchip,system-power-controller; 45262306a36Sopenharmony_ci wakeup-source; 45362306a36Sopenharmony_ci 45462306a36Sopenharmony_ci vcc1-supply = <&vcc_sysin>; 45562306a36Sopenharmony_ci vcc2-supply = <&vcc_sysin>; 45662306a36Sopenharmony_ci vcc3-supply = <&vcc_sysin>; 45762306a36Sopenharmony_ci vcc4-supply = <&vcc_sysin>; 45862306a36Sopenharmony_ci vcc6-supply = <&vcc_sysin>; 45962306a36Sopenharmony_ci vcc7-supply = <&vcc_sysin>; 46062306a36Sopenharmony_ci vcc8-supply = <&vcc3v3_sys>; 46162306a36Sopenharmony_ci vcc9-supply = <&vcc_sysin>; 46262306a36Sopenharmony_ci vcc10-supply = <&vcc_sysin>; 46362306a36Sopenharmony_ci vcc11-supply = <&vcc_sysin>; 46462306a36Sopenharmony_ci vcc12-supply = <&vcc3v3_sys>; 46562306a36Sopenharmony_ci 46662306a36Sopenharmony_ci regulators { 46762306a36Sopenharmony_ci /* rk3399 center logic supply */ 46862306a36Sopenharmony_ci vdd_center: DCDC_REG1 { 46962306a36Sopenharmony_ci regulator-name = "vdd_center"; 47062306a36Sopenharmony_ci regulator-always-on; 47162306a36Sopenharmony_ci regulator-boot-on; 47262306a36Sopenharmony_ci regulator-min-microvolt = <750000>; 47362306a36Sopenharmony_ci regulator-max-microvolt = <1350000>; 47462306a36Sopenharmony_ci regulator-ramp-delay = <6001>; 47562306a36Sopenharmony_ci 47662306a36Sopenharmony_ci regulator-state-mem { 47762306a36Sopenharmony_ci regulator-off-in-suspend; 47862306a36Sopenharmony_ci }; 47962306a36Sopenharmony_ci }; 48062306a36Sopenharmony_ci 48162306a36Sopenharmony_ci vdd_cpu_l: DCDC_REG2 { 48262306a36Sopenharmony_ci regulator-name = "vdd_cpu_l"; 48362306a36Sopenharmony_ci regulator-always-on; 48462306a36Sopenharmony_ci regulator-boot-on; 48562306a36Sopenharmony_ci regulator-min-microvolt = <750000>; 48662306a36Sopenharmony_ci regulator-max-microvolt = <1350000>; 48762306a36Sopenharmony_ci regulator-ramp-delay = <6001>; 48862306a36Sopenharmony_ci 48962306a36Sopenharmony_ci regulator-state-mem { 49062306a36Sopenharmony_ci regulator-off-in-suspend; 49162306a36Sopenharmony_ci }; 49262306a36Sopenharmony_ci }; 49362306a36Sopenharmony_ci 49462306a36Sopenharmony_ci vcc_ddr: DCDC_REG3 { 49562306a36Sopenharmony_ci regulator-name = "vcc_ddr"; 49662306a36Sopenharmony_ci regulator-always-on; 49762306a36Sopenharmony_ci regulator-boot-on; 49862306a36Sopenharmony_ci 49962306a36Sopenharmony_ci regulator-state-mem { 50062306a36Sopenharmony_ci regulator-on-in-suspend; 50162306a36Sopenharmony_ci }; 50262306a36Sopenharmony_ci }; 50362306a36Sopenharmony_ci 50462306a36Sopenharmony_ci vcc_1v8: vcc_wl: DCDC_REG4 { 50562306a36Sopenharmony_ci regulator-name = "vcc_1v8"; 50662306a36Sopenharmony_ci regulator-always-on; 50762306a36Sopenharmony_ci regulator-boot-on; 50862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 50962306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 51062306a36Sopenharmony_ci 51162306a36Sopenharmony_ci regulator-state-mem { 51262306a36Sopenharmony_ci regulator-on-in-suspend; 51362306a36Sopenharmony_ci regulator-suspend-microvolt = <1800000>; 51462306a36Sopenharmony_ci }; 51562306a36Sopenharmony_ci }; 51662306a36Sopenharmony_ci 51762306a36Sopenharmony_ci /* not used */ 51862306a36Sopenharmony_ci LDO_REG1 { 51962306a36Sopenharmony_ci }; 52062306a36Sopenharmony_ci 52162306a36Sopenharmony_ci /* not used */ 52262306a36Sopenharmony_ci LDO_REG2 { 52362306a36Sopenharmony_ci }; 52462306a36Sopenharmony_ci 52562306a36Sopenharmony_ci vcc1v8_pmupll: LDO_REG3 { 52662306a36Sopenharmony_ci regulator-name = "vcc1v8_pmupll"; 52762306a36Sopenharmony_ci regulator-always-on; 52862306a36Sopenharmony_ci regulator-boot-on; 52962306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 53062306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 53162306a36Sopenharmony_ci 53262306a36Sopenharmony_ci regulator-state-mem { 53362306a36Sopenharmony_ci regulator-on-in-suspend; 53462306a36Sopenharmony_ci regulator-suspend-microvolt = <1800000>; 53562306a36Sopenharmony_ci }; 53662306a36Sopenharmony_ci }; 53762306a36Sopenharmony_ci 53862306a36Sopenharmony_ci vcc_sdio: LDO_REG4 { 53962306a36Sopenharmony_ci regulator-name = "vcc_sdio"; 54062306a36Sopenharmony_ci regulator-always-on; 54162306a36Sopenharmony_ci regulator-boot-on; 54262306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 54362306a36Sopenharmony_ci regulator-max-microvolt = <3000000>; 54462306a36Sopenharmony_ci 54562306a36Sopenharmony_ci regulator-state-mem { 54662306a36Sopenharmony_ci regulator-on-in-suspend; 54762306a36Sopenharmony_ci regulator-suspend-microvolt = <3000000>; 54862306a36Sopenharmony_ci }; 54962306a36Sopenharmony_ci }; 55062306a36Sopenharmony_ci 55162306a36Sopenharmony_ci vcca3v0_codec: LDO_REG5 { 55262306a36Sopenharmony_ci regulator-name = "vcca3v0_codec"; 55362306a36Sopenharmony_ci regulator-always-on; 55462306a36Sopenharmony_ci regulator-boot-on; 55562306a36Sopenharmony_ci regulator-min-microvolt = <3000000>; 55662306a36Sopenharmony_ci regulator-max-microvolt = <3000000>; 55762306a36Sopenharmony_ci 55862306a36Sopenharmony_ci regulator-state-mem { 55962306a36Sopenharmony_ci regulator-off-in-suspend; 56062306a36Sopenharmony_ci }; 56162306a36Sopenharmony_ci }; 56262306a36Sopenharmony_ci 56362306a36Sopenharmony_ci vcc_1v5: LDO_REG6 { 56462306a36Sopenharmony_ci regulator-name = "vcc_1v5"; 56562306a36Sopenharmony_ci regulator-always-on; 56662306a36Sopenharmony_ci regulator-boot-on; 56762306a36Sopenharmony_ci regulator-min-microvolt = <1500000>; 56862306a36Sopenharmony_ci regulator-max-microvolt = <1500000>; 56962306a36Sopenharmony_ci 57062306a36Sopenharmony_ci regulator-state-mem { 57162306a36Sopenharmony_ci regulator-on-in-suspend; 57262306a36Sopenharmony_ci regulator-suspend-microvolt = <1500000>; 57362306a36Sopenharmony_ci }; 57462306a36Sopenharmony_ci }; 57562306a36Sopenharmony_ci 57662306a36Sopenharmony_ci vcca1v8_codec: LDO_REG7 { 57762306a36Sopenharmony_ci regulator-name = "vcca1v8_codec"; 57862306a36Sopenharmony_ci regulator-always-on; 57962306a36Sopenharmony_ci regulator-boot-on; 58062306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 58162306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 58262306a36Sopenharmony_ci 58362306a36Sopenharmony_ci regulator-state-mem { 58462306a36Sopenharmony_ci regulator-off-in-suspend; 58562306a36Sopenharmony_ci }; 58662306a36Sopenharmony_ci }; 58762306a36Sopenharmony_ci 58862306a36Sopenharmony_ci vcc_3v0: LDO_REG8 { 58962306a36Sopenharmony_ci regulator-name = "vcc_3v0"; 59062306a36Sopenharmony_ci regulator-always-on; 59162306a36Sopenharmony_ci regulator-boot-on; 59262306a36Sopenharmony_ci regulator-min-microvolt = <3000000>; 59362306a36Sopenharmony_ci regulator-max-microvolt = <3000000>; 59462306a36Sopenharmony_ci 59562306a36Sopenharmony_ci regulator-state-mem { 59662306a36Sopenharmony_ci regulator-on-in-suspend; 59762306a36Sopenharmony_ci regulator-suspend-microvolt = <3000000>; 59862306a36Sopenharmony_ci }; 59962306a36Sopenharmony_ci }; 60062306a36Sopenharmony_ci 60162306a36Sopenharmony_ci vcc3v3_s3: SWITCH_REG1 { 60262306a36Sopenharmony_ci regulator-name = "vcc3v3_s3"; 60362306a36Sopenharmony_ci regulator-always-on; 60462306a36Sopenharmony_ci regulator-boot-on; 60562306a36Sopenharmony_ci 60662306a36Sopenharmony_ci regulator-state-mem { 60762306a36Sopenharmony_ci regulator-off-in-suspend; 60862306a36Sopenharmony_ci }; 60962306a36Sopenharmony_ci }; 61062306a36Sopenharmony_ci 61162306a36Sopenharmony_ci vcc3v3_s0: SWITCH_REG2 { 61262306a36Sopenharmony_ci regulator-name = "vcc3v3_s0"; 61362306a36Sopenharmony_ci regulator-always-on; 61462306a36Sopenharmony_ci regulator-boot-on; 61562306a36Sopenharmony_ci 61662306a36Sopenharmony_ci regulator-state-mem { 61762306a36Sopenharmony_ci regulator-off-in-suspend; 61862306a36Sopenharmony_ci }; 61962306a36Sopenharmony_ci }; 62062306a36Sopenharmony_ci }; 62162306a36Sopenharmony_ci }; 62262306a36Sopenharmony_ci 62362306a36Sopenharmony_ci vdd_cpu_b: regulator@40 { 62462306a36Sopenharmony_ci compatible = "silergy,syr827"; 62562306a36Sopenharmony_ci reg = <0x40>; 62662306a36Sopenharmony_ci fcs,suspend-voltage-selector = <1>; 62762306a36Sopenharmony_ci pinctrl-names = "default"; 62862306a36Sopenharmony_ci pinctrl-0 = <&vsel1_pin>; 62962306a36Sopenharmony_ci regulator-name = "vdd_cpu_b"; 63062306a36Sopenharmony_ci regulator-always-on; 63162306a36Sopenharmony_ci regulator-boot-on; 63262306a36Sopenharmony_ci regulator-min-microvolt = <712500>; 63362306a36Sopenharmony_ci regulator-max-microvolt = <1500000>; 63462306a36Sopenharmony_ci regulator-ramp-delay = <1000>; 63562306a36Sopenharmony_ci vin-supply = <&vcc_1v8>; 63662306a36Sopenharmony_ci 63762306a36Sopenharmony_ci regulator-state-mem { 63862306a36Sopenharmony_ci regulator-off-in-suspend; 63962306a36Sopenharmony_ci }; 64062306a36Sopenharmony_ci }; 64162306a36Sopenharmony_ci 64262306a36Sopenharmony_ci vdd_gpu: regulator@41 { 64362306a36Sopenharmony_ci compatible = "silergy,syr828"; 64462306a36Sopenharmony_ci reg = <0x41>; 64562306a36Sopenharmony_ci fcs,suspend-voltage-selector = <1>; 64662306a36Sopenharmony_ci pinctrl-names = "default"; 64762306a36Sopenharmony_ci pinctrl-0 = <&vsel2_pin>; 64862306a36Sopenharmony_ci regulator-name = "vdd_gpu"; 64962306a36Sopenharmony_ci regulator-always-on; 65062306a36Sopenharmony_ci regulator-boot-on; 65162306a36Sopenharmony_ci regulator-min-microvolt = <712500>; 65262306a36Sopenharmony_ci regulator-max-microvolt = <1500000>; 65362306a36Sopenharmony_ci regulator-ramp-delay = <1000>; 65462306a36Sopenharmony_ci vin-supply = <&vcc_1v8>; 65562306a36Sopenharmony_ci 65662306a36Sopenharmony_ci regulator-state-mem { 65762306a36Sopenharmony_ci regulator-off-in-suspend; 65862306a36Sopenharmony_ci }; 65962306a36Sopenharmony_ci }; 66062306a36Sopenharmony_ci}; 66162306a36Sopenharmony_ci 66262306a36Sopenharmony_ci&i2c1 { 66362306a36Sopenharmony_ci clock-frequency = <100000>; 66462306a36Sopenharmony_ci i2c-scl-falling-time-ns = <4>; 66562306a36Sopenharmony_ci i2c-scl-rising-time-ns = <168>; 66662306a36Sopenharmony_ci status = "okay"; 66762306a36Sopenharmony_ci 66862306a36Sopenharmony_ci es8316: audio-codec@11 { 66962306a36Sopenharmony_ci compatible = "everest,es8316"; 67062306a36Sopenharmony_ci reg = <0x11>; 67162306a36Sopenharmony_ci clocks = <&cru SCLK_I2S_8CH_OUT>; 67262306a36Sopenharmony_ci clock-names = "mclk"; 67362306a36Sopenharmony_ci #sound-dai-cells = <0>; 67462306a36Sopenharmony_ci }; 67562306a36Sopenharmony_ci}; 67662306a36Sopenharmony_ci 67762306a36Sopenharmony_ci&i2c3 { 67862306a36Sopenharmony_ci i2c-scl-falling-time-ns = <15>; 67962306a36Sopenharmony_ci i2c-scl-rising-time-ns = <450>; 68062306a36Sopenharmony_ci status = "okay"; 68162306a36Sopenharmony_ci}; 68262306a36Sopenharmony_ci 68362306a36Sopenharmony_ci&i2c4 { 68462306a36Sopenharmony_ci i2c-scl-falling-time-ns = <20>; 68562306a36Sopenharmony_ci i2c-scl-rising-time-ns = <600>; 68662306a36Sopenharmony_ci status = "okay"; 68762306a36Sopenharmony_ci 68862306a36Sopenharmony_ci fusb0: fusb30x@22 { 68962306a36Sopenharmony_ci compatible = "fcs,fusb302"; 69062306a36Sopenharmony_ci reg = <0x22>; 69162306a36Sopenharmony_ci interrupt-parent = <&gpio1>; 69262306a36Sopenharmony_ci interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 69362306a36Sopenharmony_ci pinctrl-names = "default"; 69462306a36Sopenharmony_ci pinctrl-0 = <&fusb0_int_pin>; 69562306a36Sopenharmony_ci vbus-supply = <&vbus_typec>; 69662306a36Sopenharmony_ci 69762306a36Sopenharmony_ci connector { 69862306a36Sopenharmony_ci compatible = "usb-c-connector"; 69962306a36Sopenharmony_ci data-role = "dual"; 70062306a36Sopenharmony_ci label = "USB-C"; 70162306a36Sopenharmony_ci op-sink-microwatt = <1000000>; 70262306a36Sopenharmony_ci power-role = "dual"; 70362306a36Sopenharmony_ci sink-pdos = 70462306a36Sopenharmony_ci <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>; 70562306a36Sopenharmony_ci source-pdos = 70662306a36Sopenharmony_ci <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>; 70762306a36Sopenharmony_ci try-power-role = "sink"; 70862306a36Sopenharmony_ci 70962306a36Sopenharmony_ci ports { 71062306a36Sopenharmony_ci #address-cells = <1>; 71162306a36Sopenharmony_ci #size-cells = <0>; 71262306a36Sopenharmony_ci 71362306a36Sopenharmony_ci port@0 { 71462306a36Sopenharmony_ci reg = <0>; 71562306a36Sopenharmony_ci 71662306a36Sopenharmony_ci usbc_hs: endpoint { 71762306a36Sopenharmony_ci remote-endpoint = 71862306a36Sopenharmony_ci <&u2phy0_typec_hs>; 71962306a36Sopenharmony_ci }; 72062306a36Sopenharmony_ci }; 72162306a36Sopenharmony_ci 72262306a36Sopenharmony_ci port@1 { 72362306a36Sopenharmony_ci reg = <1>; 72462306a36Sopenharmony_ci 72562306a36Sopenharmony_ci usbc_ss: endpoint { 72662306a36Sopenharmony_ci remote-endpoint = 72762306a36Sopenharmony_ci <&tcphy0_typec_ss>; 72862306a36Sopenharmony_ci }; 72962306a36Sopenharmony_ci }; 73062306a36Sopenharmony_ci 73162306a36Sopenharmony_ci port@2 { 73262306a36Sopenharmony_ci reg = <2>; 73362306a36Sopenharmony_ci 73462306a36Sopenharmony_ci usbc_dp: endpoint { 73562306a36Sopenharmony_ci remote-endpoint = 73662306a36Sopenharmony_ci <&tcphy0_typec_dp>; 73762306a36Sopenharmony_ci }; 73862306a36Sopenharmony_ci }; 73962306a36Sopenharmony_ci }; 74062306a36Sopenharmony_ci }; 74162306a36Sopenharmony_ci }; 74262306a36Sopenharmony_ci 74362306a36Sopenharmony_ci cw2015@62 { 74462306a36Sopenharmony_ci compatible = "cellwise,cw2015"; 74562306a36Sopenharmony_ci reg = <0x62>; 74662306a36Sopenharmony_ci cellwise,battery-profile = /bits/ 8 < 74762306a36Sopenharmony_ci 0x17 0x67 0x80 0x73 0x6E 0x6C 0x6B 0x63 74862306a36Sopenharmony_ci 0x77 0x51 0x5C 0x58 0x50 0x4C 0x48 0x36 74962306a36Sopenharmony_ci 0x15 0x0C 0x0C 0x19 0x5B 0x7D 0x6F 0x69 75062306a36Sopenharmony_ci 0x69 0x5B 0x0C 0x29 0x20 0x40 0x52 0x59 75162306a36Sopenharmony_ci 0x57 0x56 0x54 0x4F 0x3B 0x1F 0x7F 0x17 75262306a36Sopenharmony_ci 0x06 0x1A 0x30 0x5A 0x85 0x93 0x96 0x2D 75362306a36Sopenharmony_ci 0x48 0x77 0x9C 0xB3 0x80 0x52 0x94 0xCB 75462306a36Sopenharmony_ci 0x2F 0x00 0x64 0xA5 0xB5 0x11 0xF0 0x11 75562306a36Sopenharmony_ci >; 75662306a36Sopenharmony_ci cellwise,monitor-interval-ms = <5000>; 75762306a36Sopenharmony_ci monitored-battery = <&bat>; 75862306a36Sopenharmony_ci power-supplies = <&mains_charger>, <&fusb0>; 75962306a36Sopenharmony_ci }; 76062306a36Sopenharmony_ci}; 76162306a36Sopenharmony_ci 76262306a36Sopenharmony_ci&i2s1 { 76362306a36Sopenharmony_ci pinctrl-names = "default"; 76462306a36Sopenharmony_ci pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s1_2ch_bus>; 76562306a36Sopenharmony_ci rockchip,capture-channels = <8>; 76662306a36Sopenharmony_ci rockchip,playback-channels = <8>; 76762306a36Sopenharmony_ci status = "okay"; 76862306a36Sopenharmony_ci}; 76962306a36Sopenharmony_ci 77062306a36Sopenharmony_ci&io_domains { 77162306a36Sopenharmony_ci audio-supply = <&vcc_3v0>; 77262306a36Sopenharmony_ci gpio1830-supply = <&vcc_3v0>; 77362306a36Sopenharmony_ci sdmmc-supply = <&vcc_sdio>; 77462306a36Sopenharmony_ci status = "okay"; 77562306a36Sopenharmony_ci}; 77662306a36Sopenharmony_ci 77762306a36Sopenharmony_ci&pcie_phy { 77862306a36Sopenharmony_ci status = "okay"; 77962306a36Sopenharmony_ci}; 78062306a36Sopenharmony_ci 78162306a36Sopenharmony_ci&pcie0 { 78262306a36Sopenharmony_ci bus-scan-delay-ms = <1000>; 78362306a36Sopenharmony_ci ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; 78462306a36Sopenharmony_ci num-lanes = <4>; 78562306a36Sopenharmony_ci pinctrl-names = "default"; 78662306a36Sopenharmony_ci pinctrl-0 = <&pcie_clkreqn_cpm>; 78762306a36Sopenharmony_ci vpcie0v9-supply = <&vcca0v9_s3>; 78862306a36Sopenharmony_ci vpcie1v8-supply = <&vcca1v8_s3>; 78962306a36Sopenharmony_ci vpcie3v3-supply = <&vcc3v3_ssd>; 79062306a36Sopenharmony_ci status = "okay"; 79162306a36Sopenharmony_ci}; 79262306a36Sopenharmony_ci 79362306a36Sopenharmony_ci&pinctrl { 79462306a36Sopenharmony_ci buttons { 79562306a36Sopenharmony_ci pwrbtn_pin: pwrbtn-pin { 79662306a36Sopenharmony_ci rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 79762306a36Sopenharmony_ci }; 79862306a36Sopenharmony_ci 79962306a36Sopenharmony_ci lidbtn_pin: lidbtn-pin { 80062306a36Sopenharmony_ci rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 80162306a36Sopenharmony_ci }; 80262306a36Sopenharmony_ci }; 80362306a36Sopenharmony_ci 80462306a36Sopenharmony_ci dc-charger { 80562306a36Sopenharmony_ci dc_det_pin: dc-det-pin { 80662306a36Sopenharmony_ci rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; 80762306a36Sopenharmony_ci }; 80862306a36Sopenharmony_ci }; 80962306a36Sopenharmony_ci 81062306a36Sopenharmony_ci es8316 { 81162306a36Sopenharmony_ci hp_det_pin: hp-det-pin { 81262306a36Sopenharmony_ci rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 81362306a36Sopenharmony_ci }; 81462306a36Sopenharmony_ci }; 81562306a36Sopenharmony_ci 81662306a36Sopenharmony_ci fusb302x { 81762306a36Sopenharmony_ci fusb0_int_pin: fusb0-int-pin { 81862306a36Sopenharmony_ci rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 81962306a36Sopenharmony_ci }; 82062306a36Sopenharmony_ci }; 82162306a36Sopenharmony_ci 82262306a36Sopenharmony_ci i2s1 { 82362306a36Sopenharmony_ci i2s_8ch_mclk_pin: i2s-8ch-mclk-pin { 82462306a36Sopenharmony_ci rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>; 82562306a36Sopenharmony_ci }; 82662306a36Sopenharmony_ci }; 82762306a36Sopenharmony_ci 82862306a36Sopenharmony_ci lcd-panel { 82962306a36Sopenharmony_ci lcdvcc_en_pin: lcdvcc-en-pin { 83062306a36Sopenharmony_ci rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 83162306a36Sopenharmony_ci }; 83262306a36Sopenharmony_ci 83362306a36Sopenharmony_ci panel_en_pin: panel-en-pin { 83462306a36Sopenharmony_ci rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 83562306a36Sopenharmony_ci }; 83662306a36Sopenharmony_ci 83762306a36Sopenharmony_ci lcd_panel_reset_pin: lcd-panel-reset-pin { 83862306a36Sopenharmony_ci rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 83962306a36Sopenharmony_ci }; 84062306a36Sopenharmony_ci }; 84162306a36Sopenharmony_ci 84262306a36Sopenharmony_ci leds { 84362306a36Sopenharmony_ci pwr_led_pin: pwr-led-pin { 84462306a36Sopenharmony_ci rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 84562306a36Sopenharmony_ci }; 84662306a36Sopenharmony_ci 84762306a36Sopenharmony_ci slp_led_pin: slp-led-pin { 84862306a36Sopenharmony_ci rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 84962306a36Sopenharmony_ci }; 85062306a36Sopenharmony_ci }; 85162306a36Sopenharmony_ci 85262306a36Sopenharmony_ci pmic { 85362306a36Sopenharmony_ci pmic_int_l_pin: pmic-int-l-pin { 85462306a36Sopenharmony_ci rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; 85562306a36Sopenharmony_ci }; 85662306a36Sopenharmony_ci 85762306a36Sopenharmony_ci vsel1_pin: vsel1-pin { 85862306a36Sopenharmony_ci rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 85962306a36Sopenharmony_ci }; 86062306a36Sopenharmony_ci 86162306a36Sopenharmony_ci vsel2_pin: vsel2-pin { 86262306a36Sopenharmony_ci rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 86362306a36Sopenharmony_ci }; 86462306a36Sopenharmony_ci }; 86562306a36Sopenharmony_ci 86662306a36Sopenharmony_ci sdcard { 86762306a36Sopenharmony_ci sdmmc0_pwr_h_pin: sdmmc0-pwr-h-pin { 86862306a36Sopenharmony_ci rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 86962306a36Sopenharmony_ci }; 87062306a36Sopenharmony_ci 87162306a36Sopenharmony_ci }; 87262306a36Sopenharmony_ci 87362306a36Sopenharmony_ci sdio-pwrseq { 87462306a36Sopenharmony_ci wifi_enable_h_pin: wifi-enable-h-pin { 87562306a36Sopenharmony_ci rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 87662306a36Sopenharmony_ci }; 87762306a36Sopenharmony_ci }; 87862306a36Sopenharmony_ci 87962306a36Sopenharmony_ci usb-typec { 88062306a36Sopenharmony_ci vcc5v0_typec0_en_pin: vcc5v0-typec0-en-pin { 88162306a36Sopenharmony_ci rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 88262306a36Sopenharmony_ci }; 88362306a36Sopenharmony_ci }; 88462306a36Sopenharmony_ci 88562306a36Sopenharmony_ci usb2 { 88662306a36Sopenharmony_ci pwr_5v_pin: pwr-5v-pin { 88762306a36Sopenharmony_ci rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 88862306a36Sopenharmony_ci }; 88962306a36Sopenharmony_ci 89062306a36Sopenharmony_ci vcc5v0_host_en_pin: vcc5v0-host-en-pin { 89162306a36Sopenharmony_ci rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 89262306a36Sopenharmony_ci }; 89362306a36Sopenharmony_ci }; 89462306a36Sopenharmony_ci 89562306a36Sopenharmony_ci wireless-bluetooth { 89662306a36Sopenharmony_ci bt_wake_pin: bt-wake-pin { 89762306a36Sopenharmony_ci rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 89862306a36Sopenharmony_ci }; 89962306a36Sopenharmony_ci 90062306a36Sopenharmony_ci bt_host_wake_pin: bt-host-wake-pin { 90162306a36Sopenharmony_ci rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 90262306a36Sopenharmony_ci }; 90362306a36Sopenharmony_ci 90462306a36Sopenharmony_ci bt_reset_pin: bt-reset-pin { 90562306a36Sopenharmony_ci rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 90662306a36Sopenharmony_ci }; 90762306a36Sopenharmony_ci }; 90862306a36Sopenharmony_ci}; 90962306a36Sopenharmony_ci 91062306a36Sopenharmony_ci&pmu_io_domains { 91162306a36Sopenharmony_ci pmu1830-supply = <&vcc_3v0>; 91262306a36Sopenharmony_ci status = "okay"; 91362306a36Sopenharmony_ci}; 91462306a36Sopenharmony_ci 91562306a36Sopenharmony_ci&pwm0 { 91662306a36Sopenharmony_ci status = "okay"; 91762306a36Sopenharmony_ci}; 91862306a36Sopenharmony_ci 91962306a36Sopenharmony_ci&pwm2 { 92062306a36Sopenharmony_ci status = "okay"; 92162306a36Sopenharmony_ci}; 92262306a36Sopenharmony_ci 92362306a36Sopenharmony_ci&saradc { 92462306a36Sopenharmony_ci vref-supply = <&vcca1v8_s3>; 92562306a36Sopenharmony_ci status = "okay"; 92662306a36Sopenharmony_ci}; 92762306a36Sopenharmony_ci 92862306a36Sopenharmony_ci&sdmmc { 92962306a36Sopenharmony_ci bus-width = <4>; 93062306a36Sopenharmony_ci cap-mmc-highspeed; 93162306a36Sopenharmony_ci cap-sd-highspeed; 93262306a36Sopenharmony_ci cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 93362306a36Sopenharmony_ci disable-wp; 93462306a36Sopenharmony_ci pinctrl-names = "default"; 93562306a36Sopenharmony_ci pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 93662306a36Sopenharmony_ci sd-uhs-sdr50; 93762306a36Sopenharmony_ci vmmc-supply = <&vcc3v0_sd>; 93862306a36Sopenharmony_ci vqmmc-supply = <&vcc_sdio>; 93962306a36Sopenharmony_ci status = "okay"; 94062306a36Sopenharmony_ci}; 94162306a36Sopenharmony_ci 94262306a36Sopenharmony_ci&sdio0 { 94362306a36Sopenharmony_ci bus-width = <4>; 94462306a36Sopenharmony_ci cap-sd-highspeed; 94562306a36Sopenharmony_ci cap-sdio-irq; 94662306a36Sopenharmony_ci keep-power-in-suspend; 94762306a36Sopenharmony_ci mmc-pwrseq = <&sdio_pwrseq>; 94862306a36Sopenharmony_ci non-removable; 94962306a36Sopenharmony_ci pinctrl-names = "default"; 95062306a36Sopenharmony_ci pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 95162306a36Sopenharmony_ci sd-uhs-sdr104; 95262306a36Sopenharmony_ci status = "okay"; 95362306a36Sopenharmony_ci}; 95462306a36Sopenharmony_ci 95562306a36Sopenharmony_ci&sdhci { 95662306a36Sopenharmony_ci bus-width = <8>; 95762306a36Sopenharmony_ci mmc-hs200-1_8v; 95862306a36Sopenharmony_ci non-removable; 95962306a36Sopenharmony_ci status = "okay"; 96062306a36Sopenharmony_ci}; 96162306a36Sopenharmony_ci 96262306a36Sopenharmony_ci&spi1 { 96362306a36Sopenharmony_ci max-freq = <10000000>; 96462306a36Sopenharmony_ci status = "okay"; 96562306a36Sopenharmony_ci 96662306a36Sopenharmony_ci spiflash: flash@0 { 96762306a36Sopenharmony_ci compatible = "jedec,spi-nor"; 96862306a36Sopenharmony_ci reg = <0>; 96962306a36Sopenharmony_ci m25p,fast-read; 97062306a36Sopenharmony_ci spi-max-frequency = <10000000>; 97162306a36Sopenharmony_ci }; 97262306a36Sopenharmony_ci}; 97362306a36Sopenharmony_ci 97462306a36Sopenharmony_ci&tcphy0 { 97562306a36Sopenharmony_ci status = "okay"; 97662306a36Sopenharmony_ci}; 97762306a36Sopenharmony_ci 97862306a36Sopenharmony_ci&tcphy0_dp { 97962306a36Sopenharmony_ci port { 98062306a36Sopenharmony_ci tcphy0_typec_dp: endpoint { 98162306a36Sopenharmony_ci remote-endpoint = <&usbc_dp>; 98262306a36Sopenharmony_ci }; 98362306a36Sopenharmony_ci }; 98462306a36Sopenharmony_ci}; 98562306a36Sopenharmony_ci 98662306a36Sopenharmony_ci&tcphy0_usb3 { 98762306a36Sopenharmony_ci port { 98862306a36Sopenharmony_ci tcphy0_typec_ss: endpoint { 98962306a36Sopenharmony_ci remote-endpoint = <&usbc_ss>; 99062306a36Sopenharmony_ci }; 99162306a36Sopenharmony_ci }; 99262306a36Sopenharmony_ci}; 99362306a36Sopenharmony_ci 99462306a36Sopenharmony_ci&tcphy1 { 99562306a36Sopenharmony_ci status = "okay"; 99662306a36Sopenharmony_ci}; 99762306a36Sopenharmony_ci 99862306a36Sopenharmony_ci&tsadc { 99962306a36Sopenharmony_ci /* tshut mode 0:CRU 1:GPIO */ 100062306a36Sopenharmony_ci rockchip,hw-tshut-mode = <1>; 100162306a36Sopenharmony_ci /* tshut polarity 0:LOW 1:HIGH */ 100262306a36Sopenharmony_ci rockchip,hw-tshut-polarity = <1>; 100362306a36Sopenharmony_ci status = "okay"; 100462306a36Sopenharmony_ci}; 100562306a36Sopenharmony_ci 100662306a36Sopenharmony_ci&u2phy0 { 100762306a36Sopenharmony_ci status = "okay"; 100862306a36Sopenharmony_ci 100962306a36Sopenharmony_ci u2phy0_otg: otg-port { 101062306a36Sopenharmony_ci status = "okay"; 101162306a36Sopenharmony_ci }; 101262306a36Sopenharmony_ci 101362306a36Sopenharmony_ci u2phy0_host: host-port { 101462306a36Sopenharmony_ci phy-supply = <&vcc5v0_otg>; 101562306a36Sopenharmony_ci status = "okay"; 101662306a36Sopenharmony_ci }; 101762306a36Sopenharmony_ci 101862306a36Sopenharmony_ci port { 101962306a36Sopenharmony_ci u2phy0_typec_hs: endpoint { 102062306a36Sopenharmony_ci remote-endpoint = <&usbc_hs>; 102162306a36Sopenharmony_ci }; 102262306a36Sopenharmony_ci }; 102362306a36Sopenharmony_ci}; 102462306a36Sopenharmony_ci 102562306a36Sopenharmony_ci&u2phy1 { 102662306a36Sopenharmony_ci status = "okay"; 102762306a36Sopenharmony_ci 102862306a36Sopenharmony_ci u2phy1_otg: otg-port { 102962306a36Sopenharmony_ci status = "okay"; 103062306a36Sopenharmony_ci }; 103162306a36Sopenharmony_ci 103262306a36Sopenharmony_ci u2phy1_host: host-port { 103362306a36Sopenharmony_ci phy-supply = <&vcc5v0_otg>; 103462306a36Sopenharmony_ci status = "okay"; 103562306a36Sopenharmony_ci }; 103662306a36Sopenharmony_ci}; 103762306a36Sopenharmony_ci 103862306a36Sopenharmony_ci&uart0 { 103962306a36Sopenharmony_ci pinctrl-names = "default"; 104062306a36Sopenharmony_ci pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 104162306a36Sopenharmony_ci uart-has-rtscts; 104262306a36Sopenharmony_ci status = "okay"; 104362306a36Sopenharmony_ci 104462306a36Sopenharmony_ci bluetooth { 104562306a36Sopenharmony_ci compatible = "brcm,bcm4345c5"; 104662306a36Sopenharmony_ci clocks = <&rk808 1>; 104762306a36Sopenharmony_ci clock-names = "lpo"; 104862306a36Sopenharmony_ci device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 104962306a36Sopenharmony_ci host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 105062306a36Sopenharmony_ci max-speed = <1500000>; 105162306a36Sopenharmony_ci pinctrl-names = "default"; 105262306a36Sopenharmony_ci pinctrl-0 = <&bt_host_wake_pin &bt_wake_pin &bt_reset_pin>; 105362306a36Sopenharmony_ci shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 105462306a36Sopenharmony_ci vbat-supply = <&wifi_bat>; 105562306a36Sopenharmony_ci vddio-supply = <&vcc_wl>; 105662306a36Sopenharmony_ci }; 105762306a36Sopenharmony_ci}; 105862306a36Sopenharmony_ci 105962306a36Sopenharmony_ci&uart2 { 106062306a36Sopenharmony_ci status = "okay"; 106162306a36Sopenharmony_ci}; 106262306a36Sopenharmony_ci 106362306a36Sopenharmony_ci&usb_host0_ehci { 106462306a36Sopenharmony_ci status = "okay"; 106562306a36Sopenharmony_ci}; 106662306a36Sopenharmony_ci 106762306a36Sopenharmony_ci&usb_host0_ohci { 106862306a36Sopenharmony_ci status = "okay"; 106962306a36Sopenharmony_ci}; 107062306a36Sopenharmony_ci 107162306a36Sopenharmony_ci&usb_host1_ehci { 107262306a36Sopenharmony_ci status = "okay"; 107362306a36Sopenharmony_ci}; 107462306a36Sopenharmony_ci 107562306a36Sopenharmony_ci&usb_host1_ohci { 107662306a36Sopenharmony_ci status = "okay"; 107762306a36Sopenharmony_ci}; 107862306a36Sopenharmony_ci 107962306a36Sopenharmony_ci&usbdrd3_0 { 108062306a36Sopenharmony_ci status = "okay"; 108162306a36Sopenharmony_ci}; 108262306a36Sopenharmony_ci 108362306a36Sopenharmony_ci&usbdrd_dwc3_0 { 108462306a36Sopenharmony_ci dr_mode = "host"; 108562306a36Sopenharmony_ci status = "okay"; 108662306a36Sopenharmony_ci}; 108762306a36Sopenharmony_ci 108862306a36Sopenharmony_ci&usbdrd3_1 { 108962306a36Sopenharmony_ci status = "okay"; 109062306a36Sopenharmony_ci}; 109162306a36Sopenharmony_ci 109262306a36Sopenharmony_ci&usbdrd_dwc3_1 { 109362306a36Sopenharmony_ci dr_mode = "host"; 109462306a36Sopenharmony_ci status = "okay"; 109562306a36Sopenharmony_ci}; 109662306a36Sopenharmony_ci 109762306a36Sopenharmony_ci&vopb { 109862306a36Sopenharmony_ci status = "okay"; 109962306a36Sopenharmony_ci}; 110062306a36Sopenharmony_ci 110162306a36Sopenharmony_ci&vopb_mmu { 110262306a36Sopenharmony_ci status = "okay"; 110362306a36Sopenharmony_ci}; 110462306a36Sopenharmony_ci 110562306a36Sopenharmony_ci&vopl { 110662306a36Sopenharmony_ci status = "okay"; 110762306a36Sopenharmony_ci}; 110862306a36Sopenharmony_ci 110962306a36Sopenharmony_ci&vopl_mmu { 111062306a36Sopenharmony_ci status = "okay"; 111162306a36Sopenharmony_ci}; 1112