1*ae5de77eSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*ae5de77eSEmmanuel Vadot/* 3*ae5de77eSEmmanuel Vadot * Copyright (c) 2025 Cherry Embedded Solutions GmbH 4*ae5de77eSEmmanuel Vadot */ 5*ae5de77eSEmmanuel Vadot 6*ae5de77eSEmmanuel Vadot/dts-v1/; 7*ae5de77eSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 8*ae5de77eSEmmanuel Vadot#include <dt-bindings/input/input.h> 9*ae5de77eSEmmanuel Vadot#include <dt-bindings/leds/common.h> 10*ae5de77eSEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h> 11*ae5de77eSEmmanuel Vadot#include "px30.dtsi" 12*ae5de77eSEmmanuel Vadot 13*ae5de77eSEmmanuel Vadot/ { 14*ae5de77eSEmmanuel Vadot aliases { 15*ae5de77eSEmmanuel Vadot ethernet0 = &gmac; 16*ae5de77eSEmmanuel Vadot mmc0 = &emmc; 17*ae5de77eSEmmanuel Vadot }; 18*ae5de77eSEmmanuel Vadot 19*ae5de77eSEmmanuel Vadot chosen { 20*ae5de77eSEmmanuel Vadot stdout-path = "serial5:115200n8"; 21*ae5de77eSEmmanuel Vadot }; 22*ae5de77eSEmmanuel Vadot 23*ae5de77eSEmmanuel Vadot backlight: backlight { 24*ae5de77eSEmmanuel Vadot compatible = "pwm-backlight"; 25*ae5de77eSEmmanuel Vadot power-supply = <&vcc5v0_sys>; 26*ae5de77eSEmmanuel Vadot pwms = <&pwm0 0 25000 0>; 27*ae5de77eSEmmanuel Vadot }; 28*ae5de77eSEmmanuel Vadot 29*ae5de77eSEmmanuel Vadot beeper { 30*ae5de77eSEmmanuel Vadot compatible = "pwm-beeper"; 31*ae5de77eSEmmanuel Vadot pwms = <&pwm1 0 1000 0>; 32*ae5de77eSEmmanuel Vadot }; 33*ae5de77eSEmmanuel Vadot 34*ae5de77eSEmmanuel Vadot emmc_pwrseq: emmc-pwrseq { 35*ae5de77eSEmmanuel Vadot compatible = "mmc-pwrseq-emmc"; 36*ae5de77eSEmmanuel Vadot pinctrl-0 = <&emmc_reset>; 37*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 38*ae5de77eSEmmanuel Vadot reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; 39*ae5de77eSEmmanuel Vadot }; 40*ae5de77eSEmmanuel Vadot 41*ae5de77eSEmmanuel Vadot gpio-leds { 42*ae5de77eSEmmanuel Vadot compatible = "gpio-leds"; 43*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 44*ae5de77eSEmmanuel Vadot pinctrl-0 = <&heartbeat_led_pin>; 45*ae5de77eSEmmanuel Vadot 46*ae5de77eSEmmanuel Vadot /* 47*ae5de77eSEmmanuel Vadot * LED14 on the PCB. Typically NOT populated. 48*ae5de77eSEmmanuel Vadot */ 49*ae5de77eSEmmanuel Vadot led-0 { 50*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_BLUE>; 51*ae5de77eSEmmanuel Vadot gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 52*ae5de77eSEmmanuel Vadot label = "heartbeat"; 53*ae5de77eSEmmanuel Vadot linux,default-trigger = "heartbeat"; 54*ae5de77eSEmmanuel Vadot }; 55*ae5de77eSEmmanuel Vadot }; 56*ae5de77eSEmmanuel Vadot 57*ae5de77eSEmmanuel Vadot pwm-leds { 58*ae5de77eSEmmanuel Vadot compatible = "pwm-leds"; 59*ae5de77eSEmmanuel Vadot 60*ae5de77eSEmmanuel Vadot ring_red: led-0 { 61*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_RED>; 62*ae5de77eSEmmanuel Vadot default-state = "off"; 63*ae5de77eSEmmanuel Vadot label = "ring_red"; 64*ae5de77eSEmmanuel Vadot pwms = <&pwm5 0 1000000 0>; 65*ae5de77eSEmmanuel Vadot max-brightness = <255>; 66*ae5de77eSEmmanuel Vadot }; 67*ae5de77eSEmmanuel Vadot 68*ae5de77eSEmmanuel Vadot ring_green: led-1 { 69*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 70*ae5de77eSEmmanuel Vadot default-state = "off"; 71*ae5de77eSEmmanuel Vadot label = "ring_green"; 72*ae5de77eSEmmanuel Vadot pwms = <&pwm6 0 1000000 0>; 73*ae5de77eSEmmanuel Vadot max-brightness = <255>; 74*ae5de77eSEmmanuel Vadot }; 75*ae5de77eSEmmanuel Vadot 76*ae5de77eSEmmanuel Vadot ring_blue: led-2 { 77*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_BLUE>; 78*ae5de77eSEmmanuel Vadot default-state = "off"; 79*ae5de77eSEmmanuel Vadot label = "ring_blue"; 80*ae5de77eSEmmanuel Vadot pwms = <&pwm7 0 1000000 0>; 81*ae5de77eSEmmanuel Vadot max-brightness = <255>; 82*ae5de77eSEmmanuel Vadot }; 83*ae5de77eSEmmanuel Vadot }; 84*ae5de77eSEmmanuel Vadot 85*ae5de77eSEmmanuel Vadot /* also named 5V_Q7 in schematics */ 86*ae5de77eSEmmanuel Vadot vcc5v0_sys: regulator-vccsys { 87*ae5de77eSEmmanuel Vadot compatible = "regulator-fixed"; 88*ae5de77eSEmmanuel Vadot regulator-name = "vcc5v0_sys"; 89*ae5de77eSEmmanuel Vadot regulator-always-on; 90*ae5de77eSEmmanuel Vadot regulator-boot-on; 91*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <5000000>; 92*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <5000000>; 93*ae5de77eSEmmanuel Vadot }; 94*ae5de77eSEmmanuel Vadot}; 95*ae5de77eSEmmanuel Vadot 96*ae5de77eSEmmanuel Vadot&cpu0 { 97*ae5de77eSEmmanuel Vadot cpu-supply = <&vdd_arm>; 98*ae5de77eSEmmanuel Vadot}; 99*ae5de77eSEmmanuel Vadot 100*ae5de77eSEmmanuel Vadot&cpu1 { 101*ae5de77eSEmmanuel Vadot cpu-supply = <&vdd_arm>; 102*ae5de77eSEmmanuel Vadot}; 103*ae5de77eSEmmanuel Vadot 104*ae5de77eSEmmanuel Vadot&cpu2 { 105*ae5de77eSEmmanuel Vadot cpu-supply = <&vdd_arm>; 106*ae5de77eSEmmanuel Vadot}; 107*ae5de77eSEmmanuel Vadot 108*ae5de77eSEmmanuel Vadot&cpu3 { 109*ae5de77eSEmmanuel Vadot cpu-supply = <&vdd_arm>; 110*ae5de77eSEmmanuel Vadot}; 111*ae5de77eSEmmanuel Vadot 112*ae5de77eSEmmanuel Vadot&display_subsystem { 113*ae5de77eSEmmanuel Vadot status = "okay"; 114*ae5de77eSEmmanuel Vadot}; 115*ae5de77eSEmmanuel Vadot 116*ae5de77eSEmmanuel Vadot&dsi_dphy { 117*ae5de77eSEmmanuel Vadot status = "okay"; 118*ae5de77eSEmmanuel Vadot}; 119*ae5de77eSEmmanuel Vadot 120*ae5de77eSEmmanuel Vadot&emmc { 121*ae5de77eSEmmanuel Vadot bus-width = <8>; 122*ae5de77eSEmmanuel Vadot cap-mmc-highspeed; 123*ae5de77eSEmmanuel Vadot /* 124*ae5de77eSEmmanuel Vadot * For hs200 support, U-Boot would have to set the RK809 DCDC4 125*ae5de77eSEmmanuel Vadot * rail to 1.8V from the default of 3.0V. It doesn't do that on 126*ae5de77eSEmmanuel Vadot * devices out in the field, so disable hs200. 127*ae5de77eSEmmanuel Vadot * mmc-hs200-1_8v; 128*ae5de77eSEmmanuel Vadot */ 129*ae5de77eSEmmanuel Vadot mmc-pwrseq = <&emmc_pwrseq>; 130*ae5de77eSEmmanuel Vadot non-removable; 131*ae5de77eSEmmanuel Vadot vmmc-supply = <&vcc_3v3>; 132*ae5de77eSEmmanuel Vadot vqmmc-supply = <&vcc_emmc>; 133*ae5de77eSEmmanuel Vadot status = "okay"; 134*ae5de77eSEmmanuel Vadot}; 135*ae5de77eSEmmanuel Vadot 136*ae5de77eSEmmanuel Vadot&gmac { 137*ae5de77eSEmmanuel Vadot clock_in_out = "output"; 138*ae5de77eSEmmanuel Vadot phy-handle = <&dp83825>; 139*ae5de77eSEmmanuel Vadot phy-supply = <&vcc_3v3>; 140*ae5de77eSEmmanuel Vadot status = "okay"; 141*ae5de77eSEmmanuel Vadot}; 142*ae5de77eSEmmanuel Vadot 143*ae5de77eSEmmanuel Vadot&gpu { 144*ae5de77eSEmmanuel Vadot mali-supply = <&vdd_log>; 145*ae5de77eSEmmanuel Vadot status = "okay"; 146*ae5de77eSEmmanuel Vadot}; 147*ae5de77eSEmmanuel Vadot 148*ae5de77eSEmmanuel Vadot/* I2C0 = PMIC, STUSB4500, RTC */ 149*ae5de77eSEmmanuel Vadot&i2c0 { 150*ae5de77eSEmmanuel Vadot status = "okay"; 151*ae5de77eSEmmanuel Vadot 152*ae5de77eSEmmanuel Vadot rk809: pmic@20 { 153*ae5de77eSEmmanuel Vadot compatible = "rockchip,rk809"; 154*ae5de77eSEmmanuel Vadot reg = <0x20>; 155*ae5de77eSEmmanuel Vadot #clock-cells = <0>; 156*ae5de77eSEmmanuel Vadot clock-output-names = "xin32k"; 157*ae5de77eSEmmanuel Vadot interrupt-parent = <&gpio0>; 158*ae5de77eSEmmanuel Vadot interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>; 159*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 160*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pmic_int>; 161*ae5de77eSEmmanuel Vadot system-power-controller; 162*ae5de77eSEmmanuel Vadot wakeup-source; 163*ae5de77eSEmmanuel Vadot 164*ae5de77eSEmmanuel Vadot vcc1-supply = <&vcc5v0_sys>; 165*ae5de77eSEmmanuel Vadot vcc2-supply = <&vcc5v0_sys>; 166*ae5de77eSEmmanuel Vadot vcc3-supply = <&vcc5v0_sys>; 167*ae5de77eSEmmanuel Vadot vcc4-supply = <&vcc5v0_sys>; 168*ae5de77eSEmmanuel Vadot vcc5-supply = <&vcc_3v3>; 169*ae5de77eSEmmanuel Vadot vcc6-supply = <&vcc_3v3>; 170*ae5de77eSEmmanuel Vadot vcc7-supply = <&vcc_3v3>; 171*ae5de77eSEmmanuel Vadot vcc9-supply = <&vcc5v0_sys>; 172*ae5de77eSEmmanuel Vadot 173*ae5de77eSEmmanuel Vadot regulators { 174*ae5de77eSEmmanuel Vadot vdd_log: DCDC_REG1 { 175*ae5de77eSEmmanuel Vadot regulator-name = "vdd_log"; 176*ae5de77eSEmmanuel Vadot regulator-always-on; 177*ae5de77eSEmmanuel Vadot regulator-boot-on; 178*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <950000>; 179*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1350000>; 180*ae5de77eSEmmanuel Vadot regulator-ramp-delay = <6001>; 181*ae5de77eSEmmanuel Vadot 182*ae5de77eSEmmanuel Vadot regulator-state-mem { 183*ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 184*ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <950000>; 185*ae5de77eSEmmanuel Vadot }; 186*ae5de77eSEmmanuel Vadot }; 187*ae5de77eSEmmanuel Vadot 188*ae5de77eSEmmanuel Vadot vdd_arm: DCDC_REG2 { 189*ae5de77eSEmmanuel Vadot regulator-name = "vdd_arm"; 190*ae5de77eSEmmanuel Vadot regulator-always-on; 191*ae5de77eSEmmanuel Vadot regulator-boot-on; 192*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <950000>; 193*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1350000>; 194*ae5de77eSEmmanuel Vadot regulator-ramp-delay = <6001>; 195*ae5de77eSEmmanuel Vadot 196*ae5de77eSEmmanuel Vadot regulator-state-mem { 197*ae5de77eSEmmanuel Vadot regulator-off-in-suspend; 198*ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <950000>; 199*ae5de77eSEmmanuel Vadot }; 200*ae5de77eSEmmanuel Vadot }; 201*ae5de77eSEmmanuel Vadot 202*ae5de77eSEmmanuel Vadot vcc_ddr: DCDC_REG3 { 203*ae5de77eSEmmanuel Vadot regulator-name = "vcc_ddr"; 204*ae5de77eSEmmanuel Vadot regulator-always-on; 205*ae5de77eSEmmanuel Vadot regulator-boot-on; 206*ae5de77eSEmmanuel Vadot 207*ae5de77eSEmmanuel Vadot regulator-state-mem { 208*ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 209*ae5de77eSEmmanuel Vadot }; 210*ae5de77eSEmmanuel Vadot }; 211*ae5de77eSEmmanuel Vadot 212*ae5de77eSEmmanuel Vadot vcc_3v0_1v8: vcc_emmc: DCDC_REG4 { 213*ae5de77eSEmmanuel Vadot regulator-name = "vcc_3v0_1v8"; 214*ae5de77eSEmmanuel Vadot regulator-always-on; 215*ae5de77eSEmmanuel Vadot regulator-boot-on; 216*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <3000000>; 217*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <3000000>; 218*ae5de77eSEmmanuel Vadot 219*ae5de77eSEmmanuel Vadot regulator-state-mem { 220*ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 221*ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <3000000>; 222*ae5de77eSEmmanuel Vadot }; 223*ae5de77eSEmmanuel Vadot }; 224*ae5de77eSEmmanuel Vadot 225*ae5de77eSEmmanuel Vadot vcc_3v3: DCDC_REG5 { 226*ae5de77eSEmmanuel Vadot regulator-name = "vcc_3v3"; 227*ae5de77eSEmmanuel Vadot regulator-always-on; 228*ae5de77eSEmmanuel Vadot regulator-boot-on; 229*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <3300000>; 230*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <3300000>; 231*ae5de77eSEmmanuel Vadot 232*ae5de77eSEmmanuel Vadot regulator-state-mem { 233*ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 234*ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 235*ae5de77eSEmmanuel Vadot }; 236*ae5de77eSEmmanuel Vadot }; 237*ae5de77eSEmmanuel Vadot 238*ae5de77eSEmmanuel Vadot vcc_1v8: LDO_REG2 { 239*ae5de77eSEmmanuel Vadot regulator-name = "vcc_1v8"; 240*ae5de77eSEmmanuel Vadot regulator-always-on; 241*ae5de77eSEmmanuel Vadot regulator-boot-on; 242*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1800000>; 243*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1800000>; 244*ae5de77eSEmmanuel Vadot 245*ae5de77eSEmmanuel Vadot regulator-state-mem { 246*ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 247*ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 248*ae5de77eSEmmanuel Vadot }; 249*ae5de77eSEmmanuel Vadot }; 250*ae5de77eSEmmanuel Vadot 251*ae5de77eSEmmanuel Vadot vcc_1v0: LDO_REG3 { 252*ae5de77eSEmmanuel Vadot regulator-name = "vcc_1v0"; 253*ae5de77eSEmmanuel Vadot regulator-always-on; 254*ae5de77eSEmmanuel Vadot regulator-boot-on; 255*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1000000>; 256*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1000000>; 257*ae5de77eSEmmanuel Vadot 258*ae5de77eSEmmanuel Vadot regulator-state-mem { 259*ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 260*ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <1000000>; 261*ae5de77eSEmmanuel Vadot }; 262*ae5de77eSEmmanuel Vadot }; 263*ae5de77eSEmmanuel Vadot 264*ae5de77eSEmmanuel Vadot vcc_2v8: LDO_REG4 { 265*ae5de77eSEmmanuel Vadot regulator-name = "vcc_2v8"; 266*ae5de77eSEmmanuel Vadot regulator-always-on; 267*ae5de77eSEmmanuel Vadot regulator-boot-on; 268*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <2800000>; 269*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <2800000>; 270*ae5de77eSEmmanuel Vadot 271*ae5de77eSEmmanuel Vadot regulator-state-mem { 272*ae5de77eSEmmanuel Vadot regulator-off-in-suspend; 273*ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <2800000>; 274*ae5de77eSEmmanuel Vadot }; 275*ae5de77eSEmmanuel Vadot }; 276*ae5de77eSEmmanuel Vadot 277*ae5de77eSEmmanuel Vadot /* 278*ae5de77eSEmmanuel Vadot * vccio_sd also supplies the vmmc supply on prototypes 279*ae5de77eSEmmanuel Vadot * with sd-slots, so needs to stay single voltage for 280*ae5de77eSEmmanuel Vadot * those. Production models don't have sd-slots anymore 281*ae5de77eSEmmanuel Vadot * and only supply vccio2 from this regulator. 282*ae5de77eSEmmanuel Vadot */ 283*ae5de77eSEmmanuel Vadot vccio_sd: LDO_REG5 { 284*ae5de77eSEmmanuel Vadot regulator-name = "vccio_sd"; 285*ae5de77eSEmmanuel Vadot regulator-always-on; 286*ae5de77eSEmmanuel Vadot regulator-boot-on; 287*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <3000000>; 288*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <3000000>; 289*ae5de77eSEmmanuel Vadot 290*ae5de77eSEmmanuel Vadot regulator-state-mem { 291*ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 292*ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <3000000>; 293*ae5de77eSEmmanuel Vadot }; 294*ae5de77eSEmmanuel Vadot }; 295*ae5de77eSEmmanuel Vadot 296*ae5de77eSEmmanuel Vadot /* vcc_sdio also supplies the pull-up resistors for i2c1 */ 297*ae5de77eSEmmanuel Vadot vcc_sdio: LDO_REG6 { 298*ae5de77eSEmmanuel Vadot regulator-name = "vcc_sdio"; 299*ae5de77eSEmmanuel Vadot regulator-always-on; 300*ae5de77eSEmmanuel Vadot regulator-boot-on; 301*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <3000000>; 302*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <3000000>; 303*ae5de77eSEmmanuel Vadot 304*ae5de77eSEmmanuel Vadot regulator-state-mem { 305*ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 306*ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 307*ae5de77eSEmmanuel Vadot }; 308*ae5de77eSEmmanuel Vadot }; 309*ae5de77eSEmmanuel Vadot 310*ae5de77eSEmmanuel Vadot vcc_lcd: LDO_REG7 { 311*ae5de77eSEmmanuel Vadot regulator-name = "vcc_lcd"; 312*ae5de77eSEmmanuel Vadot regulator-always-on; 313*ae5de77eSEmmanuel Vadot regulator-boot-on; 314*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1000000>; 315*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1000000>; 316*ae5de77eSEmmanuel Vadot 317*ae5de77eSEmmanuel Vadot regulator-state-mem { 318*ae5de77eSEmmanuel Vadot regulator-off-in-suspend; 319*ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <1000000>; 320*ae5de77eSEmmanuel Vadot }; 321*ae5de77eSEmmanuel Vadot }; 322*ae5de77eSEmmanuel Vadot 323*ae5de77eSEmmanuel Vadot vcc_1v8_lcd: LDO_REG8 { 324*ae5de77eSEmmanuel Vadot regulator-name = "vcc_1v8_lcd"; 325*ae5de77eSEmmanuel Vadot regulator-always-on; 326*ae5de77eSEmmanuel Vadot regulator-boot-on; 327*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1800000>; 328*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1800000>; 329*ae5de77eSEmmanuel Vadot 330*ae5de77eSEmmanuel Vadot regulator-state-mem { 331*ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 332*ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 333*ae5de77eSEmmanuel Vadot }; 334*ae5de77eSEmmanuel Vadot }; 335*ae5de77eSEmmanuel Vadot 336*ae5de77eSEmmanuel Vadot vcca_1v8: LDO_REG9 { 337*ae5de77eSEmmanuel Vadot regulator-name = "vcca_1v8"; 338*ae5de77eSEmmanuel Vadot regulator-always-on; 339*ae5de77eSEmmanuel Vadot regulator-boot-on; 340*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1800000>; 341*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1800000>; 342*ae5de77eSEmmanuel Vadot 343*ae5de77eSEmmanuel Vadot regulator-state-mem { 344*ae5de77eSEmmanuel Vadot regulator-off-in-suspend; 345*ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 346*ae5de77eSEmmanuel Vadot }; 347*ae5de77eSEmmanuel Vadot }; 348*ae5de77eSEmmanuel Vadot }; 349*ae5de77eSEmmanuel Vadot }; 350*ae5de77eSEmmanuel Vadot}; 351*ae5de77eSEmmanuel Vadot 352*ae5de77eSEmmanuel Vadot&i2c1 { 353*ae5de77eSEmmanuel Vadot clock-frequency = <100000>; 354*ae5de77eSEmmanuel Vadot status = "okay"; 355*ae5de77eSEmmanuel Vadot}; 356*ae5de77eSEmmanuel Vadot 357*ae5de77eSEmmanuel Vadot&i2c2 { 358*ae5de77eSEmmanuel Vadot clock-frequency = <100000>; 359*ae5de77eSEmmanuel Vadot i2c-scl-falling-time-ns = <50>; 360*ae5de77eSEmmanuel Vadot i2c-scl-rising-time-ns = <300>; 361*ae5de77eSEmmanuel Vadot status = "okay"; 362*ae5de77eSEmmanuel Vadot 363*ae5de77eSEmmanuel Vadot touchscreen@14 { 364*ae5de77eSEmmanuel Vadot compatible = "goodix,gt911"; 365*ae5de77eSEmmanuel Vadot reg = <0x14>; 366*ae5de77eSEmmanuel Vadot AVDD28-supply = <&vcc_2v8>; 367*ae5de77eSEmmanuel Vadot interrupt-parent = <&gpio0>; 368*ae5de77eSEmmanuel Vadot interrupts = <RK_PA1 IRQ_TYPE_LEVEL_LOW>; 369*ae5de77eSEmmanuel Vadot irq-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 370*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 371*ae5de77eSEmmanuel Vadot pinctrl-0 = <&tch_int &tch_rst>; 372*ae5de77eSEmmanuel Vadot reset-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 373*ae5de77eSEmmanuel Vadot touchscreen-inverted-x; 374*ae5de77eSEmmanuel Vadot VDDIO-supply = <&vcc_3v3>; 375*ae5de77eSEmmanuel Vadot }; 376*ae5de77eSEmmanuel Vadot}; 377*ae5de77eSEmmanuel Vadot 378*ae5de77eSEmmanuel Vadot/* 379*ae5de77eSEmmanuel Vadot * Enable pull-ups to prevent floating pins when the touch 380*ae5de77eSEmmanuel Vadot * panel is not connected. 381*ae5de77eSEmmanuel Vadot */ 382*ae5de77eSEmmanuel Vadot&i2c2_xfer { 383*ae5de77eSEmmanuel Vadot rockchip,pins = 384*ae5de77eSEmmanuel Vadot <2 RK_PB7 2 &pcfg_pull_up>, 385*ae5de77eSEmmanuel Vadot <2 RK_PC0 2 &pcfg_pull_up>; 386*ae5de77eSEmmanuel Vadot}; 387*ae5de77eSEmmanuel Vadot 388*ae5de77eSEmmanuel Vadot&io_domains { 389*ae5de77eSEmmanuel Vadot vccio1-supply = <&vcc_sdio>; 390*ae5de77eSEmmanuel Vadot vccio2-supply = <&vccio_sd>; 391*ae5de77eSEmmanuel Vadot vccio3-supply = <&vcc_3v3>; 392*ae5de77eSEmmanuel Vadot vccio4-supply = <&vcc_3v3>; 393*ae5de77eSEmmanuel Vadot vccio5-supply = <&vcc_1v8>; 394*ae5de77eSEmmanuel Vadot vccio6-supply = <&vcc_emmc>; 395*ae5de77eSEmmanuel Vadot status = "okay"; 396*ae5de77eSEmmanuel Vadot}; 397*ae5de77eSEmmanuel Vadot 398*ae5de77eSEmmanuel Vadot&mdio { 399*ae5de77eSEmmanuel Vadot dp83825: ethernet-phy@0 { 400*ae5de77eSEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c22"; 401*ae5de77eSEmmanuel Vadot reg = <0x0>; 402*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 403*ae5de77eSEmmanuel Vadot pinctrl-0 = <&phy_rst>; 404*ae5de77eSEmmanuel Vadot reset-assert-us = <50000>; 405*ae5de77eSEmmanuel Vadot reset-deassert-us = <50000>; 406*ae5de77eSEmmanuel Vadot reset-gpios = <&gpio2 RK_PB6 GPIO_ACTIVE_LOW>; 407*ae5de77eSEmmanuel Vadot }; 408*ae5de77eSEmmanuel Vadot}; 409*ae5de77eSEmmanuel Vadot 410*ae5de77eSEmmanuel Vadot&pinctrl { 411*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 412*ae5de77eSEmmanuel Vadot pinctrl-0 = <&cobra_pin_hog>; 413*ae5de77eSEmmanuel Vadot 414*ae5de77eSEmmanuel Vadot hog { 415*ae5de77eSEmmanuel Vadot cobra_pin_hog: cobra-pin-hog { 416*ae5de77eSEmmanuel Vadot rockchip,pins = 417*ae5de77eSEmmanuel Vadot /* USB_HUB2_RESET */ 418*ae5de77eSEmmanuel Vadot <0 RK_PA5 RK_FUNC_GPIO &pcfg_output_high>, 419*ae5de77eSEmmanuel Vadot /* USB_HUB1_RESET */ 420*ae5de77eSEmmanuel Vadot <0 RK_PB4 RK_FUNC_GPIO &pcfg_output_high>, 421*ae5de77eSEmmanuel Vadot /* The default pull-down can keep the IC in reset. */ 422*ae5de77eSEmmanuel Vadot <3 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>, 423*ae5de77eSEmmanuel Vadot /* USB-A 5V enable */ 424*ae5de77eSEmmanuel Vadot <3 RK_PC0 RK_FUNC_GPIO &pcfg_output_high>, 425*ae5de77eSEmmanuel Vadot /* USB-A data enable */ 426*ae5de77eSEmmanuel Vadot <3 RK_PD3 RK_FUNC_GPIO &pcfg_output_high>; 427*ae5de77eSEmmanuel Vadot }; 428*ae5de77eSEmmanuel Vadot }; 429*ae5de77eSEmmanuel Vadot 430*ae5de77eSEmmanuel Vadot emmc { 431*ae5de77eSEmmanuel Vadot emmc_reset: emmc-reset { 432*ae5de77eSEmmanuel Vadot rockchip,pins = 433*ae5de77eSEmmanuel Vadot <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 434*ae5de77eSEmmanuel Vadot }; 435*ae5de77eSEmmanuel Vadot }; 436*ae5de77eSEmmanuel Vadot 437*ae5de77eSEmmanuel Vadot ethernet { 438*ae5de77eSEmmanuel Vadot phy_rst: phy-rst { 439*ae5de77eSEmmanuel Vadot rockchip,pins = 440*ae5de77eSEmmanuel Vadot <2 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 441*ae5de77eSEmmanuel Vadot }; 442*ae5de77eSEmmanuel Vadot }; 443*ae5de77eSEmmanuel Vadot 444*ae5de77eSEmmanuel Vadot leds { 445*ae5de77eSEmmanuel Vadot heartbeat_led_pin: heartbeat-led-pin { 446*ae5de77eSEmmanuel Vadot rockchip,pins = 447*ae5de77eSEmmanuel Vadot <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 448*ae5de77eSEmmanuel Vadot }; 449*ae5de77eSEmmanuel Vadot }; 450*ae5de77eSEmmanuel Vadot 451*ae5de77eSEmmanuel Vadot panel { 452*ae5de77eSEmmanuel Vadot dsp_rst: dsp-rst { 453*ae5de77eSEmmanuel Vadot rockchip,pins = 454*ae5de77eSEmmanuel Vadot <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>; 455*ae5de77eSEmmanuel Vadot }; 456*ae5de77eSEmmanuel Vadot 457*ae5de77eSEmmanuel Vadot tch_int: tch-int { 458*ae5de77eSEmmanuel Vadot rockchip,pins = 459*ae5de77eSEmmanuel Vadot <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 460*ae5de77eSEmmanuel Vadot }; 461*ae5de77eSEmmanuel Vadot 462*ae5de77eSEmmanuel Vadot tch_rst: tch-rst { 463*ae5de77eSEmmanuel Vadot rockchip,pins = 464*ae5de77eSEmmanuel Vadot <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 465*ae5de77eSEmmanuel Vadot }; 466*ae5de77eSEmmanuel Vadot }; 467*ae5de77eSEmmanuel Vadot 468*ae5de77eSEmmanuel Vadot pmic { 469*ae5de77eSEmmanuel Vadot pmic_int: pmic-int { 470*ae5de77eSEmmanuel Vadot rockchip,pins = 471*ae5de77eSEmmanuel Vadot <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 472*ae5de77eSEmmanuel Vadot }; 473*ae5de77eSEmmanuel Vadot }; 474*ae5de77eSEmmanuel Vadot}; 475*ae5de77eSEmmanuel Vadot 476*ae5de77eSEmmanuel Vadot&pmu_io_domains { 477*ae5de77eSEmmanuel Vadot pmuio1-supply = <&vcc_3v3>; 478*ae5de77eSEmmanuel Vadot pmuio2-supply = <&vcc_3v3>; 479*ae5de77eSEmmanuel Vadot status = "okay"; 480*ae5de77eSEmmanuel Vadot}; 481*ae5de77eSEmmanuel Vadot 482*ae5de77eSEmmanuel Vadot&pwm0 { 483*ae5de77eSEmmanuel Vadot status = "okay"; 484*ae5de77eSEmmanuel Vadot}; 485*ae5de77eSEmmanuel Vadot 486*ae5de77eSEmmanuel Vadot&pwm1 { 487*ae5de77eSEmmanuel Vadot status = "okay"; 488*ae5de77eSEmmanuel Vadot}; 489*ae5de77eSEmmanuel Vadot 490*ae5de77eSEmmanuel Vadot&pwm5 { 491*ae5de77eSEmmanuel Vadot status = "okay"; 492*ae5de77eSEmmanuel Vadot}; 493*ae5de77eSEmmanuel Vadot 494*ae5de77eSEmmanuel Vadot&pwm6 { 495*ae5de77eSEmmanuel Vadot status = "okay"; 496*ae5de77eSEmmanuel Vadot}; 497*ae5de77eSEmmanuel Vadot 498*ae5de77eSEmmanuel Vadot&pwm7 { 499*ae5de77eSEmmanuel Vadot status = "okay"; 500*ae5de77eSEmmanuel Vadot}; 501*ae5de77eSEmmanuel Vadot 502*ae5de77eSEmmanuel Vadot&saradc { 503*ae5de77eSEmmanuel Vadot vref-supply = <&vcc_1v8>; 504*ae5de77eSEmmanuel Vadot status = "okay"; 505*ae5de77eSEmmanuel Vadot}; 506*ae5de77eSEmmanuel Vadot 507*ae5de77eSEmmanuel Vadot&tsadc { 508*ae5de77eSEmmanuel Vadot status = "okay"; 509*ae5de77eSEmmanuel Vadot}; 510*ae5de77eSEmmanuel Vadot 511*ae5de77eSEmmanuel Vadot&u2phy { 512*ae5de77eSEmmanuel Vadot status = "okay"; 513*ae5de77eSEmmanuel Vadot}; 514*ae5de77eSEmmanuel Vadot 515*ae5de77eSEmmanuel Vadot&u2phy_host { 516*ae5de77eSEmmanuel Vadot status = "okay"; 517*ae5de77eSEmmanuel Vadot}; 518*ae5de77eSEmmanuel Vadot 519*ae5de77eSEmmanuel Vadot&u2phy_otg { 520*ae5de77eSEmmanuel Vadot status = "okay"; 521*ae5de77eSEmmanuel Vadot}; 522*ae5de77eSEmmanuel Vadot 523*ae5de77eSEmmanuel Vadot&uart1 { 524*ae5de77eSEmmanuel Vadot /delete-property/ dmas; 525*ae5de77eSEmmanuel Vadot /delete-property/ dma-names; 526*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 527*ae5de77eSEmmanuel Vadot pinctrl-0 = <&uart1_xfer>; 528*ae5de77eSEmmanuel Vadot status = "okay"; 529*ae5de77eSEmmanuel Vadot}; 530*ae5de77eSEmmanuel Vadot 531*ae5de77eSEmmanuel Vadot&uart5 { 532*ae5de77eSEmmanuel Vadot pinctrl-0 = <&uart5_xfer>; 533*ae5de77eSEmmanuel Vadot status = "okay"; 534*ae5de77eSEmmanuel Vadot}; 535*ae5de77eSEmmanuel Vadot 536*ae5de77eSEmmanuel Vadot&usb20_otg { 537*ae5de77eSEmmanuel Vadot status = "okay"; 538*ae5de77eSEmmanuel Vadot}; 539*ae5de77eSEmmanuel Vadot 540*ae5de77eSEmmanuel Vadot&usb_host0_ehci { 541*ae5de77eSEmmanuel Vadot status = "okay"; 542*ae5de77eSEmmanuel Vadot}; 543*ae5de77eSEmmanuel Vadot 544*ae5de77eSEmmanuel Vadot&usb_host0_ohci { 545*ae5de77eSEmmanuel Vadot status = "okay"; 546*ae5de77eSEmmanuel Vadot}; 547*ae5de77eSEmmanuel Vadot 548*ae5de77eSEmmanuel Vadot&vopb { 549*ae5de77eSEmmanuel Vadot status = "okay"; 550*ae5de77eSEmmanuel Vadot}; 551*ae5de77eSEmmanuel Vadot 552*ae5de77eSEmmanuel Vadot&vopb_mmu { 553*ae5de77eSEmmanuel Vadot status = "okay"; 554*ae5de77eSEmmanuel Vadot}; 555*ae5de77eSEmmanuel Vadot 556*ae5de77eSEmmanuel Vadot&vopl { 557*ae5de77eSEmmanuel Vadot status = "disabled"; 558*ae5de77eSEmmanuel Vadot}; 559*ae5de77eSEmmanuel Vadot 560*ae5de77eSEmmanuel Vadot&vopl_mmu { 561*ae5de77eSEmmanuel Vadot status = "disabled"; 562*ae5de77eSEmmanuel Vadot}; 563*ae5de77eSEmmanuel Vadot 564*ae5de77eSEmmanuel Vadot&wdt { 565*ae5de77eSEmmanuel Vadot status = "okay"; 566*ae5de77eSEmmanuel Vadot}; 567