1e7a09590STomeu Vizoso// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2e7a09590STomeu Vizoso/* 3e7a09590STomeu Vizoso * RK3399-based FriendlyElec boards device tree source 4e7a09590STomeu Vizoso * 5e7a09590STomeu Vizoso * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd 6e7a09590STomeu Vizoso * 7e7a09590STomeu Vizoso * Copyright (c) 2018 FriendlyElec Computer Tech. Co., Ltd. 8e7a09590STomeu Vizoso * (http://www.friendlyarm.com) 9e7a09590STomeu Vizoso * 10e7a09590STomeu Vizoso * Copyright (c) 2018 Collabora Ltd. 11e7a09590STomeu Vizoso * Copyright (c) 2019 Arm Ltd. 12e7a09590STomeu Vizoso */ 13e7a09590STomeu Vizoso 14e7a09590STomeu Vizoso/dts-v1/; 15e7a09590STomeu Vizoso#include <dt-bindings/input/linux-event-codes.h> 16e7a09590STomeu Vizoso#include "rk3399.dtsi" 17e7a09590STomeu Vizoso#include "rk3399-opp.dtsi" 18e7a09590STomeu Vizoso 19e7a09590STomeu Vizoso/ { 20e7a09590STomeu Vizoso chosen { 21e7a09590STomeu Vizoso stdout-path = "serial2:1500000n8"; 22e7a09590STomeu Vizoso }; 23e7a09590STomeu Vizoso 24e7a09590STomeu Vizoso clkin_gmac: external-gmac-clock { 25e7a09590STomeu Vizoso compatible = "fixed-clock"; 26e7a09590STomeu Vizoso clock-frequency = <125000000>; 27e7a09590STomeu Vizoso clock-output-names = "clkin_gmac"; 28e7a09590STomeu Vizoso #clock-cells = <0>; 29e7a09590STomeu Vizoso }; 30e7a09590STomeu Vizoso 31e7a09590STomeu Vizoso vcc3v3_sys: vcc3v3-sys { 32e7a09590STomeu Vizoso compatible = "regulator-fixed"; 33e7a09590STomeu Vizoso regulator-always-on; 34e7a09590STomeu Vizoso regulator-boot-on; 35e7a09590STomeu Vizoso regulator-min-microvolt = <3300000>; 36e7a09590STomeu Vizoso regulator-max-microvolt = <3300000>; 37e7a09590STomeu Vizoso regulator-name = "vcc3v3_sys"; 38e7a09590STomeu Vizoso }; 39e7a09590STomeu Vizoso 40e7a09590STomeu Vizoso vcc5v0_sys: vcc5v0-sys { 41e7a09590STomeu Vizoso compatible = "regulator-fixed"; 42e7a09590STomeu Vizoso regulator-always-on; 43e7a09590STomeu Vizoso regulator-boot-on; 44e7a09590STomeu Vizoso regulator-min-microvolt = <5000000>; 45e7a09590STomeu Vizoso regulator-max-microvolt = <5000000>; 46e7a09590STomeu Vizoso regulator-name = "vcc5v0_sys"; 47e7a09590STomeu Vizoso vin-supply = <&vdd_5v>; 48e7a09590STomeu Vizoso }; 49e7a09590STomeu Vizoso 50e7a09590STomeu Vizoso /* switched by pmic_sleep */ 51e7a09590STomeu Vizoso vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 52e7a09590STomeu Vizoso compatible = "regulator-fixed"; 53e7a09590STomeu Vizoso regulator-always-on; 54e7a09590STomeu Vizoso regulator-boot-on; 55e7a09590STomeu Vizoso regulator-min-microvolt = <1800000>; 56e7a09590STomeu Vizoso regulator-max-microvolt = <1800000>; 57e7a09590STomeu Vizoso regulator-name = "vcc1v8_s3"; 58e7a09590STomeu Vizoso vin-supply = <&vcc_1v8>; 59e7a09590STomeu Vizoso }; 60e7a09590STomeu Vizoso 61e7a09590STomeu Vizoso vcc3v0_sd: vcc3v0-sd { 62e7a09590STomeu Vizoso compatible = "regulator-fixed"; 63e7a09590STomeu Vizoso enable-active-high; 64e7a09590STomeu Vizoso gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 65e7a09590STomeu Vizoso pinctrl-names = "default"; 66e7a09590STomeu Vizoso pinctrl-0 = <&sdmmc0_pwr_h>; 67e7a09590STomeu Vizoso regulator-always-on; 68e7a09590STomeu Vizoso regulator-min-microvolt = <3000000>; 69e7a09590STomeu Vizoso regulator-max-microvolt = <3000000>; 70e7a09590STomeu Vizoso regulator-name = "vcc3v0_sd"; 71e7a09590STomeu Vizoso vin-supply = <&vcc3v3_sys>; 72e7a09590STomeu Vizoso }; 73e7a09590STomeu Vizoso 74e7a09590STomeu Vizoso vbus_typec: vbus-typec { 75e7a09590STomeu Vizoso compatible = "regulator-fixed"; 76e7a09590STomeu Vizoso regulator-min-microvolt = <5000000>; 77e7a09590STomeu Vizoso regulator-max-microvolt = <5000000>; 78e7a09590STomeu Vizoso regulator-name = "vbus_typec"; 79e7a09590STomeu Vizoso }; 80e7a09590STomeu Vizoso 81e7a09590STomeu Vizoso gpio-keys { 82e7a09590STomeu Vizoso compatible = "gpio-keys"; 83e7a09590STomeu Vizoso autorepeat; 84e7a09590STomeu Vizoso pinctrl-names = "default"; 85e7a09590STomeu Vizoso pinctrl-0 = <&power_key>; 86e7a09590STomeu Vizoso 87e7a09590STomeu Vizoso power { 88e7a09590STomeu Vizoso debounce-interval = <100>; 89e7a09590STomeu Vizoso gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 90e7a09590STomeu Vizoso label = "GPIO Key Power"; 91e7a09590STomeu Vizoso linux,code = <KEY_POWER>; 92e7a09590STomeu Vizoso wakeup-source; 93e7a09590STomeu Vizoso }; 94e7a09590STomeu Vizoso }; 95e7a09590STomeu Vizoso 96e7a09590STomeu Vizoso leds: gpio-leds { 97e7a09590STomeu Vizoso compatible = "gpio-leds"; 98e7a09590STomeu Vizoso pinctrl-names = "default"; 99e7a09590STomeu Vizoso pinctrl-0 = <&leds_gpio>; 100e7a09590STomeu Vizoso 101e7a09590STomeu Vizoso status { 102e7a09590STomeu Vizoso gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 103e7a09590STomeu Vizoso label = "status_led"; 104e7a09590STomeu Vizoso linux,default-trigger = "heartbeat"; 105e7a09590STomeu Vizoso }; 106e7a09590STomeu Vizoso }; 107e7a09590STomeu Vizoso 108e7a09590STomeu Vizoso sdio_pwrseq: sdio-pwrseq { 109e7a09590STomeu Vizoso compatible = "mmc-pwrseq-simple"; 110e7a09590STomeu Vizoso clocks = <&rk808 1>; 111e7a09590STomeu Vizoso clock-names = "ext_clock"; 112e7a09590STomeu Vizoso pinctrl-names = "default"; 113e7a09590STomeu Vizoso pinctrl-0 = <&wifi_reg_on_h>; 114e7a09590STomeu Vizoso reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 115e7a09590STomeu Vizoso }; 116e7a09590STomeu Vizoso}; 117e7a09590STomeu Vizoso 118e7a09590STomeu Vizoso&cpu_b0 { 119e7a09590STomeu Vizoso cpu-supply = <&vdd_cpu_b>; 120e7a09590STomeu Vizoso}; 121e7a09590STomeu Vizoso 122e7a09590STomeu Vizoso&cpu_b1 { 123e7a09590STomeu Vizoso cpu-supply = <&vdd_cpu_b>; 124e7a09590STomeu Vizoso}; 125e7a09590STomeu Vizoso 126e7a09590STomeu Vizoso&cpu_l0 { 127e7a09590STomeu Vizoso cpu-supply = <&vdd_cpu_l>; 128e7a09590STomeu Vizoso}; 129e7a09590STomeu Vizoso 130e7a09590STomeu Vizoso&cpu_l1 { 131e7a09590STomeu Vizoso cpu-supply = <&vdd_cpu_l>; 132e7a09590STomeu Vizoso}; 133e7a09590STomeu Vizoso 134e7a09590STomeu Vizoso&cpu_l2 { 135e7a09590STomeu Vizoso cpu-supply = <&vdd_cpu_l>; 136e7a09590STomeu Vizoso}; 137e7a09590STomeu Vizoso 138e7a09590STomeu Vizoso&cpu_l3 { 139e7a09590STomeu Vizoso cpu-supply = <&vdd_cpu_l>; 140e7a09590STomeu Vizoso}; 141e7a09590STomeu Vizoso 142e7a09590STomeu Vizoso&emmc_phy { 143e7a09590STomeu Vizoso status = "okay"; 144e7a09590STomeu Vizoso}; 145e7a09590STomeu Vizoso 146e7a09590STomeu Vizoso&gmac { 147e7a09590STomeu Vizoso assigned-clock-parents = <&clkin_gmac>; 148e7a09590STomeu Vizoso assigned-clocks = <&cru SCLK_RMII_SRC>; 149e7a09590STomeu Vizoso clock_in_out = "input"; 150e7a09590STomeu Vizoso pinctrl-names = "default"; 151e7a09590STomeu Vizoso pinctrl-0 = <&rgmii_pins>; 152e7a09590STomeu Vizoso phy-mode = "rgmii"; 153e7a09590STomeu Vizoso phy-supply = <&vcc3v3_s3>; 154e7a09590STomeu Vizoso snps,reset-active-low; 155e7a09590STomeu Vizoso snps,reset-delays-us = <0 10000 50000>; 156e7a09590STomeu Vizoso snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 157e7a09590STomeu Vizoso tx_delay = <0x28>; 158e7a09590STomeu Vizoso rx_delay = <0x11>; 159e7a09590STomeu Vizoso status = "okay"; 160e7a09590STomeu Vizoso}; 161e7a09590STomeu Vizoso 162e7a09590STomeu Vizoso&gpu { 163e7a09590STomeu Vizoso mali-supply = <&vdd_gpu>; 164e7a09590STomeu Vizoso status = "okay"; 165e7a09590STomeu Vizoso}; 166e7a09590STomeu Vizoso 167e7a09590STomeu Vizoso&hdmi { 168e7a09590STomeu Vizoso ddc-i2c-bus = <&i2c7>; 169e7a09590STomeu Vizoso pinctrl-names = "default"; 170e7a09590STomeu Vizoso pinctrl-0 = <&hdmi_cec>; 171e7a09590STomeu Vizoso status = "okay"; 172e7a09590STomeu Vizoso}; 173e7a09590STomeu Vizoso 174e7a09590STomeu Vizoso&i2c0 { 175e7a09590STomeu Vizoso clock-frequency = <400000>; 176e7a09590STomeu Vizoso i2c-scl-rising-time-ns = <160>; 177e7a09590STomeu Vizoso i2c-scl-falling-time-ns = <30>; 178e7a09590STomeu Vizoso status = "okay"; 179e7a09590STomeu Vizoso 180e7a09590STomeu Vizoso vdd_cpu_b: regulator@40 { 181e7a09590STomeu Vizoso compatible = "silergy,syr827"; 182e7a09590STomeu Vizoso reg = <0x40>; 183e7a09590STomeu Vizoso fcs,suspend-voltage-selector = <1>; 184e7a09590STomeu Vizoso pinctrl-names = "default"; 185e7a09590STomeu Vizoso pinctrl-0 = <&cpu_b_sleep>; 186e7a09590STomeu Vizoso regulator-always-on; 187e7a09590STomeu Vizoso regulator-boot-on; 188e7a09590STomeu Vizoso regulator-min-microvolt = <712500>; 189e7a09590STomeu Vizoso regulator-max-microvolt = <1500000>; 190e7a09590STomeu Vizoso regulator-name = "vdd_cpu_b"; 191e7a09590STomeu Vizoso regulator-ramp-delay = <1000>; 192e7a09590STomeu Vizoso vin-supply = <&vcc3v3_sys>; 193e7a09590STomeu Vizoso 194e7a09590STomeu Vizoso regulator-state-mem { 195e7a09590STomeu Vizoso regulator-off-in-suspend; 196e7a09590STomeu Vizoso }; 197e7a09590STomeu Vizoso }; 198e7a09590STomeu Vizoso 199e7a09590STomeu Vizoso vdd_gpu: regulator@41 { 200e7a09590STomeu Vizoso compatible = "silergy,syr828"; 201e7a09590STomeu Vizoso reg = <0x41>; 202e7a09590STomeu Vizoso fcs,suspend-voltage-selector = <1>; 203e7a09590STomeu Vizoso pinctrl-names = "default"; 204e7a09590STomeu Vizoso pinctrl-0 = <&gpu_sleep>; 205e7a09590STomeu Vizoso regulator-always-on; 206e7a09590STomeu Vizoso regulator-boot-on; 207e7a09590STomeu Vizoso regulator-min-microvolt = <712500>; 208e7a09590STomeu Vizoso regulator-max-microvolt = <1500000>; 209e7a09590STomeu Vizoso regulator-name = "vdd_gpu"; 210e7a09590STomeu Vizoso regulator-ramp-delay = <1000>; 211e7a09590STomeu Vizoso vin-supply = <&vcc3v3_sys>; 212e7a09590STomeu Vizoso 213e7a09590STomeu Vizoso regulator-state-mem { 214e7a09590STomeu Vizoso regulator-off-in-suspend; 215e7a09590STomeu Vizoso }; 216e7a09590STomeu Vizoso }; 217e7a09590STomeu Vizoso 218e7a09590STomeu Vizoso rk808: pmic@1b { 219e7a09590STomeu Vizoso compatible = "rockchip,rk808"; 220e7a09590STomeu Vizoso reg = <0x1b>; 221e7a09590STomeu Vizoso clock-output-names = "xin32k", "rk808-clkout2"; 222e7a09590STomeu Vizoso #clock-cells = <1>; 223e7a09590STomeu Vizoso interrupt-parent = <&gpio1>; 224e7a09590STomeu Vizoso interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 225e7a09590STomeu Vizoso pinctrl-names = "default"; 226e7a09590STomeu Vizoso pinctrl-0 = <&pmic_int_l>; 227e7a09590STomeu Vizoso rockchip,system-power-controller; 228e7a09590STomeu Vizoso wakeup-source; 229e7a09590STomeu Vizoso 230e7a09590STomeu Vizoso vcc1-supply = <&vcc3v3_sys>; 231e7a09590STomeu Vizoso vcc2-supply = <&vcc3v3_sys>; 232e7a09590STomeu Vizoso vcc3-supply = <&vcc3v3_sys>; 233e7a09590STomeu Vizoso vcc4-supply = <&vcc3v3_sys>; 234e7a09590STomeu Vizoso vcc6-supply = <&vcc3v3_sys>; 235e7a09590STomeu Vizoso vcc7-supply = <&vcc3v3_sys>; 236e7a09590STomeu Vizoso vcc8-supply = <&vcc3v3_sys>; 237e7a09590STomeu Vizoso vcc9-supply = <&vcc3v3_sys>; 238e7a09590STomeu Vizoso vcc10-supply = <&vcc3v3_sys>; 239e7a09590STomeu Vizoso vcc11-supply = <&vcc3v3_sys>; 240e7a09590STomeu Vizoso vcc12-supply = <&vcc3v3_sys>; 241e7a09590STomeu Vizoso vddio-supply = <&vcc_3v0>; 242e7a09590STomeu Vizoso 243e7a09590STomeu Vizoso regulators { 244e7a09590STomeu Vizoso vdd_center: DCDC_REG1 { 245e7a09590STomeu Vizoso regulator-always-on; 246e7a09590STomeu Vizoso regulator-boot-on; 247e7a09590STomeu Vizoso regulator-min-microvolt = <750000>; 248e7a09590STomeu Vizoso regulator-max-microvolt = <1350000>; 249e7a09590STomeu Vizoso regulator-name = "vdd_center"; 250e7a09590STomeu Vizoso regulator-ramp-delay = <6001>; 251e7a09590STomeu Vizoso 252e7a09590STomeu Vizoso regulator-state-mem { 253e7a09590STomeu Vizoso regulator-off-in-suspend; 254e7a09590STomeu Vizoso }; 255e7a09590STomeu Vizoso }; 256e7a09590STomeu Vizoso 257e7a09590STomeu Vizoso vdd_cpu_l: DCDC_REG2 { 258e7a09590STomeu Vizoso regulator-always-on; 259e7a09590STomeu Vizoso regulator-boot-on; 260e7a09590STomeu Vizoso regulator-min-microvolt = <750000>; 261e7a09590STomeu Vizoso regulator-max-microvolt = <1350000>; 262e7a09590STomeu Vizoso regulator-name = "vdd_cpu_l"; 263e7a09590STomeu Vizoso regulator-ramp-delay = <6001>; 264e7a09590STomeu Vizoso 265e7a09590STomeu Vizoso regulator-state-mem { 266e7a09590STomeu Vizoso regulator-off-in-suspend; 267e7a09590STomeu Vizoso }; 268e7a09590STomeu Vizoso }; 269e7a09590STomeu Vizoso 270e7a09590STomeu Vizoso vcc_ddr: DCDC_REG3 { 271e7a09590STomeu Vizoso regulator-always-on; 272e7a09590STomeu Vizoso regulator-boot-on; 273e7a09590STomeu Vizoso regulator-name = "vcc_ddr"; 274e7a09590STomeu Vizoso 275e7a09590STomeu Vizoso regulator-state-mem { 276e7a09590STomeu Vizoso regulator-on-in-suspend; 277e7a09590STomeu Vizoso }; 278e7a09590STomeu Vizoso }; 279e7a09590STomeu Vizoso 280e7a09590STomeu Vizoso vcc_1v8: DCDC_REG4 { 281e7a09590STomeu Vizoso regulator-always-on; 282e7a09590STomeu Vizoso regulator-boot-on; 283e7a09590STomeu Vizoso regulator-min-microvolt = <1800000>; 284e7a09590STomeu Vizoso regulator-max-microvolt = <1800000>; 285e7a09590STomeu Vizoso regulator-name = "vcc_1v8"; 286e7a09590STomeu Vizoso 287e7a09590STomeu Vizoso regulator-state-mem { 288e7a09590STomeu Vizoso regulator-on-in-suspend; 289e7a09590STomeu Vizoso regulator-suspend-microvolt = <1800000>; 290e7a09590STomeu Vizoso }; 291e7a09590STomeu Vizoso }; 292e7a09590STomeu Vizoso 293e7a09590STomeu Vizoso vcc1v8_cam: LDO_REG1 { 294e7a09590STomeu Vizoso regulator-always-on; 295e7a09590STomeu Vizoso regulator-boot-on; 296e7a09590STomeu Vizoso regulator-min-microvolt = <1800000>; 297e7a09590STomeu Vizoso regulator-max-microvolt = <1800000>; 298e7a09590STomeu Vizoso regulator-name = "vcc1v8_cam"; 299e7a09590STomeu Vizoso 300e7a09590STomeu Vizoso regulator-state-mem { 301e7a09590STomeu Vizoso regulator-off-in-suspend; 302e7a09590STomeu Vizoso }; 303e7a09590STomeu Vizoso }; 304e7a09590STomeu Vizoso 305e7a09590STomeu Vizoso vcc3v0_touch: LDO_REG2 { 306e7a09590STomeu Vizoso regulator-always-on; 307e7a09590STomeu Vizoso regulator-boot-on; 308e7a09590STomeu Vizoso regulator-min-microvolt = <3000000>; 309e7a09590STomeu Vizoso regulator-max-microvolt = <3000000>; 310e7a09590STomeu Vizoso regulator-name = "vcc3v0_touch"; 311e7a09590STomeu Vizoso 312e7a09590STomeu Vizoso regulator-state-mem { 313e7a09590STomeu Vizoso regulator-off-in-suspend; 314e7a09590STomeu Vizoso }; 315e7a09590STomeu Vizoso }; 316e7a09590STomeu Vizoso 317e7a09590STomeu Vizoso vcc1v8_pmupll: LDO_REG3 { 318e7a09590STomeu Vizoso regulator-always-on; 319e7a09590STomeu Vizoso regulator-boot-on; 320e7a09590STomeu Vizoso regulator-min-microvolt = <1800000>; 321e7a09590STomeu Vizoso regulator-max-microvolt = <1800000>; 322e7a09590STomeu Vizoso regulator-name = "vcc1v8_pmupll"; 323e7a09590STomeu Vizoso 324e7a09590STomeu Vizoso regulator-state-mem { 325e7a09590STomeu Vizoso regulator-on-in-suspend; 326e7a09590STomeu Vizoso regulator-suspend-microvolt = <1800000>; 327e7a09590STomeu Vizoso }; 328e7a09590STomeu Vizoso }; 329e7a09590STomeu Vizoso 330e7a09590STomeu Vizoso vcc_sdio: LDO_REG4 { 331e7a09590STomeu Vizoso regulator-always-on; 332e7a09590STomeu Vizoso regulator-boot-on; 333e7a09590STomeu Vizoso regulator-init-microvolt = <3000000>; 334e7a09590STomeu Vizoso regulator-min-microvolt = <1800000>; 335e7a09590STomeu Vizoso regulator-max-microvolt = <3300000>; 336e7a09590STomeu Vizoso regulator-name = "vcc_sdio"; 337e7a09590STomeu Vizoso 338e7a09590STomeu Vizoso regulator-state-mem { 339e7a09590STomeu Vizoso regulator-on-in-suspend; 340e7a09590STomeu Vizoso regulator-suspend-microvolt = <3000000>; 341e7a09590STomeu Vizoso }; 342e7a09590STomeu Vizoso }; 343e7a09590STomeu Vizoso 344e7a09590STomeu Vizoso vcca3v0_codec: LDO_REG5 { 345e7a09590STomeu Vizoso regulator-always-on; 346e7a09590STomeu Vizoso regulator-boot-on; 347e7a09590STomeu Vizoso regulator-min-microvolt = <3000000>; 348e7a09590STomeu Vizoso regulator-max-microvolt = <3000000>; 349e7a09590STomeu Vizoso regulator-name = "vcca3v0_codec"; 350e7a09590STomeu Vizoso 351e7a09590STomeu Vizoso regulator-state-mem { 352e7a09590STomeu Vizoso regulator-off-in-suspend; 353e7a09590STomeu Vizoso }; 354e7a09590STomeu Vizoso }; 355e7a09590STomeu Vizoso 356e7a09590STomeu Vizoso vcc_1v5: LDO_REG6 { 357e7a09590STomeu Vizoso regulator-always-on; 358e7a09590STomeu Vizoso regulator-boot-on; 359e7a09590STomeu Vizoso regulator-min-microvolt = <1500000>; 360e7a09590STomeu Vizoso regulator-max-microvolt = <1500000>; 361e7a09590STomeu Vizoso regulator-name = "vcc_1v5"; 362e7a09590STomeu Vizoso 363e7a09590STomeu Vizoso regulator-state-mem { 364e7a09590STomeu Vizoso regulator-on-in-suspend; 365e7a09590STomeu Vizoso regulator-suspend-microvolt = <1500000>; 366e7a09590STomeu Vizoso }; 367e7a09590STomeu Vizoso }; 368e7a09590STomeu Vizoso 369e7a09590STomeu Vizoso vcca1v8_codec: LDO_REG7 { 370e7a09590STomeu Vizoso regulator-always-on; 371e7a09590STomeu Vizoso regulator-boot-on; 372e7a09590STomeu Vizoso regulator-min-microvolt = <1800000>; 373e7a09590STomeu Vizoso regulator-max-microvolt = <1800000>; 374e7a09590STomeu Vizoso regulator-name = "vcca1v8_codec"; 375e7a09590STomeu Vizoso 376e7a09590STomeu Vizoso regulator-state-mem { 377e7a09590STomeu Vizoso regulator-off-in-suspend; 378e7a09590STomeu Vizoso }; 379e7a09590STomeu Vizoso }; 380e7a09590STomeu Vizoso 381e7a09590STomeu Vizoso vcc_3v0: LDO_REG8 { 382e7a09590STomeu Vizoso regulator-always-on; 383e7a09590STomeu Vizoso regulator-boot-on; 384e7a09590STomeu Vizoso regulator-min-microvolt = <3000000>; 385e7a09590STomeu Vizoso regulator-max-microvolt = <3000000>; 386e7a09590STomeu Vizoso regulator-name = "vcc_3v0"; 387e7a09590STomeu Vizoso 388e7a09590STomeu Vizoso regulator-state-mem { 389e7a09590STomeu Vizoso regulator-on-in-suspend; 390e7a09590STomeu Vizoso regulator-suspend-microvolt = <3000000>; 391e7a09590STomeu Vizoso }; 392e7a09590STomeu Vizoso }; 393e7a09590STomeu Vizoso 394e7a09590STomeu Vizoso vcc3v3_s3: SWITCH_REG1 { 395e7a09590STomeu Vizoso regulator-always-on; 396e7a09590STomeu Vizoso regulator-boot-on; 397e7a09590STomeu Vizoso regulator-name = "vcc3v3_s3"; 398e7a09590STomeu Vizoso 399e7a09590STomeu Vizoso regulator-state-mem { 400e7a09590STomeu Vizoso regulator-off-in-suspend; 401e7a09590STomeu Vizoso }; 402e7a09590STomeu Vizoso }; 403e7a09590STomeu Vizoso 404e7a09590STomeu Vizoso vcc3v3_s0: SWITCH_REG2 { 405e7a09590STomeu Vizoso regulator-always-on; 406e7a09590STomeu Vizoso regulator-boot-on; 407e7a09590STomeu Vizoso regulator-name = "vcc3v3_s0"; 408e7a09590STomeu Vizoso 409e7a09590STomeu Vizoso regulator-state-mem { 410e7a09590STomeu Vizoso regulator-off-in-suspend; 411e7a09590STomeu Vizoso }; 412e7a09590STomeu Vizoso }; 413e7a09590STomeu Vizoso }; 414e7a09590STomeu Vizoso }; 415e7a09590STomeu Vizoso}; 416e7a09590STomeu Vizoso 417e7a09590STomeu Vizoso&i2c1 { 418e7a09590STomeu Vizoso clock-frequency = <200000>; 419e7a09590STomeu Vizoso i2c-scl-rising-time-ns = <150>; 420e7a09590STomeu Vizoso i2c-scl-falling-time-ns = <30>; 421e7a09590STomeu Vizoso status = "okay"; 422e7a09590STomeu Vizoso}; 423e7a09590STomeu Vizoso 424e7a09590STomeu Vizoso&i2c2 { 425e7a09590STomeu Vizoso status = "okay"; 426e7a09590STomeu Vizoso}; 427e7a09590STomeu Vizoso 428e7a09590STomeu Vizoso&i2c4 { 429e7a09590STomeu Vizoso clock-frequency = <400000>; 430e7a09590STomeu Vizoso i2c-scl-rising-time-ns = <160>; 431e7a09590STomeu Vizoso i2c-scl-falling-time-ns = <30>; 432e7a09590STomeu Vizoso status = "okay"; 433e7a09590STomeu Vizoso 434e7a09590STomeu Vizoso fusb0: typec-portc@22 { 435e7a09590STomeu Vizoso compatible = "fcs,fusb302"; 436e7a09590STomeu Vizoso reg = <0x22>; 437e7a09590STomeu Vizoso interrupt-parent = <&gpio1>; 438e7a09590STomeu Vizoso interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 439e7a09590STomeu Vizoso pinctrl-names = "default"; 440e7a09590STomeu Vizoso pinctrl-0 = <&fusb0_int>; 441e7a09590STomeu Vizoso vbus-supply = <&vbus_typec>; 442e7a09590STomeu Vizoso }; 443e7a09590STomeu Vizoso}; 444e7a09590STomeu Vizoso 445e7a09590STomeu Vizoso&i2c7 { 446e7a09590STomeu Vizoso status = "okay"; 447e7a09590STomeu Vizoso}; 448e7a09590STomeu Vizoso 449e7a09590STomeu Vizoso&io_domains { 450e7a09590STomeu Vizoso bt656-supply = <&vcc_1v8>; 451e7a09590STomeu Vizoso audio-supply = <&vcca1v8_codec>; 452e7a09590STomeu Vizoso sdmmc-supply = <&vcc_sdio>; 453e7a09590STomeu Vizoso gpio1830-supply = <&vcc_3v0>; 454e7a09590STomeu Vizoso status = "okay"; 455e7a09590STomeu Vizoso}; 456e7a09590STomeu Vizoso 457e7a09590STomeu Vizoso&pcie_phy { 458e7a09590STomeu Vizoso assigned-clock-parents = <&cru SCLK_PCIEPHY_REF100M>; 459e7a09590STomeu Vizoso assigned-clock-rates = <100000000>; 460e7a09590STomeu Vizoso assigned-clocks = <&cru SCLK_PCIEPHY_REF>; 461e7a09590STomeu Vizoso status = "okay"; 462e7a09590STomeu Vizoso}; 463e7a09590STomeu Vizoso 464e7a09590STomeu Vizoso&pcie0 { 465e7a09590STomeu Vizoso ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>; 466e7a09590STomeu Vizoso max-link-speed = <2>; 467e7a09590STomeu Vizoso num-lanes = <4>; 468e7a09590STomeu Vizoso status = "okay"; 469e7a09590STomeu Vizoso}; 470e7a09590STomeu Vizoso 471e7a09590STomeu Vizoso&pinctrl { 472e7a09590STomeu Vizoso fusb30x { 473e7a09590STomeu Vizoso fusb0_int: fusb0-int { 474e7a09590STomeu Vizoso rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 475e7a09590STomeu Vizoso }; 476e7a09590STomeu Vizoso }; 477e7a09590STomeu Vizoso 478e7a09590STomeu Vizoso gpio-leds { 479e7a09590STomeu Vizoso leds_gpio: leds-gpio { 480e7a09590STomeu Vizoso rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 481e7a09590STomeu Vizoso }; 482e7a09590STomeu Vizoso }; 483e7a09590STomeu Vizoso 484e7a09590STomeu Vizoso pmic { 485e7a09590STomeu Vizoso cpu_b_sleep: cpu-b-sleep { 486e7a09590STomeu Vizoso rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 487e7a09590STomeu Vizoso }; 488e7a09590STomeu Vizoso 489e7a09590STomeu Vizoso gpu_sleep: gpu-sleep { 490e7a09590STomeu Vizoso rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 491e7a09590STomeu Vizoso }; 492e7a09590STomeu Vizoso 493e7a09590STomeu Vizoso pmic_int_l: pmic-int-l { 494e7a09590STomeu Vizoso rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 495e7a09590STomeu Vizoso }; 496e7a09590STomeu Vizoso }; 497e7a09590STomeu Vizoso 498e7a09590STomeu Vizoso rockchip-key { 499e7a09590STomeu Vizoso power_key: power-key { 500e7a09590STomeu Vizoso rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 501e7a09590STomeu Vizoso }; 502e7a09590STomeu Vizoso }; 503e7a09590STomeu Vizoso 504e7a09590STomeu Vizoso sdio-pwrseq { 505e7a09590STomeu Vizoso wifi_reg_on_h: wifi-reg_on-h { 506e7a09590STomeu Vizoso rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 507e7a09590STomeu Vizoso }; 508e7a09590STomeu Vizoso }; 50910f595eeSRobin Murphy 51010f595eeSRobin Murphy sdmmc { 51110f595eeSRobin Murphy sdmmc0_det_l: sdmmc0-det-l { 51210f595eeSRobin Murphy rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 51310f595eeSRobin Murphy }; 51410f595eeSRobin Murphy 51510f595eeSRobin Murphy sdmmc0_pwr_h: sdmmc0-pwr-h { 51610f595eeSRobin Murphy rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 51710f595eeSRobin Murphy }; 51810f595eeSRobin Murphy }; 519e7a09590STomeu Vizoso}; 520e7a09590STomeu Vizoso 521e7a09590STomeu Vizoso&pmu_io_domains { 522e7a09590STomeu Vizoso pmu1830-supply = <&vcc_3v0>; 523e7a09590STomeu Vizoso status = "okay"; 524e7a09590STomeu Vizoso}; 525e7a09590STomeu Vizoso 526e7a09590STomeu Vizoso&pwm0 { 527e7a09590STomeu Vizoso status = "okay"; 528e7a09590STomeu Vizoso}; 529e7a09590STomeu Vizoso 530e7a09590STomeu Vizoso&pwm1 { 531e7a09590STomeu Vizoso status = "okay"; 532e7a09590STomeu Vizoso}; 533e7a09590STomeu Vizoso 534e7a09590STomeu Vizoso&pwm2 { 535e7a09590STomeu Vizoso pinctrl-names = "active"; 536e7a09590STomeu Vizoso pinctrl-0 = <&pwm2_pin_pull_down>; 537e7a09590STomeu Vizoso status = "okay"; 538e7a09590STomeu Vizoso}; 539e7a09590STomeu Vizoso 540e7a09590STomeu Vizoso&saradc { 541e7a09590STomeu Vizoso vref-supply = <&vcca1v8_s3>; 542e7a09590STomeu Vizoso status = "okay"; 543e7a09590STomeu Vizoso}; 544e7a09590STomeu Vizoso 545e7a09590STomeu Vizoso&sdhci { 546e7a09590STomeu Vizoso bus-width = <8>; 547c62ffaf5SRobin Murphy mmc-hs200-1_8v; 548e7a09590STomeu Vizoso non-removable; 549e7a09590STomeu Vizoso status = "okay"; 550e7a09590STomeu Vizoso}; 551e7a09590STomeu Vizoso 552e7a09590STomeu Vizoso&sdio0 { 553e7a09590STomeu Vizoso bus-width = <4>; 554e7a09590STomeu Vizoso cap-sd-highspeed; 555e7a09590STomeu Vizoso cap-sdio-irq; 556e7a09590STomeu Vizoso disable-wp; 557e7a09590STomeu Vizoso keep-power-in-suspend; 558e7a09590STomeu Vizoso mmc-pwrseq = <&sdio_pwrseq>; 559e7a09590STomeu Vizoso non-removable; 560e7a09590STomeu Vizoso pinctrl-names = "default"; 561e7a09590STomeu Vizoso pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 562e7a09590STomeu Vizoso sd-uhs-sdr104; 563e7a09590STomeu Vizoso status = "okay"; 564e7a09590STomeu Vizoso}; 565e7a09590STomeu Vizoso 566e7a09590STomeu Vizoso&sdmmc { 567e7a09590STomeu Vizoso bus-width = <4>; 568e7a09590STomeu Vizoso cap-sd-highspeed; 569e7a09590STomeu Vizoso cap-mmc-highspeed; 57010f595eeSRobin Murphy cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 571e7a09590STomeu Vizoso disable-wp; 572e7a09590STomeu Vizoso pinctrl-names = "default"; 57310f595eeSRobin Murphy pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc0_det_l>; 574e7a09590STomeu Vizoso sd-uhs-sdr104; 575e7a09590STomeu Vizoso vmmc-supply = <&vcc3v0_sd>; 576e7a09590STomeu Vizoso vqmmc-supply = <&vcc_sdio>; 577e7a09590STomeu Vizoso status = "okay"; 578e7a09590STomeu Vizoso}; 579e7a09590STomeu Vizoso 580e7a09590STomeu Vizoso&tcphy0 { 581e7a09590STomeu Vizoso status = "okay"; 582e7a09590STomeu Vizoso}; 583e7a09590STomeu Vizoso 584e7a09590STomeu Vizoso&tcphy1 { 585e7a09590STomeu Vizoso status = "okay"; 586e7a09590STomeu Vizoso}; 587e7a09590STomeu Vizoso 588e7a09590STomeu Vizoso&tsadc { 589e7a09590STomeu Vizoso /* tshut mode 0:CRU 1:GPIO */ 590e7a09590STomeu Vizoso rockchip,hw-tshut-mode = <1>; 591e7a09590STomeu Vizoso /* tshut polarity 0:LOW 1:HIGH */ 592e7a09590STomeu Vizoso rockchip,hw-tshut-polarity = <1>; 593e7a09590STomeu Vizoso status = "okay"; 594e7a09590STomeu Vizoso}; 595e7a09590STomeu Vizoso 596e7a09590STomeu Vizoso&u2phy0 { 597e7a09590STomeu Vizoso status = "okay"; 598e7a09590STomeu Vizoso}; 599e7a09590STomeu Vizoso 600e7a09590STomeu Vizoso&u2phy0_host { 601e7a09590STomeu Vizoso status = "okay"; 602e7a09590STomeu Vizoso}; 603e7a09590STomeu Vizoso 604e7a09590STomeu Vizoso&u2phy0_otg { 605e7a09590STomeu Vizoso status = "okay"; 606e7a09590STomeu Vizoso}; 607e7a09590STomeu Vizoso 608e7a09590STomeu Vizoso&u2phy1 { 609e7a09590STomeu Vizoso status = "okay"; 610e7a09590STomeu Vizoso}; 611e7a09590STomeu Vizoso 612e7a09590STomeu Vizoso&u2phy1_host { 613e7a09590STomeu Vizoso status = "okay"; 614e7a09590STomeu Vizoso}; 615e7a09590STomeu Vizoso 616e7a09590STomeu Vizoso&u2phy1_otg { 617e7a09590STomeu Vizoso status = "okay"; 618e7a09590STomeu Vizoso}; 619e7a09590STomeu Vizoso 620e7a09590STomeu Vizoso&uart0 { 621e7a09590STomeu Vizoso pinctrl-names = "default"; 622e7a09590STomeu Vizoso pinctrl-0 = <&uart0_xfer &uart0_rts &uart0_cts>; 623e7a09590STomeu Vizoso status = "okay"; 624e7a09590STomeu Vizoso}; 625e7a09590STomeu Vizoso 626e7a09590STomeu Vizoso&uart2 { 627e7a09590STomeu Vizoso status = "okay"; 628e7a09590STomeu Vizoso}; 629e7a09590STomeu Vizoso 630e7a09590STomeu Vizoso&usbdrd3_0 { 631e7a09590STomeu Vizoso status = "okay"; 632e7a09590STomeu Vizoso}; 633e7a09590STomeu Vizoso 634e7a09590STomeu Vizoso&usbdrd3_1 { 635e7a09590STomeu Vizoso status = "okay"; 636e7a09590STomeu Vizoso}; 637e7a09590STomeu Vizoso 638e7a09590STomeu Vizoso&usbdrd_dwc3_0 { 639e7a09590STomeu Vizoso status = "okay"; 640e7a09590STomeu Vizoso}; 641e7a09590STomeu Vizoso 642e7a09590STomeu Vizoso&usbdrd_dwc3_1 { 643e7a09590STomeu Vizoso dr_mode = "host"; 644e7a09590STomeu Vizoso status = "okay"; 645e7a09590STomeu Vizoso}; 646e7a09590STomeu Vizoso 647e7a09590STomeu Vizoso&usb_host0_ehci { 648e7a09590STomeu Vizoso status = "okay"; 649e7a09590STomeu Vizoso}; 650e7a09590STomeu Vizoso 651e7a09590STomeu Vizoso&usb_host0_ohci { 652e7a09590STomeu Vizoso status = "okay"; 653e7a09590STomeu Vizoso}; 654e7a09590STomeu Vizoso 655e7a09590STomeu Vizoso&usb_host1_ehci { 656e7a09590STomeu Vizoso status = "okay"; 657e7a09590STomeu Vizoso}; 658e7a09590STomeu Vizoso 659e7a09590STomeu Vizoso&usb_host1_ohci { 660e7a09590STomeu Vizoso status = "okay"; 661e7a09590STomeu Vizoso}; 662e7a09590STomeu Vizoso 663e7a09590STomeu Vizoso&vopb { 664e7a09590STomeu Vizoso status = "okay"; 665e7a09590STomeu Vizoso}; 666e7a09590STomeu Vizoso 667e7a09590STomeu Vizoso&vopb_mmu { 668e7a09590STomeu Vizoso status = "okay"; 669e7a09590STomeu Vizoso}; 670e7a09590STomeu Vizoso 671e7a09590STomeu Vizoso&vopl { 672e7a09590STomeu Vizoso status = "okay"; 673e7a09590STomeu Vizoso}; 674e7a09590STomeu Vizoso 675e7a09590STomeu Vizoso&vopl_mmu { 676e7a09590STomeu Vizoso status = "okay"; 677e7a09590STomeu Vizoso}; 678