131390eb8SHeiko Stuebner// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 231390eb8SHeiko Stuebner/* 331390eb8SHeiko Stuebner * Copyright (c) 2024 Radxa Limited 431390eb8SHeiko Stuebner * Copyright (c) 2024 Heiko Stuebner <heiko@sntech.de> 531390eb8SHeiko Stuebner */ 631390eb8SHeiko Stuebner 731390eb8SHeiko Stuebner/dts-v1/; 831390eb8SHeiko Stuebner 931390eb8SHeiko Stuebner#include <dt-bindings/gpio/gpio.h> 1031390eb8SHeiko Stuebner#include <dt-bindings/input/input.h> 1131390eb8SHeiko Stuebner#include <dt-bindings/leds/common.h> 1231390eb8SHeiko Stuebner#include <dt-bindings/pinctrl/rockchip.h> 1331390eb8SHeiko Stuebner#include <dt-bindings/pwm/pwm.h> 143eac9319SJianfeng Liu#include <dt-bindings/soc/rockchip,vop2.h> 1531390eb8SHeiko Stuebner#include "dt-bindings/usb/pd.h" 1631390eb8SHeiko Stuebner#include "rk3588.dtsi" 1731390eb8SHeiko Stuebner 1831390eb8SHeiko Stuebner/ { 1931390eb8SHeiko Stuebner model = "Radxa ROCK 5 ITX"; 2031390eb8SHeiko Stuebner compatible = "radxa,rock-5-itx", "rockchip,rk3588"; 2131390eb8SHeiko Stuebner 2231390eb8SHeiko Stuebner aliases { 2331390eb8SHeiko Stuebner mmc0 = &sdhci; 2431390eb8SHeiko Stuebner mmc1 = &sdmmc; 2531390eb8SHeiko Stuebner mmc2 = &sdio; 2631390eb8SHeiko Stuebner }; 2731390eb8SHeiko Stuebner 2831390eb8SHeiko Stuebner chosen { 2931390eb8SHeiko Stuebner stdout-path = "serial2:1500000n8"; 3031390eb8SHeiko Stuebner }; 3131390eb8SHeiko Stuebner 3231390eb8SHeiko Stuebner adc_keys: adc-keys { 3331390eb8SHeiko Stuebner compatible = "adc-keys"; 3431390eb8SHeiko Stuebner io-channels = <&saradc 0>; 3531390eb8SHeiko Stuebner io-channel-names = "buttons"; 3631390eb8SHeiko Stuebner keyup-threshold-microvolt = <1800000>; 3731390eb8SHeiko Stuebner poll-interval = <100>; 3831390eb8SHeiko Stuebner 3931390eb8SHeiko Stuebner button-maskrom { 4031390eb8SHeiko Stuebner label = "Mask Rom"; 4131390eb8SHeiko Stuebner linux,code = <KEY_SETUP>; 4231390eb8SHeiko Stuebner press-threshold-microvolt = <1750>; 4331390eb8SHeiko Stuebner }; 4431390eb8SHeiko Stuebner }; 4531390eb8SHeiko Stuebner 4631390eb8SHeiko Stuebner analog-sound { 4731390eb8SHeiko Stuebner compatible = "audio-graph-card"; 4831390eb8SHeiko Stuebner label = "rk3588-es8316"; 4931390eb8SHeiko Stuebner dais = <&i2s0_8ch_p0>; 503ca743f8SGeert Uytterhoeven hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; 5131390eb8SHeiko Stuebner pinctrl-names = "default"; 5231390eb8SHeiko Stuebner pinctrl-0 = <&hp_detect>; 5331390eb8SHeiko Stuebner routing = "MIC2", "Mic Jack", 5431390eb8SHeiko Stuebner "Headphones", "HPOL", 5531390eb8SHeiko Stuebner "Headphones", "HPOR"; 5631390eb8SHeiko Stuebner widgets = "Microphone", "Mic Jack", 5731390eb8SHeiko Stuebner "Headphone", "Headphones"; 5831390eb8SHeiko Stuebner }; 5931390eb8SHeiko Stuebner 6031390eb8SHeiko Stuebner gpio-leds { 6131390eb8SHeiko Stuebner compatible = "gpio-leds"; 6231390eb8SHeiko Stuebner pinctrl-names = "default"; 6331390eb8SHeiko Stuebner pinctrl-0 = <&led_pins>; 6431390eb8SHeiko Stuebner 6531390eb8SHeiko Stuebner power-led1 { 6631390eb8SHeiko Stuebner gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; 6731390eb8SHeiko Stuebner linux,default-trigger = "default-on"; 6831390eb8SHeiko Stuebner }; 6931390eb8SHeiko Stuebner 7031390eb8SHeiko Stuebner hdd-led2 { 7131390eb8SHeiko Stuebner gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>; 7231390eb8SHeiko Stuebner linux,default-trigger = "disk-activity"; 7331390eb8SHeiko Stuebner }; 7431390eb8SHeiko Stuebner }; 7531390eb8SHeiko Stuebner 763eac9319SJianfeng Liu hdmi1-con { 773eac9319SJianfeng Liu compatible = "hdmi-connector"; 783eac9319SJianfeng Liu type = "a"; 793eac9319SJianfeng Liu 803eac9319SJianfeng Liu port { 813eac9319SJianfeng Liu hdmi1_con_in: endpoint { 823eac9319SJianfeng Liu remote-endpoint = <&hdmi1_out_con>; 833eac9319SJianfeng Liu }; 843eac9319SJianfeng Liu }; 853eac9319SJianfeng Liu }; 863eac9319SJianfeng Liu 87e684f024SHeiko Stuebner /* Unnamed gated oscillator: 100MHz,3.3V,3225 */ 88e684f024SHeiko Stuebner pcie30_port0_refclk: pcie30_port1_refclk: pcie-oscillator { 89e684f024SHeiko Stuebner compatible = "gated-fixed-clock"; 90e684f024SHeiko Stuebner #clock-cells = <0>; 91e684f024SHeiko Stuebner clock-frequency = <100000000>; 92e684f024SHeiko Stuebner clock-output-names = "pcie30_refclk"; 93e684f024SHeiko Stuebner vdd-supply = <&vcc3v3_pi6c_05>; 94e684f024SHeiko Stuebner }; 95e684f024SHeiko Stuebner 9631390eb8SHeiko Stuebner fan0: pwm-fan { 9731390eb8SHeiko Stuebner compatible = "pwm-fan"; 9831390eb8SHeiko Stuebner #cooling-cells = <2>; 9931390eb8SHeiko Stuebner cooling-levels = <0 64 128 192 255>; 10031390eb8SHeiko Stuebner fan-supply = <&vcc12v_dcin>; 10131390eb8SHeiko Stuebner pwms = <&pwm14 0 10000 0>; 10231390eb8SHeiko Stuebner }; 10331390eb8SHeiko Stuebner 10431390eb8SHeiko Stuebner /* M.2 E-KEY */ 10531390eb8SHeiko Stuebner sdio_pwrseq: sdio-pwrseq { 10631390eb8SHeiko Stuebner compatible = "mmc-pwrseq-simple"; 10731390eb8SHeiko Stuebner clocks = <&hym8563>; 10831390eb8SHeiko Stuebner clock-names = "ext_clock"; 10931390eb8SHeiko Stuebner pinctrl-names = "default"; 11031390eb8SHeiko Stuebner pinctrl-0 = <&wifi_enable_h>; 11131390eb8SHeiko Stuebner reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>; 11231390eb8SHeiko Stuebner }; 11331390eb8SHeiko Stuebner 11431390eb8SHeiko Stuebner typec_vin: regulator-typec-vin { 11531390eb8SHeiko Stuebner compatible = "regulator-fixed"; 11631390eb8SHeiko Stuebner enable-active-high; 11731390eb8SHeiko Stuebner gpio = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>; 11831390eb8SHeiko Stuebner pinctrl-names = "default"; 11931390eb8SHeiko Stuebner pinctrl-0 = <&vbus5v0_typec_en>; 12031390eb8SHeiko Stuebner regulator-name = "typec_vin"; 12131390eb8SHeiko Stuebner regulator-min-microvolt = <5000000>; 12231390eb8SHeiko Stuebner regulator-max-microvolt = <5000000>; 12331390eb8SHeiko Stuebner vin-supply = <&vcc5v0_sys>; 12431390eb8SHeiko Stuebner }; 12531390eb8SHeiko Stuebner 12631390eb8SHeiko Stuebner vcc12v_dcin: regulator-vcc12v-dcin { 12731390eb8SHeiko Stuebner compatible = "regulator-fixed"; 12831390eb8SHeiko Stuebner regulator-name = "vcc12v_dcin"; 12931390eb8SHeiko Stuebner regulator-always-on; 13031390eb8SHeiko Stuebner regulator-boot-on; 13131390eb8SHeiko Stuebner regulator-min-microvolt = <12000000>; 13231390eb8SHeiko Stuebner regulator-max-microvolt = <12000000>; 13331390eb8SHeiko Stuebner }; 13431390eb8SHeiko Stuebner 13531390eb8SHeiko Stuebner vcc33_io64: regulator-vcc33-io64 { 13631390eb8SHeiko Stuebner compatible = "regulator-fixed"; 13731390eb8SHeiko Stuebner regulator-name = "vcc33_io64"; 13831390eb8SHeiko Stuebner regulator-always-on; 13931390eb8SHeiko Stuebner regulator-boot-on; 14031390eb8SHeiko Stuebner regulator-min-microvolt = <3300000>; 14131390eb8SHeiko Stuebner regulator-max-microvolt = <3300000>; 14231390eb8SHeiko Stuebner vin-supply = <&vcc12v_dcin>; 14331390eb8SHeiko Stuebner }; 14431390eb8SHeiko Stuebner 14531390eb8SHeiko Stuebner vcc3v3_ekey: regulator-vcc3v3-ekey { 14631390eb8SHeiko Stuebner compatible = "regulator-fixed"; 14731390eb8SHeiko Stuebner enable-active-high; 14831390eb8SHeiko Stuebner gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>; 14931390eb8SHeiko Stuebner pinctrl-names = "default"; 15031390eb8SHeiko Stuebner pinctrl-0 = <&ekey_en>; 15131390eb8SHeiko Stuebner regulator-name = "vcc3v3_ekey"; 15231390eb8SHeiko Stuebner regulator-always-on; 15331390eb8SHeiko Stuebner regulator-boot-on; 15431390eb8SHeiko Stuebner regulator-min-microvolt = <3300000>; 15531390eb8SHeiko Stuebner regulator-max-microvolt = <3300000>; 15631390eb8SHeiko Stuebner startup-delay-us = <50000>; 15731390eb8SHeiko Stuebner vin-supply = <&vcc5v0_sys>; 15831390eb8SHeiko Stuebner }; 15931390eb8SHeiko Stuebner 16031390eb8SHeiko Stuebner vcc3v3_lan: vcc3v3_lan_phy2: regulator-vcc3v3-lan { 16131390eb8SHeiko Stuebner compatible = "regulator-fixed"; 16231390eb8SHeiko Stuebner regulator-name = "vcc3v3_lan"; 16331390eb8SHeiko Stuebner regulator-always-on; 16431390eb8SHeiko Stuebner regulator-boot-on; 16531390eb8SHeiko Stuebner regulator-min-microvolt = <3300000>; 16631390eb8SHeiko Stuebner regulator-max-microvolt = <3300000>; 16731390eb8SHeiko Stuebner vin-supply = <&vcc_3v3_s3>; 16831390eb8SHeiko Stuebner }; 16931390eb8SHeiko Stuebner 170e684f024SHeiko Stuebner /* The PCIE30x4_PWREN_H controls two regulators */ 171e684f024SHeiko Stuebner vcc3v3_mkey: vcc3v3_pi6c_05: regulator-vcc3v3-pi6c-05 { 17231390eb8SHeiko Stuebner compatible = "regulator-fixed"; 17331390eb8SHeiko Stuebner enable-active-high; 17431390eb8SHeiko Stuebner gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>; 17531390eb8SHeiko Stuebner pinctrl-names = "default"; 17631390eb8SHeiko Stuebner pinctrl-0 = <&pcie30x4_pwren_h>; 177e684f024SHeiko Stuebner regulator-name = "vcc3v3_pi6c_05"; 17831390eb8SHeiko Stuebner regulator-min-microvolt = <3300000>; 17931390eb8SHeiko Stuebner regulator-max-microvolt = <3300000>; 18031390eb8SHeiko Stuebner startup-delay-us = <5000>; 18131390eb8SHeiko Stuebner vin-supply = <&vcc5v0_sys>; 18231390eb8SHeiko Stuebner }; 18331390eb8SHeiko Stuebner 18431390eb8SHeiko Stuebner vcc3v3_sys: regulator-vcc3v3-sys { 18531390eb8SHeiko Stuebner compatible = "regulator-fixed"; 18631390eb8SHeiko Stuebner regulator-name = "vcc3v3_sys"; 18731390eb8SHeiko Stuebner regulator-always-on; 18831390eb8SHeiko Stuebner regulator-boot-on; 18931390eb8SHeiko Stuebner regulator-min-microvolt = <3300000>; 19031390eb8SHeiko Stuebner regulator-max-microvolt = <3300000>; 19131390eb8SHeiko Stuebner vin-supply = <&vcc12v_dcin>; 19231390eb8SHeiko Stuebner }; 19331390eb8SHeiko Stuebner 19431390eb8SHeiko Stuebner vcc5v0_sys: regulator-vcc5v0-sys { 19531390eb8SHeiko Stuebner compatible = "regulator-fixed"; 19631390eb8SHeiko Stuebner regulator-name = "vcc5v0_sys"; 19731390eb8SHeiko Stuebner regulator-always-on; 19831390eb8SHeiko Stuebner regulator-boot-on; 19931390eb8SHeiko Stuebner regulator-min-microvolt = <5000000>; 20031390eb8SHeiko Stuebner regulator-max-microvolt = <5000000>; 20131390eb8SHeiko Stuebner vin-supply = <&vcc12v_dcin>; 20231390eb8SHeiko Stuebner }; 20331390eb8SHeiko Stuebner 20431390eb8SHeiko Stuebner vcc5v0_usb20: vcc5v0_usb12: vcc5v0_usb34: regulator-vcc5v0-usb { 20531390eb8SHeiko Stuebner compatible = "regulator-fixed"; 20631390eb8SHeiko Stuebner enable-active-high; 20731390eb8SHeiko Stuebner gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>; 20831390eb8SHeiko Stuebner pinctrl-names = "default"; 20931390eb8SHeiko Stuebner pinctrl-0 = <&usb_host_pwren_h>; 21031390eb8SHeiko Stuebner regulator-name = "vcc5v0_usb"; 21131390eb8SHeiko Stuebner regulator-min-microvolt = <5000000>; 21231390eb8SHeiko Stuebner regulator-max-microvolt = <5000000>; 21331390eb8SHeiko Stuebner vin-supply = <&vcc5v0_sys>; 21431390eb8SHeiko Stuebner }; 21531390eb8SHeiko Stuebner 21631390eb8SHeiko Stuebner vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 { 21731390eb8SHeiko Stuebner compatible = "regulator-fixed"; 21831390eb8SHeiko Stuebner regulator-name = "vcc_1v1_nldo_s3"; 21931390eb8SHeiko Stuebner regulator-always-on; 22031390eb8SHeiko Stuebner regulator-boot-on; 22131390eb8SHeiko Stuebner regulator-min-microvolt = <1100000>; 22231390eb8SHeiko Stuebner regulator-max-microvolt = <1100000>; 22331390eb8SHeiko Stuebner vin-supply = <&vcc5v0_sys>; 22431390eb8SHeiko Stuebner }; 22531390eb8SHeiko Stuebner}; 22631390eb8SHeiko Stuebner 22731390eb8SHeiko Stuebner&combphy0_ps { 22831390eb8SHeiko Stuebner status = "okay"; 22931390eb8SHeiko Stuebner}; 23031390eb8SHeiko Stuebner 23131390eb8SHeiko Stuebner&combphy1_ps { 23231390eb8SHeiko Stuebner status = "okay"; 23331390eb8SHeiko Stuebner}; 23431390eb8SHeiko Stuebner 23531390eb8SHeiko Stuebner&combphy2_psu { 23631390eb8SHeiko Stuebner status = "okay"; 23731390eb8SHeiko Stuebner}; 23831390eb8SHeiko Stuebner 23931390eb8SHeiko Stuebner&cpu_b0 { 24031390eb8SHeiko Stuebner cpu-supply = <&vdd_cpu_big0_s0>; 24131390eb8SHeiko Stuebner}; 24231390eb8SHeiko Stuebner 24331390eb8SHeiko Stuebner&cpu_b1 { 24431390eb8SHeiko Stuebner cpu-supply = <&vdd_cpu_big0_s0>; 24531390eb8SHeiko Stuebner}; 24631390eb8SHeiko Stuebner 24731390eb8SHeiko Stuebner&cpu_b2 { 24831390eb8SHeiko Stuebner cpu-supply = <&vdd_cpu_big1_s0>; 24931390eb8SHeiko Stuebner}; 25031390eb8SHeiko Stuebner 25131390eb8SHeiko Stuebner&cpu_b3 { 25231390eb8SHeiko Stuebner cpu-supply = <&vdd_cpu_big1_s0>; 25331390eb8SHeiko Stuebner}; 25431390eb8SHeiko Stuebner 25531390eb8SHeiko Stuebner&cpu_l0 { 25631390eb8SHeiko Stuebner cpu-supply = <&vdd_cpu_lit_s0>; 25731390eb8SHeiko Stuebner}; 25831390eb8SHeiko Stuebner 25931390eb8SHeiko Stuebner&cpu_l1 { 26031390eb8SHeiko Stuebner cpu-supply = <&vdd_cpu_lit_s0>; 26131390eb8SHeiko Stuebner}; 26231390eb8SHeiko Stuebner 26331390eb8SHeiko Stuebner&cpu_l2 { 26431390eb8SHeiko Stuebner cpu-supply = <&vdd_cpu_lit_s0>; 26531390eb8SHeiko Stuebner}; 26631390eb8SHeiko Stuebner 26731390eb8SHeiko Stuebner&cpu_l3 { 26831390eb8SHeiko Stuebner cpu-supply = <&vdd_cpu_lit_s0>; 26931390eb8SHeiko Stuebner}; 27031390eb8SHeiko Stuebner 27131390eb8SHeiko Stuebner&gpu { 27231390eb8SHeiko Stuebner mali-supply = <&vdd_gpu_s0>; 27331390eb8SHeiko Stuebner status = "okay"; 27431390eb8SHeiko Stuebner}; 27531390eb8SHeiko Stuebner 2763eac9319SJianfeng Liu&hdmi1 { 2773eac9319SJianfeng Liu pinctrl-0 = <&hdmim0_tx1_cec &hdmim0_tx1_hpd 2783eac9319SJianfeng Liu &hdmim1_tx1_scl &hdmim1_tx1_sda>; 2793eac9319SJianfeng Liu status = "okay"; 2803eac9319SJianfeng Liu}; 2813eac9319SJianfeng Liu 2823eac9319SJianfeng Liu&hdmi1_in { 2833eac9319SJianfeng Liu hdmi1_in_vp1: endpoint { 2843eac9319SJianfeng Liu remote-endpoint = <&vp1_out_hdmi1>; 2853eac9319SJianfeng Liu }; 2863eac9319SJianfeng Liu}; 2873eac9319SJianfeng Liu 2883eac9319SJianfeng Liu&hdmi1_out { 2893eac9319SJianfeng Liu hdmi1_out_con: endpoint { 2903eac9319SJianfeng Liu remote-endpoint = <&hdmi1_con_in>; 2913eac9319SJianfeng Liu }; 2923eac9319SJianfeng Liu}; 2933eac9319SJianfeng Liu 2943eac9319SJianfeng Liu&hdptxphy1 { 2953eac9319SJianfeng Liu status = "okay"; 2963eac9319SJianfeng Liu}; 2973eac9319SJianfeng Liu 29831390eb8SHeiko Stuebner&i2c0 { 29931390eb8SHeiko Stuebner pinctrl-names = "default"; 30031390eb8SHeiko Stuebner pinctrl-0 = <&i2c0m2_xfer>; 30131390eb8SHeiko Stuebner status = "okay"; 30231390eb8SHeiko Stuebner 30331390eb8SHeiko Stuebner vdd_cpu_big0_s0: regulator@42 { 30431390eb8SHeiko Stuebner compatible = "rockchip,rk8602"; 30531390eb8SHeiko Stuebner reg = <0x42>; 30631390eb8SHeiko Stuebner fcs,suspend-voltage-selector = <1>; 30731390eb8SHeiko Stuebner regulator-name = "vdd_cpu_big0_s0"; 30831390eb8SHeiko Stuebner regulator-always-on; 30931390eb8SHeiko Stuebner regulator-boot-on; 31031390eb8SHeiko Stuebner regulator-min-microvolt = <550000>; 31131390eb8SHeiko Stuebner regulator-max-microvolt = <1050000>; 31231390eb8SHeiko Stuebner regulator-ramp-delay = <2300>; 31331390eb8SHeiko Stuebner vin-supply = <&vcc5v0_sys>; 31431390eb8SHeiko Stuebner 31531390eb8SHeiko Stuebner regulator-state-mem { 31631390eb8SHeiko Stuebner regulator-off-in-suspend; 31731390eb8SHeiko Stuebner }; 31831390eb8SHeiko Stuebner }; 31931390eb8SHeiko Stuebner 32031390eb8SHeiko Stuebner vdd_cpu_big1_s0: regulator@43 { 32131390eb8SHeiko Stuebner compatible = "rockchip,rk8603", "rockchip,rk8602"; 32231390eb8SHeiko Stuebner reg = <0x43>; 32331390eb8SHeiko Stuebner fcs,suspend-voltage-selector = <1>; 32431390eb8SHeiko Stuebner regulator-name = "vdd_cpu_big1_s0"; 32531390eb8SHeiko Stuebner regulator-always-on; 32631390eb8SHeiko Stuebner regulator-boot-on; 32731390eb8SHeiko Stuebner regulator-min-microvolt = <550000>; 32831390eb8SHeiko Stuebner regulator-max-microvolt = <1050000>; 32931390eb8SHeiko Stuebner regulator-ramp-delay = <2300>; 33031390eb8SHeiko Stuebner vin-supply = <&vcc5v0_sys>; 33131390eb8SHeiko Stuebner 33231390eb8SHeiko Stuebner regulator-state-mem { 33331390eb8SHeiko Stuebner regulator-off-in-suspend; 33431390eb8SHeiko Stuebner }; 33531390eb8SHeiko Stuebner }; 33631390eb8SHeiko Stuebner}; 33731390eb8SHeiko Stuebner 33831390eb8SHeiko Stuebner&i2c1 { 33931390eb8SHeiko Stuebner pinctrl-names = "default"; 34031390eb8SHeiko Stuebner pinctrl-0 = <&i2c1m2_xfer>; 34131390eb8SHeiko Stuebner status = "okay"; 34231390eb8SHeiko Stuebner 34331390eb8SHeiko Stuebner vdd_npu_s0: regulator@42 { 34431390eb8SHeiko Stuebner compatible = "rockchip,rk8602"; 34531390eb8SHeiko Stuebner reg = <0x42>; 34631390eb8SHeiko Stuebner fcs,suspend-voltage-selector = <1>; 34731390eb8SHeiko Stuebner regulator-name = "vdd_npu_s0"; 34831390eb8SHeiko Stuebner regulator-always-on; 34931390eb8SHeiko Stuebner regulator-boot-on; 35031390eb8SHeiko Stuebner regulator-min-microvolt = <550000>; 35131390eb8SHeiko Stuebner regulator-max-microvolt = <950000>; 35231390eb8SHeiko Stuebner regulator-ramp-delay = <2300>; 35331390eb8SHeiko Stuebner vin-supply = <&vcc5v0_sys>; 35431390eb8SHeiko Stuebner 35531390eb8SHeiko Stuebner regulator-state-mem { 35631390eb8SHeiko Stuebner regulator-off-in-suspend; 35731390eb8SHeiko Stuebner }; 35831390eb8SHeiko Stuebner }; 35931390eb8SHeiko Stuebner}; 36031390eb8SHeiko Stuebner 36131390eb8SHeiko Stuebner/* CAM0 connector */ 36231390eb8SHeiko Stuebner&i2c3 { 36331390eb8SHeiko Stuebner pinctrl-names = "default"; 36431390eb8SHeiko Stuebner pinctrl-0 = <&i2c3m0_xfer>; 36531390eb8SHeiko Stuebner}; 36631390eb8SHeiko Stuebner 36731390eb8SHeiko Stuebner/* M.2 E-key */ 36831390eb8SHeiko Stuebner&i2c4 { 36931390eb8SHeiko Stuebner pinctrl-names = "default"; 37031390eb8SHeiko Stuebner pinctrl-0 = <&i2c4m1_xfer>; 37131390eb8SHeiko Stuebner}; 37231390eb8SHeiko Stuebner 37331390eb8SHeiko Stuebner/* RTC and LCD0 connector */ 37431390eb8SHeiko Stuebner&i2c6 { 37531390eb8SHeiko Stuebner pinctrl-names = "default"; 37631390eb8SHeiko Stuebner pinctrl-0 = <&i2c6m0_xfer>; 37731390eb8SHeiko Stuebner status = "okay"; 37831390eb8SHeiko Stuebner 37931390eb8SHeiko Stuebner hym8563: rtc@51 { 38031390eb8SHeiko Stuebner compatible = "haoyu,hym8563"; 38131390eb8SHeiko Stuebner reg = <0x51>; 38231390eb8SHeiko Stuebner #clock-cells = <0>; 38331390eb8SHeiko Stuebner clock-output-names = "wifi_32kout"; 38431390eb8SHeiko Stuebner interrupt-parent = <&gpio0>; 38531390eb8SHeiko Stuebner interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>; 38631390eb8SHeiko Stuebner pinctrl-names = "default"; 38731390eb8SHeiko Stuebner pinctrl-0 = <&rtc_int>; 38831390eb8SHeiko Stuebner }; 38931390eb8SHeiko Stuebner}; 39031390eb8SHeiko Stuebner 39131390eb8SHeiko Stuebner/* Audio codec and CAM1 connector */ 39231390eb8SHeiko Stuebner&i2c7 { 39331390eb8SHeiko Stuebner pinctrl-names = "default"; 39431390eb8SHeiko Stuebner pinctrl-0 = <&i2c7m0_xfer>; 39531390eb8SHeiko Stuebner status = "okay"; 39631390eb8SHeiko Stuebner 39731390eb8SHeiko Stuebner es8316: audio-codec@11 { 39831390eb8SHeiko Stuebner compatible = "everest,es8316"; 39931390eb8SHeiko Stuebner reg = <0x11>; 40031390eb8SHeiko Stuebner assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; 40131390eb8SHeiko Stuebner assigned-clock-rates = <12288000>; 40231390eb8SHeiko Stuebner clocks = <&cru I2S0_8CH_MCLKOUT>; 40331390eb8SHeiko Stuebner clock-names = "mclk"; 40431390eb8SHeiko Stuebner #sound-dai-cells = <0>; 40531390eb8SHeiko Stuebner 40631390eb8SHeiko Stuebner port { 40731390eb8SHeiko Stuebner es8316_p0_0: endpoint { 40831390eb8SHeiko Stuebner remote-endpoint = <&i2s0_8ch_p0_0>; 40931390eb8SHeiko Stuebner }; 41031390eb8SHeiko Stuebner }; 41131390eb8SHeiko Stuebner }; 41231390eb8SHeiko Stuebner}; 41331390eb8SHeiko Stuebner 41431390eb8SHeiko Stuebner/* FUSB302 and LCD1 connector */ 41531390eb8SHeiko Stuebner&i2c8 { 41631390eb8SHeiko Stuebner pinctrl-names = "default"; 41731390eb8SHeiko Stuebner pinctrl-0 = <&i2c8m4_xfer>; 41831390eb8SHeiko Stuebner status = "okay"; 41931390eb8SHeiko Stuebner 42031390eb8SHeiko Stuebner usbc0: usb-typec@22 { 42131390eb8SHeiko Stuebner compatible = "fcs,fusb302"; 42231390eb8SHeiko Stuebner reg = <0x22>; 42331390eb8SHeiko Stuebner interrupt-parent = <&gpio3>; 42431390eb8SHeiko Stuebner interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>; 42531390eb8SHeiko Stuebner pinctrl-names = "default"; 42631390eb8SHeiko Stuebner pinctrl-0 = <&usbc0_int>; 42731390eb8SHeiko Stuebner vbus-supply = <&typec_vin>; 42831390eb8SHeiko Stuebner 42931390eb8SHeiko Stuebner usb_con: connector { 43031390eb8SHeiko Stuebner compatible = "usb-c-connector"; 43131390eb8SHeiko Stuebner data-role = "dual"; 43231390eb8SHeiko Stuebner label = "USB-C"; 43331390eb8SHeiko Stuebner power-role = "source"; 43431390eb8SHeiko Stuebner source-pdos = 43531390eb8SHeiko Stuebner <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; 43631390eb8SHeiko Stuebner 43731390eb8SHeiko Stuebner ports { 43831390eb8SHeiko Stuebner #address-cells = <1>; 43931390eb8SHeiko Stuebner #size-cells = <0>; 44031390eb8SHeiko Stuebner 44131390eb8SHeiko Stuebner port@0 { 44231390eb8SHeiko Stuebner reg = <0>; 44331390eb8SHeiko Stuebner 44431390eb8SHeiko Stuebner usbc0_orien_sw: endpoint { 44531390eb8SHeiko Stuebner remote-endpoint = <&usbdp_phy0_orientation_switch>; 44631390eb8SHeiko Stuebner }; 44731390eb8SHeiko Stuebner }; 44831390eb8SHeiko Stuebner 44931390eb8SHeiko Stuebner port@1 { 45031390eb8SHeiko Stuebner reg = <1>; 45131390eb8SHeiko Stuebner 45231390eb8SHeiko Stuebner usbc0_role_sw: endpoint { 45331390eb8SHeiko Stuebner remote-endpoint = <&dwc3_0_role_switch>; 45431390eb8SHeiko Stuebner }; 45531390eb8SHeiko Stuebner }; 45631390eb8SHeiko Stuebner 45731390eb8SHeiko Stuebner port@2 { 45831390eb8SHeiko Stuebner reg = <2>; 45931390eb8SHeiko Stuebner 46031390eb8SHeiko Stuebner dp_altmode_mux: endpoint { 46131390eb8SHeiko Stuebner remote-endpoint = <&usbdp_phy0_dp_altmode_mux>; 46231390eb8SHeiko Stuebner }; 46331390eb8SHeiko Stuebner }; 46431390eb8SHeiko Stuebner }; 46531390eb8SHeiko Stuebner }; 46631390eb8SHeiko Stuebner }; 46731390eb8SHeiko Stuebner}; 46831390eb8SHeiko Stuebner 46931390eb8SHeiko Stuebner&i2c8m4_xfer { 47031390eb8SHeiko Stuebner rockchip,pins = 47131390eb8SHeiko Stuebner /* i2c8_scl_m4 */ 47231390eb8SHeiko Stuebner <3 RK_PC2 9 &pcfg_pull_up_drv_level_6>, 47331390eb8SHeiko Stuebner /* i2c8_sda_m4 */ 47431390eb8SHeiko Stuebner <3 RK_PC3 9 &pcfg_pull_up_drv_level_6>; 47531390eb8SHeiko Stuebner}; 47631390eb8SHeiko Stuebner 47731390eb8SHeiko Stuebner&i2s0_8ch { 47831390eb8SHeiko Stuebner pinctrl-names = "default"; 47931390eb8SHeiko Stuebner pinctrl-0 = <&i2s0_lrck 48031390eb8SHeiko Stuebner &i2s0_mclk 48131390eb8SHeiko Stuebner &i2s0_sclk 48231390eb8SHeiko Stuebner &i2s0_sdi0 48331390eb8SHeiko Stuebner &i2s0_sdo0>; 48431390eb8SHeiko Stuebner status = "okay"; 48531390eb8SHeiko Stuebner 48631390eb8SHeiko Stuebner i2s0_8ch_p0: port { 48731390eb8SHeiko Stuebner i2s0_8ch_p0_0: endpoint { 48831390eb8SHeiko Stuebner dai-format = "i2s"; 48931390eb8SHeiko Stuebner mclk-fs = <256>; 49031390eb8SHeiko Stuebner remote-endpoint = <&es8316_p0_0>; 49131390eb8SHeiko Stuebner }; 49231390eb8SHeiko Stuebner }; 49331390eb8SHeiko Stuebner}; 49431390eb8SHeiko Stuebner 49531390eb8SHeiko Stuebner&package_thermal { 49631390eb8SHeiko Stuebner polling-delay = <1000>; 49731390eb8SHeiko Stuebner 49831390eb8SHeiko Stuebner trips { 49931390eb8SHeiko Stuebner package_fan0: package-fan0 { 50031390eb8SHeiko Stuebner hysteresis = <2000>; 50131390eb8SHeiko Stuebner temperature = <50000>; 50231390eb8SHeiko Stuebner type = "active"; 50331390eb8SHeiko Stuebner }; 50431390eb8SHeiko Stuebner 50531390eb8SHeiko Stuebner package_fan1: package-fan1 { 50631390eb8SHeiko Stuebner hysteresis = <2000>; 50731390eb8SHeiko Stuebner temperature = <65000>; 50831390eb8SHeiko Stuebner type = "active"; 50931390eb8SHeiko Stuebner }; 51031390eb8SHeiko Stuebner }; 51131390eb8SHeiko Stuebner 51231390eb8SHeiko Stuebner cooling-maps { 51331390eb8SHeiko Stuebner map0 { 51431390eb8SHeiko Stuebner cooling-device = <&fan0 THERMAL_NO_LIMIT 1>; 51531390eb8SHeiko Stuebner trip = <&package_fan0>; 51631390eb8SHeiko Stuebner }; 51731390eb8SHeiko Stuebner map1 { 51831390eb8SHeiko Stuebner cooling-device = <&fan0 2 THERMAL_NO_LIMIT>; 51931390eb8SHeiko Stuebner trip = <&package_fan1>; 52031390eb8SHeiko Stuebner }; 52131390eb8SHeiko Stuebner }; 52231390eb8SHeiko Stuebner}; 52331390eb8SHeiko Stuebner 52431390eb8SHeiko Stuebner/* M.2 E-key */ 52531390eb8SHeiko Stuebner&pcie2x1l0 { 52631390eb8SHeiko Stuebner pinctrl-names = "default"; 52731390eb8SHeiko Stuebner pinctrl-0 = <&pcie30x1_0_perstn_m1_l>; 52831390eb8SHeiko Stuebner reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; 52931390eb8SHeiko Stuebner vpcie3v3-supply = <&vcc3v3_ekey>; 53031390eb8SHeiko Stuebner status = "okay"; 53131390eb8SHeiko Stuebner}; 53231390eb8SHeiko Stuebner 53331390eb8SHeiko Stuebner/* RTL8125B_1 */ 53431390eb8SHeiko Stuebner&pcie2x1l1 { 53531390eb8SHeiko Stuebner pinctrl-names = "default"; 53631390eb8SHeiko Stuebner pinctrl-0 = <&pcie30x1_1_perstn>; 53731390eb8SHeiko Stuebner reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>; 53831390eb8SHeiko Stuebner vpcie3v3-supply = <&vcc3v3_lan>; 53931390eb8SHeiko Stuebner status = "okay"; 54031390eb8SHeiko Stuebner}; 54131390eb8SHeiko Stuebner 54231390eb8SHeiko Stuebner/* RTL8125B_2 */ 54331390eb8SHeiko Stuebner&pcie2x1l2 { 54431390eb8SHeiko Stuebner pinctrl-names = "default"; 54531390eb8SHeiko Stuebner pinctrl-0 = <&pcie20x1_2_perstn>; 54631390eb8SHeiko Stuebner reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>; 54731390eb8SHeiko Stuebner vpcie3v3-supply = <&vcc3v3_lan_phy2>; 54831390eb8SHeiko Stuebner status = "okay"; 54931390eb8SHeiko Stuebner}; 55031390eb8SHeiko Stuebner 55131390eb8SHeiko Stuebner&pcie30phy { 55231390eb8SHeiko Stuebner data-lanes = <1 1 2 2>; 55331390eb8SHeiko Stuebner /* separate clock lines from the clock generator to phy and devices */ 55431390eb8SHeiko Stuebner rockchip,rx-common-refclk-mode = <0 0 0 0>; 55531390eb8SHeiko Stuebner status = "okay"; 55631390eb8SHeiko Stuebner}; 55731390eb8SHeiko Stuebner 55831390eb8SHeiko Stuebner/* ASMedia ASM1164 Sata controller */ 55931390eb8SHeiko Stuebner&pcie3x2 { 560e684f024SHeiko Stuebner /* 561e684f024SHeiko Stuebner * The board has a "pcie_refclk" oscillator that needs enabling, 562e684f024SHeiko Stuebner * so add it to the list of clocks. 563e684f024SHeiko Stuebner */ 564e684f024SHeiko Stuebner clocks = <&cru ACLK_PCIE_2L_MSTR>, <&cru ACLK_PCIE_2L_SLV>, 565e684f024SHeiko Stuebner <&cru ACLK_PCIE_2L_DBI>, <&cru PCLK_PCIE_2L>, 566e684f024SHeiko Stuebner <&cru CLK_PCIE_AUX1>, <&cru CLK_PCIE2L_PIPE>, 567e684f024SHeiko Stuebner <&pcie30_port1_refclk>; 568e684f024SHeiko Stuebner clock-names = "aclk_mst", "aclk_slv", 569e684f024SHeiko Stuebner "aclk_dbi", "pclk", 570e684f024SHeiko Stuebner "aux", "pipe", 571e684f024SHeiko Stuebner "ref"; 57231390eb8SHeiko Stuebner pinctrl-names = "default"; 57331390eb8SHeiko Stuebner pinctrl-0 = <&pcie30x2_perstn_m1_l>; 57431390eb8SHeiko Stuebner reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 57531390eb8SHeiko Stuebner vpcie3v3-supply = <&vcc33_io64>; 57631390eb8SHeiko Stuebner status = "okay"; 57731390eb8SHeiko Stuebner}; 57831390eb8SHeiko Stuebner 57931390eb8SHeiko Stuebner/* M.2 M.key */ 58031390eb8SHeiko Stuebner&pcie3x4 { 581e684f024SHeiko Stuebner /* 582e684f024SHeiko Stuebner * The board has a "pcie_refclk" oscillator that needs enabling, 583e684f024SHeiko Stuebner * so add it to the list of clocks. 584e684f024SHeiko Stuebner */ 585e684f024SHeiko Stuebner clocks = <&cru ACLK_PCIE_4L_MSTR>, <&cru ACLK_PCIE_4L_SLV>, 586e684f024SHeiko Stuebner <&cru ACLK_PCIE_4L_DBI>, <&cru PCLK_PCIE_4L>, 587e684f024SHeiko Stuebner <&cru CLK_PCIE_AUX0>, <&cru CLK_PCIE4L_PIPE>, 588e684f024SHeiko Stuebner <&pcie30_port0_refclk>; 589e684f024SHeiko Stuebner clock-names = "aclk_mst", "aclk_slv", 590e684f024SHeiko Stuebner "aclk_dbi", "pclk", 591e684f024SHeiko Stuebner "aux", "pipe", 592e684f024SHeiko Stuebner "ref"; 59331390eb8SHeiko Stuebner num-lanes = <2>; 59431390eb8SHeiko Stuebner pinctrl-names = "default"; 59531390eb8SHeiko Stuebner pinctrl-0 = <&pcie30x4_perstn_m1_l>; 59631390eb8SHeiko Stuebner reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 59731390eb8SHeiko Stuebner vpcie3v3-supply = <&vcc3v3_mkey>; 59831390eb8SHeiko Stuebner status = "okay"; 59931390eb8SHeiko Stuebner}; 60031390eb8SHeiko Stuebner 601*f94500ebSSebastian Reichel&pd_gpu { 602*f94500ebSSebastian Reichel domain-supply = <&vdd_gpu_s0>; 603*f94500ebSSebastian Reichel}; 604*f94500ebSSebastian Reichel 60531390eb8SHeiko Stuebner&pinctrl { 60631390eb8SHeiko Stuebner hym8563 { 60731390eb8SHeiko Stuebner rtc_int: rtc-int { 60831390eb8SHeiko Stuebner rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 60931390eb8SHeiko Stuebner }; 61031390eb8SHeiko Stuebner }; 61131390eb8SHeiko Stuebner 61231390eb8SHeiko Stuebner leds { 61331390eb8SHeiko Stuebner led_pins: led-pins { 61431390eb8SHeiko Stuebner rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>, 61531390eb8SHeiko Stuebner <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 61631390eb8SHeiko Stuebner }; 61731390eb8SHeiko Stuebner }; 61831390eb8SHeiko Stuebner 61931390eb8SHeiko Stuebner pcie { 62031390eb8SHeiko Stuebner pcie20x1_2_perstn: pcie20x1-2-perstn { 62131390eb8SHeiko Stuebner rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 62231390eb8SHeiko Stuebner }; 62331390eb8SHeiko Stuebner 62431390eb8SHeiko Stuebner pcie30x1_0_perstn_m1_l: pcie30x1-0-perstn-m1-l { 62531390eb8SHeiko Stuebner rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 62631390eb8SHeiko Stuebner }; 62731390eb8SHeiko Stuebner 62831390eb8SHeiko Stuebner pcie30x1_1_perstn: pcie30x1-1-perstn { 62931390eb8SHeiko Stuebner rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 63031390eb8SHeiko Stuebner }; 63131390eb8SHeiko Stuebner 63231390eb8SHeiko Stuebner pcie30x2_perstn_m1_l: pcie30x2-perstn-m1-l { 63331390eb8SHeiko Stuebner rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 63431390eb8SHeiko Stuebner }; 63531390eb8SHeiko Stuebner 63631390eb8SHeiko Stuebner pcie30x4_perstn_m1_l: pcie30x4-perstn-m1-l { 63731390eb8SHeiko Stuebner rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 63831390eb8SHeiko Stuebner }; 63931390eb8SHeiko Stuebner 64031390eb8SHeiko Stuebner ekey_en: ekey-en { 64131390eb8SHeiko Stuebner rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_down>; 64231390eb8SHeiko Stuebner }; 64331390eb8SHeiko Stuebner 64431390eb8SHeiko Stuebner pcie30x4_pwren_h: pcie30x4-pwren-h { 64531390eb8SHeiko Stuebner rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>; 64631390eb8SHeiko Stuebner }; 64731390eb8SHeiko Stuebner }; 64831390eb8SHeiko Stuebner 64931390eb8SHeiko Stuebner sound { 65031390eb8SHeiko Stuebner hp_detect: hp-detect { 65131390eb8SHeiko Stuebner rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_down>; 65231390eb8SHeiko Stuebner }; 65331390eb8SHeiko Stuebner }; 65431390eb8SHeiko Stuebner 65531390eb8SHeiko Stuebner usb { 65631390eb8SHeiko Stuebner usb_host_pwren_h: usb-host-pwren-h { 65731390eb8SHeiko Stuebner rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 65831390eb8SHeiko Stuebner }; 65931390eb8SHeiko Stuebner 66031390eb8SHeiko Stuebner vcc5v0_otg_en: vcc5v0-otg-en { 66131390eb8SHeiko Stuebner rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 66231390eb8SHeiko Stuebner }; 66331390eb8SHeiko Stuebner 66431390eb8SHeiko Stuebner gl3523_reset: rl3523-reset { 66531390eb8SHeiko Stuebner rockchip,pins = <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 66631390eb8SHeiko Stuebner }; 66731390eb8SHeiko Stuebner }; 66831390eb8SHeiko Stuebner 66931390eb8SHeiko Stuebner usb-typec { 67031390eb8SHeiko Stuebner usbc0_int: usbc0-int { 67131390eb8SHeiko Stuebner rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>; 67231390eb8SHeiko Stuebner }; 67331390eb8SHeiko Stuebner 67431390eb8SHeiko Stuebner vbus5v0_typec_en: vbus5v0-typec-en { 67531390eb8SHeiko Stuebner rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 67631390eb8SHeiko Stuebner }; 67731390eb8SHeiko Stuebner }; 67831390eb8SHeiko Stuebner 67931390eb8SHeiko Stuebner hdmirx { 68031390eb8SHeiko Stuebner hdmirx_det: hdmirx-det { 68131390eb8SHeiko Stuebner rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 68231390eb8SHeiko Stuebner }; 68331390eb8SHeiko Stuebner }; 68431390eb8SHeiko Stuebner 68531390eb8SHeiko Stuebner sdio-pwrseq { 68631390eb8SHeiko Stuebner wifi_enable_h: wifi-enable-h { 68731390eb8SHeiko Stuebner rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; 68831390eb8SHeiko Stuebner }; 68931390eb8SHeiko Stuebner }; 69031390eb8SHeiko Stuebner 69131390eb8SHeiko Stuebner wireless-wlan { 69231390eb8SHeiko Stuebner wifi_host_wake_irq: wifi-host-wake-irq { 69331390eb8SHeiko Stuebner rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>; 69431390eb8SHeiko Stuebner }; 69531390eb8SHeiko Stuebner }; 69631390eb8SHeiko Stuebner 69731390eb8SHeiko Stuebner bt { 69831390eb8SHeiko Stuebner bt_enable_h: bt-enable-h { 69931390eb8SHeiko Stuebner rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 70031390eb8SHeiko Stuebner }; 70131390eb8SHeiko Stuebner 70231390eb8SHeiko Stuebner bt_host_wake_l: bt-host-wake-l { 70331390eb8SHeiko Stuebner rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 70431390eb8SHeiko Stuebner }; 70531390eb8SHeiko Stuebner 70631390eb8SHeiko Stuebner bt_wake_l: bt-wake-l { 70731390eb8SHeiko Stuebner rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 70831390eb8SHeiko Stuebner }; 70931390eb8SHeiko Stuebner }; 71031390eb8SHeiko Stuebner 71131390eb8SHeiko Stuebner dp { 71231390eb8SHeiko Stuebner dp1_hpd: dp1-hpd { 71331390eb8SHeiko Stuebner rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 71431390eb8SHeiko Stuebner }; 71531390eb8SHeiko Stuebner }; 71631390eb8SHeiko Stuebner}; 71731390eb8SHeiko Stuebner 71831390eb8SHeiko Stuebner&pwm14 { 71931390eb8SHeiko Stuebner pinctrl-names = "default"; 72031390eb8SHeiko Stuebner pinctrl-0 = <&pwm14m1_pins>; 72131390eb8SHeiko Stuebner status = "okay"; 72231390eb8SHeiko Stuebner}; 72331390eb8SHeiko Stuebner 72431390eb8SHeiko Stuebner&saradc { 72531390eb8SHeiko Stuebner vref-supply = <&avcc_1v8_s0>; 72631390eb8SHeiko Stuebner status = "okay"; 72731390eb8SHeiko Stuebner}; 72831390eb8SHeiko Stuebner 72931390eb8SHeiko Stuebner&sdhci { 73031390eb8SHeiko Stuebner bus-width = <8>; 731b36402e4SJianfeng Liu max-frequency = <150000000>; 73231390eb8SHeiko Stuebner mmc-hs400-1_8v; 73331390eb8SHeiko Stuebner mmc-hs400-enhanced-strobe; 73431390eb8SHeiko Stuebner no-sdio; 73531390eb8SHeiko Stuebner no-sd; 73631390eb8SHeiko Stuebner non-removable; 73731390eb8SHeiko Stuebner status = "okay"; 73831390eb8SHeiko Stuebner}; 73931390eb8SHeiko Stuebner 74031390eb8SHeiko Stuebner&sdmmc { 74131390eb8SHeiko Stuebner bus-width = <4>; 74231390eb8SHeiko Stuebner cap-mmc-highspeed; 74331390eb8SHeiko Stuebner cap-sd-highspeed; 74431390eb8SHeiko Stuebner disable-wp; 74531390eb8SHeiko Stuebner max-frequency = <200000000>; 74631390eb8SHeiko Stuebner no-sdio; 74731390eb8SHeiko Stuebner no-mmc; 74831390eb8SHeiko Stuebner pinctrl-names = "default"; 74931390eb8SHeiko Stuebner pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_det>; 75031390eb8SHeiko Stuebner sd-uhs-sdr104; 75131390eb8SHeiko Stuebner vmmc-supply = <&vcc_3v3_s3>; 75231390eb8SHeiko Stuebner vqmmc-supply = <&vccio_sd_s0>; 75331390eb8SHeiko Stuebner status = "okay"; 75431390eb8SHeiko Stuebner}; 75531390eb8SHeiko Stuebner 75631390eb8SHeiko Stuebner/* M.2 E-KEY */ 75731390eb8SHeiko Stuebner&sdio { 75831390eb8SHeiko Stuebner broken-cd; 75931390eb8SHeiko Stuebner bus-width = <4>; 76031390eb8SHeiko Stuebner cap-sdio-irq; 76131390eb8SHeiko Stuebner keep-power-in-suspend; 76231390eb8SHeiko Stuebner max-frequency = <150000000>; 76331390eb8SHeiko Stuebner mmc-pwrseq = <&sdio_pwrseq>; 76431390eb8SHeiko Stuebner no-sd; 76531390eb8SHeiko Stuebner no-mmc; 76631390eb8SHeiko Stuebner non-removable; 76731390eb8SHeiko Stuebner pinctrl-names = "default"; 76831390eb8SHeiko Stuebner pinctrl-0 = <&sdiom0_pins>; 76931390eb8SHeiko Stuebner sd-uhs-sdr104; 77031390eb8SHeiko Stuebner vmmc-supply = <&vcc3v3_ekey>; 77131390eb8SHeiko Stuebner status = "okay"; 77231390eb8SHeiko Stuebner}; 77331390eb8SHeiko Stuebner 77431390eb8SHeiko Stuebner&sfc { 77531390eb8SHeiko Stuebner pinctrl-names = "default"; 77631390eb8SHeiko Stuebner pinctrl-0 = <&fspim2_pins>; 77731390eb8SHeiko Stuebner status = "okay"; 77831390eb8SHeiko Stuebner 77931390eb8SHeiko Stuebner spi_flash: flash@0 { 78031390eb8SHeiko Stuebner compatible = "jedec,spi-nor"; 78131390eb8SHeiko Stuebner reg = <0x0>; 78231390eb8SHeiko Stuebner spi-max-frequency = <50000000>; 78331390eb8SHeiko Stuebner spi-rx-bus-width = <4>; 78431390eb8SHeiko Stuebner spi-tx-bus-width = <1>; 78531390eb8SHeiko Stuebner }; 78631390eb8SHeiko Stuebner}; 78731390eb8SHeiko Stuebner 78831390eb8SHeiko Stuebner&spi2 { 78931390eb8SHeiko Stuebner status = "okay"; 79031390eb8SHeiko Stuebner assigned-clocks = <&cru CLK_SPI2>; 79131390eb8SHeiko Stuebner assigned-clock-rates = <200000000>; 79231390eb8SHeiko Stuebner num-cs = <1>; 79331390eb8SHeiko Stuebner pinctrl-names = "default"; 79431390eb8SHeiko Stuebner pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>; 79531390eb8SHeiko Stuebner 79631390eb8SHeiko Stuebner pmic@0 { 79731390eb8SHeiko Stuebner compatible = "rockchip,rk806"; 79831390eb8SHeiko Stuebner reg = <0x0>; 79931390eb8SHeiko Stuebner gpio-controller; 80031390eb8SHeiko Stuebner #gpio-cells = <2>; 80131390eb8SHeiko Stuebner interrupt-parent = <&gpio0>; 80231390eb8SHeiko Stuebner interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 80331390eb8SHeiko Stuebner pinctrl-names = "default"; 80431390eb8SHeiko Stuebner pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 80531390eb8SHeiko Stuebner <&rk806_dvs2_null>, <&rk806_dvs3_null>; 80631390eb8SHeiko Stuebner spi-max-frequency = <1000000>; 80731390eb8SHeiko Stuebner system-power-controller; 80831390eb8SHeiko Stuebner 80931390eb8SHeiko Stuebner vcc1-supply = <&vcc5v0_sys>; 81031390eb8SHeiko Stuebner vcc2-supply = <&vcc5v0_sys>; 81131390eb8SHeiko Stuebner vcc3-supply = <&vcc5v0_sys>; 81231390eb8SHeiko Stuebner vcc4-supply = <&vcc5v0_sys>; 81331390eb8SHeiko Stuebner vcc5-supply = <&vcc5v0_sys>; 81431390eb8SHeiko Stuebner vcc6-supply = <&vcc5v0_sys>; 81531390eb8SHeiko Stuebner vcc7-supply = <&vcc5v0_sys>; 81631390eb8SHeiko Stuebner vcc8-supply = <&vcc5v0_sys>; 81731390eb8SHeiko Stuebner vcc9-supply = <&vcc5v0_sys>; 81831390eb8SHeiko Stuebner vcc10-supply = <&vcc5v0_sys>; 81931390eb8SHeiko Stuebner vcc11-supply = <&vcc_2v0_pldo_s3>; 82031390eb8SHeiko Stuebner vcc12-supply = <&vcc5v0_sys>; 82131390eb8SHeiko Stuebner vcc13-supply = <&vcc_1v1_nldo_s3>; 82231390eb8SHeiko Stuebner vcc14-supply = <&vcc_1v1_nldo_s3>; 82331390eb8SHeiko Stuebner vcca-supply = <&vcc5v0_sys>; 82431390eb8SHeiko Stuebner 82531390eb8SHeiko Stuebner rk806_dvs1_null: dvs1-null-pins { 82631390eb8SHeiko Stuebner pins = "gpio_pwrctrl1"; 82731390eb8SHeiko Stuebner function = "pin_fun0"; 82831390eb8SHeiko Stuebner }; 82931390eb8SHeiko Stuebner 83031390eb8SHeiko Stuebner rk806_dvs2_null: dvs2-null-pins { 83131390eb8SHeiko Stuebner pins = "gpio_pwrctrl2"; 83231390eb8SHeiko Stuebner function = "pin_fun0"; 83331390eb8SHeiko Stuebner }; 83431390eb8SHeiko Stuebner 83531390eb8SHeiko Stuebner rk806_dvs3_null: dvs3-null-pins { 83631390eb8SHeiko Stuebner pins = "gpio_pwrctrl3"; 83731390eb8SHeiko Stuebner function = "pin_fun0"; 83831390eb8SHeiko Stuebner }; 83931390eb8SHeiko Stuebner 84031390eb8SHeiko Stuebner regulators { 84131390eb8SHeiko Stuebner vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 { 84231390eb8SHeiko Stuebner regulator-boot-on; 84331390eb8SHeiko Stuebner regulator-min-microvolt = <550000>; 84431390eb8SHeiko Stuebner regulator-max-microvolt = <950000>; 84531390eb8SHeiko Stuebner regulator-ramp-delay = <12500>; 84631390eb8SHeiko Stuebner regulator-name = "vdd_gpu_s0"; 84731390eb8SHeiko Stuebner regulator-enable-ramp-delay = <400>; 84831390eb8SHeiko Stuebner 84931390eb8SHeiko Stuebner regulator-state-mem { 85031390eb8SHeiko Stuebner regulator-off-in-suspend; 85131390eb8SHeiko Stuebner }; 85231390eb8SHeiko Stuebner }; 85331390eb8SHeiko Stuebner 85431390eb8SHeiko Stuebner vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 { 85531390eb8SHeiko Stuebner regulator-always-on; 85631390eb8SHeiko Stuebner regulator-boot-on; 85731390eb8SHeiko Stuebner regulator-min-microvolt = <550000>; 85831390eb8SHeiko Stuebner regulator-max-microvolt = <950000>; 85931390eb8SHeiko Stuebner regulator-ramp-delay = <12500>; 86031390eb8SHeiko Stuebner regulator-name = "vdd_cpu_lit_s0"; 86131390eb8SHeiko Stuebner 86231390eb8SHeiko Stuebner regulator-state-mem { 86331390eb8SHeiko Stuebner regulator-off-in-suspend; 86431390eb8SHeiko Stuebner }; 86531390eb8SHeiko Stuebner }; 86631390eb8SHeiko Stuebner 86731390eb8SHeiko Stuebner vdd_log_s0: dcdc-reg3 { 86831390eb8SHeiko Stuebner regulator-always-on; 86931390eb8SHeiko Stuebner regulator-boot-on; 87031390eb8SHeiko Stuebner regulator-min-microvolt = <675000>; 87131390eb8SHeiko Stuebner regulator-max-microvolt = <750000>; 87231390eb8SHeiko Stuebner regulator-ramp-delay = <12500>; 87331390eb8SHeiko Stuebner regulator-name = "vdd_log_s0"; 87431390eb8SHeiko Stuebner 87531390eb8SHeiko Stuebner regulator-state-mem { 87631390eb8SHeiko Stuebner regulator-on-in-suspend; 87731390eb8SHeiko Stuebner regulator-suspend-microvolt = <750000>; 87831390eb8SHeiko Stuebner }; 87931390eb8SHeiko Stuebner }; 88031390eb8SHeiko Stuebner 88131390eb8SHeiko Stuebner vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 { 88231390eb8SHeiko Stuebner regulator-always-on; 88331390eb8SHeiko Stuebner regulator-boot-on; 88431390eb8SHeiko Stuebner regulator-min-microvolt = <550000>; 88531390eb8SHeiko Stuebner regulator-max-microvolt = <950000>; 88631390eb8SHeiko Stuebner regulator-ramp-delay = <12500>; 88731390eb8SHeiko Stuebner regulator-name = "vdd_vdenc_s0"; 88831390eb8SHeiko Stuebner 88931390eb8SHeiko Stuebner regulator-state-mem { 89031390eb8SHeiko Stuebner regulator-off-in-suspend; 89131390eb8SHeiko Stuebner }; 89231390eb8SHeiko Stuebner }; 89331390eb8SHeiko Stuebner 89431390eb8SHeiko Stuebner vdd_ddr_s0: dcdc-reg5 { 89531390eb8SHeiko Stuebner regulator-always-on; 89631390eb8SHeiko Stuebner regulator-boot-on; 89731390eb8SHeiko Stuebner regulator-min-microvolt = <675000>; 89831390eb8SHeiko Stuebner regulator-max-microvolt = <900000>; 89931390eb8SHeiko Stuebner regulator-ramp-delay = <12500>; 90031390eb8SHeiko Stuebner regulator-name = "vdd_ddr_s0"; 90131390eb8SHeiko Stuebner 90231390eb8SHeiko Stuebner regulator-state-mem { 90331390eb8SHeiko Stuebner regulator-off-in-suspend; 90431390eb8SHeiko Stuebner regulator-suspend-microvolt = <850000>; 90531390eb8SHeiko Stuebner }; 90631390eb8SHeiko Stuebner }; 90731390eb8SHeiko Stuebner 90831390eb8SHeiko Stuebner vdd2_ddr_s3: dcdc-reg6 { 90931390eb8SHeiko Stuebner regulator-always-on; 91031390eb8SHeiko Stuebner regulator-boot-on; 91131390eb8SHeiko Stuebner regulator-name = "vdd2_ddr_s3"; 91231390eb8SHeiko Stuebner 91331390eb8SHeiko Stuebner regulator-state-mem { 91431390eb8SHeiko Stuebner regulator-on-in-suspend; 91531390eb8SHeiko Stuebner }; 91631390eb8SHeiko Stuebner }; 91731390eb8SHeiko Stuebner 91831390eb8SHeiko Stuebner vcc_2v0_pldo_s3: dcdc-reg7 { 91931390eb8SHeiko Stuebner regulator-always-on; 92031390eb8SHeiko Stuebner regulator-boot-on; 92131390eb8SHeiko Stuebner regulator-min-microvolt = <2000000>; 92231390eb8SHeiko Stuebner regulator-max-microvolt = <2000000>; 92331390eb8SHeiko Stuebner regulator-ramp-delay = <12500>; 92431390eb8SHeiko Stuebner regulator-name = "vdd_2v0_pldo_s3"; 92531390eb8SHeiko Stuebner 92631390eb8SHeiko Stuebner regulator-state-mem { 92731390eb8SHeiko Stuebner regulator-on-in-suspend; 92831390eb8SHeiko Stuebner regulator-suspend-microvolt = <2000000>; 92931390eb8SHeiko Stuebner }; 93031390eb8SHeiko Stuebner }; 93131390eb8SHeiko Stuebner 93231390eb8SHeiko Stuebner vcc_3v3_s3: dcdc-reg8 { 93331390eb8SHeiko Stuebner regulator-always-on; 93431390eb8SHeiko Stuebner regulator-boot-on; 93531390eb8SHeiko Stuebner regulator-min-microvolt = <3300000>; 93631390eb8SHeiko Stuebner regulator-max-microvolt = <3300000>; 93731390eb8SHeiko Stuebner regulator-name = "vcc_3v3_s3"; 93831390eb8SHeiko Stuebner 93931390eb8SHeiko Stuebner regulator-state-mem { 94031390eb8SHeiko Stuebner regulator-on-in-suspend; 94131390eb8SHeiko Stuebner regulator-suspend-microvolt = <3300000>; 94231390eb8SHeiko Stuebner }; 94331390eb8SHeiko Stuebner }; 94431390eb8SHeiko Stuebner 94531390eb8SHeiko Stuebner vddq_ddr_s0: dcdc-reg9 { 94631390eb8SHeiko Stuebner regulator-always-on; 94731390eb8SHeiko Stuebner regulator-boot-on; 94831390eb8SHeiko Stuebner regulator-name = "vddq_ddr_s0"; 94931390eb8SHeiko Stuebner 95031390eb8SHeiko Stuebner regulator-state-mem { 95131390eb8SHeiko Stuebner regulator-off-in-suspend; 95231390eb8SHeiko Stuebner }; 95331390eb8SHeiko Stuebner }; 95431390eb8SHeiko Stuebner 95531390eb8SHeiko Stuebner vcc_1v8_s3: dcdc-reg10 { 95631390eb8SHeiko Stuebner regulator-always-on; 95731390eb8SHeiko Stuebner regulator-boot-on; 95831390eb8SHeiko Stuebner regulator-min-microvolt = <1800000>; 95931390eb8SHeiko Stuebner regulator-max-microvolt = <1800000>; 96031390eb8SHeiko Stuebner regulator-name = "vcc_1v8_s3"; 96131390eb8SHeiko Stuebner 96231390eb8SHeiko Stuebner regulator-state-mem { 96331390eb8SHeiko Stuebner regulator-on-in-suspend; 96431390eb8SHeiko Stuebner regulator-suspend-microvolt = <1800000>; 96531390eb8SHeiko Stuebner }; 96631390eb8SHeiko Stuebner }; 96731390eb8SHeiko Stuebner 96831390eb8SHeiko Stuebner avcc_1v8_s0: pldo-reg1 { 96931390eb8SHeiko Stuebner regulator-always-on; 97031390eb8SHeiko Stuebner regulator-boot-on; 97131390eb8SHeiko Stuebner regulator-min-microvolt = <1800000>; 97231390eb8SHeiko Stuebner regulator-max-microvolt = <1800000>; 97331390eb8SHeiko Stuebner regulator-name = "avcc_1v8_s0"; 97431390eb8SHeiko Stuebner 97531390eb8SHeiko Stuebner regulator-state-mem { 97631390eb8SHeiko Stuebner regulator-on-in-suspend; 97731390eb8SHeiko Stuebner regulator-suspend-microvolt = <1800000>; 97831390eb8SHeiko Stuebner }; 97931390eb8SHeiko Stuebner }; 98031390eb8SHeiko Stuebner 98131390eb8SHeiko Stuebner vcc_1v8_s0: pldo-reg2 { 98231390eb8SHeiko Stuebner regulator-always-on; 98331390eb8SHeiko Stuebner regulator-boot-on; 98431390eb8SHeiko Stuebner regulator-min-microvolt = <1800000>; 98531390eb8SHeiko Stuebner regulator-max-microvolt = <1800000>; 98631390eb8SHeiko Stuebner regulator-name = "vcc_1v8_s0"; 98731390eb8SHeiko Stuebner 98831390eb8SHeiko Stuebner regulator-state-mem { 98931390eb8SHeiko Stuebner regulator-on-in-suspend; 99031390eb8SHeiko Stuebner regulator-suspend-microvolt = <1800000>; 99131390eb8SHeiko Stuebner }; 99231390eb8SHeiko Stuebner }; 99331390eb8SHeiko Stuebner 99431390eb8SHeiko Stuebner avdd_1v2_s0: pldo-reg3 { 99531390eb8SHeiko Stuebner regulator-always-on; 99631390eb8SHeiko Stuebner regulator-boot-on; 99731390eb8SHeiko Stuebner regulator-min-microvolt = <1200000>; 99831390eb8SHeiko Stuebner regulator-max-microvolt = <1200000>; 99931390eb8SHeiko Stuebner regulator-name = "avdd_1v2_s0"; 100031390eb8SHeiko Stuebner 100131390eb8SHeiko Stuebner regulator-state-mem { 100231390eb8SHeiko Stuebner regulator-off-in-suspend; 100331390eb8SHeiko Stuebner }; 100431390eb8SHeiko Stuebner }; 100531390eb8SHeiko Stuebner 100631390eb8SHeiko Stuebner vcc_3v3_s0: pldo-reg4 { 100731390eb8SHeiko Stuebner regulator-always-on; 100831390eb8SHeiko Stuebner regulator-boot-on; 100931390eb8SHeiko Stuebner regulator-min-microvolt = <3300000>; 101031390eb8SHeiko Stuebner regulator-max-microvolt = <3300000>; 101131390eb8SHeiko Stuebner regulator-ramp-delay = <12500>; 101231390eb8SHeiko Stuebner regulator-name = "vcc_3v3_s0"; 101331390eb8SHeiko Stuebner 101431390eb8SHeiko Stuebner regulator-state-mem { 101531390eb8SHeiko Stuebner regulator-on-in-suspend; 101631390eb8SHeiko Stuebner regulator-suspend-microvolt = <3300000>; 101731390eb8SHeiko Stuebner }; 101831390eb8SHeiko Stuebner }; 101931390eb8SHeiko Stuebner 102031390eb8SHeiko Stuebner vccio_sd_s0: pldo-reg5 { 102131390eb8SHeiko Stuebner regulator-always-on; 102231390eb8SHeiko Stuebner regulator-boot-on; 102331390eb8SHeiko Stuebner regulator-min-microvolt = <1800000>; 102431390eb8SHeiko Stuebner regulator-max-microvolt = <3300000>; 102531390eb8SHeiko Stuebner regulator-ramp-delay = <12500>; 102631390eb8SHeiko Stuebner regulator-name = "vccio_sd_s0"; 102731390eb8SHeiko Stuebner 102831390eb8SHeiko Stuebner regulator-state-mem { 102931390eb8SHeiko Stuebner regulator-off-in-suspend; 103031390eb8SHeiko Stuebner }; 103131390eb8SHeiko Stuebner }; 103231390eb8SHeiko Stuebner 103331390eb8SHeiko Stuebner pldo6_s3: pldo-reg6 { 103431390eb8SHeiko Stuebner regulator-always-on; 103531390eb8SHeiko Stuebner regulator-boot-on; 103631390eb8SHeiko Stuebner regulator-min-microvolt = <1800000>; 103731390eb8SHeiko Stuebner regulator-max-microvolt = <1800000>; 103831390eb8SHeiko Stuebner regulator-name = "pldo6_s3"; 103931390eb8SHeiko Stuebner 104031390eb8SHeiko Stuebner regulator-state-mem { 104131390eb8SHeiko Stuebner regulator-on-in-suspend; 104231390eb8SHeiko Stuebner regulator-suspend-microvolt = <1800000>; 104331390eb8SHeiko Stuebner }; 104431390eb8SHeiko Stuebner }; 104531390eb8SHeiko Stuebner 104631390eb8SHeiko Stuebner vdd_0v75_s3: nldo-reg1 { 104731390eb8SHeiko Stuebner regulator-always-on; 104831390eb8SHeiko Stuebner regulator-boot-on; 104931390eb8SHeiko Stuebner regulator-min-microvolt = <750000>; 105031390eb8SHeiko Stuebner regulator-max-microvolt = <750000>; 105131390eb8SHeiko Stuebner regulator-name = "vdd_0v75_s3"; 105231390eb8SHeiko Stuebner 105331390eb8SHeiko Stuebner regulator-state-mem { 105431390eb8SHeiko Stuebner regulator-on-in-suspend; 105531390eb8SHeiko Stuebner regulator-suspend-microvolt = <750000>; 105631390eb8SHeiko Stuebner }; 105731390eb8SHeiko Stuebner }; 105831390eb8SHeiko Stuebner 105931390eb8SHeiko Stuebner vdd_ddr_pll_s0: nldo-reg2 { 106031390eb8SHeiko Stuebner regulator-always-on; 106131390eb8SHeiko Stuebner regulator-boot-on; 106231390eb8SHeiko Stuebner regulator-min-microvolt = <850000>; 106331390eb8SHeiko Stuebner regulator-max-microvolt = <850000>; 106431390eb8SHeiko Stuebner regulator-name = "vdd_ddr_pll_s0"; 106531390eb8SHeiko Stuebner 106631390eb8SHeiko Stuebner regulator-state-mem { 106731390eb8SHeiko Stuebner regulator-on-in-suspend; 106831390eb8SHeiko Stuebner regulator-suspend-microvolt = <850000>; 106931390eb8SHeiko Stuebner }; 107031390eb8SHeiko Stuebner }; 107131390eb8SHeiko Stuebner 107231390eb8SHeiko Stuebner avdd_0v75_s0: nldo-reg3 { 107331390eb8SHeiko Stuebner regulator-always-on; 107431390eb8SHeiko Stuebner regulator-boot-on; 107531390eb8SHeiko Stuebner regulator-min-microvolt = <750000>; 107631390eb8SHeiko Stuebner regulator-max-microvolt = <750000>; 107731390eb8SHeiko Stuebner regulator-name = "avdd_0v75_s0"; 107831390eb8SHeiko Stuebner 107931390eb8SHeiko Stuebner regulator-state-mem { 108031390eb8SHeiko Stuebner regulator-off-in-suspend; 108131390eb8SHeiko Stuebner }; 108231390eb8SHeiko Stuebner }; 108331390eb8SHeiko Stuebner 108431390eb8SHeiko Stuebner vdd_0v85_s0: nldo-reg4 { 108531390eb8SHeiko Stuebner regulator-always-on; 108631390eb8SHeiko Stuebner regulator-boot-on; 108731390eb8SHeiko Stuebner regulator-min-microvolt = <850000>; 108831390eb8SHeiko Stuebner regulator-max-microvolt = <850000>; 108931390eb8SHeiko Stuebner regulator-name = "vdd_0v85_s0"; 109031390eb8SHeiko Stuebner 109131390eb8SHeiko Stuebner regulator-state-mem { 109231390eb8SHeiko Stuebner regulator-on-in-suspend; 109331390eb8SHeiko Stuebner regulator-suspend-microvolt = <837500>; 109431390eb8SHeiko Stuebner }; 109531390eb8SHeiko Stuebner }; 109631390eb8SHeiko Stuebner 109731390eb8SHeiko Stuebner vdd_0v75_s0: nldo-reg5 { 109831390eb8SHeiko Stuebner regulator-always-on; 109931390eb8SHeiko Stuebner regulator-boot-on; 110031390eb8SHeiko Stuebner regulator-min-microvolt = <750000>; 110131390eb8SHeiko Stuebner regulator-max-microvolt = <750000>; 110231390eb8SHeiko Stuebner regulator-name = "vdd_0v75_s0"; 110331390eb8SHeiko Stuebner 110431390eb8SHeiko Stuebner regulator-state-mem { 110531390eb8SHeiko Stuebner regulator-on-in-suspend; 110631390eb8SHeiko Stuebner regulator-suspend-microvolt = <750000>; 110731390eb8SHeiko Stuebner }; 110831390eb8SHeiko Stuebner }; 110931390eb8SHeiko Stuebner }; 111031390eb8SHeiko Stuebner }; 111131390eb8SHeiko Stuebner}; 111231390eb8SHeiko Stuebner 111331390eb8SHeiko Stuebner&tsadc { 111431390eb8SHeiko Stuebner status = "okay"; 111531390eb8SHeiko Stuebner}; 111631390eb8SHeiko Stuebner 111731390eb8SHeiko Stuebner&uart2 { 111831390eb8SHeiko Stuebner pinctrl-0 = <&uart2m0_xfer>; 111931390eb8SHeiko Stuebner status = "okay"; 112031390eb8SHeiko Stuebner}; 112131390eb8SHeiko Stuebner 112231390eb8SHeiko Stuebner/* Connected to M.2 E-key */ 112331390eb8SHeiko Stuebner&uart6 { 112431390eb8SHeiko Stuebner pinctrl-names = "default"; 112531390eb8SHeiko Stuebner pinctrl-0 = <&uart6m1_xfer &uart6m1_ctsn &uart6m1_rtsn>; 112631390eb8SHeiko Stuebner status = "okay"; 112731390eb8SHeiko Stuebner}; 112831390eb8SHeiko Stuebner 112931390eb8SHeiko Stuebner&u2phy0 { 113031390eb8SHeiko Stuebner status = "okay"; 113131390eb8SHeiko Stuebner}; 113231390eb8SHeiko Stuebner 113331390eb8SHeiko Stuebner&u2phy0_otg { 113431390eb8SHeiko Stuebner status = "okay"; 113531390eb8SHeiko Stuebner}; 113631390eb8SHeiko Stuebner 113731390eb8SHeiko Stuebner&u2phy1 { 113831390eb8SHeiko Stuebner status = "okay"; 113931390eb8SHeiko Stuebner}; 114031390eb8SHeiko Stuebner 114131390eb8SHeiko Stuebner&u2phy1_otg { 114231390eb8SHeiko Stuebner /* connected to USB3 hub, which is powered by vcc5v0_usb12 */ 114331390eb8SHeiko Stuebner phy-supply = <&vcc5v0_usb12>; 114431390eb8SHeiko Stuebner status = "okay"; 114531390eb8SHeiko Stuebner}; 114631390eb8SHeiko Stuebner 114731390eb8SHeiko Stuebner&u2phy2 { 114831390eb8SHeiko Stuebner status = "okay"; 114931390eb8SHeiko Stuebner}; 115031390eb8SHeiko Stuebner 115131390eb8SHeiko Stuebner&u2phy2_host { 115231390eb8SHeiko Stuebner /* connected to USB2 hub, which is powered by vcc5v0_usb20 */ 115331390eb8SHeiko Stuebner phy-supply = <&vcc5v0_usb20>; 115431390eb8SHeiko Stuebner status = "okay"; 115531390eb8SHeiko Stuebner}; 115631390eb8SHeiko Stuebner 115731390eb8SHeiko Stuebner&u2phy3 { 115831390eb8SHeiko Stuebner status = "okay"; 115931390eb8SHeiko Stuebner}; 116031390eb8SHeiko Stuebner 116131390eb8SHeiko Stuebner&u2phy3_host { 116231390eb8SHeiko Stuebner phy-supply = <&vcc5v0_usb20>; 116331390eb8SHeiko Stuebner status = "okay"; 116431390eb8SHeiko Stuebner}; 116531390eb8SHeiko Stuebner 116631390eb8SHeiko Stuebner&usb_host0_ehci { 116731390eb8SHeiko Stuebner status = "okay"; 116831390eb8SHeiko Stuebner}; 116931390eb8SHeiko Stuebner 117031390eb8SHeiko Stuebner&usb_host0_ohci { 117131390eb8SHeiko Stuebner status = "okay"; 117231390eb8SHeiko Stuebner}; 117331390eb8SHeiko Stuebner 117431390eb8SHeiko Stuebner&usb_host1_ehci { 117531390eb8SHeiko Stuebner status = "okay"; 117631390eb8SHeiko Stuebner}; 117731390eb8SHeiko Stuebner 117831390eb8SHeiko Stuebner&usb_host1_ohci { 117931390eb8SHeiko Stuebner status = "okay"; 118031390eb8SHeiko Stuebner}; 118131390eb8SHeiko Stuebner 118231390eb8SHeiko Stuebner&usb_host0_xhci { 118331390eb8SHeiko Stuebner usb-role-switch; 118431390eb8SHeiko Stuebner status = "okay"; 118531390eb8SHeiko Stuebner 118631390eb8SHeiko Stuebner port { 118731390eb8SHeiko Stuebner #address-cells = <1>; 118831390eb8SHeiko Stuebner #size-cells = <0>; 118931390eb8SHeiko Stuebner 119031390eb8SHeiko Stuebner dwc3_0_role_switch: endpoint@0 { 119131390eb8SHeiko Stuebner reg = <0>; 119231390eb8SHeiko Stuebner remote-endpoint = <&usbc0_role_sw>; 119331390eb8SHeiko Stuebner }; 119431390eb8SHeiko Stuebner }; 119531390eb8SHeiko Stuebner}; 119631390eb8SHeiko Stuebner 119731390eb8SHeiko Stuebner&usb_host1_xhci { 119831390eb8SHeiko Stuebner dr_mode = "host"; 119931390eb8SHeiko Stuebner #address-cells = <1>; 120031390eb8SHeiko Stuebner #size-cells = <0>; 120131390eb8SHeiko Stuebner status = "okay"; 120231390eb8SHeiko Stuebner 120331390eb8SHeiko Stuebner /* 2.0 hub on port 1 */ 120431390eb8SHeiko Stuebner hub_2_0: hub@1 { 120531390eb8SHeiko Stuebner compatible = "usb5e3,610"; 120631390eb8SHeiko Stuebner reg = <1>; 120731390eb8SHeiko Stuebner peer-hub = <&hub_3_0>; 120831390eb8SHeiko Stuebner vdd-supply = <&vcc_3v3_s3>; 120931390eb8SHeiko Stuebner }; 121031390eb8SHeiko Stuebner 121131390eb8SHeiko Stuebner /* 3.0 hub on port 4 */ 121231390eb8SHeiko Stuebner hub_3_0: hub@2 { 121331390eb8SHeiko Stuebner compatible = "usb5e3,620"; 121431390eb8SHeiko Stuebner reg = <2>; 121531390eb8SHeiko Stuebner peer-hub = <&hub_2_0>; 121631390eb8SHeiko Stuebner pinctrl-names = "default"; 121731390eb8SHeiko Stuebner pinctrl-0 = <&gl3523_reset>; 121831390eb8SHeiko Stuebner reset-gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; 121931390eb8SHeiko Stuebner vdd-supply = <&vcc_3v3_s3>; 122031390eb8SHeiko Stuebner }; 122131390eb8SHeiko Stuebner}; 122231390eb8SHeiko Stuebner 122331390eb8SHeiko Stuebner&usbdp_phy0 { 122431390eb8SHeiko Stuebner mode-switch; 122531390eb8SHeiko Stuebner orientation-switch; 122631390eb8SHeiko Stuebner sbu1-dc-gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_HIGH>; 122731390eb8SHeiko Stuebner sbu2-dc-gpios = <&gpio4 RK_PC0 GPIO_ACTIVE_HIGH>; 122831390eb8SHeiko Stuebner status = "okay"; 122931390eb8SHeiko Stuebner 123031390eb8SHeiko Stuebner port { 123131390eb8SHeiko Stuebner #address-cells = <1>; 123231390eb8SHeiko Stuebner #size-cells = <0>; 123331390eb8SHeiko Stuebner usbdp_phy0_orientation_switch: endpoint@0 { 123431390eb8SHeiko Stuebner reg = <0>; 123531390eb8SHeiko Stuebner remote-endpoint = <&usbc0_orien_sw>; 123631390eb8SHeiko Stuebner }; 123731390eb8SHeiko Stuebner 123831390eb8SHeiko Stuebner usbdp_phy0_dp_altmode_mux: endpoint@1 { 123931390eb8SHeiko Stuebner reg = <1>; 124031390eb8SHeiko Stuebner remote-endpoint = <&dp_altmode_mux>; 124131390eb8SHeiko Stuebner }; 124231390eb8SHeiko Stuebner }; 124331390eb8SHeiko Stuebner}; 124431390eb8SHeiko Stuebner 124531390eb8SHeiko Stuebner&usbdp_phy1 { 124631390eb8SHeiko Stuebner rockchip,dp-lane-mux = <2 3>; 124731390eb8SHeiko Stuebner status = "okay"; 124831390eb8SHeiko Stuebner}; 12493eac9319SJianfeng Liu 12503eac9319SJianfeng Liu&vop { 12513eac9319SJianfeng Liu status = "okay"; 12523eac9319SJianfeng Liu}; 12533eac9319SJianfeng Liu 12543eac9319SJianfeng Liu&vop_mmu { 12553eac9319SJianfeng Liu status = "okay"; 12563eac9319SJianfeng Liu}; 12573eac9319SJianfeng Liu 12583eac9319SJianfeng Liu&vp1 { 12593eac9319SJianfeng Liu vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 { 12603eac9319SJianfeng Liu reg = <ROCKCHIP_VOP2_EP_HDMI1>; 12613eac9319SJianfeng Liu remote-endpoint = <&hdmi1_in_vp1>; 12623eac9319SJianfeng Liu }; 12633eac9319SJianfeng Liu}; 1264