11b7e1944SManuel Traut// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 21b7e1944SManuel Traut 31b7e1944SManuel Traut#include <dt-bindings/gpio/gpio.h> 41b7e1944SManuel Traut#include <dt-bindings/input/gpio-keys.h> 51b7e1944SManuel Traut#include <dt-bindings/input/input.h> 61b7e1944SManuel Traut#include <dt-bindings/leds/common.h> 71b7e1944SManuel Traut#include <dt-bindings/pinctrl/rockchip.h> 81b7e1944SManuel Traut#include <dt-bindings/soc/rockchip,vop2.h> 91b7e1944SManuel Traut#include <dt-bindings/usb/pd.h> 101b7e1944SManuel Traut#include "rk3566.dtsi" 111b7e1944SManuel Traut 121b7e1944SManuel Traut/ { 131b7e1944SManuel Traut chassis-type = "tablet"; 141b7e1944SManuel Traut 151b7e1944SManuel Traut aliases { 161b7e1944SManuel Traut mmc0 = &sdhci; 171b7e1944SManuel Traut mmc1 = &sdmmc0; 181b7e1944SManuel Traut }; 191b7e1944SManuel Traut 201b7e1944SManuel Traut chosen { 211b7e1944SManuel Traut stdout-path = "serial2:1500000n8"; 221b7e1944SManuel Traut }; 231b7e1944SManuel Traut 241b7e1944SManuel Traut adc-keys { 251b7e1944SManuel Traut compatible = "adc-keys"; 261b7e1944SManuel Traut io-channels = <&saradc 0>; 271b7e1944SManuel Traut io-channel-names = "buttons"; 281b7e1944SManuel Traut keyup-threshold-microvolt = <1800000>; 291b7e1944SManuel Traut poll-interval = <25>; 301b7e1944SManuel Traut 311b7e1944SManuel Traut button-vol-up { 321b7e1944SManuel Traut label = "Volume Up"; 331b7e1944SManuel Traut linux,code = <KEY_VOLUMEUP>; 341b7e1944SManuel Traut press-threshold-microvolt = <297500>; 351b7e1944SManuel Traut }; 361b7e1944SManuel Traut 371b7e1944SManuel Traut button-vol-down { 381b7e1944SManuel Traut label = "Volume Down"; 391b7e1944SManuel Traut linux,code = <KEY_VOLUMEDOWN>; 401b7e1944SManuel Traut press-threshold-microvolt = <1750>; 411b7e1944SManuel Traut }; 421b7e1944SManuel Traut }; 431b7e1944SManuel Traut 441b7e1944SManuel Traut backlight: backlight { 451b7e1944SManuel Traut compatible = "pwm-backlight"; 461b7e1944SManuel Traut pwms = <&pwm4 0 25000 0>; 471b7e1944SManuel Traut brightness-levels = <20 220>; 481b7e1944SManuel Traut num-interpolated-steps = <200>; 491b7e1944SManuel Traut default-brightness-level = <100>; 501b7e1944SManuel Traut power-supply = <&vcc_sys>; 511b7e1944SManuel Traut }; 521b7e1944SManuel Traut 531b7e1944SManuel Traut battery: battery { 541b7e1944SManuel Traut compatible = "simple-battery"; 551b7e1944SManuel Traut charge-full-design-microamp-hours = <6000000>; 561b7e1944SManuel Traut charge-term-current-microamp = <300000>; 571b7e1944SManuel Traut constant-charge-current-max-microamp = <2000000>; 581b7e1944SManuel Traut constant-charge-voltage-max-microvolt = <4300000>; 591b7e1944SManuel Traut voltage-max-design-microvolt = <4350000>; 601b7e1944SManuel Traut voltage-min-design-microvolt = <3400000>; 611b7e1944SManuel Traut 621b7e1944SManuel Traut ocv-capacity-celsius = <20>; 631b7e1944SManuel Traut ocv-capacity-table-0 = <4322000 100>, <4250000 95>, <4192000 90>, <4136000 85>, 641b7e1944SManuel Traut <4080000 80>, <4022000 75>, <3972000 70>, <3928000 65>, 651b7e1944SManuel Traut <3885000 60>, <3833000 55>, <3798000 50>, <3780000 45>, 661b7e1944SManuel Traut <3776000 40>, <3773000 35>, <3755000 30>, <3706000 25>, 671b7e1944SManuel Traut <3640000 20>, <3589000 15>, <3535000 10>, <3492000 5>, 681b7e1944SManuel Traut <3400000 0>; 691b7e1944SManuel Traut }; 701b7e1944SManuel Traut 711b7e1944SManuel Traut gpio_keys: gpio-keys { 721b7e1944SManuel Traut compatible = "gpio-keys"; 731b7e1944SManuel Traut pinctrl-names = "default"; 741b7e1944SManuel Traut pinctrl-0 = <&kb_id_det>; 751b7e1944SManuel Traut 761b7e1944SManuel Traut tablet-mode-switch { 771b7e1944SManuel Traut debounce-interval = <20>; 781b7e1944SManuel Traut gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>; 791b7e1944SManuel Traut label = "Tablet Mode"; 801b7e1944SManuel Traut linux,input-type = <EV_SW>; 811b7e1944SManuel Traut linux,code = <SW_TABLET_MODE>; 821b7e1944SManuel Traut }; 831b7e1944SManuel Traut }; 841b7e1944SManuel Traut 851b7e1944SManuel Traut hdmi-connector { 861b7e1944SManuel Traut compatible = "hdmi-connector"; 871b7e1944SManuel Traut type = "d"; 881b7e1944SManuel Traut 891b7e1944SManuel Traut port { 901b7e1944SManuel Traut hdmi_con_in: endpoint { 911b7e1944SManuel Traut remote-endpoint = <&hdmi_out_con>; 921b7e1944SManuel Traut }; 931b7e1944SManuel Traut }; 941b7e1944SManuel Traut }; 951b7e1944SManuel Traut 961b7e1944SManuel Traut led-0 { 971b7e1944SManuel Traut compatible = "regulator-led"; 981b7e1944SManuel Traut vled-supply = <&vcc5v0_flashled>; 991b7e1944SManuel Traut color = <LED_COLOR_ID_WHITE>; 1001b7e1944SManuel Traut function = LED_FUNCTION_FLASH; 1011b7e1944SManuel Traut }; 1021b7e1944SManuel Traut 1031b7e1944SManuel Traut rk817-sound { 1041b7e1944SManuel Traut compatible = "simple-audio-card"; 1051b7e1944SManuel Traut pinctrl-names = "default"; 1061b7e1944SManuel Traut pinctrl-0 = <&hp_det_l>; 1071b7e1944SManuel Traut simple-audio-card,format = "i2s"; 1081b7e1944SManuel Traut simple-audio-card,name = "rk817_ext"; 1091b7e1944SManuel Traut simple-audio-card,mclk-fs = <256>; 1101b7e1944SManuel Traut 1111b7e1944SManuel Traut simple-audio-card,widgets = 1121b7e1944SManuel Traut "Microphone", "Mic Jack", 1131b7e1944SManuel Traut "Headphone", "Headphones", 1141b7e1944SManuel Traut "Speaker", "Internal Speakers"; 1151b7e1944SManuel Traut 1161b7e1944SManuel Traut simple-audio-card,routing = 1171b7e1944SManuel Traut "MICR", "Mic Jack", 1181b7e1944SManuel Traut "Headphones", "HPOL", 1191b7e1944SManuel Traut "Headphones", "HPOR", 1201b7e1944SManuel Traut "Internal Speakers", "Speaker Amplifier OUTL", 1211b7e1944SManuel Traut "Internal Speakers", "Speaker Amplifier OUTR", 1221b7e1944SManuel Traut "Speaker Amplifier INL", "HPOL", 1231b7e1944SManuel Traut "Speaker Amplifier INR", "HPOR"; 1247ac5c0a5SGeert Uytterhoeven simple-audio-card,hp-det-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>; 1251b7e1944SManuel Traut simple-audio-card,aux-devs = <&speaker_amp>; 1261b7e1944SManuel Traut simple-audio-card,pin-switches = "Internal Speakers"; 1271b7e1944SManuel Traut 1281b7e1944SManuel Traut simple-audio-card,cpu { 1291b7e1944SManuel Traut sound-dai = <&i2s1_8ch>; 1301b7e1944SManuel Traut }; 1311b7e1944SManuel Traut 1321b7e1944SManuel Traut simple-audio-card,codec { 1331b7e1944SManuel Traut sound-dai = <&rk817>; 1341b7e1944SManuel Traut }; 1351b7e1944SManuel Traut }; 1361b7e1944SManuel Traut 1371b7e1944SManuel Traut speaker_amp: speaker-amplifier { 1381b7e1944SManuel Traut compatible = "simple-audio-amplifier"; 1391b7e1944SManuel Traut pinctrl-names = "default"; 1401b7e1944SManuel Traut pinctrl-0 = <&spk_ctl>; 1411b7e1944SManuel Traut enable-gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>; 1421b7e1944SManuel Traut sound-name-prefix = "Speaker Amplifier"; 1431b7e1944SManuel Traut VCC-supply = <&vcc_bat>; 1441b7e1944SManuel Traut }; 1451b7e1944SManuel Traut 1465c96e633SJohan Jonker vcc_3v3: regulator-vcc-3v3 { 1471b7e1944SManuel Traut compatible = "regulator-fixed"; 1481b7e1944SManuel Traut regulator-name = "vcc_3v3"; 1491b7e1944SManuel Traut regulator-always-on; 1501b7e1944SManuel Traut regulator-boot-on; 1511b7e1944SManuel Traut regulator-min-microvolt = <3300000>; 1521b7e1944SManuel Traut regulator-max-microvolt = <3300000>; 1531b7e1944SManuel Traut vin-supply = <&vcc3v3_sys>; 1541b7e1944SManuel Traut }; 1551b7e1944SManuel Traut 1565c96e633SJohan Jonker vcc3v3_minipcie: regulator-vcc3v3-minipcie { 1571b7e1944SManuel Traut compatible = "regulator-fixed"; 1581b7e1944SManuel Traut enable-active-high; 1591b7e1944SManuel Traut gpio = <&gpio4 RK_PC3 GPIO_ACTIVE_HIGH>; 1601b7e1944SManuel Traut pinctrl-names = "default"; 1611b7e1944SManuel Traut pinctrl-0 = <&pcie_pwren_h>; 1621b7e1944SManuel Traut regulator-name = "vcc3v3_minipcie"; 1631b7e1944SManuel Traut regulator-min-microvolt = <3300000>; 1641b7e1944SManuel Traut regulator-max-microvolt = <3300000>; 1651b7e1944SManuel Traut vin-supply = <&vcc_sys>; 1661b7e1944SManuel Traut }; 1671b7e1944SManuel Traut 1685c96e633SJohan Jonker vcc3v3_sd: regulator-vcc3v3-sd { 1691b7e1944SManuel Traut compatible = "regulator-fixed"; 1701b7e1944SManuel Traut gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 1711b7e1944SManuel Traut pinctrl-names = "default"; 1721b7e1944SManuel Traut pinctrl-0 = <&sdmmc_pwren_l>; 1731b7e1944SManuel Traut regulator-name = "vcc3v3_sd"; 1741b7e1944SManuel Traut regulator-min-microvolt = <3300000>; 1751b7e1944SManuel Traut regulator-max-microvolt = <3300000>; 1761b7e1944SManuel Traut vin-supply = <&vcc3v3_sys>; 1771b7e1944SManuel Traut }; 1781b7e1944SManuel Traut 1795c96e633SJohan Jonker vcc5v0_flashled: regulator-vcc5v0-flashled { 1801b7e1944SManuel Traut compatible = "regulator-fixed"; 1811b7e1944SManuel Traut enable-active-high; 1821b7e1944SManuel Traut gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; 1831b7e1944SManuel Traut pinctrl-names = "default"; 1841b7e1944SManuel Traut pinctrl-0 = <&flash_led_en_h>; 1851b7e1944SManuel Traut regulator-name = "vcc5v0_flashled"; 1861b7e1944SManuel Traut regulator-min-microvolt = <5000000>; 1871b7e1944SManuel Traut regulator-max-microvolt = <5000000>; 1881b7e1944SManuel Traut vin-supply = <&vcc5v_midu>; 1891b7e1944SManuel Traut }; 1901b7e1944SManuel Traut 1915c96e633SJohan Jonker vcc5v0_usb_host0: regulator-vcc5v0-usb-host0 { 1921b7e1944SManuel Traut compatible = "regulator-fixed"; 1931b7e1944SManuel Traut enable-active-high; 1941b7e1944SManuel Traut gpio = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>; 1951b7e1944SManuel Traut pinctrl-names = "default"; 1961b7e1944SManuel Traut pinctrl-0 = <&usb_host_pwren1_h>; 1971b7e1944SManuel Traut regulator-name = "vcc5v0_usb_host0"; 1981b7e1944SManuel Traut regulator-min-microvolt = <5000000>; 1991b7e1944SManuel Traut regulator-max-microvolt = <5000000>; 2001b7e1944SManuel Traut vin-supply = <&vcc5v_midu>; 2011b7e1944SManuel Traut }; 2021b7e1944SManuel Traut 2035c96e633SJohan Jonker vcc5v0_usb_host2: regulator-vcc5v0-usb-host2 { 2041b7e1944SManuel Traut compatible = "regulator-fixed"; 2051b7e1944SManuel Traut enable-active-high; 2061b7e1944SManuel Traut gpio = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>; 2071b7e1944SManuel Traut pinctrl-names = "default"; 2081b7e1944SManuel Traut pinctrl-0 = <&usb_host_pwren2_h>; 2091b7e1944SManuel Traut regulator-name = "vcc5v0_usb_host2"; 2101b7e1944SManuel Traut regulator-min-microvolt = <5000000>; 2111b7e1944SManuel Traut regulator-max-microvolt = <5000000>; 2121b7e1944SManuel Traut vin-supply = <&vcc5v_midu>; 2131b7e1944SManuel Traut }; 2141b7e1944SManuel Traut 2155c96e633SJohan Jonker vcc_bat: regulator-vcc-bat { 2161b7e1944SManuel Traut compatible = "regulator-fixed"; 2171b7e1944SManuel Traut regulator-name = "vcc_bat"; 2181b7e1944SManuel Traut regulator-always-on; 2191b7e1944SManuel Traut regulator-boot-on; 2201b7e1944SManuel Traut }; 2211b7e1944SManuel Traut 2225c96e633SJohan Jonker vcc_sys: regulator-vcc-sys { 2231b7e1944SManuel Traut compatible = "regulator-fixed"; 2241b7e1944SManuel Traut regulator-name = "vcc_sys"; 2251b7e1944SManuel Traut regulator-always-on; 2261b7e1944SManuel Traut regulator-boot-on; 2271b7e1944SManuel Traut vin-supply = <&vcc_bat>; 2281b7e1944SManuel Traut }; 2291b7e1944SManuel Traut 2305c96e633SJohan Jonker vdd1v2_dvp: regulator-vdd1v2-dvp { 2311b7e1944SManuel Traut compatible = "regulator-fixed"; 2321b7e1944SManuel Traut regulator-name = "vdd1v2_dvp"; 2331b7e1944SManuel Traut regulator-min-microvolt = <1200000>; 2341b7e1944SManuel Traut regulator-max-microvolt = <1200000>; 2351b7e1944SManuel Traut vin-supply = <&vcc_3v3>; 2361b7e1944SManuel Traut }; 2371b7e1944SManuel Traut}; 2381b7e1944SManuel Traut 2391b7e1944SManuel Traut&combphy1 { 2401b7e1944SManuel Traut status = "okay"; 2411b7e1944SManuel Traut}; 2421b7e1944SManuel Traut 2431b7e1944SManuel Traut&combphy2 { 2441b7e1944SManuel Traut status = "okay"; 2451b7e1944SManuel Traut}; 2461b7e1944SManuel Traut 2471b7e1944SManuel Traut&cpu0 { 2481b7e1944SManuel Traut cpu-supply = <&vdd_cpu>; 2491b7e1944SManuel Traut}; 2501b7e1944SManuel Traut 2511b7e1944SManuel Traut&cpu1 { 2521b7e1944SManuel Traut cpu-supply = <&vdd_cpu>; 2531b7e1944SManuel Traut}; 2541b7e1944SManuel Traut 2551b7e1944SManuel Traut&cpu2 { 2561b7e1944SManuel Traut cpu-supply = <&vdd_cpu>; 2571b7e1944SManuel Traut}; 2581b7e1944SManuel Traut 2591b7e1944SManuel Traut&cpu3 { 2601b7e1944SManuel Traut cpu-supply = <&vdd_cpu>; 2611b7e1944SManuel Traut}; 2621b7e1944SManuel Traut 2631b7e1944SManuel Traut&cru { 2641b7e1944SManuel Traut assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, 2651b7e1944SManuel Traut <&pmucru PLL_PPLL>, <&cru PLL_VPLL>; 2661b7e1944SManuel Traut assigned-clock-rates = <32768>, <1200000000>, <200000000>, <500000000>; 2671b7e1944SManuel Traut assigned-clock-parents = <&pmucru CLK_RTC32K_FRAC>; 2681b7e1944SManuel Traut}; 2691b7e1944SManuel Traut 2701b7e1944SManuel Traut&csi_dphy { 2711b7e1944SManuel Traut status = "okay"; 2721b7e1944SManuel Traut}; 2731b7e1944SManuel Traut 2741b7e1944SManuel Traut&dsi0 { 2751b7e1944SManuel Traut status = "okay"; 2761b7e1944SManuel Traut clock-master; 2771b7e1944SManuel Traut #address-cells = <1>; 2781b7e1944SManuel Traut #size-cells = <0>; 2791b7e1944SManuel Traut 2801b7e1944SManuel Traut lcd: panel@0 { 2811b7e1944SManuel Traut compatible = "boe,th101mb31ig002-28a"; 2821b7e1944SManuel Traut reg = <0>; 2831b7e1944SManuel Traut backlight = <&backlight>; 2841b7e1944SManuel Traut enable-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; 2851b7e1944SManuel Traut power-supply = <&vcc_3v3>; 286*8c17c938SDiederik de Haas rotation = <90>; 2871b7e1944SManuel Traut 288*8c17c938SDiederik de Haas port { 289*8c17c938SDiederik de Haas panel_in_dsi: endpoint { 2901b7e1944SManuel Traut remote-endpoint = <&dsi0_out_con>; 2911b7e1944SManuel Traut }; 2921b7e1944SManuel Traut }; 2931b7e1944SManuel Traut }; 2941b7e1944SManuel Traut}; 2951b7e1944SManuel Traut 2961b7e1944SManuel Traut&dsi0_in { 2971b7e1944SManuel Traut dsi0_in_vp1: endpoint { 2981b7e1944SManuel Traut remote-endpoint = <&vp1_out_dsi0>; 2991b7e1944SManuel Traut }; 3001b7e1944SManuel Traut}; 3011b7e1944SManuel Traut 3021b7e1944SManuel Traut&dsi0_out { 3031b7e1944SManuel Traut dsi0_out_con: endpoint { 3041b7e1944SManuel Traut remote-endpoint = <&panel_in_dsi>; 3051b7e1944SManuel Traut }; 3061b7e1944SManuel Traut}; 3071b7e1944SManuel Traut 3081b7e1944SManuel Traut&dsi_dphy0 { 3091b7e1944SManuel Traut status = "okay"; 3101b7e1944SManuel Traut}; 3111b7e1944SManuel Traut 3121b7e1944SManuel Traut&gpu { 3131b7e1944SManuel Traut mali-supply = <&vdd_gpu_npu>; 3141b7e1944SManuel Traut status = "okay"; 3151b7e1944SManuel Traut}; 3161b7e1944SManuel Traut 3171b7e1944SManuel Traut&hdmi { 3181b7e1944SManuel Traut avdd-0v9-supply = <&vdda_0v9_p>; 3191b7e1944SManuel Traut avdd-1v8-supply = <&vcc_1v8>; 3201b7e1944SManuel Traut status = "okay"; 3211b7e1944SManuel Traut}; 3221b7e1944SManuel Traut 3231b7e1944SManuel Traut&hdmi_in { 3241b7e1944SManuel Traut hdmi_in_vp0: endpoint { 3251b7e1944SManuel Traut remote-endpoint = <&vp0_out_hdmi>; 3261b7e1944SManuel Traut }; 3271b7e1944SManuel Traut}; 3281b7e1944SManuel Traut 3291b7e1944SManuel Traut&hdmi_out { 3301b7e1944SManuel Traut hdmi_out_con: endpoint { 3311b7e1944SManuel Traut remote-endpoint = <&hdmi_con_in>; 3321b7e1944SManuel Traut }; 3331b7e1944SManuel Traut}; 3341b7e1944SManuel Traut 3351b7e1944SManuel Traut&hdmi_sound { 3361b7e1944SManuel Traut status = "okay"; 3371b7e1944SManuel Traut}; 3381b7e1944SManuel Traut 3391b7e1944SManuel Traut&i2c0 { 3401b7e1944SManuel Traut clock-frequency = <400000>; 3411b7e1944SManuel Traut status = "okay"; 3421b7e1944SManuel Traut 3431b7e1944SManuel Traut vdd_cpu: regulator@1c { 3441b7e1944SManuel Traut compatible = "tcs,tcs4525"; 3451b7e1944SManuel Traut reg = <0x1c>; 3461b7e1944SManuel Traut fcs,suspend-voltage-selector = <1>; 3471b7e1944SManuel Traut regulator-name = "vdd_cpu"; 3481b7e1944SManuel Traut regulator-min-microvolt = <800000>; 3491b7e1944SManuel Traut regulator-max-microvolt = <1150000>; 3501b7e1944SManuel Traut regulator-ramp-delay = <2300>; 3511b7e1944SManuel Traut regulator-always-on; 3521b7e1944SManuel Traut regulator-boot-on; 3531b7e1944SManuel Traut vin-supply = <&vcc_sys>; 3541b7e1944SManuel Traut 3551b7e1944SManuel Traut regulator-state-mem { 3561b7e1944SManuel Traut regulator-off-in-suspend; 3571b7e1944SManuel Traut }; 3581b7e1944SManuel Traut }; 3591b7e1944SManuel Traut 3601b7e1944SManuel Traut rk817: pmic@20 { 3611b7e1944SManuel Traut compatible = "rockchip,rk817"; 3621b7e1944SManuel Traut reg = <0x20>; 3631b7e1944SManuel Traut interrupt-parent = <&gpio0>; 3641b7e1944SManuel Traut interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 3651b7e1944SManuel Traut assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 3661b7e1944SManuel Traut assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 3671b7e1944SManuel Traut clock-names = "mclk"; 3681b7e1944SManuel Traut clocks = <&cru I2S1_MCLKOUT_TX>; 3691b7e1944SManuel Traut clock-output-names = "rk808-clkout1", "rk808-clkout2"; 3701b7e1944SManuel Traut #clock-cells = <1>; 3711b7e1944SManuel Traut pinctrl-names = "default"; 3721b7e1944SManuel Traut pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>; 373b99ac7e2SDiederik de Haas system-power-controller; 3741b7e1944SManuel Traut #sound-dai-cells = <0>; 3751b7e1944SManuel Traut wakeup-source; 3761b7e1944SManuel Traut 3771b7e1944SManuel Traut vcc1-supply = <&vcc_sys>; 3781b7e1944SManuel Traut vcc2-supply = <&vcc_sys>; 3791b7e1944SManuel Traut vcc3-supply = <&vcc_sys>; 3801b7e1944SManuel Traut vcc4-supply = <&vcc_sys>; 3811b7e1944SManuel Traut vcc5-supply = <&vcc_sys>; 3821b7e1944SManuel Traut vcc6-supply = <&vcc_sys>; 3831b7e1944SManuel Traut vcc7-supply = <&vcc_sys>; 3841b7e1944SManuel Traut vcc8-supply = <&vcc_sys>; 3851b7e1944SManuel Traut vcc9-supply = <&vcc5v_midu>; 3861b7e1944SManuel Traut 3871b7e1944SManuel Traut regulators { 3881b7e1944SManuel Traut vdd_logic: DCDC_REG1 { 3891b7e1944SManuel Traut regulator-always-on; 3901b7e1944SManuel Traut regulator-boot-on; 3911b7e1944SManuel Traut regulator-min-microvolt = <500000>; 3921b7e1944SManuel Traut regulator-max-microvolt = <1350000>; 3931b7e1944SManuel Traut regulator-ramp-delay = <6001>; 3941b7e1944SManuel Traut regulator-initial-mode = <0x2>; 3951b7e1944SManuel Traut regulator-name = "vdd_logic"; 3961b7e1944SManuel Traut regulator-state-mem { 3971b7e1944SManuel Traut regulator-off-in-suspend; 3981b7e1944SManuel Traut }; 3991b7e1944SManuel Traut }; 4001b7e1944SManuel Traut 4011b7e1944SManuel Traut vdd_gpu_npu: DCDC_REG2 { 4021b7e1944SManuel Traut regulator-min-microvolt = <500000>; 4031b7e1944SManuel Traut regulator-max-microvolt = <1350000>; 4041b7e1944SManuel Traut regulator-ramp-delay = <6001>; 4051b7e1944SManuel Traut regulator-initial-mode = <0x2>; 4061b7e1944SManuel Traut regulator-name = "vdd_gpu_npu"; 4071b7e1944SManuel Traut regulator-state-mem { 4081b7e1944SManuel Traut regulator-off-in-suspend; 4091b7e1944SManuel Traut }; 4101b7e1944SManuel Traut }; 4111b7e1944SManuel Traut 4121b7e1944SManuel Traut vcc_ddr: DCDC_REG3 { 4131b7e1944SManuel Traut regulator-always-on; 4141b7e1944SManuel Traut regulator-boot-on; 4151b7e1944SManuel Traut regulator-initial-mode = <0x2>; 4161b7e1944SManuel Traut regulator-name = "vcc_ddr"; 4171b7e1944SManuel Traut regulator-state-mem { 4181b7e1944SManuel Traut regulator-on-in-suspend; 4191b7e1944SManuel Traut }; 4201b7e1944SManuel Traut }; 4211b7e1944SManuel Traut 4221b7e1944SManuel Traut vcc3v3_sys: DCDC_REG4 { 4231b7e1944SManuel Traut regulator-always-on; 4241b7e1944SManuel Traut regulator-boot-on; 4251b7e1944SManuel Traut regulator-min-microvolt = <3300000>; 4261b7e1944SManuel Traut regulator-max-microvolt = <3300000>; 4271b7e1944SManuel Traut regulator-initial-mode = <0x2>; 4281b7e1944SManuel Traut regulator-name = "vcc3v3_sys"; 4291b7e1944SManuel Traut regulator-state-mem { 4301b7e1944SManuel Traut regulator-off-in-suspend; 4311b7e1944SManuel Traut }; 4321b7e1944SManuel Traut }; 4331b7e1944SManuel Traut 4341b7e1944SManuel Traut vcca1v8_pmu: LDO_REG1 { 4351b7e1944SManuel Traut regulator-always-on; 4361b7e1944SManuel Traut regulator-boot-on; 4371b7e1944SManuel Traut regulator-min-microvolt = <1800000>; 4381b7e1944SManuel Traut regulator-max-microvolt = <1800000>; 4391b7e1944SManuel Traut regulator-name = "vcca1v8_pmu"; 4401b7e1944SManuel Traut regulator-state-mem { 4411b7e1944SManuel Traut regulator-on-in-suspend; 4421b7e1944SManuel Traut }; 4431b7e1944SManuel Traut }; 4441b7e1944SManuel Traut 4451b7e1944SManuel Traut vdda_0v9_p: LDO_REG2 { 4461b7e1944SManuel Traut regulator-always-on; 4471b7e1944SManuel Traut regulator-boot-on; 4481b7e1944SManuel Traut regulator-min-microvolt = <900000>; 4491b7e1944SManuel Traut regulator-max-microvolt = <900000>; 4501b7e1944SManuel Traut regulator-name = "vdda_0v9_p"; 4511b7e1944SManuel Traut regulator-state-mem { 4521b7e1944SManuel Traut regulator-off-in-suspend; 4531b7e1944SManuel Traut }; 4541b7e1944SManuel Traut }; 4551b7e1944SManuel Traut 4561b7e1944SManuel Traut vdda0v9_pmu: LDO_REG3 { 4571b7e1944SManuel Traut regulator-always-on; 4581b7e1944SManuel Traut regulator-boot-on; 4591b7e1944SManuel Traut regulator-min-microvolt = <900000>; 4601b7e1944SManuel Traut regulator-max-microvolt = <900000>; 4611b7e1944SManuel Traut regulator-name = "vdda0v9_pmu"; 4621b7e1944SManuel Traut regulator-state-mem { 4631b7e1944SManuel Traut regulator-on-in-suspend; 4641b7e1944SManuel Traut }; 4651b7e1944SManuel Traut }; 4661b7e1944SManuel Traut 4671b7e1944SManuel Traut vccio_acodec: LDO_REG4 { 4681b7e1944SManuel Traut regulator-always-on; 4691b7e1944SManuel Traut regulator-boot-on; 4701b7e1944SManuel Traut regulator-min-microvolt = <3300000>; 4711b7e1944SManuel Traut regulator-max-microvolt = <3300000>; 4721b7e1944SManuel Traut regulator-name = "vccio_acodec"; 4731b7e1944SManuel Traut regulator-state-mem { 4741b7e1944SManuel Traut regulator-off-in-suspend; 4751b7e1944SManuel Traut }; 4761b7e1944SManuel Traut }; 4771b7e1944SManuel Traut 4781b7e1944SManuel Traut vccio_sd: LDO_REG5 { 4791b7e1944SManuel Traut regulator-always-on; 4801b7e1944SManuel Traut regulator-boot-on; 4811b7e1944SManuel Traut regulator-min-microvolt = <1800000>; 4821b7e1944SManuel Traut regulator-max-microvolt = <3300000>; 4831b7e1944SManuel Traut regulator-name = "vccio_sd"; 4841b7e1944SManuel Traut regulator-state-mem { 4851b7e1944SManuel Traut regulator-off-in-suspend; 4861b7e1944SManuel Traut }; 4871b7e1944SManuel Traut }; 4881b7e1944SManuel Traut 4891b7e1944SManuel Traut vcc3v3_pmu: LDO_REG6 { 4901b7e1944SManuel Traut regulator-always-on; 4911b7e1944SManuel Traut regulator-boot-on; 4921b7e1944SManuel Traut regulator-min-microvolt = <3300000>; 4931b7e1944SManuel Traut regulator-max-microvolt = <3300000>; 4941b7e1944SManuel Traut regulator-name = "vcc3v3_pmu"; 4951b7e1944SManuel Traut regulator-state-mem { 4961b7e1944SManuel Traut regulator-on-in-suspend; 4971b7e1944SManuel Traut }; 4981b7e1944SManuel Traut }; 4991b7e1944SManuel Traut 5001b7e1944SManuel Traut vcc_1v8: LDO_REG7 { 5011b7e1944SManuel Traut regulator-always-on; 5021b7e1944SManuel Traut regulator-boot-on; 5031b7e1944SManuel Traut regulator-min-microvolt = <1800000>; 5041b7e1944SManuel Traut regulator-max-microvolt = <1800000>; 5051b7e1944SManuel Traut regulator-name = "vcc_1v8"; 5061b7e1944SManuel Traut regulator-state-mem { 5071b7e1944SManuel Traut regulator-off-in-suspend; 5081b7e1944SManuel Traut }; 5091b7e1944SManuel Traut }; 5101b7e1944SManuel Traut 5111b7e1944SManuel Traut vcc1v8_dvp: LDO_REG8 { 5121b7e1944SManuel Traut regulator-always-on; 5131b7e1944SManuel Traut regulator-boot-on; 5141b7e1944SManuel Traut regulator-min-microvolt = <1800000>; 5151b7e1944SManuel Traut regulator-max-microvolt = <1800000>; 5161b7e1944SManuel Traut regulator-name = "vcc1v8_dvp"; 5171b7e1944SManuel Traut regulator-state-mem { 5181b7e1944SManuel Traut regulator-off-in-suspend; 5191b7e1944SManuel Traut }; 5201b7e1944SManuel Traut }; 5211b7e1944SManuel Traut 5221b7e1944SManuel Traut vcc2v8_dvp: LDO_REG9 { 5231b7e1944SManuel Traut regulator-always-on; 5241b7e1944SManuel Traut regulator-boot-on; 5251b7e1944SManuel Traut regulator-min-microvolt = <2800000>; 5261b7e1944SManuel Traut regulator-max-microvolt = <2800000>; 5271b7e1944SManuel Traut regulator-name = "vcc2v8_dvp"; 5281b7e1944SManuel Traut regulator-state-mem { 5291b7e1944SManuel Traut regulator-off-in-suspend; 5301b7e1944SManuel Traut }; 5311b7e1944SManuel Traut }; 5321b7e1944SManuel Traut 5331b7e1944SManuel Traut vcc5v_midu: BOOST { 5341b7e1944SManuel Traut regulator-always-on; 5351b7e1944SManuel Traut regulator-boot-on; 5361b7e1944SManuel Traut regulator-min-microvolt = <5000000>; 5371b7e1944SManuel Traut regulator-max-microvolt = <5000000>; 5381b7e1944SManuel Traut regulator-name = "boost"; 5391b7e1944SManuel Traut regulator-state-mem { 5401b7e1944SManuel Traut regulator-off-in-suspend; 5411b7e1944SManuel Traut }; 5421b7e1944SManuel Traut }; 5431b7e1944SManuel Traut 5441b7e1944SManuel Traut vbus: OTG_SWITCH { 5451b7e1944SManuel Traut regulator-min-microvolt = <5000000>; 5461b7e1944SManuel Traut regulator-max-microvolt = <5000000>; 5471b7e1944SManuel Traut regulator-name = "otg_switch"; 5481b7e1944SManuel Traut regulator-state-mem { 5491b7e1944SManuel Traut regulator-off-in-suspend; 5501b7e1944SManuel Traut }; 5511b7e1944SManuel Traut }; 5521b7e1944SManuel Traut }; 5531b7e1944SManuel Traut 5541b7e1944SManuel Traut charger { 5551b7e1944SManuel Traut monitored-battery = <&battery>; 5561b7e1944SManuel Traut rockchip,resistor-sense-micro-ohms = <10000>; 5571b7e1944SManuel Traut rockchip,sleep-enter-current-microamp = <300000>; 5581b7e1944SManuel Traut rockchip,sleep-filter-current-microamp = <100000>; 5591b7e1944SManuel Traut }; 5601b7e1944SManuel Traut }; 5611b7e1944SManuel Traut}; 5621b7e1944SManuel Traut 5631b7e1944SManuel Traut&i2c1 { 5641b7e1944SManuel Traut clock-frequency = <400000>; 5651b7e1944SManuel Traut status = "okay"; 5661b7e1944SManuel Traut 5671b7e1944SManuel Traut touchscreen@5d { 5681b7e1944SManuel Traut compatible = "goodix,gt911"; 5691b7e1944SManuel Traut reg = <0x5d>; 5701b7e1944SManuel Traut interrupt-parent = <&gpio0>; 5711b7e1944SManuel Traut interrupts = <RK_PB0 IRQ_TYPE_EDGE_FALLING>; 5721b7e1944SManuel Traut pinctrl-names = "default"; 5731b7e1944SManuel Traut pinctrl-0 = <&tp_int_l_pmuio2>, <&tp_rst_l_pmuio2>; 5741b7e1944SManuel Traut AVDD28-supply = <&vcc3v3_pmu>; 5751b7e1944SManuel Traut VDDIO-supply = <&vcca1v8_pmu>; 5761b7e1944SManuel Traut irq-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; 5771b7e1944SManuel Traut reset-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>; 5781b7e1944SManuel Traut }; 5791b7e1944SManuel Traut}; 5801b7e1944SManuel Traut 5811b7e1944SManuel Traut&i2c2 { 5821b7e1944SManuel Traut clock-frequency = <400000>; 5831b7e1944SManuel Traut pinctrl-0 = <&i2c2m1_xfer>; 5841b7e1944SManuel Traut status = "okay"; 5851b7e1944SManuel Traut 5861b7e1944SManuel Traut vcm@c { 5871b7e1944SManuel Traut compatible = "dongwoon,dw9714"; 5881b7e1944SManuel Traut reg = <0x0c>; 5891b7e1944SManuel Traut vcc-supply = <&vcc1v8_dvp>; 5901b7e1944SManuel Traut }; 5911b7e1944SManuel Traut 5921b7e1944SManuel Traut camera@36 { 5931b7e1944SManuel Traut compatible = "ovti,ov5648"; 5941b7e1944SManuel Traut reg = <0x36>; 5951b7e1944SManuel Traut pinctrl-names = "default"; 5961b7e1944SManuel Traut pinctrl-0 = <&camerab_pdn_l &camerab_rst_l>; 5971b7e1944SManuel Traut 5981b7e1944SManuel Traut clocks = <&cru CLK_CIF_OUT>; 5991b7e1944SManuel Traut assigned-clocks = <&cru CLK_CIF_OUT>; 6001b7e1944SManuel Traut assigned-clock-rates = <24000000>; 6011b7e1944SManuel Traut 6021b7e1944SManuel Traut avdd-supply = <&vcc2v8_dvp>; 6031b7e1944SManuel Traut dvdd-supply = <&vdd1v2_dvp>; 6041b7e1944SManuel Traut dovdd-supply = <&vcc1v8_dvp>; 6051b7e1944SManuel Traut powerdown-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>; 6061b7e1944SManuel Traut reset-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_LOW>; 6071b7e1944SManuel Traut 6081b7e1944SManuel Traut port { 6091b7e1944SManuel Traut endpoint { 6101b7e1944SManuel Traut data-lanes = <1 2>; 6111b7e1944SManuel Traut remote-endpoint = <0>; 6121b7e1944SManuel Traut link-frequencies = /bits/ 64 <210000000 168000000>; 6131b7e1944SManuel Traut }; 6141b7e1944SManuel Traut }; 6151b7e1944SManuel Traut }; 6161b7e1944SManuel Traut}; 6171b7e1944SManuel Traut 6181b7e1944SManuel Traut&i2c5 { 6191b7e1944SManuel Traut clock-frequency = <400000>; 6201b7e1944SManuel Traut status = "okay"; 6211b7e1944SManuel Traut 6221b7e1944SManuel Traut accelerometer@18 { 6231b7e1944SManuel Traut compatible = "silan,sc7a20"; 6241b7e1944SManuel Traut reg = <0x18>; 6251b7e1944SManuel Traut interrupt-parent = <&gpio3>; 6261b7e1944SManuel Traut interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 6271b7e1944SManuel Traut pinctrl-names = "default"; 6281b7e1944SManuel Traut pinctrl-0 = <&gsensor_int_l>; 6291b7e1944SManuel Traut st,drdy-int-pin = <1>; 6301b7e1944SManuel Traut vdd-supply = <&vcc_1v8>; 6311b7e1944SManuel Traut vddio-supply = <&vcc_1v8>; 6321b7e1944SManuel Traut mount-matrix = "1", "0", "0", 6331b7e1944SManuel Traut "0", "0", "1", 6341b7e1944SManuel Traut "0", "1", "0"; 6351b7e1944SManuel Traut }; 6361b7e1944SManuel Traut}; 6371b7e1944SManuel Traut 6381b7e1944SManuel Traut&i2s0_8ch { 6391b7e1944SManuel Traut status = "okay"; 6401b7e1944SManuel Traut}; 6411b7e1944SManuel Traut 6421b7e1944SManuel Traut&i2s1_8ch { 6431b7e1944SManuel Traut pinctrl-names = "default"; 6441b7e1944SManuel Traut pinctrl-0 = <&i2s1m0_sclktx 6451b7e1944SManuel Traut &i2s1m0_lrcktx 6461b7e1944SManuel Traut &i2s1m0_sdi0 6471b7e1944SManuel Traut &i2s1m0_sdo0>; 6481b7e1944SManuel Traut rockchip,trcm-sync-tx-only; 6491b7e1944SManuel Traut status = "okay"; 6501b7e1944SManuel Traut}; 6511b7e1944SManuel Traut 6521b7e1944SManuel Traut&pcie2x1 { 6531b7e1944SManuel Traut pinctrl-names = "default"; 6541b7e1944SManuel Traut pinctrl-0 = <&pcie_reset_h>; 6551b7e1944SManuel Traut reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>; 6561b7e1944SManuel Traut vpcie3v3-supply = <&vcc3v3_minipcie>; 6571b7e1944SManuel Traut status = "okay"; 6581b7e1944SManuel Traut}; 6591b7e1944SManuel Traut 6601b7e1944SManuel Traut&pinctrl { 6611b7e1944SManuel Traut camerab { 6621b7e1944SManuel Traut camerab_pdn_l: camerab-pdn-l { 6631b7e1944SManuel Traut rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 6641b7e1944SManuel Traut }; 6651b7e1944SManuel Traut 6661b7e1944SManuel Traut camerab_rst_l: camerab-rst-l { 6671b7e1944SManuel Traut rockchip,pins = <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 6681b7e1944SManuel Traut }; 6691b7e1944SManuel Traut }; 6701b7e1944SManuel Traut 6711b7e1944SManuel Traut cameraf { 6721b7e1944SManuel Traut cameraf_pdn_l: cameraf-pdn-l { 6731b7e1944SManuel Traut rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 6741b7e1944SManuel Traut }; 6751b7e1944SManuel Traut 6761b7e1944SManuel Traut cameraf_rst_l: cameraf-rst-l { 6771b7e1944SManuel Traut rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 6781b7e1944SManuel Traut }; 6791b7e1944SManuel Traut }; 6801b7e1944SManuel Traut 6811b7e1944SManuel Traut flash { 6821b7e1944SManuel Traut flash_led_en_h: flash-led-en-h { 6831b7e1944SManuel Traut rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 6841b7e1944SManuel Traut }; 6851b7e1944SManuel Traut }; 6861b7e1944SManuel Traut 6871b7e1944SManuel Traut fspi { 6881b7e1944SManuel Traut fspi_dual_io_pins: fspi-dual-io-pins { 6891b7e1944SManuel Traut rockchip,pins = 6901b7e1944SManuel Traut /* fspi_clk */ 6911b7e1944SManuel Traut <1 RK_PD0 1 &pcfg_pull_none>, 6921b7e1944SManuel Traut /* fspi_cs0n */ 6931b7e1944SManuel Traut <1 RK_PD3 1 &pcfg_pull_none>, 6941b7e1944SManuel Traut /* fspi_d0 */ 6951b7e1944SManuel Traut <1 RK_PD1 1 &pcfg_pull_none>, 6961b7e1944SManuel Traut /* fspi_d1 */ 6971b7e1944SManuel Traut <1 RK_PD2 1 &pcfg_pull_none>; 6981b7e1944SManuel Traut }; 6991b7e1944SManuel Traut }; 7001b7e1944SManuel Traut 7011b7e1944SManuel Traut gsensor { 7021b7e1944SManuel Traut gsensor_int_l: gsensor-int-l { 7031b7e1944SManuel Traut rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 7041b7e1944SManuel Traut }; 7051b7e1944SManuel Traut }; 7061b7e1944SManuel Traut 7071b7e1944SManuel Traut kb { 7081b7e1944SManuel Traut kb_id_det: kb-id-det { 7091b7e1944SManuel Traut rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 7101b7e1944SManuel Traut }; 7111b7e1944SManuel Traut }; 7121b7e1944SManuel Traut 7131b7e1944SManuel Traut lcd { 7141b7e1944SManuel Traut lcd_pwren_h: lcd-pwren-h { 7151b7e1944SManuel Traut rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 7161b7e1944SManuel Traut }; 7171b7e1944SManuel Traut }; 7181b7e1944SManuel Traut 7191b7e1944SManuel Traut pcie { 7201b7e1944SManuel Traut pcie_pwren_h: pcie-pwren-h { 7211b7e1944SManuel Traut rockchip,pins = <4 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; 7221b7e1944SManuel Traut }; 7231b7e1944SManuel Traut 7241b7e1944SManuel Traut pcie_reset_h: pcie-reset-h { 7251b7e1944SManuel Traut rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 7261b7e1944SManuel Traut }; 7271b7e1944SManuel Traut }; 7281b7e1944SManuel Traut 7291b7e1944SManuel Traut pmic { 7301b7e1944SManuel Traut pmic_int_l: pmic-int-l { 7311b7e1944SManuel Traut rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 7321b7e1944SManuel Traut }; 7331b7e1944SManuel Traut }; 7341b7e1944SManuel Traut 7351b7e1944SManuel Traut sdmmc { 7361b7e1944SManuel Traut sdmmc_pwren_l: sdmmc-pwren-l { 7371b7e1944SManuel Traut rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 7381b7e1944SManuel Traut }; 7391b7e1944SManuel Traut }; 7401b7e1944SManuel Traut 7411b7e1944SManuel Traut sound { 7421b7e1944SManuel Traut hp_det_l: hp-det-l { 7431b7e1944SManuel Traut rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 7441b7e1944SManuel Traut }; 7451b7e1944SManuel Traut 7461b7e1944SManuel Traut spk_ctl: spk-ctl { 7471b7e1944SManuel Traut rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 7481b7e1944SManuel Traut }; 7491b7e1944SManuel Traut }; 7501b7e1944SManuel Traut 7511b7e1944SManuel Traut tp { 7521b7e1944SManuel Traut tp_int_l_pmuio2: tp-int-l-pmuio2 { 7531b7e1944SManuel Traut rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 7541b7e1944SManuel Traut }; 7551b7e1944SManuel Traut 7561b7e1944SManuel Traut tp_rst_l_pmuio2: tp-rst-l-pmuio2 { 7571b7e1944SManuel Traut rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 7581b7e1944SManuel Traut }; 7591b7e1944SManuel Traut }; 7601b7e1944SManuel Traut 7611b7e1944SManuel Traut usb { 7621b7e1944SManuel Traut usbcc_int_l: usbcc-int-l { 7631b7e1944SManuel Traut rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 7641b7e1944SManuel Traut }; 7651b7e1944SManuel Traut 7661b7e1944SManuel Traut usb_host_pwren1_h: usb-host-pwren1-h { 7671b7e1944SManuel Traut rockchip,pins = <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; 7681b7e1944SManuel Traut }; 7691b7e1944SManuel Traut 7701b7e1944SManuel Traut usb_host_pwren2_h: usb-host-pwren2-h { 7711b7e1944SManuel Traut rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 7721b7e1944SManuel Traut }; 7731b7e1944SManuel Traut }; 7741b7e1944SManuel Traut 7751b7e1944SManuel Traut wifi { 7761b7e1944SManuel Traut host_wake_wl: host-wake-wl { 7771b7e1944SManuel Traut rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 7781b7e1944SManuel Traut }; 7791b7e1944SManuel Traut 7801b7e1944SManuel Traut wifi_wake_host_h: wifi-wake-host-h { 7811b7e1944SManuel Traut rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>; 7821b7e1944SManuel Traut }; 7831b7e1944SManuel Traut }; 7841b7e1944SManuel Traut}; 7851b7e1944SManuel Traut 7861b7e1944SManuel Traut&pmu_io_domains { 7871b7e1944SManuel Traut pmuio1-supply = <&vcc3v3_pmu>; 7881b7e1944SManuel Traut pmuio2-supply = <&vcca1v8_pmu>; 7891b7e1944SManuel Traut vccio1-supply = <&vccio_acodec>; 7901b7e1944SManuel Traut vccio2-supply = <&vcc_1v8>; 7911b7e1944SManuel Traut vccio3-supply = <&vccio_sd>; 7921b7e1944SManuel Traut vccio4-supply = <&vcc_1v8>; 7931b7e1944SManuel Traut vccio5-supply = <&vcc_1v8>; 7941b7e1944SManuel Traut vccio6-supply = <&vcc1v8_dvp>; 7951b7e1944SManuel Traut vccio7-supply = <&vcc_3v3>; 7961b7e1944SManuel Traut status = "okay"; 7971b7e1944SManuel Traut}; 7981b7e1944SManuel Traut 7991b7e1944SManuel Traut&pwm4 { 8001b7e1944SManuel Traut status = "okay"; 8011b7e1944SManuel Traut}; 8021b7e1944SManuel Traut 8031b7e1944SManuel Traut&saradc { 8041b7e1944SManuel Traut vref-supply = <&vcc_1v8>; 8051b7e1944SManuel Traut status = "okay"; 8061b7e1944SManuel Traut}; 8071b7e1944SManuel Traut 8081b7e1944SManuel Traut&sdhci { 8091b7e1944SManuel Traut bus-width = <8>; 8101b7e1944SManuel Traut no-sdio; 8111b7e1944SManuel Traut no-sd; 8121b7e1944SManuel Traut non-removable; 8131b7e1944SManuel Traut max-frequency = <200000000>; 8141b7e1944SManuel Traut mmc-hs200-1_8v; 8151b7e1944SManuel Traut pinctrl-names = "default"; 8161b7e1944SManuel Traut pinctrl-0 = <&emmc_bus8 8171b7e1944SManuel Traut &emmc_clk 8181b7e1944SManuel Traut &emmc_cmd 8191b7e1944SManuel Traut &emmc_datastrobe 8201b7e1944SManuel Traut &emmc_rstnout>; 8211b7e1944SManuel Traut vmmc-supply = <&vcc_3v3>; 8221b7e1944SManuel Traut vqmmc-supply = <&vcc_1v8>; 8231b7e1944SManuel Traut status = "okay"; 8241b7e1944SManuel Traut}; 8251b7e1944SManuel Traut 8261b7e1944SManuel Traut&sdmmc0 { 8271b7e1944SManuel Traut bus-width = <4>; 8281b7e1944SManuel Traut cap-sd-highspeed; 8291b7e1944SManuel Traut cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 8301b7e1944SManuel Traut disable-wp; 8311b7e1944SManuel Traut pinctrl-names = "default"; 8321b7e1944SManuel Traut pinctrl-0 = <&sdmmc0_bus4 8331b7e1944SManuel Traut &sdmmc0_clk 8341b7e1944SManuel Traut &sdmmc0_cmd 8351b7e1944SManuel Traut &sdmmc0_det>; 8361b7e1944SManuel Traut sd-uhs-sdr104; 8371b7e1944SManuel Traut vmmc-supply = <&vcc3v3_sd>; 8381b7e1944SManuel Traut vqmmc-supply = <&vccio_sd>; 8391b7e1944SManuel Traut status = "okay"; 8401b7e1944SManuel Traut}; 8411b7e1944SManuel Traut 8421b7e1944SManuel Traut&sdmmc1 { 8431b7e1944SManuel Traut bus-width = <4>; 8441b7e1944SManuel Traut cap-sd-highspeed; 8451b7e1944SManuel Traut cap-sdio-irq; 8461b7e1944SManuel Traut keep-power-in-suspend; 8471b7e1944SManuel Traut non-removable; 8481b7e1944SManuel Traut pinctrl-names = "default"; 8491b7e1944SManuel Traut pinctrl-0 = <&sdmmc1_bus4 8501b7e1944SManuel Traut &sdmmc1_cmd 8511b7e1944SManuel Traut &sdmmc1_clk>; 8521b7e1944SManuel Traut sd-uhs-sdr104; 8531b7e1944SManuel Traut vqmmc-supply = <&vcca1v8_pmu>; 8541b7e1944SManuel Traut status = "okay"; 8551b7e1944SManuel Traut}; 8561b7e1944SManuel Traut 8571b7e1944SManuel Traut&sfc { 8581b7e1944SManuel Traut pinctrl-names = "default"; 8591b7e1944SManuel Traut pinctrl-0 = <&fspi_dual_io_pins>; 8601b7e1944SManuel Traut status = "okay"; 8611b7e1944SManuel Traut #address-cells = <1>; 8621b7e1944SManuel Traut #size-cells = <0>; 8631b7e1944SManuel Traut 8641b7e1944SManuel Traut flash@0 { 8651b7e1944SManuel Traut compatible = "jedec,spi-nor"; 8661b7e1944SManuel Traut reg = <0>; 8671b7e1944SManuel Traut spi-max-frequency = <100000000>; 8681b7e1944SManuel Traut spi-rx-bus-width = <2>; 8691b7e1944SManuel Traut spi-tx-bus-width = <1>; 8702c99a9ceSDiederik de Haas vcc-supply = <&vcc_1v8>; 8711b7e1944SManuel Traut }; 8721b7e1944SManuel Traut}; 8731b7e1944SManuel Traut 8741b7e1944SManuel Traut&tsadc { 8751b7e1944SManuel Traut rockchip,hw-tshut-mode = <1>; 8761b7e1944SManuel Traut rockchip,hw-tshut-polarity = <0>; 8771b7e1944SManuel Traut status = "okay"; 8781b7e1944SManuel Traut}; 8791b7e1944SManuel Traut 8801b7e1944SManuel Traut&uart2 { 8811b7e1944SManuel Traut status = "okay"; 8821b7e1944SManuel Traut}; 8831b7e1944SManuel Traut 8841b7e1944SManuel Traut&usb_host0_ehci { 8851b7e1944SManuel Traut status = "okay"; 8861b7e1944SManuel Traut}; 8871b7e1944SManuel Traut 8881b7e1944SManuel Traut&usb_host0_ohci { 8891b7e1944SManuel Traut status = "okay"; 8901b7e1944SManuel Traut}; 8911b7e1944SManuel Traut 8921b7e1944SManuel Traut&usb_host0_xhci { 8931b7e1944SManuel Traut status = "okay"; 8941b7e1944SManuel Traut}; 8951b7e1944SManuel Traut 8961b7e1944SManuel Traut&usb_host1_xhci { 8971b7e1944SManuel Traut status = "okay"; 8981b7e1944SManuel Traut}; 8991b7e1944SManuel Traut 9001b7e1944SManuel Traut&usb2phy0 { 9011b7e1944SManuel Traut status = "okay"; 9021b7e1944SManuel Traut}; 9031b7e1944SManuel Traut 9041b7e1944SManuel Traut&usb2phy0_host { 9051b7e1944SManuel Traut phy-supply = <&vcc5v0_usb_host0>; 9061b7e1944SManuel Traut status = "okay"; 9071b7e1944SManuel Traut}; 9081b7e1944SManuel Traut 9091b7e1944SManuel Traut&usb2phy0_otg { 9101b7e1944SManuel Traut status = "okay"; 9111b7e1944SManuel Traut}; 9121b7e1944SManuel Traut 9131b7e1944SManuel Traut&usb2phy1 { 9141b7e1944SManuel Traut status = "okay"; 9151b7e1944SManuel Traut}; 9161b7e1944SManuel Traut 9171b7e1944SManuel Traut&usb2phy1_otg { 9181b7e1944SManuel Traut phy-supply = <&vcc5v0_usb_host2>; 9191b7e1944SManuel Traut status = "okay"; 9201b7e1944SManuel Traut}; 9211b7e1944SManuel Traut 9221b7e1944SManuel Traut&vop { 9231b7e1944SManuel Traut assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; 9241b7e1944SManuel Traut assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; 9251b7e1944SManuel Traut status = "okay"; 9261b7e1944SManuel Traut}; 9271b7e1944SManuel Traut 9281b7e1944SManuel Traut&vop_mmu { 9291b7e1944SManuel Traut status = "okay"; 9301b7e1944SManuel Traut}; 9311b7e1944SManuel Traut 9321b7e1944SManuel Traut&vp0 { 9331b7e1944SManuel Traut vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 9341b7e1944SManuel Traut reg = <ROCKCHIP_VOP2_EP_HDMI0>; 9351b7e1944SManuel Traut remote-endpoint = <&hdmi_in_vp0>; 9361b7e1944SManuel Traut }; 9371b7e1944SManuel Traut}; 9381b7e1944SManuel Traut 9391b7e1944SManuel Traut&vp1 { 9401b7e1944SManuel Traut vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 { 9411b7e1944SManuel Traut reg = <ROCKCHIP_VOP2_EP_MIPI0>; 9421b7e1944SManuel Traut remote-endpoint = <&dsi0_in_vp1>; 9431b7e1944SManuel Traut }; 9441b7e1944SManuel Traut}; 945