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 44f2bd2e76SJohan Jonker button-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 57517ed0ffSKrzysztof Kozlowski key-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 { 2741c33f850SMarkus Reichl avdd-0v9-supply = <&vcca0v9_hdmi>; 2751c33f850SMarkus Reichl avdd-1v8-supply = <&vcca1v8_hdmi>; 276f9010b0eSMarkus Reichl ddc-i2c-bus = <&i2c3>; 277f9010b0eSMarkus Reichl pinctrl-names = "default"; 278f9010b0eSMarkus Reichl pinctrl-0 = <&hdmi_cec>; 279f9010b0eSMarkus Reichl status = "okay"; 280f9010b0eSMarkus Reichl}; 281f9010b0eSMarkus Reichl 282e748d355SMarkus Reichl&hdmi_sound { 283e748d355SMarkus Reichl status = "okay"; 284e748d355SMarkus Reichl}; 285e748d355SMarkus Reichl 286f9010b0eSMarkus Reichl&i2c0 { 287f9010b0eSMarkus Reichl clock-frequency = <400000>; 288f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <168>; 289f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <4>; 290f9010b0eSMarkus Reichl status = "okay"; 291f9010b0eSMarkus Reichl 292f9010b0eSMarkus Reichl rk808: pmic@1b { 293f9010b0eSMarkus Reichl compatible = "rockchip,rk808"; 294f9010b0eSMarkus Reichl reg = <0x1b>; 295f9010b0eSMarkus Reichl interrupt-parent = <&gpio1>; 296f9010b0eSMarkus Reichl interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 297f9010b0eSMarkus Reichl #clock-cells = <1>; 298f9010b0eSMarkus Reichl clock-output-names = "xin32k", "rk808-clkout2"; 299f9010b0eSMarkus Reichl pinctrl-names = "default"; 300f9010b0eSMarkus Reichl pinctrl-0 = <&pmic_int_l>; 301f9010b0eSMarkus Reichl rockchip,system-power-controller; 302f9010b0eSMarkus Reichl wakeup-source; 303f9010b0eSMarkus Reichl 304f9010b0eSMarkus Reichl vcc1-supply = <&vcc3v3_sys>; 305f9010b0eSMarkus Reichl vcc2-supply = <&vcc3v3_sys>; 306f9010b0eSMarkus Reichl vcc3-supply = <&vcc3v3_sys>; 307f9010b0eSMarkus Reichl vcc4-supply = <&vcc3v3_sys>; 308f9010b0eSMarkus Reichl vcc6-supply = <&vcc3v3_sys>; 309f9010b0eSMarkus Reichl vcc7-supply = <&vcc3v3_sys>; 310f9010b0eSMarkus Reichl vcc8-supply = <&vcc3v3_sys>; 311f9010b0eSMarkus Reichl vcc9-supply = <&vcc3v3_sys>; 312f9010b0eSMarkus Reichl vcc10-supply = <&vcc3v3_sys>; 313f9010b0eSMarkus Reichl vcc11-supply = <&vcc3v3_sys>; 314f9010b0eSMarkus Reichl vcc12-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 3741c33f850SMarkus Reichl vcca1v8_hdmi: LDO_REG2 { 3751c33f850SMarkus Reichl regulator-name = "vcca1v8_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"; 399eb607cd4SAlex Bee regulator-always-on; 400f9010b0eSMarkus Reichl regulator-boot-on; 401f9010b0eSMarkus Reichl regulator-min-microvolt = <1800000>; 402f9010b0eSMarkus Reichl regulator-max-microvolt = <3000000>; 403f9010b0eSMarkus Reichl regulator-state-mem { 404f9010b0eSMarkus Reichl regulator-on-in-suspend; 405f9010b0eSMarkus Reichl regulator-suspend-microvolt = <3000000>; 406f9010b0eSMarkus Reichl }; 407f9010b0eSMarkus Reichl }; 408f9010b0eSMarkus Reichl 409f9010b0eSMarkus Reichl vcca3v0_codec: LDO_REG5 { 410f9010b0eSMarkus Reichl regulator-name = "vcca3v0_codec"; 411f9010b0eSMarkus Reichl regulator-always-on; 412f9010b0eSMarkus Reichl regulator-boot-on; 413f9010b0eSMarkus Reichl regulator-min-microvolt = <3000000>; 414f9010b0eSMarkus Reichl regulator-max-microvolt = <3000000>; 415f9010b0eSMarkus Reichl regulator-state-mem { 416f9010b0eSMarkus Reichl regulator-off-in-suspend; 417f9010b0eSMarkus Reichl }; 418f9010b0eSMarkus Reichl }; 419f9010b0eSMarkus Reichl 420f9010b0eSMarkus Reichl vcc_1v5: LDO_REG6 { 421f9010b0eSMarkus Reichl regulator-name = "vcc_1v5"; 422f9010b0eSMarkus Reichl regulator-always-on; 423f9010b0eSMarkus Reichl regulator-boot-on; 424f9010b0eSMarkus Reichl regulator-min-microvolt = <1500000>; 425f9010b0eSMarkus Reichl regulator-max-microvolt = <1500000>; 426f9010b0eSMarkus Reichl regulator-state-mem { 427f9010b0eSMarkus Reichl regulator-on-in-suspend; 428f9010b0eSMarkus Reichl regulator-suspend-microvolt = <1500000>; 429f9010b0eSMarkus Reichl }; 430f9010b0eSMarkus Reichl }; 431f9010b0eSMarkus Reichl 432f9010b0eSMarkus Reichl vcca0v9_hdmi: LDO_REG7 { 433f9010b0eSMarkus Reichl regulator-name = "vcca0v9_hdmi"; 434f9010b0eSMarkus Reichl regulator-always-on; 435f9010b0eSMarkus Reichl regulator-boot-on; 436f9010b0eSMarkus Reichl regulator-min-microvolt = <900000>; 437f9010b0eSMarkus Reichl regulator-max-microvolt = <900000>; 438f9010b0eSMarkus Reichl regulator-state-mem { 439f9010b0eSMarkus Reichl regulator-off-in-suspend; 440f9010b0eSMarkus Reichl }; 441f9010b0eSMarkus Reichl }; 442f9010b0eSMarkus Reichl 443f9010b0eSMarkus Reichl vcc_3v0: LDO_REG8 { 444f9010b0eSMarkus Reichl regulator-name = "vcc_3v0"; 445f9010b0eSMarkus Reichl regulator-always-on; 446f9010b0eSMarkus Reichl regulator-boot-on; 447f9010b0eSMarkus Reichl regulator-min-microvolt = <3000000>; 448f9010b0eSMarkus Reichl regulator-max-microvolt = <3000000>; 449f9010b0eSMarkus Reichl regulator-state-mem { 450f9010b0eSMarkus Reichl regulator-on-in-suspend; 451f9010b0eSMarkus Reichl regulator-suspend-microvolt = <3000000>; 452f9010b0eSMarkus Reichl }; 453f9010b0eSMarkus Reichl }; 454f9010b0eSMarkus Reichl 455f9010b0eSMarkus Reichl vcc3v3_s3: vcc_lan: SWITCH_REG1 { 456f9010b0eSMarkus Reichl regulator-name = "vcc3v3_s3"; 457f9010b0eSMarkus Reichl regulator-always-on; 458f9010b0eSMarkus Reichl regulator-boot-on; 459f9010b0eSMarkus Reichl regulator-state-mem { 460f9010b0eSMarkus Reichl regulator-off-in-suspend; 461f9010b0eSMarkus Reichl }; 462f9010b0eSMarkus Reichl }; 463f9010b0eSMarkus Reichl 464f9010b0eSMarkus Reichl vcc3v3_s0: SWITCH_REG2 { 465f9010b0eSMarkus Reichl regulator-name = "vcc3v3_s0"; 466f9010b0eSMarkus Reichl regulator-always-on; 467f9010b0eSMarkus Reichl regulator-boot-on; 468f9010b0eSMarkus Reichl regulator-state-mem { 469f9010b0eSMarkus Reichl regulator-off-in-suspend; 470f9010b0eSMarkus Reichl }; 471f9010b0eSMarkus Reichl }; 472f9010b0eSMarkus Reichl }; 473f9010b0eSMarkus Reichl }; 474f9010b0eSMarkus Reichl 475f9010b0eSMarkus Reichl vdd_cpu_b: regulator@40 { 476f9010b0eSMarkus Reichl compatible = "silergy,syr827"; 477f9010b0eSMarkus Reichl reg = <0x40>; 478f9010b0eSMarkus Reichl fcs,suspend-voltage-selector = <1>; 479f9010b0eSMarkus Reichl pinctrl-names = "default"; 4802bc65fefSJohan Jonker pinctrl-0 = <&vsel1_pin>; 481f9010b0eSMarkus Reichl regulator-name = "vdd_cpu_b"; 482f9010b0eSMarkus Reichl regulator-min-microvolt = <712500>; 483f9010b0eSMarkus Reichl regulator-max-microvolt = <1500000>; 484f9010b0eSMarkus Reichl regulator-ramp-delay = <1000>; 485f9010b0eSMarkus Reichl regulator-always-on; 486f9010b0eSMarkus Reichl regulator-boot-on; 487f9010b0eSMarkus Reichl vin-supply = <&vcc3v3_sys>; 488f9010b0eSMarkus Reichl 489f9010b0eSMarkus Reichl regulator-state-mem { 490f9010b0eSMarkus Reichl regulator-off-in-suspend; 491f9010b0eSMarkus Reichl }; 492f9010b0eSMarkus Reichl }; 493f9010b0eSMarkus Reichl 494f9010b0eSMarkus Reichl vdd_gpu: regulator@41 { 495f9010b0eSMarkus Reichl compatible = "silergy,syr828"; 496f9010b0eSMarkus Reichl reg = <0x41>; 497f9010b0eSMarkus Reichl fcs,suspend-voltage-selector = <1>; 498f9010b0eSMarkus Reichl pinctrl-names = "default"; 4992bc65fefSJohan Jonker pinctrl-0 = <&vsel2_pin>; 500f9010b0eSMarkus Reichl regulator-name = "vdd_gpu"; 501f9010b0eSMarkus Reichl regulator-min-microvolt = <712500>; 502f9010b0eSMarkus Reichl regulator-max-microvolt = <1500000>; 503f9010b0eSMarkus Reichl regulator-ramp-delay = <1000>; 50406b28186SAlex Bee regulator-always-on; 50506b28186SAlex Bee regulator-boot-on; 506f9010b0eSMarkus Reichl vin-supply = <&vcc3v3_sys>; 507f9010b0eSMarkus Reichl 508f9010b0eSMarkus Reichl regulator-state-mem { 509f9010b0eSMarkus Reichl regulator-off-in-suspend; 510f9010b0eSMarkus Reichl }; 511f9010b0eSMarkus Reichl }; 512f9010b0eSMarkus Reichl}; 513f9010b0eSMarkus Reichl 514f9010b0eSMarkus Reichl&i2c1 { 515f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <300>; 516f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <15>; 517f9010b0eSMarkus Reichl status = "okay"; 518f9010b0eSMarkus Reichl}; 519f9010b0eSMarkus Reichl 520f9010b0eSMarkus Reichl&i2c3 { 521f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <450>; 522f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <15>; 523f9010b0eSMarkus Reichl status = "okay"; 524f9010b0eSMarkus Reichl}; 525f9010b0eSMarkus Reichl 526f9010b0eSMarkus Reichl&i2c4 { 527f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <600>; 528f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <20>; 529f9010b0eSMarkus Reichl status = "okay"; 530f9010b0eSMarkus Reichl 531f9010b0eSMarkus Reichl fusb1: usb-typec@22 { 532f9010b0eSMarkus Reichl compatible = "fcs,fusb302"; 533f9010b0eSMarkus Reichl reg = <0x22>; 534f9010b0eSMarkus Reichl interrupt-parent = <&gpio1>; 535f9010b0eSMarkus Reichl interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 536f9010b0eSMarkus Reichl pinctrl-names = "default"; 537f9010b0eSMarkus Reichl pinctrl-0 = <&fusb1_int>; 538f9010b0eSMarkus Reichl vbus-supply = <&vcc_vbus_typec1>; 539f9010b0eSMarkus Reichl status = "okay"; 540f9010b0eSMarkus Reichl }; 541f9010b0eSMarkus Reichl}; 542f9010b0eSMarkus Reichl 543f9010b0eSMarkus Reichl&i2c7 { 544f9010b0eSMarkus Reichl i2c-scl-rising-time-ns = <600>; 545f9010b0eSMarkus Reichl i2c-scl-falling-time-ns = <20>; 546f9010b0eSMarkus Reichl status = "okay"; 547f9010b0eSMarkus Reichl 548f9010b0eSMarkus Reichl fusb0: usb-typec@22 { 549f9010b0eSMarkus Reichl compatible = "fcs,fusb302"; 550f9010b0eSMarkus Reichl reg = <0x22>; 551f9010b0eSMarkus Reichl interrupt-parent = <&gpio1>; 552f9010b0eSMarkus Reichl interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 553f9010b0eSMarkus Reichl pinctrl-names = "default"; 554f9010b0eSMarkus Reichl pinctrl-0 = <&fusb0_int>; 555f9010b0eSMarkus Reichl vbus-supply = <&vcc_vbus_typec0>; 556f9010b0eSMarkus Reichl status = "okay"; 557f9010b0eSMarkus Reichl }; 5581fc61ed0SMarkus Reichl 5591fc61ed0SMarkus Reichl mp8859: regulator@66 { 5601fc61ed0SMarkus Reichl compatible = "mps,mp8859"; 5611fc61ed0SMarkus Reichl reg = <0x66>; 5621fc61ed0SMarkus Reichl dc_12v: mp8859_dcdc { 5631fc61ed0SMarkus Reichl regulator-name = "dc_12v"; 5641fc61ed0SMarkus Reichl regulator-min-microvolt = <12000000>; 5651fc61ed0SMarkus Reichl regulator-max-microvolt = <12000000>; 5661fc61ed0SMarkus Reichl regulator-always-on; 5671fc61ed0SMarkus Reichl regulator-boot-on; 5681fc61ed0SMarkus Reichl vin-supply = <&vcc_vbus_typec0>; 5691fc61ed0SMarkus Reichl 5701fc61ed0SMarkus Reichl regulator-state-mem { 5711fc61ed0SMarkus Reichl regulator-on-in-suspend; 5721fc61ed0SMarkus Reichl regulator-suspend-microvolt = <12000000>; 5731fc61ed0SMarkus Reichl }; 5741fc61ed0SMarkus Reichl }; 5751fc61ed0SMarkus Reichl }; 576f9010b0eSMarkus Reichl}; 577f9010b0eSMarkus Reichl 578f9010b0eSMarkus Reichl&i2s0 { 579f9010b0eSMarkus Reichl rockchip,playback-channels = <8>; 580f9010b0eSMarkus Reichl rockchip,capture-channels = <8>; 581f9010b0eSMarkus Reichl status = "okay"; 582f9010b0eSMarkus Reichl}; 583f9010b0eSMarkus Reichl 584f9010b0eSMarkus Reichl&i2s1 { 585f9010b0eSMarkus Reichl rockchip,playback-channels = <2>; 586f9010b0eSMarkus Reichl rockchip,capture-channels = <2>; 587f9010b0eSMarkus Reichl status = "okay"; 588f9010b0eSMarkus Reichl}; 589f9010b0eSMarkus Reichl 590f9010b0eSMarkus Reichl&i2s2 { 591f9010b0eSMarkus Reichl status = "okay"; 592f9010b0eSMarkus Reichl}; 593f9010b0eSMarkus Reichl 594f9010b0eSMarkus Reichl&io_domains { 595f9010b0eSMarkus Reichl audio-supply = <&vcca1v8_codec>; 596f9010b0eSMarkus Reichl bt656-supply = <&vcc_3v0>; 597f9010b0eSMarkus Reichl gpio1830-supply = <&vcc_3v0>; 598f9010b0eSMarkus Reichl sdmmc-supply = <&vcc_sdio>; 599f9010b0eSMarkus Reichl status = "okay"; 600f9010b0eSMarkus Reichl}; 601f9010b0eSMarkus Reichl 602f9010b0eSMarkus Reichl&pmu_io_domains { 603f9010b0eSMarkus Reichl pmu1830-supply = <&vcc_3v0>; 604f9010b0eSMarkus Reichl status = "okay"; 605f9010b0eSMarkus Reichl}; 606f9010b0eSMarkus Reichl 607f9010b0eSMarkus Reichl&pinctrl { 608f9010b0eSMarkus Reichl buttons { 609f9010b0eSMarkus Reichl pwr_key_l: pwr-key-l { 610f9010b0eSMarkus Reichl rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 611f9010b0eSMarkus Reichl }; 612f9010b0eSMarkus Reichl }; 613f9010b0eSMarkus Reichl 614e1d635bcSAlex Bee ir { 615e1d635bcSAlex Bee ir_int: ir-int { 616e1d635bcSAlex Bee rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 617e1d635bcSAlex Bee }; 618e1d635bcSAlex Bee }; 619e1d635bcSAlex Bee 620f9010b0eSMarkus Reichl lcd-panel { 621f9010b0eSMarkus Reichl lcd_panel_reset: lcd-panel-reset { 622a308163aSMarkus Reichl rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>; 623f9010b0eSMarkus Reichl }; 624f9010b0eSMarkus Reichl }; 625f9010b0eSMarkus Reichl 626f9010b0eSMarkus Reichl leds { 6276dd5e12cSJohan Jonker diy_led_pin: diy-led-pin { 628f9010b0eSMarkus Reichl rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 629f9010b0eSMarkus Reichl }; 630f9010b0eSMarkus Reichl 6316dd5e12cSJohan Jonker work_led_pin: work-led-pin { 632f9010b0eSMarkus Reichl rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 633f9010b0eSMarkus Reichl }; 634f9010b0eSMarkus Reichl 6356dd5e12cSJohan Jonker yellow_led_pin: yellow-led-pin { 636f9010b0eSMarkus Reichl rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 637f9010b0eSMarkus Reichl }; 638f9010b0eSMarkus Reichl }; 639f9010b0eSMarkus Reichl 640f9010b0eSMarkus Reichl pmic { 6412bc65fefSJohan Jonker vsel1_pin: vsel1-pin { 642f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; 643f9010b0eSMarkus Reichl }; 644f9010b0eSMarkus Reichl 6452bc65fefSJohan Jonker vsel2_pin: vsel2-pin { 646f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 647f9010b0eSMarkus Reichl }; 648f9010b0eSMarkus Reichl }; 649f9010b0eSMarkus Reichl 650f9010b0eSMarkus Reichl sdio-pwrseq { 651f9010b0eSMarkus Reichl wifi_enable_h: wifi-enable-h { 652f9010b0eSMarkus Reichl rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 653f9010b0eSMarkus Reichl }; 654f9010b0eSMarkus Reichl }; 655f9010b0eSMarkus Reichl 656140e816aSMarkus Reichl sdmmc { 657140e816aSMarkus Reichl vcc3v0_sd_en: vcc3v0-sd-en { 658140e816aSMarkus Reichl rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 659140e816aSMarkus Reichl }; 660140e816aSMarkus Reichl }; 661140e816aSMarkus Reichl 662f9010b0eSMarkus Reichl pmic { 663f9010b0eSMarkus Reichl pmic_int_l: pmic-int-l { 664f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 665f9010b0eSMarkus Reichl }; 666f9010b0eSMarkus Reichl }; 667f9010b0eSMarkus Reichl 668f9010b0eSMarkus Reichl usb2 { 669f9010b0eSMarkus Reichl vcc5v0_host_en: vcc5v0-host-en { 670f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 671f9010b0eSMarkus Reichl }; 672f9010b0eSMarkus Reichl 673f9010b0eSMarkus Reichl vcc_sys_en: vcc-sys-en { 674f9010b0eSMarkus Reichl rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 675f9010b0eSMarkus Reichl }; 676f9010b0eSMarkus Reichl 677f9010b0eSMarkus Reichl hub_rst: hub-rst { 678f9010b0eSMarkus Reichl rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_output_high>; 679f9010b0eSMarkus Reichl }; 680f9010b0eSMarkus Reichl }; 681f9010b0eSMarkus Reichl 682f9010b0eSMarkus Reichl usb-typec { 683f9010b0eSMarkus Reichl vcc_vbus_typec1_en: vcc-vbus-typec1-en { 684f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 685f9010b0eSMarkus Reichl }; 686f9010b0eSMarkus Reichl }; 687f9010b0eSMarkus Reichl 688f9010b0eSMarkus Reichl fusb30x { 689f9010b0eSMarkus Reichl fusb0_int: fusb0-int { 690f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 691f9010b0eSMarkus Reichl }; 692f9010b0eSMarkus Reichl 693f9010b0eSMarkus Reichl fusb1_int: fusb1-int { 694f9010b0eSMarkus Reichl rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 695f9010b0eSMarkus Reichl }; 696f9010b0eSMarkus Reichl }; 697f9010b0eSMarkus Reichl}; 698f9010b0eSMarkus Reichl 699f9010b0eSMarkus Reichl&pwm0 { 700f9010b0eSMarkus Reichl status = "okay"; 701f9010b0eSMarkus Reichl}; 702f9010b0eSMarkus Reichl 703f9010b0eSMarkus Reichl&pwm2 { 704f9010b0eSMarkus Reichl status = "okay"; 705f9010b0eSMarkus Reichl}; 706f9010b0eSMarkus Reichl 707f9010b0eSMarkus Reichl&saradc { 708f9010b0eSMarkus Reichl vref-supply = <&vcca1v8_s3>; 709f9010b0eSMarkus Reichl status = "okay"; 710f9010b0eSMarkus Reichl}; 711f9010b0eSMarkus Reichl 712f9010b0eSMarkus Reichl&sdmmc { 713f9010b0eSMarkus Reichl bus-width = <4>; 714f9010b0eSMarkus Reichl cap-sd-highspeed; 715f9010b0eSMarkus Reichl cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 716f9010b0eSMarkus Reichl disable-wp; 717f9010b0eSMarkus Reichl max-frequency = <150000000>; 718f9010b0eSMarkus Reichl pinctrl-names = "default"; 719f9010b0eSMarkus Reichl pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 720140e816aSMarkus Reichl sd-uhs-sdr104; 721140e816aSMarkus Reichl vmmc-supply = <&vcc3v0_sd>; 722140e816aSMarkus Reichl vqmmc-supply = <&vcc_sdio>; 723f9010b0eSMarkus Reichl status = "okay"; 724f9010b0eSMarkus Reichl}; 725f9010b0eSMarkus Reichl 726f9010b0eSMarkus Reichl&sdhci { 727f9010b0eSMarkus Reichl bus-width = <8>; 728f9010b0eSMarkus Reichl non-removable; 729f9010b0eSMarkus Reichl status = "okay"; 730f9010b0eSMarkus Reichl}; 731f9010b0eSMarkus Reichl 732a43e2909SMarkus Reichl&spi1 { 733a43e2909SMarkus Reichl status = "okay"; 734a43e2909SMarkus Reichl 735a43e2909SMarkus Reichl flash@0 { 736a43e2909SMarkus Reichl compatible = "jedec,spi-nor"; 737a43e2909SMarkus Reichl reg = <0>; 738*87ecb882SManoj Sai spi-max-frequency = <30000000>; 739a43e2909SMarkus Reichl }; 740a43e2909SMarkus Reichl}; 741a43e2909SMarkus Reichl 742f9010b0eSMarkus Reichl&tcphy0 { 743f9010b0eSMarkus Reichl status = "okay"; 744f9010b0eSMarkus Reichl}; 745f9010b0eSMarkus Reichl 746f9010b0eSMarkus Reichl&tcphy1 { 747f9010b0eSMarkus Reichl status = "okay"; 748f9010b0eSMarkus Reichl}; 749f9010b0eSMarkus Reichl 750f9010b0eSMarkus Reichl&tsadc { 751f9010b0eSMarkus Reichl /* tshut mode 0:CRU 1:GPIO */ 752f9010b0eSMarkus Reichl rockchip,hw-tshut-mode = <1>; 753f9010b0eSMarkus Reichl /* tshut polarity 0:LOW 1:HIGH */ 754f9010b0eSMarkus Reichl rockchip,hw-tshut-polarity = <1>; 755f9010b0eSMarkus Reichl status = "okay"; 756f9010b0eSMarkus Reichl}; 757f9010b0eSMarkus Reichl 758f9010b0eSMarkus Reichl&u2phy0 { 759f9010b0eSMarkus Reichl status = "okay"; 760f9010b0eSMarkus Reichl 761f9010b0eSMarkus Reichl u2phy0_otg: otg-port { 762f9010b0eSMarkus Reichl phy-supply = <&vcc_vbus_typec0>; 763f9010b0eSMarkus Reichl status = "okay"; 764f9010b0eSMarkus Reichl }; 765f9010b0eSMarkus Reichl 766f9010b0eSMarkus Reichl u2phy0_host: host-port { 767f9010b0eSMarkus Reichl phy-supply = <&vcc5v0_host>; 768f9010b0eSMarkus Reichl status = "okay"; 769f9010b0eSMarkus Reichl }; 770f9010b0eSMarkus Reichl}; 771f9010b0eSMarkus Reichl 772f9010b0eSMarkus Reichl&u2phy1 { 773f9010b0eSMarkus Reichl status = "okay"; 774f9010b0eSMarkus Reichl 775f9010b0eSMarkus Reichl u2phy1_otg: otg-port { 776f9010b0eSMarkus Reichl phy-supply = <&vcc_vbus_typec1>; 777f9010b0eSMarkus Reichl status = "okay"; 778f9010b0eSMarkus Reichl }; 779f9010b0eSMarkus Reichl 780f9010b0eSMarkus Reichl u2phy1_host: host-port { 781f9010b0eSMarkus Reichl phy-supply = <&vcc5v0_host>; 782f9010b0eSMarkus Reichl status = "okay"; 783f9010b0eSMarkus Reichl }; 784f9010b0eSMarkus Reichl}; 785f9010b0eSMarkus Reichl 786f9010b0eSMarkus Reichl&uart0 { 787f9010b0eSMarkus Reichl pinctrl-names = "default"; 788f9010b0eSMarkus Reichl pinctrl-0 = <&uart0_xfer &uart0_cts>; 789f9010b0eSMarkus Reichl status = "okay"; 790f9010b0eSMarkus Reichl}; 791f9010b0eSMarkus Reichl 792f9010b0eSMarkus Reichl&uart2 { 793f9010b0eSMarkus Reichl status = "okay"; 794f9010b0eSMarkus Reichl}; 795f9010b0eSMarkus Reichl 796f9010b0eSMarkus Reichl&usb_host0_ehci { 797f9010b0eSMarkus Reichl status = "okay"; 798f9010b0eSMarkus Reichl}; 799f9010b0eSMarkus Reichl 800f9010b0eSMarkus Reichl&usb_host0_ohci { 801f9010b0eSMarkus Reichl status = "okay"; 802f9010b0eSMarkus Reichl}; 803f9010b0eSMarkus Reichl 804f9010b0eSMarkus Reichl&usb_host1_ehci { 805f9010b0eSMarkus Reichl status = "okay"; 806f9010b0eSMarkus Reichl}; 807f9010b0eSMarkus Reichl 808f9010b0eSMarkus Reichl&usb_host1_ohci { 809f9010b0eSMarkus Reichl status = "okay"; 810f9010b0eSMarkus Reichl}; 811f9010b0eSMarkus Reichl 812f9010b0eSMarkus Reichl&usbdrd3_0 { 813f9010b0eSMarkus Reichl status = "okay"; 814f9010b0eSMarkus Reichl}; 815f9010b0eSMarkus Reichl 816f9010b0eSMarkus Reichl&usbdrd_dwc3_0 { 817f9010b0eSMarkus Reichl status = "okay"; 818f9010b0eSMarkus Reichl}; 819f9010b0eSMarkus Reichl 820f9010b0eSMarkus Reichl&usbdrd3_1 { 821f9010b0eSMarkus Reichl status = "okay"; 822f9010b0eSMarkus Reichl}; 823f9010b0eSMarkus Reichl 824f9010b0eSMarkus Reichl&usbdrd_dwc3_1 { 825f9010b0eSMarkus Reichl status = "okay"; 826f9010b0eSMarkus Reichl dr_mode = "host"; 827f9010b0eSMarkus Reichl}; 828f9010b0eSMarkus Reichl 829f9010b0eSMarkus Reichl&vopb { 830f9010b0eSMarkus Reichl status = "okay"; 831f9010b0eSMarkus Reichl}; 832f9010b0eSMarkus Reichl 833f9010b0eSMarkus Reichl&vopb_mmu { 834f9010b0eSMarkus Reichl status = "okay"; 835f9010b0eSMarkus Reichl}; 836f9010b0eSMarkus Reichl 837f9010b0eSMarkus Reichl&vopl { 838f9010b0eSMarkus Reichl status = "okay"; 839f9010b0eSMarkus Reichl}; 840f9010b0eSMarkus Reichl 841f9010b0eSMarkus Reichl&vopl_mmu { 842f9010b0eSMarkus Reichl status = "okay"; 843f9010b0eSMarkus Reichl}; 844