108b64bd2SAlexis Ballier// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 208b64bd2SAlexis Ballier/* 308b64bd2SAlexis Ballier * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. 408b64bd2SAlexis Ballier */ 508b64bd2SAlexis Ballier 608b64bd2SAlexis Ballier/dts-v1/; 708b64bd2SAlexis Ballier 808b64bd2SAlexis Ballier#include "dt-bindings/pwm/pwm.h" 908b64bd2SAlexis Ballier#include "dt-bindings/input/input.h" 10c043dee9SKrzysztof Kozlowski#include <dt-bindings/interrupt-controller/irq.h> 11e56ed188SAlexis Ballier#include "dt-bindings/usb/pd.h" 1208b64bd2SAlexis Ballier#include "rk3399.dtsi" 1308b64bd2SAlexis Ballier 1408b64bd2SAlexis Ballier/ { 1508b64bd2SAlexis Ballier model = "Orange Pi RK3399 Board"; 16*7ec958edSTim Lunn compatible = "xunlong,rk3399-orangepi", "rockchip,rk3399"; 1708b64bd2SAlexis Ballier 185dcbe7e3SHeiko Stuebner aliases { 195d90cb1eSDragan Simic ethernet0 = &gmac; 205dcbe7e3SHeiko Stuebner mmc0 = &sdio0; 215dcbe7e3SHeiko Stuebner mmc1 = &sdmmc; 225dcbe7e3SHeiko Stuebner mmc2 = &sdhci; 235dcbe7e3SHeiko Stuebner }; 245dcbe7e3SHeiko Stuebner 2508b64bd2SAlexis Ballier chosen { 2608b64bd2SAlexis Ballier stdout-path = "serial2:1500000n8"; 2708b64bd2SAlexis Ballier }; 2808b64bd2SAlexis Ballier 2908b64bd2SAlexis Ballier clkin_gmac: external-gmac-clock { 3008b64bd2SAlexis Ballier compatible = "fixed-clock"; 3108b64bd2SAlexis Ballier clock-frequency = <125000000>; 3208b64bd2SAlexis Ballier clock-output-names = "clkin_gmac"; 3308b64bd2SAlexis Ballier #clock-cells = <0>; 3408b64bd2SAlexis Ballier }; 3508b64bd2SAlexis Ballier 3608b64bd2SAlexis Ballier adc-keys { 3708b64bd2SAlexis Ballier compatible = "adc-keys"; 3808b64bd2SAlexis Ballier io-channels = <&saradc 1>; 3908b64bd2SAlexis Ballier io-channel-names = "buttons"; 4008b64bd2SAlexis Ballier keyup-threshold-microvolt = <1800000>; 4108b64bd2SAlexis Ballier poll-interval = <100>; 4208b64bd2SAlexis Ballier 4308b64bd2SAlexis Ballier button-up { 4408b64bd2SAlexis Ballier label = "Volume Up"; 4508b64bd2SAlexis Ballier linux,code = <KEY_VOLUMEUP>; 4608b64bd2SAlexis Ballier press-threshold-microvolt = <100000>; 4708b64bd2SAlexis Ballier }; 4808b64bd2SAlexis Ballier 4908b64bd2SAlexis Ballier button-down { 5008b64bd2SAlexis Ballier label = "Volume Down"; 5108b64bd2SAlexis Ballier linux,code = <KEY_VOLUMEDOWN>; 5208b64bd2SAlexis Ballier press-threshold-microvolt = <300000>; 5308b64bd2SAlexis Ballier }; 5408b64bd2SAlexis Ballier 55f2bd2e76SJohan Jonker button-back { 5608b64bd2SAlexis Ballier label = "Back"; 5708b64bd2SAlexis Ballier linux,code = <KEY_BACK>; 5808b64bd2SAlexis Ballier press-threshold-microvolt = <985000>; 5908b64bd2SAlexis Ballier }; 6008b64bd2SAlexis Ballier 61f2bd2e76SJohan Jonker button-menu { 6208b64bd2SAlexis Ballier label = "Menu"; 6308b64bd2SAlexis Ballier linux,code = <KEY_MENU>; 6408b64bd2SAlexis Ballier press-threshold-microvolt = <1314000>; 6508b64bd2SAlexis Ballier }; 6608b64bd2SAlexis Ballier }; 6708b64bd2SAlexis Ballier 6808b64bd2SAlexis Ballier dc_12v: regulator-dc-12v { 6908b64bd2SAlexis Ballier compatible = "regulator-fixed"; 7008b64bd2SAlexis Ballier regulator-name = "dc_12v"; 7108b64bd2SAlexis Ballier regulator-always-on; 7208b64bd2SAlexis Ballier regulator-boot-on; 7308b64bd2SAlexis Ballier regulator-min-microvolt = <12000000>; 7408b64bd2SAlexis Ballier regulator-max-microvolt = <12000000>; 7508b64bd2SAlexis Ballier }; 7608b64bd2SAlexis Ballier 7708b64bd2SAlexis Ballier keys: gpio-keys { 7808b64bd2SAlexis Ballier compatible = "gpio-keys"; 7908b64bd2SAlexis Ballier autorepeat; 8008b64bd2SAlexis Ballier 81517ed0ffSKrzysztof Kozlowski key-power { 8208b64bd2SAlexis Ballier debounce-interval = <100>; 8308b64bd2SAlexis Ballier gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 8408b64bd2SAlexis Ballier label = "GPIO Power"; 8508b64bd2SAlexis Ballier linux,code = <KEY_POWER>; 8608b64bd2SAlexis Ballier linux,input-type = <1>; 8708b64bd2SAlexis Ballier pinctrl-names = "default"; 8808b64bd2SAlexis Ballier pinctrl-0 = <&pwr_btn>; 8908b64bd2SAlexis Ballier wakeup-source; 9008b64bd2SAlexis Ballier }; 9108b64bd2SAlexis Ballier }; 9208b64bd2SAlexis Ballier 9308b64bd2SAlexis Ballier sdio_pwrseq: sdio-pwrseq { 9408b64bd2SAlexis Ballier compatible = "mmc-pwrseq-simple"; 9508b64bd2SAlexis Ballier clocks = <&rk808 1>; 9608b64bd2SAlexis Ballier clock-names = "ext_clock"; 9708b64bd2SAlexis Ballier pinctrl-names = "default"; 9808b64bd2SAlexis Ballier pinctrl-0 = <&wifi_reg_on_h>; 9908b64bd2SAlexis Ballier reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 10008b64bd2SAlexis Ballier }; 10108b64bd2SAlexis Ballier 10208b64bd2SAlexis Ballier /* switched by pmic_sleep */ 10308b64bd2SAlexis Ballier vcc1v8_s3: vcca1v8_s3: regulator-vcc1v8-s3 { 10408b64bd2SAlexis Ballier compatible = "regulator-fixed"; 10508b64bd2SAlexis Ballier regulator-name = "vcc1v8_s3"; 10608b64bd2SAlexis Ballier regulator-always-on; 10708b64bd2SAlexis Ballier regulator-boot-on; 10808b64bd2SAlexis Ballier regulator-min-microvolt = <1800000>; 10908b64bd2SAlexis Ballier regulator-max-microvolt = <1800000>; 11008b64bd2SAlexis Ballier vin-supply = <&vcc_1v8>; 11108b64bd2SAlexis Ballier }; 11208b64bd2SAlexis Ballier 11308b64bd2SAlexis Ballier vcc3v0_sd: regulator-vcc3v0-sd { 11408b64bd2SAlexis Ballier compatible = "regulator-fixed"; 11508b64bd2SAlexis Ballier enable-active-high; 11608b64bd2SAlexis Ballier gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 11708b64bd2SAlexis Ballier pinctrl-names = "default"; 11808b64bd2SAlexis Ballier pinctrl-0 = <&sdmmc0_pwr_h>; 11908b64bd2SAlexis Ballier regulator-boot-on; 12008b64bd2SAlexis Ballier regulator-max-microvolt = <3000000>; 12108b64bd2SAlexis Ballier regulator-min-microvolt = <3000000>; 12208b64bd2SAlexis Ballier regulator-name = "vcc3v0_sd"; 12308b64bd2SAlexis Ballier vin-supply = <&vcc3v3_sys>; 12408b64bd2SAlexis Ballier }; 12508b64bd2SAlexis Ballier 12608b64bd2SAlexis Ballier vcc3v3_sys: regulator-vcc3v3-sys { 12708b64bd2SAlexis Ballier compatible = "regulator-fixed"; 12808b64bd2SAlexis Ballier regulator-name = "vcc3v3_sys"; 12908b64bd2SAlexis Ballier regulator-always-on; 13008b64bd2SAlexis Ballier regulator-boot-on; 13108b64bd2SAlexis Ballier regulator-min-microvolt = <3300000>; 13208b64bd2SAlexis Ballier regulator-max-microvolt = <3300000>; 13308b64bd2SAlexis Ballier vin-supply = <&vcc_sys>; 13408b64bd2SAlexis Ballier }; 13508b64bd2SAlexis Ballier 13608b64bd2SAlexis Ballier vcc5v0_host: regulator-vcc5v0-host { 13708b64bd2SAlexis Ballier compatible = "regulator-fixed"; 13808b64bd2SAlexis Ballier enable-active-high; 13908b64bd2SAlexis Ballier gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>; 14008b64bd2SAlexis Ballier pinctrl-names = "default"; 14108b64bd2SAlexis Ballier pinctrl-0 = <&vcc5v0_host_en>; 14208b64bd2SAlexis Ballier regulator-name = "vcc5v0_host"; 14308b64bd2SAlexis Ballier regulator-always-on; 14408b64bd2SAlexis Ballier vin-supply = <&vcc_sys>; 14508b64bd2SAlexis Ballier }; 14608b64bd2SAlexis Ballier 1475e3f8027SAlexis Ballier vbus_typec: regulator-vbus-typec { 14808b64bd2SAlexis Ballier compatible = "regulator-fixed"; 14908b64bd2SAlexis Ballier enable-active-high; 15008b64bd2SAlexis Ballier gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 15108b64bd2SAlexis Ballier pinctrl-names = "default"; 1525e3f8027SAlexis Ballier pinctrl-0 = <&vcc5v0_typec_en>; 1535e3f8027SAlexis Ballier regulator-name = "vbus_typec"; 15408b64bd2SAlexis Ballier vin-supply = <&vcc_sys>; 15508b64bd2SAlexis Ballier }; 15608b64bd2SAlexis Ballier 15708b64bd2SAlexis Ballier vcc_sys: regulator-vcc-sys { 15808b64bd2SAlexis Ballier compatible = "regulator-fixed"; 15908b64bd2SAlexis Ballier regulator-name = "vcc_sys"; 16008b64bd2SAlexis Ballier regulator-always-on; 16108b64bd2SAlexis Ballier regulator-boot-on; 16208b64bd2SAlexis Ballier regulator-min-microvolt = <5000000>; 16308b64bd2SAlexis Ballier regulator-max-microvolt = <5000000>; 16408b64bd2SAlexis Ballier vin-supply = <&dc_12v>; 16508b64bd2SAlexis Ballier }; 16608b64bd2SAlexis Ballier 16708b64bd2SAlexis Ballier vdd_log: regulator-vdd-log { 16808b64bd2SAlexis Ballier compatible = "pwm-regulator"; 16908b64bd2SAlexis Ballier pwms = <&pwm2 0 25000 1>; 170dc570e8eSHeiko Stuebner pwm-supply = <&vcc_sys>; 17108b64bd2SAlexis Ballier regulator-name = "vdd_log"; 17208b64bd2SAlexis Ballier regulator-always-on; 17308b64bd2SAlexis Ballier regulator-boot-on; 17408b64bd2SAlexis Ballier regulator-min-microvolt = <800000>; 17508b64bd2SAlexis Ballier regulator-max-microvolt = <1400000>; 17608b64bd2SAlexis Ballier }; 17708b64bd2SAlexis Ballier}; 17808b64bd2SAlexis Ballier 17908b64bd2SAlexis Ballier&cpu_l0 { 18008b64bd2SAlexis Ballier cpu-supply = <&vdd_cpu_l>; 18108b64bd2SAlexis Ballier}; 18208b64bd2SAlexis Ballier 18308b64bd2SAlexis Ballier&cpu_l1 { 18408b64bd2SAlexis Ballier cpu-supply = <&vdd_cpu_l>; 18508b64bd2SAlexis Ballier}; 18608b64bd2SAlexis Ballier 18708b64bd2SAlexis Ballier&cpu_l2 { 18808b64bd2SAlexis Ballier cpu-supply = <&vdd_cpu_l>; 18908b64bd2SAlexis Ballier}; 19008b64bd2SAlexis Ballier 19108b64bd2SAlexis Ballier&cpu_l3 { 19208b64bd2SAlexis Ballier cpu-supply = <&vdd_cpu_l>; 19308b64bd2SAlexis Ballier}; 19408b64bd2SAlexis Ballier 19508b64bd2SAlexis Ballier&cpu_b0 { 19608b64bd2SAlexis Ballier cpu-supply = <&vdd_cpu_b>; 19708b64bd2SAlexis Ballier}; 19808b64bd2SAlexis Ballier 19908b64bd2SAlexis Ballier&cpu_b1 { 20008b64bd2SAlexis Ballier cpu-supply = <&vdd_cpu_b>; 20108b64bd2SAlexis Ballier}; 20208b64bd2SAlexis Ballier 20308b64bd2SAlexis Ballier&emmc_phy { 20408b64bd2SAlexis Ballier status = "okay"; 20508b64bd2SAlexis Ballier}; 20608b64bd2SAlexis Ballier 20708b64bd2SAlexis Ballier&gmac { 20808b64bd2SAlexis Ballier assigned-clocks = <&cru SCLK_RMII_SRC>; 20908b64bd2SAlexis Ballier assigned-clock-parents = <&clkin_gmac>; 21008b64bd2SAlexis Ballier clock_in_out = "input"; 21108b64bd2SAlexis Ballier phy-supply = <&vcc3v3_s3>; 21208b64bd2SAlexis Ballier phy-mode = "rgmii"; 213e5ab00edSAlexis Ballier phy-handle = <&rtl8211e>; 21408b64bd2SAlexis Ballier pinctrl-names = "default"; 215e5ab00edSAlexis Ballier pinctrl-0 = <&rgmii_pins>, <&phy_intb>, <&phy_rstb>; 21608b64bd2SAlexis Ballier tx_delay = <0x28>; 21708b64bd2SAlexis Ballier rx_delay = <0x11>; 21808b64bd2SAlexis Ballier status = "okay"; 219e5ab00edSAlexis Ballier 220e5ab00edSAlexis Ballier mdio { 221e5ab00edSAlexis Ballier compatible = "snps,dwmac-mdio"; 222e5ab00edSAlexis Ballier #address-cells = <1>; 223e5ab00edSAlexis Ballier #size-cells = <0>; 224e5ab00edSAlexis Ballier 225b2bb7691SJohan Jonker rtl8211e: ethernet-phy@1 { 226e5ab00edSAlexis Ballier reg = <1>; 227e5ab00edSAlexis Ballier interrupt-parent = <&gpio3>; 228e5ab00edSAlexis Ballier interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>; 229e5ab00edSAlexis Ballier reset-assert-us = <10000>; 230e5ab00edSAlexis Ballier reset-deassert-us = <30000>; 231e5ab00edSAlexis Ballier reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 232e5ab00edSAlexis Ballier }; 233e5ab00edSAlexis Ballier }; 23408b64bd2SAlexis Ballier}; 23508b64bd2SAlexis Ballier 23608b64bd2SAlexis Ballier&gpu { 23708b64bd2SAlexis Ballier mali-supply = <&vdd_gpu>; 23808b64bd2SAlexis Ballier status = "okay"; 23908b64bd2SAlexis Ballier}; 24008b64bd2SAlexis Ballier 24108b64bd2SAlexis Ballier&hdmi { 24208b64bd2SAlexis Ballier ddc-i2c-bus = <&i2c3>; 24308b64bd2SAlexis Ballier status = "okay"; 24408b64bd2SAlexis Ballier}; 24508b64bd2SAlexis Ballier 24608b64bd2SAlexis Ballier&hdmi_sound { 24708b64bd2SAlexis Ballier status = "okay"; 24808b64bd2SAlexis Ballier}; 24908b64bd2SAlexis Ballier 25008b64bd2SAlexis Ballier&i2c0 { 25108b64bd2SAlexis Ballier clock-frequency = <400000>; 25208b64bd2SAlexis Ballier i2c-scl-rising-time-ns = <168>; 25308b64bd2SAlexis Ballier i2c-scl-falling-time-ns = <4>; 25408b64bd2SAlexis Ballier status = "okay"; 25508b64bd2SAlexis Ballier 25608b64bd2SAlexis Ballier rk808: pmic@1b { 25708b64bd2SAlexis Ballier compatible = "rockchip,rk808"; 25808b64bd2SAlexis Ballier reg = <0x1b>; 25908b64bd2SAlexis Ballier interrupt-parent = <&gpio1>; 26008b64bd2SAlexis Ballier interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 26108b64bd2SAlexis Ballier #clock-cells = <1>; 26208b64bd2SAlexis Ballier clock-output-names = "rtc_clko_soc", "rtc_clko_wifi"; 26308b64bd2SAlexis Ballier pinctrl-names = "default"; 26408b64bd2SAlexis Ballier pinctrl-0 = <&pmic_int_l>; 26508b64bd2SAlexis Ballier system-power-controller; 26608b64bd2SAlexis Ballier wakeup-source; 26708b64bd2SAlexis Ballier 26808b64bd2SAlexis Ballier vcc1-supply = <&vcc3v3_sys>; 26908b64bd2SAlexis Ballier vcc2-supply = <&vcc3v3_sys>; 27008b64bd2SAlexis Ballier vcc3-supply = <&vcc3v3_sys>; 27108b64bd2SAlexis Ballier vcc4-supply = <&vcc3v3_sys>; 27208b64bd2SAlexis Ballier vcc6-supply = <&vcc3v3_sys>; 27308b64bd2SAlexis Ballier vcc7-supply = <&vcc3v3_sys>; 27408b64bd2SAlexis Ballier vcc8-supply = <&vcc3v3_sys>; 27508b64bd2SAlexis Ballier vcc9-supply = <&vcc3v3_sys>; 27608b64bd2SAlexis Ballier vcc10-supply = <&vcc3v3_sys>; 27708b64bd2SAlexis Ballier vcc11-supply = <&vcc3v3_sys>; 27808b64bd2SAlexis Ballier vcc12-supply = <&vcc3v3_sys>; 27908b64bd2SAlexis Ballier vddio-supply = <&vcc_3v0>; 28008b64bd2SAlexis Ballier 28108b64bd2SAlexis Ballier regulators { 28208b64bd2SAlexis Ballier vdd_center: DCDC_REG1 { 28308b64bd2SAlexis Ballier regulator-name = "vdd_center"; 28408b64bd2SAlexis Ballier regulator-always-on; 28508b64bd2SAlexis Ballier regulator-boot-on; 28608b64bd2SAlexis Ballier regulator-min-microvolt = <700000>; 28708b64bd2SAlexis Ballier regulator-max-microvolt = <1500000>; 28808b64bd2SAlexis Ballier regulator-ramp-delay = <6001>; 28908b64bd2SAlexis Ballier regulator-state-mem { 29008b64bd2SAlexis Ballier regulator-off-in-suspend; 29108b64bd2SAlexis Ballier }; 29208b64bd2SAlexis Ballier }; 29308b64bd2SAlexis Ballier 29408b64bd2SAlexis Ballier vdd_cpu_l: DCDC_REG2 { 29508b64bd2SAlexis Ballier regulator-name = "vdd_cpu_l"; 29608b64bd2SAlexis Ballier regulator-always-on; 29708b64bd2SAlexis Ballier regulator-boot-on; 29808b64bd2SAlexis Ballier regulator-min-microvolt = <700000>; 29908b64bd2SAlexis Ballier regulator-max-microvolt = <1500000>; 30008b64bd2SAlexis Ballier regulator-ramp-delay = <6001>; 30108b64bd2SAlexis Ballier regulator-state-mem { 30208b64bd2SAlexis Ballier regulator-off-in-suspend; 30308b64bd2SAlexis Ballier }; 30408b64bd2SAlexis Ballier }; 30508b64bd2SAlexis Ballier 30608b64bd2SAlexis Ballier vcc_ddr: DCDC_REG3 { 30708b64bd2SAlexis Ballier regulator-name = "vcc_ddr"; 30808b64bd2SAlexis Ballier regulator-always-on; 30908b64bd2SAlexis Ballier regulator-boot-on; 31008b64bd2SAlexis Ballier regulator-state-mem { 31108b64bd2SAlexis Ballier regulator-on-in-suspend; 31208b64bd2SAlexis Ballier }; 31308b64bd2SAlexis Ballier }; 31408b64bd2SAlexis Ballier 31508b64bd2SAlexis Ballier vcc_1v8: DCDC_REG4 { 31608b64bd2SAlexis Ballier regulator-name = "vcc_1v8"; 31708b64bd2SAlexis Ballier regulator-always-on; 31808b64bd2SAlexis Ballier regulator-boot-on; 31908b64bd2SAlexis Ballier regulator-min-microvolt = <1800000>; 32008b64bd2SAlexis Ballier regulator-max-microvolt = <3300000>; 32108b64bd2SAlexis Ballier regulator-state-mem { 32208b64bd2SAlexis Ballier regulator-on-in-suspend; 32308b64bd2SAlexis Ballier regulator-suspend-microvolt = <1800000>; 32408b64bd2SAlexis Ballier }; 32508b64bd2SAlexis Ballier }; 32608b64bd2SAlexis Ballier 32708b64bd2SAlexis Ballier vcc1v8_dvp: LDO_REG1 { 32808b64bd2SAlexis Ballier regulator-name = "vcc1v8_dvp"; 32908b64bd2SAlexis Ballier regulator-always-on; 33008b64bd2SAlexis Ballier regulator-boot-on; 33108b64bd2SAlexis Ballier regulator-min-microvolt = <1800000>; 33208b64bd2SAlexis Ballier regulator-max-microvolt = <3400000>; 33308b64bd2SAlexis Ballier regulator-state-mem { 33408b64bd2SAlexis Ballier regulator-off-in-suspend; 33508b64bd2SAlexis Ballier }; 33608b64bd2SAlexis Ballier }; 33708b64bd2SAlexis Ballier 33808b64bd2SAlexis Ballier vcc3v0_tp: LDO_REG2 { 33908b64bd2SAlexis Ballier regulator-name = "vcc3v0_tp"; 34008b64bd2SAlexis Ballier regulator-always-on; 34108b64bd2SAlexis Ballier regulator-boot-on; 34208b64bd2SAlexis Ballier regulator-min-microvolt = <1800000>; 34308b64bd2SAlexis Ballier regulator-max-microvolt = <3400000>; 34408b64bd2SAlexis Ballier regulator-state-mem { 34508b64bd2SAlexis Ballier regulator-off-in-suspend; 34608b64bd2SAlexis Ballier }; 34708b64bd2SAlexis Ballier }; 34808b64bd2SAlexis Ballier 34908b64bd2SAlexis Ballier vcc1v8_pmupll: LDO_REG3 { 35008b64bd2SAlexis Ballier regulator-name = "vcc1v8_pmupll"; 35108b64bd2SAlexis Ballier regulator-always-on; 35208b64bd2SAlexis Ballier regulator-boot-on; 35308b64bd2SAlexis Ballier regulator-min-microvolt = <800000>; 35408b64bd2SAlexis Ballier regulator-max-microvolt = <2500000>; 35508b64bd2SAlexis Ballier regulator-state-mem { 35608b64bd2SAlexis Ballier regulator-on-in-suspend; 35708b64bd2SAlexis Ballier regulator-suspend-microvolt = <1800000>; 35808b64bd2SAlexis Ballier }; 35908b64bd2SAlexis Ballier }; 36008b64bd2SAlexis Ballier 36108b64bd2SAlexis Ballier vcc_sdio: LDO_REG4 { 36208b64bd2SAlexis Ballier regulator-name = "vcc_sdio"; 36308b64bd2SAlexis Ballier regulator-always-on; 36408b64bd2SAlexis Ballier regulator-boot-on; 36508b64bd2SAlexis Ballier regulator-min-microvolt = <1800000>; 36608b64bd2SAlexis Ballier regulator-max-microvolt = <3400000>; 36708b64bd2SAlexis Ballier regulator-state-mem { 36808b64bd2SAlexis Ballier regulator-on-in-suspend; 36908b64bd2SAlexis Ballier regulator-suspend-microvolt = <3000000>; 37008b64bd2SAlexis Ballier }; 37108b64bd2SAlexis Ballier }; 37208b64bd2SAlexis Ballier 37308b64bd2SAlexis Ballier vcca3v0_codec: LDO_REG5 { 37408b64bd2SAlexis Ballier regulator-name = "vcca3v0_codec"; 37508b64bd2SAlexis Ballier regulator-always-on; 37608b64bd2SAlexis Ballier regulator-boot-on; 37708b64bd2SAlexis Ballier regulator-min-microvolt = <1800000>; 37808b64bd2SAlexis Ballier regulator-max-microvolt = <3400000>; 37908b64bd2SAlexis Ballier regulator-state-mem { 38008b64bd2SAlexis Ballier regulator-off-in-suspend; 38108b64bd2SAlexis Ballier }; 38208b64bd2SAlexis Ballier }; 38308b64bd2SAlexis Ballier 38408b64bd2SAlexis Ballier vcc_1v5: LDO_REG6 { 38508b64bd2SAlexis Ballier regulator-name = "vcc_1v5"; 38608b64bd2SAlexis Ballier regulator-always-on; 38708b64bd2SAlexis Ballier regulator-boot-on; 38808b64bd2SAlexis Ballier regulator-min-microvolt = <800000>; 38908b64bd2SAlexis Ballier regulator-max-microvolt = <2500000>; 39008b64bd2SAlexis Ballier regulator-state-mem { 39108b64bd2SAlexis Ballier regulator-on-in-suspend; 39208b64bd2SAlexis Ballier regulator-suspend-microvolt = <1500000>; 39308b64bd2SAlexis Ballier }; 39408b64bd2SAlexis Ballier }; 39508b64bd2SAlexis Ballier 39608b64bd2SAlexis Ballier vcca1v8_codec: LDO_REG7 { 39708b64bd2SAlexis Ballier regulator-name = "vcca1v8_codec"; 39808b64bd2SAlexis Ballier regulator-always-on; 39908b64bd2SAlexis Ballier regulator-boot-on; 40008b64bd2SAlexis Ballier regulator-min-microvolt = <800000>; 40108b64bd2SAlexis Ballier regulator-max-microvolt = <2500000>; 40208b64bd2SAlexis Ballier regulator-state-mem { 40308b64bd2SAlexis Ballier regulator-off-in-suspend; 40408b64bd2SAlexis Ballier }; 40508b64bd2SAlexis Ballier }; 40608b64bd2SAlexis Ballier 40708b64bd2SAlexis Ballier vcc_3v0: LDO_REG8 { 40808b64bd2SAlexis Ballier regulator-name = "vcc_3v0"; 40908b64bd2SAlexis Ballier regulator-always-on; 41008b64bd2SAlexis Ballier regulator-boot-on; 41108b64bd2SAlexis Ballier regulator-min-microvolt = <1800000>; 41208b64bd2SAlexis Ballier regulator-max-microvolt = <3400000>; 41308b64bd2SAlexis Ballier regulator-state-mem { 41408b64bd2SAlexis Ballier regulator-on-in-suspend; 41508b64bd2SAlexis Ballier regulator-suspend-microvolt = <3000000>; 41608b64bd2SAlexis Ballier }; 41708b64bd2SAlexis Ballier }; 41808b64bd2SAlexis Ballier 41908b64bd2SAlexis Ballier vcc3v3_s3: SWITCH_REG1 { 42008b64bd2SAlexis Ballier regulator-name = "vcc3v3_s3"; 42108b64bd2SAlexis Ballier regulator-always-on; 42208b64bd2SAlexis Ballier regulator-boot-on; 42308b64bd2SAlexis Ballier regulator-state-mem { 42408b64bd2SAlexis Ballier regulator-off-in-suspend; 42508b64bd2SAlexis Ballier }; 42608b64bd2SAlexis Ballier }; 42708b64bd2SAlexis Ballier 42808b64bd2SAlexis Ballier vcc3v3_s0: SWITCH_REG2 { 42908b64bd2SAlexis Ballier regulator-name = "vcc3v3_s0"; 43008b64bd2SAlexis Ballier regulator-always-on; 43108b64bd2SAlexis Ballier regulator-boot-on; 43208b64bd2SAlexis Ballier regulator-state-mem { 43308b64bd2SAlexis Ballier regulator-off-in-suspend; 43408b64bd2SAlexis Ballier }; 43508b64bd2SAlexis Ballier }; 43608b64bd2SAlexis Ballier }; 43708b64bd2SAlexis Ballier }; 43808b64bd2SAlexis Ballier 43908b64bd2SAlexis Ballier vdd_cpu_b: regulator@40 { 44008b64bd2SAlexis Ballier compatible = "silergy,syr827"; 44108b64bd2SAlexis Ballier reg = <0x40>; 44208b64bd2SAlexis Ballier fcs,suspend-voltage-selector = <1>; 443dbb0a828SAlexis Ballier pinctrl-names = "default"; 444dbb0a828SAlexis Ballier pinctrl-0 = <&cpu_b_sleep>; 44508b64bd2SAlexis Ballier regulator-name = "vdd_cpu_b"; 44608b64bd2SAlexis Ballier regulator-min-microvolt = <712500>; 44708b64bd2SAlexis Ballier regulator-max-microvolt = <1500000>; 44808b64bd2SAlexis Ballier regulator-ramp-delay = <1000>; 44908b64bd2SAlexis Ballier regulator-always-on; 45008b64bd2SAlexis Ballier regulator-boot-on; 45108b64bd2SAlexis Ballier vin-supply = <&vcc3v3_sys>; 45208b64bd2SAlexis Ballier 45308b64bd2SAlexis Ballier regulator-state-mem { 45408b64bd2SAlexis Ballier regulator-off-in-suspend; 45508b64bd2SAlexis Ballier }; 45608b64bd2SAlexis Ballier }; 45708b64bd2SAlexis Ballier 45808b64bd2SAlexis Ballier vdd_gpu: regulator@41 { 45908b64bd2SAlexis Ballier compatible = "silergy,syr828"; 46008b64bd2SAlexis Ballier reg = <0x41>; 46108b64bd2SAlexis Ballier fcs,suspend-voltage-selector = <1>; 462dbb0a828SAlexis Ballier pinctrl-names = "default"; 463dbb0a828SAlexis Ballier pinctrl-0 = <&gpu_sleep>; 46408b64bd2SAlexis Ballier regulator-name = "vdd_gpu"; 46508b64bd2SAlexis Ballier regulator-min-microvolt = <712500>; 46608b64bd2SAlexis Ballier regulator-max-microvolt = <1500000>; 46708b64bd2SAlexis Ballier regulator-ramp-delay = <1000>; 46808b64bd2SAlexis Ballier regulator-always-on; 46908b64bd2SAlexis Ballier regulator-boot-on; 47008b64bd2SAlexis Ballier vin-supply = <&vcc3v3_sys>; 47108b64bd2SAlexis Ballier 47208b64bd2SAlexis Ballier regulator-state-mem { 47308b64bd2SAlexis Ballier regulator-off-in-suspend; 47408b64bd2SAlexis Ballier }; 47508b64bd2SAlexis Ballier }; 47608b64bd2SAlexis Ballier}; 47708b64bd2SAlexis Ballier 47808b64bd2SAlexis Ballier&i2c1 { 47908b64bd2SAlexis Ballier i2c-scl-rising-time-ns = <450>; 48008b64bd2SAlexis Ballier i2c-scl-falling-time-ns = <15>; 48108b64bd2SAlexis Ballier status = "okay"; 48208b64bd2SAlexis Ballier}; 48308b64bd2SAlexis Ballier 48408b64bd2SAlexis Ballier&i2c3 { 48508b64bd2SAlexis Ballier i2c-scl-rising-time-ns = <450>; 48608b64bd2SAlexis Ballier i2c-scl-falling-time-ns = <15>; 48708b64bd2SAlexis Ballier status = "okay"; 48808b64bd2SAlexis Ballier}; 48908b64bd2SAlexis Ballier 49008b64bd2SAlexis Ballier&i2c4 { 49108b64bd2SAlexis Ballier clock-frequency = <400000>; 49208b64bd2SAlexis Ballier i2c-scl-rising-time-ns = <450>; 49308b64bd2SAlexis Ballier i2c-scl-falling-time-ns = <15>; 49408b64bd2SAlexis Ballier status = "okay"; 49508b64bd2SAlexis Ballier 49608b64bd2SAlexis Ballier ak09911@c { 49708b64bd2SAlexis Ballier compatible = "asahi-kasei,ak09911"; 49808b64bd2SAlexis Ballier reg = <0x0c>; 49908b64bd2SAlexis Ballier vdd-supply = <&vcc3v3_s3>; 500ba12fdd5SAlexis Ballier vid-supply = <&vcc3v3_s3>; 50108b64bd2SAlexis Ballier }; 50208b64bd2SAlexis Ballier 50308b64bd2SAlexis Ballier mpu6500@68 { 50408b64bd2SAlexis Ballier compatible = "invensense,mpu6500"; 50508b64bd2SAlexis Ballier reg = <0x68>; 50608b64bd2SAlexis Ballier interrupt-parent = <&gpio1>; 50708b64bd2SAlexis Ballier interrupts = <RK_PC6 IRQ_TYPE_EDGE_RISING>; 50808b64bd2SAlexis Ballier pinctrl-names = "default"; 50908b64bd2SAlexis Ballier pinctrl-0 = <&gsensor_int_l>; 51008b64bd2SAlexis Ballier vddio-supply = <&vcc3v3_s3>; 51108b64bd2SAlexis Ballier }; 51208b64bd2SAlexis Ballier 51308b64bd2SAlexis Ballier lsm6ds3@6a { 51408b64bd2SAlexis Ballier compatible = "st,lsm6ds3"; 51508b64bd2SAlexis Ballier reg = <0x6a>; 51608b64bd2SAlexis Ballier interrupt-parent = <&gpio1>; 51708b64bd2SAlexis Ballier interrupts = <RK_PD0 IRQ_TYPE_EDGE_RISING>; 51808b64bd2SAlexis Ballier pinctrl-names = "default"; 51908b64bd2SAlexis Ballier pinctrl-0 = <&gyr_int_l>; 52008b64bd2SAlexis Ballier vdd-supply = <&vcc3v3_s3>; 52108b64bd2SAlexis Ballier vddio-supply = <&vcc3v3_s3>; 52208b64bd2SAlexis Ballier }; 52308b64bd2SAlexis Ballier 52408b64bd2SAlexis Ballier cm32181@10 { 52508b64bd2SAlexis Ballier compatible = "capella,cm32181"; 52608b64bd2SAlexis Ballier reg = <0x10>; 52708b64bd2SAlexis Ballier interrupt-parent = <&gpio4>; 52808b64bd2SAlexis Ballier interrupts = <RK_PD0 IRQ_TYPE_EDGE_RISING>; 52908b64bd2SAlexis Ballier pinctrl-names = "default"; 53008b64bd2SAlexis Ballier pinctrl-0 = <&light_int_l>; 53108b64bd2SAlexis Ballier vdd-supply = <&vcc3v3_s3>; 53208b64bd2SAlexis Ballier }; 5335e3f8027SAlexis Ballier 5345e3f8027SAlexis Ballier fusb302@22 { 5355e3f8027SAlexis Ballier compatible = "fcs,fusb302"; 5365e3f8027SAlexis Ballier reg = <0x22>; 5375e3f8027SAlexis Ballier interrupt-parent = <&gpio1>; 5385e3f8027SAlexis Ballier interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 5395e3f8027SAlexis Ballier pinctrl-names = "default"; 5405e3f8027SAlexis Ballier pinctrl-0 = <&chg_cc_int_l>; 5415e3f8027SAlexis Ballier vbus-supply = <&vbus_typec>; 542e56ed188SAlexis Ballier 543e56ed188SAlexis Ballier typec_con: connector { 544e56ed188SAlexis Ballier compatible = "usb-c-connector"; 545e56ed188SAlexis Ballier data-role = "host"; 546e56ed188SAlexis Ballier label = "USB-C"; 547e56ed188SAlexis Ballier op-sink-microwatt = <1000000>; 548e56ed188SAlexis Ballier power-role = "dual"; 549e56ed188SAlexis Ballier sink-pdos = 550e56ed188SAlexis Ballier <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>; 551e56ed188SAlexis Ballier source-pdos = 552e56ed188SAlexis Ballier <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>; 553e56ed188SAlexis Ballier try-power-role = "sink"; 554e56ed188SAlexis Ballier 555e56ed188SAlexis Ballier ports { 556e56ed188SAlexis Ballier #address-cells = <1>; 557e56ed188SAlexis Ballier #size-cells = <0>; 558e56ed188SAlexis Ballier 559e56ed188SAlexis Ballier port@0 { 560e56ed188SAlexis Ballier reg = <0>; 561e56ed188SAlexis Ballier typec_hs: endpoint { 562e56ed188SAlexis Ballier remote-endpoint = <&u2phy0_typec_hs>; 563e56ed188SAlexis Ballier }; 564e56ed188SAlexis Ballier }; 565e56ed188SAlexis Ballier port@1 { 566e56ed188SAlexis Ballier reg = <1>; 567e56ed188SAlexis Ballier typec_ss: endpoint { 568e56ed188SAlexis Ballier remote-endpoint = <&tcphy0_typec_ss>; 569e56ed188SAlexis Ballier }; 570e56ed188SAlexis Ballier }; 571e56ed188SAlexis Ballier port@2 { 572e56ed188SAlexis Ballier reg = <2>; 573e56ed188SAlexis Ballier typec_dp: endpoint { 574e56ed188SAlexis Ballier remote-endpoint = <&tcphy0_typec_dp>; 575e56ed188SAlexis Ballier }; 576e56ed188SAlexis Ballier }; 577e56ed188SAlexis Ballier }; 578e56ed188SAlexis Ballier }; 5795e3f8027SAlexis Ballier }; 58008b64bd2SAlexis Ballier}; 58108b64bd2SAlexis Ballier 58208b64bd2SAlexis Ballier&io_domains { 58308b64bd2SAlexis Ballier status = "okay"; 58408b64bd2SAlexis Ballier bt656-supply = <&vcc_3v0>; 58508b64bd2SAlexis Ballier audio-supply = <&vcca1v8_codec>; 58608b64bd2SAlexis Ballier sdmmc-supply = <&vcc_sdio>; 58708b64bd2SAlexis Ballier gpio1830-supply = <&vcc_3v0>; 58808b64bd2SAlexis Ballier}; 58908b64bd2SAlexis Ballier 59008b64bd2SAlexis Ballier&pmu_io_domains { 59108b64bd2SAlexis Ballier status = "okay"; 59208b64bd2SAlexis Ballier pmu1830-supply = <&vcc_3v0>; 59308b64bd2SAlexis Ballier}; 59408b64bd2SAlexis Ballier 59508b64bd2SAlexis Ballier&pinctrl { 59608b64bd2SAlexis Ballier buttons { 59708b64bd2SAlexis Ballier pwr_btn: pwr-btn { 59808b64bd2SAlexis Ballier rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 59908b64bd2SAlexis Ballier }; 60008b64bd2SAlexis Ballier }; 60108b64bd2SAlexis Ballier 602302a729cSJohan Jonker gmac { 603e5ab00edSAlexis Ballier phy_intb: phy-intb { 604e5ab00edSAlexis Ballier rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; 605e5ab00edSAlexis Ballier }; 606e5ab00edSAlexis Ballier 607e5ab00edSAlexis Ballier phy_rstb: phy-rstb { 608e5ab00edSAlexis Ballier rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 609e5ab00edSAlexis Ballier }; 610e5ab00edSAlexis Ballier }; 611e5ab00edSAlexis Ballier 61208b64bd2SAlexis Ballier pmic { 613dbb0a828SAlexis Ballier cpu_b_sleep: cpu-b-sleep { 614dbb0a828SAlexis Ballier rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 615dbb0a828SAlexis Ballier }; 616dbb0a828SAlexis Ballier 617dbb0a828SAlexis Ballier gpu_sleep: gpu-sleep { 618dbb0a828SAlexis Ballier rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 619dbb0a828SAlexis Ballier }; 620dbb0a828SAlexis Ballier 62108b64bd2SAlexis Ballier pmic_int_l: pmic-int-l { 62208b64bd2SAlexis Ballier rockchip,pins = 62308b64bd2SAlexis Ballier <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 62408b64bd2SAlexis Ballier }; 62508b64bd2SAlexis Ballier }; 62608b64bd2SAlexis Ballier 62708b64bd2SAlexis Ballier sd { 62808b64bd2SAlexis Ballier sdmmc0_pwr_h: sdmmc0-pwr-h { 62908b64bd2SAlexis Ballier rockchip,pins = 630d64420e8SHeiko Stuebner <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 63108b64bd2SAlexis Ballier }; 63208b64bd2SAlexis Ballier }; 63308b64bd2SAlexis Ballier 63408b64bd2SAlexis Ballier usb2 { 63508b64bd2SAlexis Ballier vcc5v0_host_en: vcc5v0-host-en { 63608b64bd2SAlexis Ballier rockchip,pins = 63708b64bd2SAlexis Ballier <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>; 63808b64bd2SAlexis Ballier }; 63908b64bd2SAlexis Ballier 6405e3f8027SAlexis Ballier vcc5v0_typec_en: vcc5v0-typec-en { 64108b64bd2SAlexis Ballier rockchip,pins = 64208b64bd2SAlexis Ballier <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 64308b64bd2SAlexis Ballier }; 64408b64bd2SAlexis Ballier }; 64508b64bd2SAlexis Ballier 64608b64bd2SAlexis Ballier sdio-pwrseq { 64708b64bd2SAlexis Ballier wifi_reg_on_h: wifi-reg-on-h { 64808b64bd2SAlexis Ballier rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 64908b64bd2SAlexis Ballier }; 65008b64bd2SAlexis Ballier }; 65108b64bd2SAlexis Ballier 65208b64bd2SAlexis Ballier wifi { 65308b64bd2SAlexis Ballier wifi_host_wake_l: wifi-host-wake-l { 65408b64bd2SAlexis Ballier rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 65508b64bd2SAlexis Ballier }; 65608b64bd2SAlexis Ballier }; 65708b64bd2SAlexis Ballier 65808b64bd2SAlexis Ballier bluetooth { 65908b64bd2SAlexis Ballier bt_reg_on_h: bt-enable-h { 66008b64bd2SAlexis Ballier rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 66108b64bd2SAlexis Ballier }; 66208b64bd2SAlexis Ballier 66308b64bd2SAlexis Ballier bt_host_wake_l: bt-host-wake-l { 66408b64bd2SAlexis Ballier rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 66508b64bd2SAlexis Ballier }; 66608b64bd2SAlexis Ballier 66708b64bd2SAlexis Ballier bt_wake_l: bt-wake-l { 66808b64bd2SAlexis Ballier rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 66908b64bd2SAlexis Ballier }; 67008b64bd2SAlexis Ballier }; 67108b64bd2SAlexis Ballier 67208b64bd2SAlexis Ballier mpu6500 { 67308b64bd2SAlexis Ballier gsensor_int_l: gsensor-int-l { 67408b64bd2SAlexis Ballier rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 67508b64bd2SAlexis Ballier }; 67608b64bd2SAlexis Ballier }; 67708b64bd2SAlexis Ballier 67808b64bd2SAlexis Ballier lsm6ds3 { 67908b64bd2SAlexis Ballier gyr_int_l: gyr-int-l { 68008b64bd2SAlexis Ballier rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 68108b64bd2SAlexis Ballier }; 68208b64bd2SAlexis Ballier }; 68308b64bd2SAlexis Ballier 68408b64bd2SAlexis Ballier cm32181 { 68508b64bd2SAlexis Ballier light_int_l: light-int-l { 68608b64bd2SAlexis Ballier rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 68708b64bd2SAlexis Ballier }; 68808b64bd2SAlexis Ballier }; 6895e3f8027SAlexis Ballier 6905e3f8027SAlexis Ballier fusb302 { 6915e3f8027SAlexis Ballier chg_cc_int_l: chg-cc-int-l { 6925e3f8027SAlexis Ballier rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 6935e3f8027SAlexis Ballier }; 6945e3f8027SAlexis Ballier }; 69508b64bd2SAlexis Ballier}; 69608b64bd2SAlexis Ballier 69708b64bd2SAlexis Ballier&pwm0 { 69808b64bd2SAlexis Ballier status = "okay"; 69908b64bd2SAlexis Ballier}; 70008b64bd2SAlexis Ballier 70108b64bd2SAlexis Ballier&pwm2 { 70208b64bd2SAlexis Ballier status = "okay"; 70308b64bd2SAlexis Ballier}; 70408b64bd2SAlexis Ballier 70508b64bd2SAlexis Ballier&saradc { 70608b64bd2SAlexis Ballier vref-supply = <&vcca1v8_s3>; 70708b64bd2SAlexis Ballier status = "okay"; 70808b64bd2SAlexis Ballier}; 70908b64bd2SAlexis Ballier 71008b64bd2SAlexis Ballier&sdhci { 71108b64bd2SAlexis Ballier bus-width = <8>; 71208b64bd2SAlexis Ballier mmc-hs400-1_8v; 71308b64bd2SAlexis Ballier mmc-hs400-enhanced-strobe; 71408b64bd2SAlexis Ballier non-removable; 71508b64bd2SAlexis Ballier status = "okay"; 71608b64bd2SAlexis Ballier}; 71708b64bd2SAlexis Ballier 71808b64bd2SAlexis Ballier&sdio0 { 71908b64bd2SAlexis Ballier bus-width = <4>; 72008b64bd2SAlexis Ballier cap-sd-highspeed; 72108b64bd2SAlexis Ballier cap-sdio-irq; 72208b64bd2SAlexis Ballier clock-frequency = <50000000>; 72308b64bd2SAlexis Ballier disable-wp; 72408b64bd2SAlexis Ballier keep-power-in-suspend; 72508b64bd2SAlexis Ballier max-frequency = <50000000>; 72608b64bd2SAlexis Ballier mmc-pwrseq = <&sdio_pwrseq>; 72708b64bd2SAlexis Ballier non-removable; 72808b64bd2SAlexis Ballier pinctrl-names = "default"; 72908b64bd2SAlexis Ballier pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 73008b64bd2SAlexis Ballier sd-uhs-sdr104; 73196ff264bSJohan Jonker #address-cells = <1>; 73296ff264bSJohan Jonker #size-cells = <0>; 73308b64bd2SAlexis Ballier status = "okay"; 73408b64bd2SAlexis Ballier 73508b64bd2SAlexis Ballier brcmf: wifi@1 { 73696ff264bSJohan Jonker reg = <1>; 73708b64bd2SAlexis Ballier compatible = "brcm,bcm4329-fmac"; 73808b64bd2SAlexis Ballier interrupt-parent = <&gpio0>; 739c043dee9SKrzysztof Kozlowski interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>; 74008b64bd2SAlexis Ballier interrupt-names = "host-wake"; 74108b64bd2SAlexis Ballier pinctrl-names = "default"; 74208b64bd2SAlexis Ballier pinctrl-0 = <&wifi_host_wake_l>; 74308b64bd2SAlexis Ballier }; 74408b64bd2SAlexis Ballier}; 74508b64bd2SAlexis Ballier 74608b64bd2SAlexis Ballier&sdmmc { 74708b64bd2SAlexis Ballier bus-width = <4>; 74808b64bd2SAlexis Ballier cap-mmc-highspeed; 74908b64bd2SAlexis Ballier cap-sd-highspeed; 75008b64bd2SAlexis Ballier cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 75108b64bd2SAlexis Ballier clock-frequency = <150000000>; 75208b64bd2SAlexis Ballier disable-wp; 75308b64bd2SAlexis Ballier max-frequency = <150000000>; 75408b64bd2SAlexis Ballier pinctrl-names = "default"; 75508b64bd2SAlexis Ballier pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; 75608b64bd2SAlexis Ballier vmmc-supply = <&vcc3v0_sd>; 75708b64bd2SAlexis Ballier vqmmc-supply = <&vcc_sdio>; 75808b64bd2SAlexis Ballier status = "okay"; 75908b64bd2SAlexis Ballier}; 76008b64bd2SAlexis Ballier 76108b64bd2SAlexis Ballier&tcphy0 { 76208b64bd2SAlexis Ballier status = "okay"; 76308b64bd2SAlexis Ballier}; 76408b64bd2SAlexis Ballier 765e56ed188SAlexis Ballier&tcphy0_dp { 766e56ed188SAlexis Ballier port { 767e56ed188SAlexis Ballier tcphy0_typec_dp: endpoint { 768e56ed188SAlexis Ballier remote-endpoint = <&typec_dp>; 769e56ed188SAlexis Ballier }; 770e56ed188SAlexis Ballier }; 771e56ed188SAlexis Ballier}; 772e56ed188SAlexis Ballier 773e56ed188SAlexis Ballier&tcphy0_usb3 { 774e56ed188SAlexis Ballier port { 775e56ed188SAlexis Ballier tcphy0_typec_ss: endpoint { 776e56ed188SAlexis Ballier remote-endpoint = <&typec_ss>; 777e56ed188SAlexis Ballier }; 778e56ed188SAlexis Ballier }; 779e56ed188SAlexis Ballier}; 780e56ed188SAlexis Ballier 78108b64bd2SAlexis Ballier&tcphy1 { 78208b64bd2SAlexis Ballier status = "okay"; 78308b64bd2SAlexis Ballier}; 78408b64bd2SAlexis Ballier 78508b64bd2SAlexis Ballier&tsadc { 78608b64bd2SAlexis Ballier rockchip,hw-tshut-mode = <1>; 78708b64bd2SAlexis Ballier rockchip,hw-tshut-polarity = <1>; 78808b64bd2SAlexis Ballier status = "okay"; 78908b64bd2SAlexis Ballier}; 79008b64bd2SAlexis Ballier 79108b64bd2SAlexis Ballier&u2phy0 { 79208b64bd2SAlexis Ballier status = "okay"; 79308b64bd2SAlexis Ballier 79408b64bd2SAlexis Ballier u2phy0_otg: otg-port { 7955e3f8027SAlexis Ballier phy-supply = <&vbus_typec>; 79608b64bd2SAlexis Ballier status = "okay"; 79708b64bd2SAlexis Ballier }; 79808b64bd2SAlexis Ballier 79908b64bd2SAlexis Ballier u2phy0_host: host-port { 80008b64bd2SAlexis Ballier phy-supply = <&vcc5v0_host>; 80108b64bd2SAlexis Ballier status = "okay"; 80208b64bd2SAlexis Ballier }; 803e56ed188SAlexis Ballier 804e56ed188SAlexis Ballier port { 805e56ed188SAlexis Ballier u2phy0_typec_hs: endpoint { 806e56ed188SAlexis Ballier remote-endpoint = <&typec_hs>; 807e56ed188SAlexis Ballier }; 808e56ed188SAlexis Ballier }; 80908b64bd2SAlexis Ballier}; 81008b64bd2SAlexis Ballier 81108b64bd2SAlexis Ballier&u2phy1 { 81208b64bd2SAlexis Ballier status = "okay"; 81308b64bd2SAlexis Ballier 81408b64bd2SAlexis Ballier u2phy1_otg: otg-port { 81508b64bd2SAlexis Ballier status = "okay"; 81608b64bd2SAlexis Ballier }; 81708b64bd2SAlexis Ballier 81808b64bd2SAlexis Ballier u2phy1_host: host-port { 81908b64bd2SAlexis Ballier phy-supply = <&vcc5v0_host>; 82008b64bd2SAlexis Ballier status = "okay"; 82108b64bd2SAlexis Ballier }; 82208b64bd2SAlexis Ballier}; 82308b64bd2SAlexis Ballier 82408b64bd2SAlexis Ballier&uart0 { 82508b64bd2SAlexis Ballier pinctrl-names = "default"; 82608b64bd2SAlexis Ballier pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 82708b64bd2SAlexis Ballier status = "okay"; 82808b64bd2SAlexis Ballier 82908b64bd2SAlexis Ballier bluetooth { 83008b64bd2SAlexis Ballier compatible = "brcm,bcm43438-bt"; 83108b64bd2SAlexis Ballier clocks = <&rk808 1>; 832f5639599SAlexis Ballier clock-names = "lpo"; 83308b64bd2SAlexis Ballier device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>; 83408b64bd2SAlexis Ballier host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 83508b64bd2SAlexis Ballier shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 83608b64bd2SAlexis Ballier pinctrl-names = "default"; 83708b64bd2SAlexis Ballier pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_reg_on_h>; 838f5639599SAlexis Ballier vbat-supply = <&vcc3v3_sys>; 839f5639599SAlexis Ballier vddio-supply = <&vcc_1v8>; 84008b64bd2SAlexis Ballier }; 84108b64bd2SAlexis Ballier}; 84208b64bd2SAlexis Ballier 84308b64bd2SAlexis Ballier&uart2 { 84408b64bd2SAlexis Ballier status = "okay"; 84508b64bd2SAlexis Ballier}; 84608b64bd2SAlexis Ballier 84708b64bd2SAlexis Ballier&usb_host0_ehci { 84808b64bd2SAlexis Ballier status = "okay"; 84908b64bd2SAlexis Ballier}; 85008b64bd2SAlexis Ballier 85108b64bd2SAlexis Ballier&usb_host0_ohci { 85208b64bd2SAlexis Ballier status = "okay"; 85308b64bd2SAlexis Ballier}; 85408b64bd2SAlexis Ballier 85508b64bd2SAlexis Ballier&usb_host1_ehci { 85608b64bd2SAlexis Ballier status = "okay"; 85708b64bd2SAlexis Ballier}; 85808b64bd2SAlexis Ballier 85908b64bd2SAlexis Ballier&usb_host1_ohci { 86008b64bd2SAlexis Ballier status = "okay"; 86108b64bd2SAlexis Ballier}; 86208b64bd2SAlexis Ballier 86308b64bd2SAlexis Ballier&usbdrd3_0 { 86408b64bd2SAlexis Ballier status = "okay"; 86508b64bd2SAlexis Ballier}; 86608b64bd2SAlexis Ballier 86708b64bd2SAlexis Ballier&usbdrd_dwc3_0 { 86808b64bd2SAlexis Ballier status = "okay"; 869e56ed188SAlexis Ballier dr_mode = "host"; 87008b64bd2SAlexis Ballier}; 87108b64bd2SAlexis Ballier 87208b64bd2SAlexis Ballier&usbdrd3_1 { 87308b64bd2SAlexis Ballier status = "okay"; 87408b64bd2SAlexis Ballier}; 87508b64bd2SAlexis Ballier 87608b64bd2SAlexis Ballier&usbdrd_dwc3_1 { 87708b64bd2SAlexis Ballier status = "okay"; 87808b64bd2SAlexis Ballier dr_mode = "host"; 87908b64bd2SAlexis Ballier}; 88008b64bd2SAlexis Ballier 88108b64bd2SAlexis Ballier&vopb { 88208b64bd2SAlexis Ballier status = "okay"; 88308b64bd2SAlexis Ballier}; 88408b64bd2SAlexis Ballier 88508b64bd2SAlexis Ballier&vopb_mmu { 88608b64bd2SAlexis Ballier status = "okay"; 88708b64bd2SAlexis Ballier}; 88808b64bd2SAlexis Ballier 88908b64bd2SAlexis Ballier&vopl { 89008b64bd2SAlexis Ballier status = "okay"; 89108b64bd2SAlexis Ballier}; 89208b64bd2SAlexis Ballier 89308b64bd2SAlexis Ballier&vopl_mmu { 89408b64bd2SAlexis Ballier status = "okay"; 89508b64bd2SAlexis Ballier}; 896