1f9010b0eSMarkus Reichl// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2f9010b0eSMarkus Reichl/* 3f9010b0eSMarkus Reichl * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd 4f9010b0eSMarkus Reichl */ 5f9010b0eSMarkus Reichl 6f9010b0eSMarkus Reichl/dts-v1/; 7f9010b0eSMarkus Reichl#include <dt-bindings/input/linux-event-codes.h> 8f9010b0eSMarkus Reichl#include <dt-bindings/pwm/pwm.h> 9f9010b0eSMarkus Reichl#include "rk3399.dtsi" 10f9010b0eSMarkus Reichl#include "rk3399-opp.dtsi" 11f9010b0eSMarkus Reichl 12f9010b0eSMarkus Reichl/ { 13f9010b0eSMarkus Reichl model = "Firefly ROC-RK3399-PC Board"; 14f9010b0eSMarkus Reichl compatible = "firefly,roc-rk3399-pc", "rockchip,rk3399"; 15f9010b0eSMarkus Reichl 165dcbe7e3SHeiko Stuebner aliases { 175dcbe7e3SHeiko Stuebner mmc0 = &sdmmc; 185dcbe7e3SHeiko Stuebner mmc1 = &sdhci; 195dcbe7e3SHeiko Stuebner }; 205dcbe7e3SHeiko Stuebner 21f9010b0eSMarkus Reichl chosen { 22f9010b0eSMarkus Reichl stdout-path = "serial2:1500000n8"; 23f9010b0eSMarkus Reichl }; 24f9010b0eSMarkus Reichl 25f9010b0eSMarkus Reichl backlight: backlight { 26f9010b0eSMarkus Reichl compatible = "pwm-backlight"; 27f9010b0eSMarkus Reichl pwms = <&pwm0 0 25000 0>; 28f9010b0eSMarkus Reichl }; 29f9010b0eSMarkus Reichl 30f9010b0eSMarkus Reichl clkin_gmac: external-gmac-clock { 31f9010b0eSMarkus Reichl compatible = "fixed-clock"; 32f9010b0eSMarkus Reichl clock-frequency = <125000000>; 33f9010b0eSMarkus Reichl clock-output-names = "clkin_gmac"; 34f9010b0eSMarkus Reichl #clock-cells = <0>; 35f9010b0eSMarkus Reichl }; 36f9010b0eSMarkus Reichl 37f9010b0eSMarkus Reichl adc-keys { 38f9010b0eSMarkus Reichl compatible = "adc-keys"; 39f9010b0eSMarkus Reichl io-channels = <&saradc 1>; 40f9010b0eSMarkus Reichl io-channel-names = "buttons"; 41f9010b0eSMarkus Reichl keyup-threshold-microvolt = <1500000>; 42f9010b0eSMarkus Reichl poll-interval = <100>; 43f9010b0eSMarkus Reichl 44f9010b0eSMarkus Reichl recovery { 45f9010b0eSMarkus Reichl label = "Recovery"; 46f9010b0eSMarkus Reichl linux,code = <KEY_VENDOR>; 47f9010b0eSMarkus Reichl press-threshold-microvolt = <18000>; 48f9010b0eSMarkus Reichl }; 49f9010b0eSMarkus Reichl }; 50f9010b0eSMarkus Reichl 51f9010b0eSMarkus Reichl gpio-keys { 52f9010b0eSMarkus Reichl compatible = "gpio-keys"; 53f9010b0eSMarkus Reichl autorepeat; 54f9010b0eSMarkus Reichl pinctrl-names = "default"; 55f9010b0eSMarkus Reichl pinctrl-0 = <&pwr_key_l>; 56f9010b0eSMarkus Reichl 57f9010b0eSMarkus Reichl power { 58f9010b0eSMarkus Reichl debounce-interval = <100>; 59f9010b0eSMarkus Reichl gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 60f9010b0eSMarkus Reichl label = "GPIO Key Power"; 61f9010b0eSMarkus Reichl linux,code = <KEY_POWER>; 62f9010b0eSMarkus Reichl wakeup-source; 63f9010b0eSMarkus Reichl }; 64f9010b0eSMarkus Reichl }; 65f9010b0eSMarkus Reichl 66*e1d635bcSAlex Bee ir-receiver { 67*e1d635bcSAlex Bee compatible = "gpio-ir-receiver"; 68*e1d635bcSAlex Bee gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>; 69*e1d635bcSAlex Bee pinctrl-names = "default"; 70*e1d635bcSAlex Bee pinctrl-0 = <&ir_int>; 71*e1d635bcSAlex Bee }; 72*e1d635bcSAlex Bee 73f9010b0eSMarkus Reichl leds { 74f9010b0eSMarkus Reichl compatible = "gpio-leds"; 75f9010b0eSMarkus Reichl pinctrl-names = "default"; 766dd5e12cSJohan Jonker pinctrl-0 = <&work_led_pin>, <&diy_led_pin>, <&yellow_led_pin>; 77f9010b0eSMarkus Reichl 786dd5e12cSJohan Jonker work_led: led-0 { 79f9010b0eSMarkus Reichl label = "green:work"; 80f9010b0eSMarkus Reichl gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 81f9010b0eSMarkus Reichl default-state = "on"; 82f9010b0eSMarkus Reichl linux,default-trigger = "heartbeat"; 83f9010b0eSMarkus Reichl }; 84f9010b0eSMarkus Reichl 856dd5e12cSJohan Jonker diy_led: led-1 { 86f9010b0eSMarkus Reichl label = "red:diy"; 87f9010b0eSMarkus Reichl gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 88f9010b0eSMarkus Reichl default-state = "off"; 897327c8b9SMarkus Reichl linux,default-trigger = "mmc2"; 90f9010b0eSMarkus Reichl }; 91f9010b0eSMarkus Reichl 926dd5e12cSJohan Jonker yellow_led: led-2 { 93f9010b0eSMarkus Reichl label = "yellow:yellow-led"; 94f9010b0eSMarkus Reichl gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 95f9010b0eSMarkus Reichl default-state = "off"; 967327c8b9SMarkus Reichl linux,default-trigger = "mmc1"; 97f9010b0eSMarkus Reichl }; 98f9010b0eSMarkus Reichl }; 99f9010b0eSMarkus Reichl 100f9010b0eSMarkus Reichl sdio_pwrseq: sdio-pwrseq { 101f9010b0eSMarkus Reichl compatible = "mmc-pwrseq-simple"; 102f9010b0eSMarkus Reichl clocks = <&rk808 1>; 103f9010b0eSMarkus Reichl clock-names = "ext_clock"; 104f9010b0eSMarkus Reichl pinctrl-names = "default"; 105f9010b0eSMarkus Reichl pinctrl-0 = <&wifi_enable_h>; 106f9010b0eSMarkus Reichl 107f9010b0eSMarkus Reichl /* 108f9010b0eSMarkus Reichl * On the module itself this is one of these (depending 109f9010b0eSMarkus Reichl * on the actual card populated): 110f9010b0eSMarkus Reichl * - SDIO_RESET_L_WL_REG_ON 111f9010b0eSMarkus Reichl * - PDN (power down when low) 112f9010b0eSMarkus Reichl */ 113f9010b0eSMarkus Reichl reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 114f9010b0eSMarkus Reichl }; 115f9010b0eSMarkus Reichl 116f9010b0eSMarkus Reichl vcc_vbus_typec0: vcc-vbus-typec0 { 117f9010b0eSMarkus Reichl compatible = "regulator-fixed"; 118f9010b0eSMarkus Reichl regulator-name = "vcc_vbus_typec0"; 119f9010b0eSMarkus Reichl regulator-always-on; 120f9010b0eSMarkus Reichl regulator-boot-on; 121f9010b0eSMarkus Reichl regulator-min-microvolt = <5000000>; 122f9010b0eSMarkus Reichl regulator-max-microvolt = <5000000>; 123f9010b0eSMarkus Reichl }; 124f9010b0eSMarkus Reichl 125bd77d0adSJagan Teki sys_12v: sys-12v { 126bd77d0adSJagan Teki compatible = "regulator-fixed"; 127bd77d0adSJagan Teki regulator-name = "sys_12v"; 128bd77d0adSJagan Teki regulator-always-on; 129bd77d0adSJagan Teki regulator-boot-on; 130bd77d0adSJagan Teki vin-supply = <&dc_12v>; 131bd77d0adSJagan Teki }; 132bd77d0adSJagan Teki 133f9010b0eSMarkus Reichl /* switched by pmic_sleep */ 134f9010b0eSMarkus Reichl vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 135f9010b0eSMarkus Reichl compatible = "regulator-fixed"; 136f9010b0eSMarkus Reichl regulator-name = "vcc1v8_s3"; 137f9010b0eSMarkus Reichl regulator-always-on; 138f9010b0eSMarkus Reichl regulator-boot-on; 139f9010b0eSMarkus Reichl regulator-min-microvolt = <1800000>; 140f9010b0eSMarkus Reichl regulator-max-microvolt = <1800000>; 141f9010b0eSMarkus Reichl vin-supply = <&vcc_1v8>; 142f9010b0eSMarkus Reichl }; 143f9010b0eSMarkus Reichl 144140e816aSMarkus Reichl vcc3v0_sd: vcc3v0-sd { 145140e816aSMarkus Reichl compatible = "regulator-fixed"; 146140e816aSMarkus Reichl enable-active-high; 147140e816aSMarkus Reichl gpio = <&gpio4 RK_PD6 GPIO_ACTIVE_HIGH>; 148140e816aSMarkus Reichl pinctrl-names = "default"; 149140e816aSMarkus Reichl pinctrl-0 = <&vcc3v0_sd_en>; 150140e816aSMarkus Reichl regulator-name = "vcc3v0_sd"; 151140e816aSMarkus Reichl regulator-boot-on; 152140e816aSMarkus Reichl regulator-min-microvolt = <3000000>; 153140e816aSMarkus Reichl regulator-max-microvolt = <3000000>; 154140e816aSMarkus Reichl vin-supply = <&vcc3v3_sys>; 155140e816aSMarkus Reichl }; 156140e816aSMarkus Reichl 157f9010b0eSMarkus Reichl vcc3v3_sys: vcc3v3-sys { 158f9010b0eSMarkus Reichl compatible = "regulator-fixed"; 159f9010b0eSMarkus Reichl regulator-name = "vcc3v3_sys"; 160f9010b0eSMarkus Reichl regulator-always-on; 161f9010b0eSMarkus Reichl regulator-boot-on; 162f9010b0eSMarkus Reichl regulator-min-microvolt = <3300000>; 163f9010b0eSMarkus Reichl regulator-max-microvolt = <3300000>; 164bd77d0adSJagan Teki vin-supply = <&sys_12v>; 165f9010b0eSMarkus Reichl }; 166f9010b0eSMarkus Reichl 167ec5b0af7SMarkus Reichl vcca_0v9: vcca-0v9 { 168ec5b0af7SMarkus Reichl compatible = "regulator-fixed"; 169ec5b0af7SMarkus Reichl regulator-name = "vcca_0v9"; 170ec5b0af7SMarkus Reichl regulator-always-on; 171ec5b0af7SMarkus Reichl regulator-boot-on; 172ec5b0af7SMarkus Reichl regulator-min-microvolt = <900000>; 173ec5b0af7SMarkus Reichl regulator-max-microvolt = <900000>; 174ec5b0af7SMarkus Reichl vin-supply = <&vcc3v3_sys>; 175ec5b0af7SMarkus Reichl }; 176ec5b0af7SMarkus Reichl 177f9010b0eSMarkus Reichl /* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */ 178f9010b0eSMarkus Reichl vcc5v0_host: vcc5v0-host-regulator { 179f9010b0eSMarkus Reichl compatible = "regulator-fixed"; 180f9010b0eSMarkus Reichl enable-active-high; 181f9010b0eSMarkus Reichl gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; 182f9010b0eSMarkus Reichl pinctrl-names = "default"; 183f9010b0eSMarkus Reichl pinctrl-0 = <&vcc5v0_host_en &hub_rst>; 184f9010b0eSMarkus Reichl regulator-name = "vcc5v0_host"; 185f9010b0eSMarkus Reichl vin-supply = <&vcc_sys>; 186f9010b0eSMarkus Reichl }; 187f9010b0eSMarkus Reichl 188f9010b0eSMarkus Reichl vcc_vbus_typec1: vcc-vbus-typec1 { 189f9010b0eSMarkus Reichl compatible = "regulator-fixed"; 190f9010b0eSMarkus Reichl enable-active-high; 191f9010b0eSMarkus Reichl gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 192f9010b0eSMarkus Reichl pinctrl-names = "default"; 193f9010b0eSMarkus Reichl pinctrl-0 = <&vcc_vbus_typec1_en>; 194f9010b0eSMarkus Reichl regulator-name = "vcc_vbus_typec1"; 195f9010b0eSMarkus Reichl regulator-always-on; 196f9010b0eSMarkus Reichl vin-supply = <&vcc_sys>; 197f9010b0eSMarkus Reichl }; 198f9010b0eSMarkus Reichl 199f9010b0eSMarkus Reichl vcc_sys: vcc-sys { 200f9010b0eSMarkus Reichl compatible = "regulator-fixed"; 201f9010b0eSMarkus Reichl enable-active-high; 202f9010b0eSMarkus Reichl gpio = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>; 203f9010b0eSMarkus Reichl pinctrl-names = "default"; 204f9010b0eSMarkus Reichl pinctrl-0 = <&vcc_sys_en>; 205f9010b0eSMarkus Reichl regulator-name = "vcc_sys"; 206f9010b0eSMarkus Reichl regulator-boot-on; 207f9010b0eSMarkus Reichl regulator-min-microvolt = <5000000>; 208f9010b0eSMarkus Reichl regulator-max-microvolt = <5000000>; 209bd77d0adSJagan Teki vin-supply = <&sys_12v>; 210f9010b0eSMarkus Reichl }; 211f9010b0eSMarkus Reichl 212f9010b0eSMarkus Reichl vdd_log: vdd-log { 213f9010b0eSMarkus Reichl compatible = "pwm-regulator"; 214f9010b0eSMarkus Reichl pwms = <&pwm2 0 25000 1>; 215f9010b0eSMarkus Reichl regulator-name = "vdd_log"; 216f9010b0eSMarkus Reichl regulator-always-on; 217f9010b0eSMarkus Reichl regulator-boot-on; 218c38d8009SMarkus Reichl regulator-min-microvolt = <450000>; 219f9010b0eSMarkus Reichl regulator-max-microvolt = <1400000>; 220c38d8009SMarkus Reichl pwm-supply = <&vcc3v3_sys>; 221f9010b0eSMarkus Reichl }; 222f9010b0eSMarkus Reichl}; 223f9010b0eSMarkus Reichl 224f9010b0eSMarkus Reichl&cpu_l0 { 225f9010b0eSMarkus Reichl cpu-supply = <&vdd_cpu_l>; 226f9010b0eSMarkus Reichl}; 227f9010b0eSMarkus Reichl 228f9010b0eSMarkus Reichl&cpu_l1 { 229f9010b0eSMarkus Reichl cpu-supply = <&vdd_cpu_l>; 230f9010b0eSMarkus Reichl}; 231f9010b0eSMarkus Reichl 232f9010b0eSMarkus Reichl&cpu_l2 { 233f9010b0eSMarkus Reichl cpu-supply = <&vdd_cpu_l>; 234f9010b0eSMarkus Reichl}; 235f9010b0eSMarkus Reichl 236f9010b0eSMarkus Reichl&cpu_l3 { 237f9010b0eSMarkus Reichl cpu-supply = <&vdd_cpu_l>; 238f9010b0eSMarkus Reichl}; 239f9010b0eSMarkus Reichl 240f9010b0eSMarkus Reichl&cpu_b0 { 241f9010b0eSMarkus Reichl cpu-supply = <&vdd_cpu_b>; 242f9010b0eSMarkus Reichl}; 243f9010b0eSMarkus Reichl 244f9010b0eSMarkus Reichl&cpu_b1 { 245f9010b0eSMarkus Reichl cpu-supply = <&vdd_cpu_b>; 246f9010b0eSMarkus Reichl}; 247f9010b0eSMarkus Reichl 248f9010b0eSMarkus Reichl&emmc_phy { 249f9010b0eSMarkus Reichl status = "okay"; 250f9010b0eSMarkus Reichl}; 251f9010b0eSMarkus Reichl 252f9010b0eSMarkus Reichl&gmac { 253f9010b0eSMarkus Reichl assigned-clocks = <&cru SCLK_RMII_SRC>; 254f9010b0eSMarkus Reichl assigned-clock-parents = <&clkin_gmac>; 255f9010b0eSMarkus Reichl clock_in_out = "input"; 256f9010b0eSMarkus Reichl phy-supply = <&vcc_lan>; 257f9010b0eSMarkus Reichl phy-mode = "rgmii"; 258f9010b0eSMarkus Reichl pinctrl-names = "default"; 259f9010b0eSMarkus Reichl pinctrl-0 = <&rgmii_pins>; 260f9010b0eSMarkus Reichl snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 261f9010b0eSMarkus Reichl snps,reset-active-low; 262f9010b0eSMarkus Reichl snps,reset-delays-us = <0 10000 50000>; 263f9010b0eSMarkus Reichl tx_delay = <0x28>; 264f9010b0eSMarkus Reichl rx_delay = <0x11>; 265f9010b0eSMarkus Reichl status = "okay"; 266f9010b0eSMarkus Reichl}; 267f9010b0eSMarkus Reichl 268ec7d731dSMarkus Reichl&gpu { 269ec7d731dSMarkus Reichl mali-supply = <&vdd_gpu>; 270ec7d731dSMarkus Reichl status = "okay"; 271ec7d731dSMarkus Reichl}; 272ec7d731dSMarkus Reichl 273f9010b0eSMarkus Reichl&hdmi { 274f9010b0eSMarkus Reichl ddc-i2c-bus = <&i2c3>; 275f9010b0eSMarkus Reichl pinctrl-names = "default"; 276f9010b0eSMarkus Reichl pinctrl-0 = <&hdmi_cec>; 277f9010b0eSMarkus Reichl status = "okay"; 278f9010b0eSMarkus Reichl}; 279f9010b0eSMarkus Reichl 280e748d355SMarkus Reichl&hdmi_sound { 281e748d355SMarkus Reichl status = "okay"; 282e748d355SMarkus Reichl}; 283e748d355SMarkus Reichl 284f9010b0eSMarkus Reichl&i2c0 { 285f9010b0eSMarkus Reichl clock-frequency = <400000>; 286f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <168>; 287f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <4>; 288f9010b0eSMarkus Reichl status = "okay"; 289f9010b0eSMarkus Reichl 290f9010b0eSMarkus Reichl rk808: pmic@1b { 291f9010b0eSMarkus Reichl compatible = "rockchip,rk808"; 292f9010b0eSMarkus Reichl reg = <0x1b>; 293f9010b0eSMarkus Reichl interrupt-parent = <&gpio1>; 294f9010b0eSMarkus Reichl interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 295f9010b0eSMarkus Reichl #clock-cells = <1>; 296f9010b0eSMarkus Reichl clock-output-names = "xin32k", "rk808-clkout2"; 297f9010b0eSMarkus Reichl pinctrl-names = "default"; 298f9010b0eSMarkus Reichl pinctrl-0 = <&pmic_int_l>; 299f9010b0eSMarkus Reichl rockchip,system-power-controller; 300f9010b0eSMarkus Reichl wakeup-source; 301f9010b0eSMarkus Reichl 302f9010b0eSMarkus Reichl vcc1-supply = <&vcc3v3_sys>; 303f9010b0eSMarkus Reichl vcc2-supply = <&vcc3v3_sys>; 304f9010b0eSMarkus Reichl vcc3-supply = <&vcc3v3_sys>; 305f9010b0eSMarkus Reichl vcc4-supply = <&vcc3v3_sys>; 306f9010b0eSMarkus Reichl vcc6-supply = <&vcc3v3_sys>; 307f9010b0eSMarkus Reichl vcc7-supply = <&vcc3v3_sys>; 308f9010b0eSMarkus Reichl vcc8-supply = <&vcc3v3_sys>; 309f9010b0eSMarkus Reichl vcc9-supply = <&vcc3v3_sys>; 310f9010b0eSMarkus Reichl vcc10-supply = <&vcc3v3_sys>; 311f9010b0eSMarkus Reichl vcc11-supply = <&vcc3v3_sys>; 312f9010b0eSMarkus Reichl vcc12-supply = <&vcc3v3_sys>; 313f9010b0eSMarkus Reichl vcc13-supply = <&vcc3v3_sys>; 314f9010b0eSMarkus Reichl vcc14-supply = <&vcc3v3_sys>; 315f9010b0eSMarkus Reichl vddio-supply = <&vcc_3v0>; 316f9010b0eSMarkus Reichl 317f9010b0eSMarkus Reichl regulators { 318f9010b0eSMarkus Reichl vdd_center: DCDC_REG1 { 319f9010b0eSMarkus Reichl regulator-name = "vdd_center"; 320f9010b0eSMarkus Reichl regulator-always-on; 321f9010b0eSMarkus Reichl regulator-boot-on; 322f9010b0eSMarkus Reichl regulator-min-microvolt = <750000>; 323f9010b0eSMarkus Reichl regulator-max-microvolt = <1350000>; 324f9010b0eSMarkus Reichl regulator-ramp-delay = <6001>; 325f9010b0eSMarkus Reichl regulator-state-mem { 326f9010b0eSMarkus Reichl regulator-off-in-suspend; 327f9010b0eSMarkus Reichl }; 328f9010b0eSMarkus Reichl }; 329f9010b0eSMarkus Reichl 330f9010b0eSMarkus Reichl vdd_cpu_l: DCDC_REG2 { 331f9010b0eSMarkus Reichl regulator-name = "vdd_cpu_l"; 332f9010b0eSMarkus Reichl regulator-always-on; 333f9010b0eSMarkus Reichl regulator-boot-on; 334f9010b0eSMarkus Reichl regulator-min-microvolt = <750000>; 335f9010b0eSMarkus Reichl regulator-max-microvolt = <1350000>; 336f9010b0eSMarkus Reichl regulator-ramp-delay = <6001>; 337f9010b0eSMarkus Reichl regulator-state-mem { 338f9010b0eSMarkus Reichl regulator-off-in-suspend; 339f9010b0eSMarkus Reichl }; 340f9010b0eSMarkus Reichl }; 341f9010b0eSMarkus Reichl 342f9010b0eSMarkus Reichl vcc_ddr: DCDC_REG3 { 343f9010b0eSMarkus Reichl regulator-name = "vcc_ddr"; 344f9010b0eSMarkus Reichl regulator-always-on; 345f9010b0eSMarkus Reichl regulator-boot-on; 346f9010b0eSMarkus Reichl regulator-state-mem { 347f9010b0eSMarkus Reichl regulator-on-in-suspend; 348f9010b0eSMarkus Reichl }; 349f9010b0eSMarkus Reichl }; 350f9010b0eSMarkus Reichl 351f9010b0eSMarkus Reichl vcc_1v8: DCDC_REG4 { 352f9010b0eSMarkus Reichl regulator-name = "vcc_1v8"; 353f9010b0eSMarkus Reichl regulator-always-on; 354f9010b0eSMarkus Reichl regulator-boot-on; 355f9010b0eSMarkus Reichl regulator-min-microvolt = <1800000>; 356f9010b0eSMarkus Reichl regulator-max-microvolt = <1800000>; 357f9010b0eSMarkus Reichl regulator-state-mem { 358f9010b0eSMarkus Reichl regulator-on-in-suspend; 359f9010b0eSMarkus Reichl regulator-suspend-microvolt = <1800000>; 360f9010b0eSMarkus Reichl }; 361f9010b0eSMarkus Reichl }; 362f9010b0eSMarkus Reichl 363f9010b0eSMarkus Reichl vcca1v8_codec: LDO_REG1 { 364f9010b0eSMarkus Reichl regulator-name = "vcca1v8_codec"; 365f9010b0eSMarkus Reichl regulator-always-on; 366f9010b0eSMarkus Reichl regulator-boot-on; 367f9010b0eSMarkus Reichl regulator-min-microvolt = <1800000>; 368f9010b0eSMarkus Reichl regulator-max-microvolt = <1800000>; 369f9010b0eSMarkus Reichl regulator-state-mem { 370f9010b0eSMarkus Reichl regulator-off-in-suspend; 371f9010b0eSMarkus Reichl }; 372f9010b0eSMarkus Reichl }; 373f9010b0eSMarkus Reichl 374f9010b0eSMarkus Reichl vcc1v8_hdmi: LDO_REG2 { 375f9010b0eSMarkus Reichl regulator-name = "vcc1v8_hdmi"; 376f9010b0eSMarkus Reichl regulator-always-on; 377f9010b0eSMarkus Reichl regulator-boot-on; 378f9010b0eSMarkus Reichl regulator-min-microvolt = <1800000>; 379f9010b0eSMarkus Reichl regulator-max-microvolt = <1800000>; 380f9010b0eSMarkus Reichl regulator-state-mem { 381f9010b0eSMarkus Reichl regulator-off-in-suspend; 382f9010b0eSMarkus Reichl }; 383f9010b0eSMarkus Reichl }; 384f9010b0eSMarkus Reichl 385f9010b0eSMarkus Reichl vcc1v8_pmu: LDO_REG3 { 386f9010b0eSMarkus Reichl regulator-name = "vcc1v8_pmu"; 387f9010b0eSMarkus Reichl regulator-always-on; 388f9010b0eSMarkus Reichl regulator-boot-on; 389f9010b0eSMarkus Reichl regulator-min-microvolt = <1800000>; 390f9010b0eSMarkus Reichl regulator-max-microvolt = <1800000>; 391f9010b0eSMarkus Reichl regulator-state-mem { 392f9010b0eSMarkus Reichl regulator-on-in-suspend; 393f9010b0eSMarkus Reichl regulator-suspend-microvolt = <1800000>; 394f9010b0eSMarkus Reichl }; 395f9010b0eSMarkus Reichl }; 396f9010b0eSMarkus Reichl 397f9010b0eSMarkus Reichl vcc_sdio: LDO_REG4 { 398f9010b0eSMarkus Reichl regulator-name = "vcc_sdio"; 399f9010b0eSMarkus Reichl regulator-boot-on; 400f9010b0eSMarkus Reichl regulator-min-microvolt = <1800000>; 401f9010b0eSMarkus Reichl regulator-max-microvolt = <3000000>; 402f9010b0eSMarkus Reichl regulator-state-mem { 403f9010b0eSMarkus Reichl regulator-on-in-suspend; 404f9010b0eSMarkus Reichl regulator-suspend-microvolt = <3000000>; 405f9010b0eSMarkus Reichl }; 406f9010b0eSMarkus Reichl }; 407f9010b0eSMarkus Reichl 408f9010b0eSMarkus Reichl vcca3v0_codec: LDO_REG5 { 409f9010b0eSMarkus Reichl regulator-name = "vcca3v0_codec"; 410f9010b0eSMarkus Reichl regulator-always-on; 411f9010b0eSMarkus Reichl regulator-boot-on; 412f9010b0eSMarkus Reichl regulator-min-microvolt = <3000000>; 413f9010b0eSMarkus Reichl regulator-max-microvolt = <3000000>; 414f9010b0eSMarkus Reichl regulator-state-mem { 415f9010b0eSMarkus Reichl regulator-off-in-suspend; 416f9010b0eSMarkus Reichl }; 417f9010b0eSMarkus Reichl }; 418f9010b0eSMarkus Reichl 419f9010b0eSMarkus Reichl vcc_1v5: LDO_REG6 { 420f9010b0eSMarkus Reichl regulator-name = "vcc_1v5"; 421f9010b0eSMarkus Reichl regulator-always-on; 422f9010b0eSMarkus Reichl regulator-boot-on; 423f9010b0eSMarkus Reichl regulator-min-microvolt = <1500000>; 424f9010b0eSMarkus Reichl regulator-max-microvolt = <1500000>; 425f9010b0eSMarkus Reichl regulator-state-mem { 426f9010b0eSMarkus Reichl regulator-on-in-suspend; 427f9010b0eSMarkus Reichl regulator-suspend-microvolt = <1500000>; 428f9010b0eSMarkus Reichl }; 429f9010b0eSMarkus Reichl }; 430f9010b0eSMarkus Reichl 431f9010b0eSMarkus Reichl vcca0v9_hdmi: LDO_REG7 { 432f9010b0eSMarkus Reichl regulator-name = "vcca0v9_hdmi"; 433f9010b0eSMarkus Reichl regulator-always-on; 434f9010b0eSMarkus Reichl regulator-boot-on; 435f9010b0eSMarkus Reichl regulator-min-microvolt = <900000>; 436f9010b0eSMarkus Reichl regulator-max-microvolt = <900000>; 437f9010b0eSMarkus Reichl regulator-state-mem { 438f9010b0eSMarkus Reichl regulator-off-in-suspend; 439f9010b0eSMarkus Reichl }; 440f9010b0eSMarkus Reichl }; 441f9010b0eSMarkus Reichl 442f9010b0eSMarkus Reichl vcc_3v0: LDO_REG8 { 443f9010b0eSMarkus Reichl regulator-name = "vcc_3v0"; 444f9010b0eSMarkus Reichl regulator-always-on; 445f9010b0eSMarkus Reichl regulator-boot-on; 446f9010b0eSMarkus Reichl regulator-min-microvolt = <3000000>; 447f9010b0eSMarkus Reichl regulator-max-microvolt = <3000000>; 448f9010b0eSMarkus Reichl regulator-state-mem { 449f9010b0eSMarkus Reichl regulator-on-in-suspend; 450f9010b0eSMarkus Reichl regulator-suspend-microvolt = <3000000>; 451f9010b0eSMarkus Reichl }; 452f9010b0eSMarkus Reichl }; 453f9010b0eSMarkus Reichl 454f9010b0eSMarkus Reichl vcc3v3_s3: vcc_lan: SWITCH_REG1 { 455f9010b0eSMarkus Reichl regulator-name = "vcc3v3_s3"; 456f9010b0eSMarkus Reichl regulator-always-on; 457f9010b0eSMarkus Reichl regulator-boot-on; 458f9010b0eSMarkus Reichl regulator-state-mem { 459f9010b0eSMarkus Reichl regulator-off-in-suspend; 460f9010b0eSMarkus Reichl }; 461f9010b0eSMarkus Reichl }; 462f9010b0eSMarkus Reichl 463f9010b0eSMarkus Reichl vcc3v3_s0: SWITCH_REG2 { 464f9010b0eSMarkus Reichl regulator-name = "vcc3v3_s0"; 465f9010b0eSMarkus Reichl regulator-always-on; 466f9010b0eSMarkus Reichl regulator-boot-on; 467f9010b0eSMarkus Reichl regulator-state-mem { 468f9010b0eSMarkus Reichl regulator-off-in-suspend; 469f9010b0eSMarkus Reichl }; 470f9010b0eSMarkus Reichl }; 471f9010b0eSMarkus Reichl }; 472f9010b0eSMarkus Reichl }; 473f9010b0eSMarkus Reichl 474f9010b0eSMarkus Reichl vdd_cpu_b: regulator@40 { 475f9010b0eSMarkus Reichl compatible = "silergy,syr827"; 476f9010b0eSMarkus Reichl reg = <0x40>; 477f9010b0eSMarkus Reichl fcs,suspend-voltage-selector = <1>; 478f9010b0eSMarkus Reichl pinctrl-names = "default"; 4792bc65fefSJohan Jonker pinctrl-0 = <&vsel1_pin>; 480f9010b0eSMarkus Reichl regulator-name = "vdd_cpu_b"; 481f9010b0eSMarkus Reichl regulator-min-microvolt = <712500>; 482f9010b0eSMarkus Reichl regulator-max-microvolt = <1500000>; 483f9010b0eSMarkus Reichl regulator-ramp-delay = <1000>; 484f9010b0eSMarkus Reichl regulator-always-on; 485f9010b0eSMarkus Reichl regulator-boot-on; 486f9010b0eSMarkus Reichl vin-supply = <&vcc3v3_sys>; 487f9010b0eSMarkus Reichl 488f9010b0eSMarkus Reichl regulator-state-mem { 489f9010b0eSMarkus Reichl regulator-off-in-suspend; 490f9010b0eSMarkus Reichl }; 491f9010b0eSMarkus Reichl }; 492f9010b0eSMarkus Reichl 493f9010b0eSMarkus Reichl vdd_gpu: regulator@41 { 494f9010b0eSMarkus Reichl compatible = "silergy,syr828"; 495f9010b0eSMarkus Reichl reg = <0x41>; 496f9010b0eSMarkus Reichl fcs,suspend-voltage-selector = <1>; 497f9010b0eSMarkus Reichl pinctrl-names = "default"; 4982bc65fefSJohan Jonker pinctrl-0 = <&vsel2_pin>; 499f9010b0eSMarkus Reichl regulator-name = "vdd_gpu"; 500f9010b0eSMarkus Reichl regulator-min-microvolt = <712500>; 501f9010b0eSMarkus Reichl regulator-max-microvolt = <1500000>; 502f9010b0eSMarkus Reichl regulator-ramp-delay = <1000>; 503f9010b0eSMarkus Reichl vin-supply = <&vcc3v3_sys>; 504f9010b0eSMarkus Reichl 505f9010b0eSMarkus Reichl regulator-state-mem { 506f9010b0eSMarkus Reichl regulator-off-in-suspend; 507f9010b0eSMarkus Reichl }; 508f9010b0eSMarkus Reichl }; 509f9010b0eSMarkus Reichl}; 510f9010b0eSMarkus Reichl 511f9010b0eSMarkus Reichl&i2c1 { 512f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <300>; 513f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <15>; 514f9010b0eSMarkus Reichl status = "okay"; 515f9010b0eSMarkus Reichl}; 516f9010b0eSMarkus Reichl 517f9010b0eSMarkus Reichl&i2c3 { 518f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <450>; 519f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <15>; 520f9010b0eSMarkus Reichl status = "okay"; 521f9010b0eSMarkus Reichl}; 522f9010b0eSMarkus Reichl 523f9010b0eSMarkus Reichl&i2c4 { 524f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <600>; 525f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <20>; 526f9010b0eSMarkus Reichl status = "okay"; 527f9010b0eSMarkus Reichl 528f9010b0eSMarkus Reichl fusb1: usb-typec@22 { 529f9010b0eSMarkus Reichl compatible = "fcs,fusb302"; 530f9010b0eSMarkus Reichl reg = <0x22>; 531f9010b0eSMarkus Reichl interrupt-parent = <&gpio1>; 532f9010b0eSMarkus Reichl interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 533f9010b0eSMarkus Reichl pinctrl-names = "default"; 534f9010b0eSMarkus Reichl pinctrl-0 = <&fusb1_int>; 535f9010b0eSMarkus Reichl vbus-supply = <&vcc_vbus_typec1>; 536f9010b0eSMarkus Reichl status = "okay"; 537f9010b0eSMarkus Reichl }; 538f9010b0eSMarkus Reichl}; 539f9010b0eSMarkus Reichl 540f9010b0eSMarkus Reichl&i2c7 { 541f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <600>; 542f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <20>; 543f9010b0eSMarkus Reichl status = "okay"; 544f9010b0eSMarkus Reichl 545f9010b0eSMarkus Reichl fusb0: usb-typec@22 { 546f9010b0eSMarkus Reichl compatible = "fcs,fusb302"; 547f9010b0eSMarkus Reichl reg = <0x22>; 548f9010b0eSMarkus Reichl interrupt-parent = <&gpio1>; 549f9010b0eSMarkus Reichl interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 550f9010b0eSMarkus Reichl pinctrl-names = "default"; 551f9010b0eSMarkus Reichl pinctrl-0 = <&fusb0_int>; 552f9010b0eSMarkus Reichl vbus-supply = <&vcc_vbus_typec0>; 553f9010b0eSMarkus Reichl status = "okay"; 554f9010b0eSMarkus Reichl }; 5551fc61ed0SMarkus Reichl 5561fc61ed0SMarkus Reichl mp8859: regulator@66 { 5571fc61ed0SMarkus Reichl compatible = "mps,mp8859"; 5581fc61ed0SMarkus Reichl reg = <0x66>; 5591fc61ed0SMarkus Reichl dc_12v: mp8859_dcdc { 5601fc61ed0SMarkus Reichl regulator-name = "dc_12v"; 5611fc61ed0SMarkus Reichl regulator-min-microvolt = <12000000>; 5621fc61ed0SMarkus Reichl regulator-max-microvolt = <12000000>; 5631fc61ed0SMarkus Reichl regulator-always-on; 5641fc61ed0SMarkus Reichl regulator-boot-on; 5651fc61ed0SMarkus Reichl vin-supply = <&vcc_vbus_typec0>; 5661fc61ed0SMarkus Reichl 5671fc61ed0SMarkus Reichl regulator-state-mem { 5681fc61ed0SMarkus Reichl regulator-on-in-suspend; 5691fc61ed0SMarkus Reichl regulator-suspend-microvolt = <12000000>; 5701fc61ed0SMarkus Reichl }; 5711fc61ed0SMarkus Reichl }; 5721fc61ed0SMarkus Reichl }; 573f9010b0eSMarkus Reichl}; 574f9010b0eSMarkus Reichl 575f9010b0eSMarkus Reichl&i2s0 { 576f9010b0eSMarkus Reichl rockchip,playback-channels = <8>; 577f9010b0eSMarkus Reichl rockchip,capture-channels = <8>; 578f9010b0eSMarkus Reichl status = "okay"; 579f9010b0eSMarkus Reichl}; 580f9010b0eSMarkus Reichl 581f9010b0eSMarkus Reichl&i2s1 { 582f9010b0eSMarkus Reichl rockchip,playback-channels = <2>; 583f9010b0eSMarkus Reichl rockchip,capture-channels = <2>; 584f9010b0eSMarkus Reichl status = "okay"; 585f9010b0eSMarkus Reichl}; 586f9010b0eSMarkus Reichl 587f9010b0eSMarkus Reichl&i2s2 { 588f9010b0eSMarkus Reichl status = "okay"; 589f9010b0eSMarkus Reichl}; 590f9010b0eSMarkus Reichl 591f9010b0eSMarkus Reichl&io_domains { 592f9010b0eSMarkus Reichl audio-supply = <&vcca1v8_codec>; 593f9010b0eSMarkus Reichl bt656-supply = <&vcc_3v0>; 594f9010b0eSMarkus Reichl gpio1830-supply = <&vcc_3v0>; 595f9010b0eSMarkus Reichl sdmmc-supply = <&vcc_sdio>; 596f9010b0eSMarkus Reichl status = "okay"; 597f9010b0eSMarkus Reichl}; 598f9010b0eSMarkus Reichl 599f9010b0eSMarkus Reichl&pmu_io_domains { 600f9010b0eSMarkus Reichl pmu1830-supply = <&vcc_3v0>; 601f9010b0eSMarkus Reichl status = "okay"; 602f9010b0eSMarkus Reichl}; 603f9010b0eSMarkus Reichl 604f9010b0eSMarkus Reichl&pinctrl { 605f9010b0eSMarkus Reichl buttons { 606f9010b0eSMarkus Reichl pwr_key_l: pwr-key-l { 607f9010b0eSMarkus Reichl rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 608f9010b0eSMarkus Reichl }; 609f9010b0eSMarkus Reichl }; 610f9010b0eSMarkus Reichl 611*e1d635bcSAlex Bee ir { 612*e1d635bcSAlex Bee ir_int: ir-int { 613*e1d635bcSAlex Bee rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 614*e1d635bcSAlex Bee }; 615*e1d635bcSAlex Bee }; 616*e1d635bcSAlex Bee 617f9010b0eSMarkus Reichl lcd-panel { 618f9010b0eSMarkus Reichl lcd_panel_reset: lcd-panel-reset { 619a308163aSMarkus Reichl rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>; 620f9010b0eSMarkus Reichl }; 621f9010b0eSMarkus Reichl }; 622f9010b0eSMarkus Reichl 623f9010b0eSMarkus Reichl leds { 6246dd5e12cSJohan Jonker diy_led_pin: diy-led-pin { 625f9010b0eSMarkus Reichl rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 626f9010b0eSMarkus Reichl }; 627f9010b0eSMarkus Reichl 6286dd5e12cSJohan Jonker work_led_pin: work-led-pin { 629f9010b0eSMarkus Reichl rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 630f9010b0eSMarkus Reichl }; 631f9010b0eSMarkus Reichl 6326dd5e12cSJohan Jonker yellow_led_pin: yellow-led-pin { 633f9010b0eSMarkus Reichl rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 634f9010b0eSMarkus Reichl }; 635f9010b0eSMarkus Reichl }; 636f9010b0eSMarkus Reichl 637f9010b0eSMarkus Reichl pmic { 6382bc65fefSJohan Jonker vsel1_pin: vsel1-pin { 639f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; 640f9010b0eSMarkus Reichl }; 641f9010b0eSMarkus Reichl 6422bc65fefSJohan Jonker vsel2_pin: vsel2-pin { 643f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 644f9010b0eSMarkus Reichl }; 645f9010b0eSMarkus Reichl }; 646f9010b0eSMarkus Reichl 647f9010b0eSMarkus Reichl sdio-pwrseq { 648f9010b0eSMarkus Reichl wifi_enable_h: wifi-enable-h { 649f9010b0eSMarkus Reichl rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 650f9010b0eSMarkus Reichl }; 651f9010b0eSMarkus Reichl }; 652f9010b0eSMarkus Reichl 653140e816aSMarkus Reichl sdmmc { 654140e816aSMarkus Reichl vcc3v0_sd_en: vcc3v0-sd-en { 655140e816aSMarkus Reichl rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 656140e816aSMarkus Reichl }; 657140e816aSMarkus Reichl }; 658140e816aSMarkus Reichl 659f9010b0eSMarkus Reichl pmic { 660f9010b0eSMarkus Reichl pmic_int_l: pmic-int-l { 661f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 662f9010b0eSMarkus Reichl }; 663f9010b0eSMarkus Reichl }; 664f9010b0eSMarkus Reichl 665f9010b0eSMarkus Reichl usb2 { 666f9010b0eSMarkus Reichl vcc5v0_host_en: vcc5v0-host-en { 667f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 668f9010b0eSMarkus Reichl }; 669f9010b0eSMarkus Reichl 670f9010b0eSMarkus Reichl vcc_sys_en: vcc-sys-en { 671f9010b0eSMarkus Reichl rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 672f9010b0eSMarkus Reichl }; 673f9010b0eSMarkus Reichl 674f9010b0eSMarkus Reichl hub_rst: hub-rst { 675f9010b0eSMarkus Reichl rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_output_high>; 676f9010b0eSMarkus Reichl }; 677f9010b0eSMarkus Reichl }; 678f9010b0eSMarkus Reichl 679f9010b0eSMarkus Reichl usb-typec { 680f9010b0eSMarkus Reichl vcc_vbus_typec1_en: vcc-vbus-typec1-en { 681f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 682f9010b0eSMarkus Reichl }; 683f9010b0eSMarkus Reichl }; 684f9010b0eSMarkus Reichl 685f9010b0eSMarkus Reichl fusb30x { 686f9010b0eSMarkus Reichl fusb0_int: fusb0-int { 687f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 688f9010b0eSMarkus Reichl }; 689f9010b0eSMarkus Reichl 690f9010b0eSMarkus Reichl fusb1_int: fusb1-int { 691f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 692f9010b0eSMarkus Reichl }; 693f9010b0eSMarkus Reichl }; 694f9010b0eSMarkus Reichl}; 695f9010b0eSMarkus Reichl 696f9010b0eSMarkus Reichl&pwm0 { 697f9010b0eSMarkus Reichl status = "okay"; 698f9010b0eSMarkus Reichl}; 699f9010b0eSMarkus Reichl 700f9010b0eSMarkus Reichl&pwm2 { 701f9010b0eSMarkus Reichl status = "okay"; 702f9010b0eSMarkus Reichl}; 703f9010b0eSMarkus Reichl 704f9010b0eSMarkus Reichl&saradc { 705f9010b0eSMarkus Reichl vref-supply = <&vcca1v8_s3>; 706f9010b0eSMarkus Reichl status = "okay"; 707f9010b0eSMarkus Reichl}; 708f9010b0eSMarkus Reichl 709f9010b0eSMarkus Reichl&sdmmc { 710f9010b0eSMarkus Reichl bus-width = <4>; 711f9010b0eSMarkus Reichl cap-sd-highspeed; 712f9010b0eSMarkus Reichl cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 713f9010b0eSMarkus Reichl disable-wp; 714f9010b0eSMarkus Reichl max-frequency = <150000000>; 715f9010b0eSMarkus Reichl pinctrl-names = "default"; 716f9010b0eSMarkus Reichl pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 717140e816aSMarkus Reichl sd-uhs-sdr104; 718140e816aSMarkus Reichl vmmc-supply = <&vcc3v0_sd>; 719140e816aSMarkus Reichl vqmmc-supply = <&vcc_sdio>; 720f9010b0eSMarkus Reichl status = "okay"; 721f9010b0eSMarkus Reichl}; 722f9010b0eSMarkus Reichl 723f9010b0eSMarkus Reichl&sdhci { 724f9010b0eSMarkus Reichl bus-width = <8>; 725f9010b0eSMarkus Reichl non-removable; 726f9010b0eSMarkus Reichl status = "okay"; 727f9010b0eSMarkus Reichl}; 728f9010b0eSMarkus Reichl 729a43e2909SMarkus Reichl&spi1 { 730a43e2909SMarkus Reichl status = "okay"; 731a43e2909SMarkus Reichl 732a43e2909SMarkus Reichl flash@0 { 733a43e2909SMarkus Reichl compatible = "jedec,spi-nor"; 734a43e2909SMarkus Reichl reg = <0>; 735a43e2909SMarkus Reichl spi-max-frequency = <10000000>; 736a43e2909SMarkus Reichl }; 737a43e2909SMarkus Reichl}; 738a43e2909SMarkus Reichl 739f9010b0eSMarkus Reichl&tcphy0 { 740f9010b0eSMarkus Reichl status = "okay"; 741f9010b0eSMarkus Reichl}; 742f9010b0eSMarkus Reichl 743f9010b0eSMarkus Reichl&tcphy1 { 744f9010b0eSMarkus Reichl status = "okay"; 745f9010b0eSMarkus Reichl}; 746f9010b0eSMarkus Reichl 747f9010b0eSMarkus Reichl&tsadc { 748f9010b0eSMarkus Reichl /* tshut mode 0:CRU 1:GPIO */ 749f9010b0eSMarkus Reichl rockchip,hw-tshut-mode = <1>; 750f9010b0eSMarkus Reichl /* tshut polarity 0:LOW 1:HIGH */ 751f9010b0eSMarkus Reichl rockchip,hw-tshut-polarity = <1>; 752f9010b0eSMarkus Reichl status = "okay"; 753f9010b0eSMarkus Reichl}; 754f9010b0eSMarkus Reichl 755f9010b0eSMarkus Reichl&u2phy0 { 756f9010b0eSMarkus Reichl status = "okay"; 757f9010b0eSMarkus Reichl 758f9010b0eSMarkus Reichl u2phy0_otg: otg-port { 759f9010b0eSMarkus Reichl phy-supply = <&vcc_vbus_typec0>; 760f9010b0eSMarkus Reichl status = "okay"; 761f9010b0eSMarkus Reichl }; 762f9010b0eSMarkus Reichl 763f9010b0eSMarkus Reichl u2phy0_host: host-port { 764f9010b0eSMarkus Reichl phy-supply = <&vcc5v0_host>; 765f9010b0eSMarkus Reichl status = "okay"; 766f9010b0eSMarkus Reichl }; 767f9010b0eSMarkus Reichl}; 768f9010b0eSMarkus Reichl 769f9010b0eSMarkus Reichl&u2phy1 { 770f9010b0eSMarkus Reichl status = "okay"; 771f9010b0eSMarkus Reichl 772f9010b0eSMarkus Reichl u2phy1_otg: otg-port { 773f9010b0eSMarkus Reichl phy-supply = <&vcc_vbus_typec1>; 774f9010b0eSMarkus Reichl status = "okay"; 775f9010b0eSMarkus Reichl }; 776f9010b0eSMarkus Reichl 777f9010b0eSMarkus Reichl u2phy1_host: host-port { 778f9010b0eSMarkus Reichl phy-supply = <&vcc5v0_host>; 779f9010b0eSMarkus Reichl status = "okay"; 780f9010b0eSMarkus Reichl }; 781f9010b0eSMarkus Reichl}; 782f9010b0eSMarkus Reichl 783f9010b0eSMarkus Reichl&uart0 { 784f9010b0eSMarkus Reichl pinctrl-names = "default"; 785f9010b0eSMarkus Reichl pinctrl-0 = <&uart0_xfer &uart0_cts>; 786f9010b0eSMarkus Reichl status = "okay"; 787f9010b0eSMarkus Reichl}; 788f9010b0eSMarkus Reichl 789f9010b0eSMarkus Reichl&uart2 { 790f9010b0eSMarkus Reichl status = "okay"; 791f9010b0eSMarkus Reichl}; 792f9010b0eSMarkus Reichl 793f9010b0eSMarkus Reichl&usb_host0_ehci { 794f9010b0eSMarkus Reichl status = "okay"; 795f9010b0eSMarkus Reichl}; 796f9010b0eSMarkus Reichl 797f9010b0eSMarkus Reichl&usb_host0_ohci { 798f9010b0eSMarkus Reichl status = "okay"; 799f9010b0eSMarkus Reichl}; 800f9010b0eSMarkus Reichl 801f9010b0eSMarkus Reichl&usb_host1_ehci { 802f9010b0eSMarkus Reichl status = "okay"; 803f9010b0eSMarkus Reichl}; 804f9010b0eSMarkus Reichl 805f9010b0eSMarkus Reichl&usb_host1_ohci { 806f9010b0eSMarkus Reichl status = "okay"; 807f9010b0eSMarkus Reichl}; 808f9010b0eSMarkus Reichl 809f9010b0eSMarkus Reichl&usbdrd3_0 { 810f9010b0eSMarkus Reichl status = "okay"; 811f9010b0eSMarkus Reichl}; 812f9010b0eSMarkus Reichl 813f9010b0eSMarkus Reichl&usbdrd_dwc3_0 { 814f9010b0eSMarkus Reichl status = "okay"; 815f9010b0eSMarkus Reichl}; 816f9010b0eSMarkus Reichl 817f9010b0eSMarkus Reichl&usbdrd3_1 { 818f9010b0eSMarkus Reichl status = "okay"; 819f9010b0eSMarkus Reichl}; 820f9010b0eSMarkus Reichl 821f9010b0eSMarkus Reichl&usbdrd_dwc3_1 { 822f9010b0eSMarkus Reichl status = "okay"; 823f9010b0eSMarkus Reichl dr_mode = "host"; 824f9010b0eSMarkus Reichl}; 825f9010b0eSMarkus Reichl 826f9010b0eSMarkus Reichl&vopb { 827f9010b0eSMarkus Reichl status = "okay"; 828f9010b0eSMarkus Reichl}; 829f9010b0eSMarkus Reichl 830f9010b0eSMarkus Reichl&vopb_mmu { 831f9010b0eSMarkus Reichl status = "okay"; 832f9010b0eSMarkus Reichl}; 833f9010b0eSMarkus Reichl 834f9010b0eSMarkus Reichl&vopl { 835f9010b0eSMarkus Reichl status = "okay"; 836f9010b0eSMarkus Reichl}; 837f9010b0eSMarkus Reichl 838f9010b0eSMarkus Reichl&vopl_mmu { 839f9010b0eSMarkus Reichl status = "okay"; 840f9010b0eSMarkus Reichl}; 841