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 66e1d635bcSAlex Bee ir-receiver { 67e1d635bcSAlex Bee compatible = "gpio-ir-receiver"; 68e1d635bcSAlex Bee gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>; 69e1d635bcSAlex Bee pinctrl-names = "default"; 70e1d635bcSAlex Bee pinctrl-0 = <&ir_int>; 71e1d635bcSAlex Bee }; 72e1d635bcSAlex 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>; 503*06b28186SAlex Bee regulator-always-on; 504*06b28186SAlex Bee regulator-boot-on; 505f9010b0eSMarkus Reichl vin-supply = <&vcc3v3_sys>; 506f9010b0eSMarkus Reichl 507f9010b0eSMarkus Reichl regulator-state-mem { 508f9010b0eSMarkus Reichl regulator-off-in-suspend; 509f9010b0eSMarkus Reichl }; 510f9010b0eSMarkus Reichl }; 511f9010b0eSMarkus Reichl}; 512f9010b0eSMarkus Reichl 513f9010b0eSMarkus Reichl&i2c1 { 514f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <300>; 515f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <15>; 516f9010b0eSMarkus Reichl status = "okay"; 517f9010b0eSMarkus Reichl}; 518f9010b0eSMarkus Reichl 519f9010b0eSMarkus Reichl&i2c3 { 520f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <450>; 521f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <15>; 522f9010b0eSMarkus Reichl status = "okay"; 523f9010b0eSMarkus Reichl}; 524f9010b0eSMarkus Reichl 525f9010b0eSMarkus Reichl&i2c4 { 526f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <600>; 527f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <20>; 528f9010b0eSMarkus Reichl status = "okay"; 529f9010b0eSMarkus Reichl 530f9010b0eSMarkus Reichl fusb1: usb-typec@22 { 531f9010b0eSMarkus Reichl compatible = "fcs,fusb302"; 532f9010b0eSMarkus Reichl reg = <0x22>; 533f9010b0eSMarkus Reichl interrupt-parent = <&gpio1>; 534f9010b0eSMarkus Reichl interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 535f9010b0eSMarkus Reichl pinctrl-names = "default"; 536f9010b0eSMarkus Reichl pinctrl-0 = <&fusb1_int>; 537f9010b0eSMarkus Reichl vbus-supply = <&vcc_vbus_typec1>; 538f9010b0eSMarkus Reichl status = "okay"; 539f9010b0eSMarkus Reichl }; 540f9010b0eSMarkus Reichl}; 541f9010b0eSMarkus Reichl 542f9010b0eSMarkus Reichl&i2c7 { 543f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <600>; 544f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <20>; 545f9010b0eSMarkus Reichl status = "okay"; 546f9010b0eSMarkus Reichl 547f9010b0eSMarkus Reichl fusb0: usb-typec@22 { 548f9010b0eSMarkus Reichl compatible = "fcs,fusb302"; 549f9010b0eSMarkus Reichl reg = <0x22>; 550f9010b0eSMarkus Reichl interrupt-parent = <&gpio1>; 551f9010b0eSMarkus Reichl interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 552f9010b0eSMarkus Reichl pinctrl-names = "default"; 553f9010b0eSMarkus Reichl pinctrl-0 = <&fusb0_int>; 554f9010b0eSMarkus Reichl vbus-supply = <&vcc_vbus_typec0>; 555f9010b0eSMarkus Reichl status = "okay"; 556f9010b0eSMarkus Reichl }; 5571fc61ed0SMarkus Reichl 5581fc61ed0SMarkus Reichl mp8859: regulator@66 { 5591fc61ed0SMarkus Reichl compatible = "mps,mp8859"; 5601fc61ed0SMarkus Reichl reg = <0x66>; 5611fc61ed0SMarkus Reichl dc_12v: mp8859_dcdc { 5621fc61ed0SMarkus Reichl regulator-name = "dc_12v"; 5631fc61ed0SMarkus Reichl regulator-min-microvolt = <12000000>; 5641fc61ed0SMarkus Reichl regulator-max-microvolt = <12000000>; 5651fc61ed0SMarkus Reichl regulator-always-on; 5661fc61ed0SMarkus Reichl regulator-boot-on; 5671fc61ed0SMarkus Reichl vin-supply = <&vcc_vbus_typec0>; 5681fc61ed0SMarkus Reichl 5691fc61ed0SMarkus Reichl regulator-state-mem { 5701fc61ed0SMarkus Reichl regulator-on-in-suspend; 5711fc61ed0SMarkus Reichl regulator-suspend-microvolt = <12000000>; 5721fc61ed0SMarkus Reichl }; 5731fc61ed0SMarkus Reichl }; 5741fc61ed0SMarkus Reichl }; 575f9010b0eSMarkus Reichl}; 576f9010b0eSMarkus Reichl 577f9010b0eSMarkus Reichl&i2s0 { 578f9010b0eSMarkus Reichl rockchip,playback-channels = <8>; 579f9010b0eSMarkus Reichl rockchip,capture-channels = <8>; 580f9010b0eSMarkus Reichl status = "okay"; 581f9010b0eSMarkus Reichl}; 582f9010b0eSMarkus Reichl 583f9010b0eSMarkus Reichl&i2s1 { 584f9010b0eSMarkus Reichl rockchip,playback-channels = <2>; 585f9010b0eSMarkus Reichl rockchip,capture-channels = <2>; 586f9010b0eSMarkus Reichl status = "okay"; 587f9010b0eSMarkus Reichl}; 588f9010b0eSMarkus Reichl 589f9010b0eSMarkus Reichl&i2s2 { 590f9010b0eSMarkus Reichl status = "okay"; 591f9010b0eSMarkus Reichl}; 592f9010b0eSMarkus Reichl 593f9010b0eSMarkus Reichl&io_domains { 594f9010b0eSMarkus Reichl audio-supply = <&vcca1v8_codec>; 595f9010b0eSMarkus Reichl bt656-supply = <&vcc_3v0>; 596f9010b0eSMarkus Reichl gpio1830-supply = <&vcc_3v0>; 597f9010b0eSMarkus Reichl sdmmc-supply = <&vcc_sdio>; 598f9010b0eSMarkus Reichl status = "okay"; 599f9010b0eSMarkus Reichl}; 600f9010b0eSMarkus Reichl 601f9010b0eSMarkus Reichl&pmu_io_domains { 602f9010b0eSMarkus Reichl pmu1830-supply = <&vcc_3v0>; 603f9010b0eSMarkus Reichl status = "okay"; 604f9010b0eSMarkus Reichl}; 605f9010b0eSMarkus Reichl 606f9010b0eSMarkus Reichl&pinctrl { 607f9010b0eSMarkus Reichl buttons { 608f9010b0eSMarkus Reichl pwr_key_l: pwr-key-l { 609f9010b0eSMarkus Reichl rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 610f9010b0eSMarkus Reichl }; 611f9010b0eSMarkus Reichl }; 612f9010b0eSMarkus Reichl 613e1d635bcSAlex Bee ir { 614e1d635bcSAlex Bee ir_int: ir-int { 615e1d635bcSAlex Bee rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 616e1d635bcSAlex Bee }; 617e1d635bcSAlex Bee }; 618e1d635bcSAlex Bee 619f9010b0eSMarkus Reichl lcd-panel { 620f9010b0eSMarkus Reichl lcd_panel_reset: lcd-panel-reset { 621a308163aSMarkus Reichl rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>; 622f9010b0eSMarkus Reichl }; 623f9010b0eSMarkus Reichl }; 624f9010b0eSMarkus Reichl 625f9010b0eSMarkus Reichl leds { 6266dd5e12cSJohan Jonker diy_led_pin: diy-led-pin { 627f9010b0eSMarkus Reichl rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 628f9010b0eSMarkus Reichl }; 629f9010b0eSMarkus Reichl 6306dd5e12cSJohan Jonker work_led_pin: work-led-pin { 631f9010b0eSMarkus Reichl rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 632f9010b0eSMarkus Reichl }; 633f9010b0eSMarkus Reichl 6346dd5e12cSJohan Jonker yellow_led_pin: yellow-led-pin { 635f9010b0eSMarkus Reichl rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 636f9010b0eSMarkus Reichl }; 637f9010b0eSMarkus Reichl }; 638f9010b0eSMarkus Reichl 639f9010b0eSMarkus Reichl pmic { 6402bc65fefSJohan Jonker vsel1_pin: vsel1-pin { 641f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; 642f9010b0eSMarkus Reichl }; 643f9010b0eSMarkus Reichl 6442bc65fefSJohan Jonker vsel2_pin: vsel2-pin { 645f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 646f9010b0eSMarkus Reichl }; 647f9010b0eSMarkus Reichl }; 648f9010b0eSMarkus Reichl 649f9010b0eSMarkus Reichl sdio-pwrseq { 650f9010b0eSMarkus Reichl wifi_enable_h: wifi-enable-h { 651f9010b0eSMarkus Reichl rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 652f9010b0eSMarkus Reichl }; 653f9010b0eSMarkus Reichl }; 654f9010b0eSMarkus Reichl 655140e816aSMarkus Reichl sdmmc { 656140e816aSMarkus Reichl vcc3v0_sd_en: vcc3v0-sd-en { 657140e816aSMarkus Reichl rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 658140e816aSMarkus Reichl }; 659140e816aSMarkus Reichl }; 660140e816aSMarkus Reichl 661f9010b0eSMarkus Reichl pmic { 662f9010b0eSMarkus Reichl pmic_int_l: pmic-int-l { 663f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 664f9010b0eSMarkus Reichl }; 665f9010b0eSMarkus Reichl }; 666f9010b0eSMarkus Reichl 667f9010b0eSMarkus Reichl usb2 { 668f9010b0eSMarkus Reichl vcc5v0_host_en: vcc5v0-host-en { 669f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 670f9010b0eSMarkus Reichl }; 671f9010b0eSMarkus Reichl 672f9010b0eSMarkus Reichl vcc_sys_en: vcc-sys-en { 673f9010b0eSMarkus Reichl rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 674f9010b0eSMarkus Reichl }; 675f9010b0eSMarkus Reichl 676f9010b0eSMarkus Reichl hub_rst: hub-rst { 677f9010b0eSMarkus Reichl rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_output_high>; 678f9010b0eSMarkus Reichl }; 679f9010b0eSMarkus Reichl }; 680f9010b0eSMarkus Reichl 681f9010b0eSMarkus Reichl usb-typec { 682f9010b0eSMarkus Reichl vcc_vbus_typec1_en: vcc-vbus-typec1-en { 683f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 684f9010b0eSMarkus Reichl }; 685f9010b0eSMarkus Reichl }; 686f9010b0eSMarkus Reichl 687f9010b0eSMarkus Reichl fusb30x { 688f9010b0eSMarkus Reichl fusb0_int: fusb0-int { 689f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 690f9010b0eSMarkus Reichl }; 691f9010b0eSMarkus Reichl 692f9010b0eSMarkus Reichl fusb1_int: fusb1-int { 693f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 694f9010b0eSMarkus Reichl }; 695f9010b0eSMarkus Reichl }; 696f9010b0eSMarkus Reichl}; 697f9010b0eSMarkus Reichl 698f9010b0eSMarkus Reichl&pwm0 { 699f9010b0eSMarkus Reichl status = "okay"; 700f9010b0eSMarkus Reichl}; 701f9010b0eSMarkus Reichl 702f9010b0eSMarkus Reichl&pwm2 { 703f9010b0eSMarkus Reichl status = "okay"; 704f9010b0eSMarkus Reichl}; 705f9010b0eSMarkus Reichl 706f9010b0eSMarkus Reichl&saradc { 707f9010b0eSMarkus Reichl vref-supply = <&vcca1v8_s3>; 708f9010b0eSMarkus Reichl status = "okay"; 709f9010b0eSMarkus Reichl}; 710f9010b0eSMarkus Reichl 711f9010b0eSMarkus Reichl&sdmmc { 712f9010b0eSMarkus Reichl bus-width = <4>; 713f9010b0eSMarkus Reichl cap-sd-highspeed; 714f9010b0eSMarkus Reichl cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 715f9010b0eSMarkus Reichl disable-wp; 716f9010b0eSMarkus Reichl max-frequency = <150000000>; 717f9010b0eSMarkus Reichl pinctrl-names = "default"; 718f9010b0eSMarkus Reichl pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 719140e816aSMarkus Reichl sd-uhs-sdr104; 720140e816aSMarkus Reichl vmmc-supply = <&vcc3v0_sd>; 721140e816aSMarkus Reichl vqmmc-supply = <&vcc_sdio>; 722f9010b0eSMarkus Reichl status = "okay"; 723f9010b0eSMarkus Reichl}; 724f9010b0eSMarkus Reichl 725f9010b0eSMarkus Reichl&sdhci { 726f9010b0eSMarkus Reichl bus-width = <8>; 727f9010b0eSMarkus Reichl non-removable; 728f9010b0eSMarkus Reichl status = "okay"; 729f9010b0eSMarkus Reichl}; 730f9010b0eSMarkus Reichl 731a43e2909SMarkus Reichl&spi1 { 732a43e2909SMarkus Reichl status = "okay"; 733a43e2909SMarkus Reichl 734a43e2909SMarkus Reichl flash@0 { 735a43e2909SMarkus Reichl compatible = "jedec,spi-nor"; 736a43e2909SMarkus Reichl reg = <0>; 737a43e2909SMarkus Reichl spi-max-frequency = <10000000>; 738a43e2909SMarkus Reichl }; 739a43e2909SMarkus Reichl}; 740a43e2909SMarkus Reichl 741f9010b0eSMarkus Reichl&tcphy0 { 742f9010b0eSMarkus Reichl status = "okay"; 743f9010b0eSMarkus Reichl}; 744f9010b0eSMarkus Reichl 745f9010b0eSMarkus Reichl&tcphy1 { 746f9010b0eSMarkus Reichl status = "okay"; 747f9010b0eSMarkus Reichl}; 748f9010b0eSMarkus Reichl 749f9010b0eSMarkus Reichl&tsadc { 750f9010b0eSMarkus Reichl /* tshut mode 0:CRU 1:GPIO */ 751f9010b0eSMarkus Reichl rockchip,hw-tshut-mode = <1>; 752f9010b0eSMarkus Reichl /* tshut polarity 0:LOW 1:HIGH */ 753f9010b0eSMarkus Reichl rockchip,hw-tshut-polarity = <1>; 754f9010b0eSMarkus Reichl status = "okay"; 755f9010b0eSMarkus Reichl}; 756f9010b0eSMarkus Reichl 757f9010b0eSMarkus Reichl&u2phy0 { 758f9010b0eSMarkus Reichl status = "okay"; 759f9010b0eSMarkus Reichl 760f9010b0eSMarkus Reichl u2phy0_otg: otg-port { 761f9010b0eSMarkus Reichl phy-supply = <&vcc_vbus_typec0>; 762f9010b0eSMarkus Reichl status = "okay"; 763f9010b0eSMarkus Reichl }; 764f9010b0eSMarkus Reichl 765f9010b0eSMarkus Reichl u2phy0_host: host-port { 766f9010b0eSMarkus Reichl phy-supply = <&vcc5v0_host>; 767f9010b0eSMarkus Reichl status = "okay"; 768f9010b0eSMarkus Reichl }; 769f9010b0eSMarkus Reichl}; 770f9010b0eSMarkus Reichl 771f9010b0eSMarkus Reichl&u2phy1 { 772f9010b0eSMarkus Reichl status = "okay"; 773f9010b0eSMarkus Reichl 774f9010b0eSMarkus Reichl u2phy1_otg: otg-port { 775f9010b0eSMarkus Reichl phy-supply = <&vcc_vbus_typec1>; 776f9010b0eSMarkus Reichl status = "okay"; 777f9010b0eSMarkus Reichl }; 778f9010b0eSMarkus Reichl 779f9010b0eSMarkus Reichl u2phy1_host: host-port { 780f9010b0eSMarkus Reichl phy-supply = <&vcc5v0_host>; 781f9010b0eSMarkus Reichl status = "okay"; 782f9010b0eSMarkus Reichl }; 783f9010b0eSMarkus Reichl}; 784f9010b0eSMarkus Reichl 785f9010b0eSMarkus Reichl&uart0 { 786f9010b0eSMarkus Reichl pinctrl-names = "default"; 787f9010b0eSMarkus Reichl pinctrl-0 = <&uart0_xfer &uart0_cts>; 788f9010b0eSMarkus Reichl status = "okay"; 789f9010b0eSMarkus Reichl}; 790f9010b0eSMarkus Reichl 791f9010b0eSMarkus Reichl&uart2 { 792f9010b0eSMarkus Reichl status = "okay"; 793f9010b0eSMarkus Reichl}; 794f9010b0eSMarkus Reichl 795f9010b0eSMarkus Reichl&usb_host0_ehci { 796f9010b0eSMarkus Reichl status = "okay"; 797f9010b0eSMarkus Reichl}; 798f9010b0eSMarkus Reichl 799f9010b0eSMarkus Reichl&usb_host0_ohci { 800f9010b0eSMarkus Reichl status = "okay"; 801f9010b0eSMarkus Reichl}; 802f9010b0eSMarkus Reichl 803f9010b0eSMarkus Reichl&usb_host1_ehci { 804f9010b0eSMarkus Reichl status = "okay"; 805f9010b0eSMarkus Reichl}; 806f9010b0eSMarkus Reichl 807f9010b0eSMarkus Reichl&usb_host1_ohci { 808f9010b0eSMarkus Reichl status = "okay"; 809f9010b0eSMarkus Reichl}; 810f9010b0eSMarkus Reichl 811f9010b0eSMarkus Reichl&usbdrd3_0 { 812f9010b0eSMarkus Reichl status = "okay"; 813f9010b0eSMarkus Reichl}; 814f9010b0eSMarkus Reichl 815f9010b0eSMarkus Reichl&usbdrd_dwc3_0 { 816f9010b0eSMarkus Reichl status = "okay"; 817f9010b0eSMarkus Reichl}; 818f9010b0eSMarkus Reichl 819f9010b0eSMarkus Reichl&usbdrd3_1 { 820f9010b0eSMarkus Reichl status = "okay"; 821f9010b0eSMarkus Reichl}; 822f9010b0eSMarkus Reichl 823f9010b0eSMarkus Reichl&usbdrd_dwc3_1 { 824f9010b0eSMarkus Reichl status = "okay"; 825f9010b0eSMarkus Reichl dr_mode = "host"; 826f9010b0eSMarkus Reichl}; 827f9010b0eSMarkus Reichl 828f9010b0eSMarkus Reichl&vopb { 829f9010b0eSMarkus Reichl status = "okay"; 830f9010b0eSMarkus Reichl}; 831f9010b0eSMarkus Reichl 832f9010b0eSMarkus Reichl&vopb_mmu { 833f9010b0eSMarkus Reichl status = "okay"; 834f9010b0eSMarkus Reichl}; 835f9010b0eSMarkus Reichl 836f9010b0eSMarkus Reichl&vopl { 837f9010b0eSMarkus Reichl status = "okay"; 838f9010b0eSMarkus Reichl}; 839f9010b0eSMarkus Reichl 840f9010b0eSMarkus Reichl&vopl_mmu { 841f9010b0eSMarkus Reichl status = "okay"; 842f9010b0eSMarkus Reichl}; 843