1*35202606SHeiko Stuebner#include <dt-bindings/input/input.h> 2*35202606SHeiko Stuebner#include <dt-bindings/leds/common.h> 3*35202606SHeiko Stuebner#include <dt-bindings/gpio/gpio.h> 4*35202606SHeiko Stuebner#include "rk3568.dtsi" 5*35202606SHeiko Stuebner 6*35202606SHeiko Stuebner/ { 7*35202606SHeiko Stuebner aliases { 8*35202606SHeiko Stuebner mmc0 = &sdhci; 9*35202606SHeiko Stuebner rtc0 = &rtc_rv8263; 10*35202606SHeiko Stuebner }; 11*35202606SHeiko Stuebner 12*35202606SHeiko Stuebner chosen { 13*35202606SHeiko Stuebner stdout-path = "serial2:115200n8"; 14*35202606SHeiko Stuebner }; 15*35202606SHeiko Stuebner 16*35202606SHeiko Stuebner keys { 17*35202606SHeiko Stuebner compatible = "gpio-keys"; 18*35202606SHeiko Stuebner pinctrl-0 = <©_button_pin>, <&reset_button_pin>; 19*35202606SHeiko Stuebner pinctrl-names = "default"; 20*35202606SHeiko Stuebner 21*35202606SHeiko Stuebner key-copy { 22*35202606SHeiko Stuebner label = "copy"; 23*35202606SHeiko Stuebner gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>; 24*35202606SHeiko Stuebner linux,code = <KEY_COPY>; 25*35202606SHeiko Stuebner }; 26*35202606SHeiko Stuebner 27*35202606SHeiko Stuebner key-reset { 28*35202606SHeiko Stuebner label = "reset"; 29*35202606SHeiko Stuebner gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>; 30*35202606SHeiko Stuebner linux,code = <KEY_RESTART>; 31*35202606SHeiko Stuebner }; 32*35202606SHeiko Stuebner }; 33*35202606SHeiko Stuebner 34*35202606SHeiko Stuebner leds: leds { 35*35202606SHeiko Stuebner compatible = "gpio-leds"; 36*35202606SHeiko Stuebner 37*35202606SHeiko Stuebner led-0 { 38*35202606SHeiko Stuebner color = <LED_COLOR_ID_GREEN>; 39*35202606SHeiko Stuebner function = LED_FUNCTION_DISK; 40*35202606SHeiko Stuebner gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>; 41*35202606SHeiko Stuebner label = "hdd1:green:disk"; 42*35202606SHeiko Stuebner linux,default-trigger = "disk-activity"; 43*35202606SHeiko Stuebner pinctrl-names = "default"; 44*35202606SHeiko Stuebner pinctrl-0 = <&hdd1_led_pin>; 45*35202606SHeiko Stuebner }; 46*35202606SHeiko Stuebner }; 47*35202606SHeiko Stuebner 48*35202606SHeiko Stuebner dc_12v: regulator-dc-12v { 49*35202606SHeiko Stuebner compatible = "regulator-fixed"; 50*35202606SHeiko Stuebner regulator-name = "dc_12v"; 51*35202606SHeiko Stuebner regulator-always-on; 52*35202606SHeiko Stuebner regulator-boot-on; 53*35202606SHeiko Stuebner regulator-min-microvolt = <12000000>; 54*35202606SHeiko Stuebner regulator-max-microvolt = <12000000>; 55*35202606SHeiko Stuebner }; 56*35202606SHeiko Stuebner 57*35202606SHeiko Stuebner vcc3v3_sys: regulator-vcc3v3-sys { 58*35202606SHeiko Stuebner compatible = "regulator-fixed"; 59*35202606SHeiko Stuebner regulator-name = "vcc3v3_sys"; 60*35202606SHeiko Stuebner regulator-always-on; 61*35202606SHeiko Stuebner regulator-boot-on; 62*35202606SHeiko Stuebner regulator-min-microvolt = <3300000>; 63*35202606SHeiko Stuebner regulator-max-microvolt = <3300000>; 64*35202606SHeiko Stuebner vin-supply = <&dc_12v>; 65*35202606SHeiko Stuebner }; 66*35202606SHeiko Stuebner 67*35202606SHeiko Stuebner vcc5v0_host: regulator-vcc5v0-host { 68*35202606SHeiko Stuebner compatible = "regulator-fixed"; 69*35202606SHeiko Stuebner enable-active-high; 70*35202606SHeiko Stuebner pinctrl-names = "default"; 71*35202606SHeiko Stuebner pinctrl-0 = <&vcc5v0_host_en>; 72*35202606SHeiko Stuebner gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; 73*35202606SHeiko Stuebner regulator-name = "vcc5v0_host"; 74*35202606SHeiko Stuebner regulator-always-on; 75*35202606SHeiko Stuebner regulator-boot-on; 76*35202606SHeiko Stuebner regulator-min-microvolt = <5000000>; 77*35202606SHeiko Stuebner regulator-max-microvolt = <5000000>; 78*35202606SHeiko Stuebner vin-supply = <&vcc5v0_usb>; 79*35202606SHeiko Stuebner }; 80*35202606SHeiko Stuebner 81*35202606SHeiko Stuebner vcc5v0_otg: regulator-vcc5v0-otg { 82*35202606SHeiko Stuebner compatible = "regulator-fixed"; 83*35202606SHeiko Stuebner enable-active-high; 84*35202606SHeiko Stuebner gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 85*35202606SHeiko Stuebner pinctrl-names = "default"; 86*35202606SHeiko Stuebner pinctrl-0 = <&vcc5v0_otg_en>; 87*35202606SHeiko Stuebner regulator-name = "vcc5v0_otg"; 88*35202606SHeiko Stuebner regulator-always-on; 89*35202606SHeiko Stuebner regulator-boot-on; 90*35202606SHeiko Stuebner regulator-min-microvolt = <5000000>; 91*35202606SHeiko Stuebner regulator-max-microvolt = <5000000>; 92*35202606SHeiko Stuebner vin-supply = <&vcc5v0_usb>; 93*35202606SHeiko Stuebner }; 94*35202606SHeiko Stuebner 95*35202606SHeiko Stuebner vcc5v0_sys: regulator-vcc5v0-sys { 96*35202606SHeiko Stuebner compatible = "regulator-fixed"; 97*35202606SHeiko Stuebner regulator-name = "vcc5v0_sys"; 98*35202606SHeiko Stuebner regulator-always-on; 99*35202606SHeiko Stuebner regulator-boot-on; 100*35202606SHeiko Stuebner regulator-min-microvolt = <5000000>; 101*35202606SHeiko Stuebner regulator-max-microvolt = <5000000>; 102*35202606SHeiko Stuebner vin-supply = <&dc_12v>; 103*35202606SHeiko Stuebner }; 104*35202606SHeiko Stuebner 105*35202606SHeiko Stuebner vcc5v0_usb: regulator-vcc5v0-usb { 106*35202606SHeiko Stuebner compatible = "regulator-fixed"; 107*35202606SHeiko Stuebner regulator-name = "vcc5v0_usb"; 108*35202606SHeiko Stuebner regulator-always-on; 109*35202606SHeiko Stuebner regulator-boot-on; 110*35202606SHeiko Stuebner regulator-min-microvolt = <5000000>; 111*35202606SHeiko Stuebner regulator-max-microvolt = <5000000>; 112*35202606SHeiko Stuebner vin-supply = <&dc_12v>; 113*35202606SHeiko Stuebner }; 114*35202606SHeiko Stuebner}; 115*35202606SHeiko Stuebner 116*35202606SHeiko Stuebner/* connected to usb_host0_xhci */ 117*35202606SHeiko Stuebner&combphy0 { 118*35202606SHeiko Stuebner status = "okay"; 119*35202606SHeiko Stuebner}; 120*35202606SHeiko Stuebner 121*35202606SHeiko Stuebner/* connected to sata1 */ 122*35202606SHeiko Stuebner&combphy1 { 123*35202606SHeiko Stuebner status = "okay"; 124*35202606SHeiko Stuebner}; 125*35202606SHeiko Stuebner 126*35202606SHeiko Stuebner&cpu0 { 127*35202606SHeiko Stuebner cpu-supply = <&vdd_cpu>; 128*35202606SHeiko Stuebner}; 129*35202606SHeiko Stuebner 130*35202606SHeiko Stuebner&cpu1 { 131*35202606SHeiko Stuebner cpu-supply = <&vdd_cpu>; 132*35202606SHeiko Stuebner}; 133*35202606SHeiko Stuebner 134*35202606SHeiko Stuebner&cpu2 { 135*35202606SHeiko Stuebner cpu-supply = <&vdd_cpu>; 136*35202606SHeiko Stuebner}; 137*35202606SHeiko Stuebner 138*35202606SHeiko Stuebner&cpu3 { 139*35202606SHeiko Stuebner cpu-supply = <&vdd_cpu>; 140*35202606SHeiko Stuebner}; 141*35202606SHeiko Stuebner 142*35202606SHeiko Stuebner/* 143*35202606SHeiko Stuebner * The MCU can provide system temperature too, but only by polling and of 144*35202606SHeiko Stuebner * course also cannot set trip points. So attach to the cpu thermal-zone 145*35202606SHeiko Stuebner * instead to control the fan. 146*35202606SHeiko Stuebner */ 147*35202606SHeiko Stuebner&cpu_thermal { 148*35202606SHeiko Stuebner trips { 149*35202606SHeiko Stuebner case_fan0: case-fan0 { 150*35202606SHeiko Stuebner hysteresis = <2000>; 151*35202606SHeiko Stuebner temperature = <35000>; 152*35202606SHeiko Stuebner type = "active"; 153*35202606SHeiko Stuebner }; 154*35202606SHeiko Stuebner 155*35202606SHeiko Stuebner case_fan1: case-fan1 { 156*35202606SHeiko Stuebner hysteresis = <2000>; 157*35202606SHeiko Stuebner temperature = <45000>; 158*35202606SHeiko Stuebner type = "active"; 159*35202606SHeiko Stuebner }; 160*35202606SHeiko Stuebner 161*35202606SHeiko Stuebner case_fan2: case-fan2 { 162*35202606SHeiko Stuebner hysteresis = <2000>; 163*35202606SHeiko Stuebner temperature = <65000>; 164*35202606SHeiko Stuebner type = "active"; 165*35202606SHeiko Stuebner }; 166*35202606SHeiko Stuebner }; 167*35202606SHeiko Stuebner 168*35202606SHeiko Stuebner cooling-maps { 169*35202606SHeiko Stuebner /* 170*35202606SHeiko Stuebner * Always provide some air movement, due to small case 171*35202606SHeiko Stuebner * full of harddrives. 172*35202606SHeiko Stuebner */ 173*35202606SHeiko Stuebner map1 { 174*35202606SHeiko Stuebner cooling-device = <&fan THERMAL_NO_LIMIT 1>; 175*35202606SHeiko Stuebner trip = <&case_fan0>; 176*35202606SHeiko Stuebner }; 177*35202606SHeiko Stuebner 178*35202606SHeiko Stuebner map2 { 179*35202606SHeiko Stuebner cooling-device = <&fan 2 3>; 180*35202606SHeiko Stuebner trip = <&case_fan1>; 181*35202606SHeiko Stuebner }; 182*35202606SHeiko Stuebner 183*35202606SHeiko Stuebner map3 { 184*35202606SHeiko Stuebner cooling-device = <&fan 4 THERMAL_NO_LIMIT>; 185*35202606SHeiko Stuebner trip = <&case_fan2>; 186*35202606SHeiko Stuebner }; 187*35202606SHeiko Stuebner }; 188*35202606SHeiko Stuebner}; 189*35202606SHeiko Stuebner 190*35202606SHeiko Stuebner&gpu { 191*35202606SHeiko Stuebner mali-supply = <&vdd_gpu>; 192*35202606SHeiko Stuebner status = "okay"; 193*35202606SHeiko Stuebner}; 194*35202606SHeiko Stuebner 195*35202606SHeiko Stuebner&i2c0 { 196*35202606SHeiko Stuebner status = "okay"; 197*35202606SHeiko Stuebner 198*35202606SHeiko Stuebner pmic@20 { 199*35202606SHeiko Stuebner compatible = "rockchip,rk809"; 200*35202606SHeiko Stuebner reg = <0x20>; 201*35202606SHeiko Stuebner interrupt-parent = <&gpio0>; 202*35202606SHeiko Stuebner interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 203*35202606SHeiko Stuebner #clock-cells = <1>; 204*35202606SHeiko Stuebner pinctrl-names = "default"; 205*35202606SHeiko Stuebner pinctrl-0 = <&pmic_int_l>; 206*35202606SHeiko Stuebner system-power-controller; 207*35202606SHeiko Stuebner vcc1-supply = <&vcc3v3_sys>; 208*35202606SHeiko Stuebner vcc2-supply = <&vcc3v3_sys>; 209*35202606SHeiko Stuebner vcc3-supply = <&vcc3v3_sys>; 210*35202606SHeiko Stuebner vcc4-supply = <&vcc3v3_sys>; 211*35202606SHeiko Stuebner vcc5-supply = <&vcc3v3_sys>; 212*35202606SHeiko Stuebner vcc6-supply = <&vcc3v3_sys>; 213*35202606SHeiko Stuebner vcc7-supply = <&vcc3v3_sys>; 214*35202606SHeiko Stuebner vcc8-supply = <&vcc3v3_sys>; 215*35202606SHeiko Stuebner vcc9-supply = <&vcc3v3_sys>; 216*35202606SHeiko Stuebner wakeup-source; 217*35202606SHeiko Stuebner 218*35202606SHeiko Stuebner regulators { 219*35202606SHeiko Stuebner vdd_logic: DCDC_REG1 { 220*35202606SHeiko Stuebner regulator-name = "vdd_logic"; 221*35202606SHeiko Stuebner regulator-always-on; 222*35202606SHeiko Stuebner regulator-boot-on; 223*35202606SHeiko Stuebner regulator-initial-mode = <0x2>; 224*35202606SHeiko Stuebner regulator-min-microvolt = <500000>; 225*35202606SHeiko Stuebner regulator-max-microvolt = <1350000>; 226*35202606SHeiko Stuebner regulator-ramp-delay = <6001>; 227*35202606SHeiko Stuebner 228*35202606SHeiko Stuebner regulator-state-mem { 229*35202606SHeiko Stuebner regulator-off-in-suspend; 230*35202606SHeiko Stuebner }; 231*35202606SHeiko Stuebner }; 232*35202606SHeiko Stuebner 233*35202606SHeiko Stuebner vdd_gpu: DCDC_REG2 { 234*35202606SHeiko Stuebner regulator-name = "vdd_gpu"; 235*35202606SHeiko Stuebner regulator-always-on; 236*35202606SHeiko Stuebner regulator-initial-mode = <0x2>; 237*35202606SHeiko Stuebner regulator-min-microvolt = <500000>; 238*35202606SHeiko Stuebner regulator-max-microvolt = <1350000>; 239*35202606SHeiko Stuebner regulator-ramp-delay = <6001>; 240*35202606SHeiko Stuebner 241*35202606SHeiko Stuebner regulator-state-mem { 242*35202606SHeiko Stuebner regulator-off-in-suspend; 243*35202606SHeiko Stuebner }; 244*35202606SHeiko Stuebner }; 245*35202606SHeiko Stuebner 246*35202606SHeiko Stuebner vcc_ddr: DCDC_REG3 { 247*35202606SHeiko Stuebner regulator-name = "vcc_ddr"; 248*35202606SHeiko Stuebner regulator-always-on; 249*35202606SHeiko Stuebner regulator-boot-on; 250*35202606SHeiko Stuebner regulator-initial-mode = <0x2>; 251*35202606SHeiko Stuebner 252*35202606SHeiko Stuebner regulator-state-mem { 253*35202606SHeiko Stuebner regulator-on-in-suspend; 254*35202606SHeiko Stuebner }; 255*35202606SHeiko Stuebner }; 256*35202606SHeiko Stuebner 257*35202606SHeiko Stuebner vdd_npu: DCDC_REG4 { 258*35202606SHeiko Stuebner regulator-name = "vdd_npu"; 259*35202606SHeiko Stuebner regulator-initial-mode = <0x2>; 260*35202606SHeiko Stuebner regulator-min-microvolt = <500000>; 261*35202606SHeiko Stuebner regulator-max-microvolt = <1350000>; 262*35202606SHeiko Stuebner regulator-ramp-delay = <6001>; 263*35202606SHeiko Stuebner 264*35202606SHeiko Stuebner regulator-state-mem { 265*35202606SHeiko Stuebner regulator-off-in-suspend; 266*35202606SHeiko Stuebner }; 267*35202606SHeiko Stuebner }; 268*35202606SHeiko Stuebner 269*35202606SHeiko Stuebner vcc_1v8: DCDC_REG5 { 270*35202606SHeiko Stuebner regulator-name = "vcc_1v8"; 271*35202606SHeiko Stuebner regulator-always-on; 272*35202606SHeiko Stuebner regulator-boot-on; 273*35202606SHeiko Stuebner regulator-min-microvolt = <1800000>; 274*35202606SHeiko Stuebner regulator-max-microvolt = <1800000>; 275*35202606SHeiko Stuebner 276*35202606SHeiko Stuebner regulator-state-mem { 277*35202606SHeiko Stuebner regulator-off-in-suspend; 278*35202606SHeiko Stuebner }; 279*35202606SHeiko Stuebner }; 280*35202606SHeiko Stuebner 281*35202606SHeiko Stuebner vdda0v9_image: LDO_REG1 { 282*35202606SHeiko Stuebner regulator-name = "vdda0v9_image"; 283*35202606SHeiko Stuebner regulator-always-on; 284*35202606SHeiko Stuebner regulator-min-microvolt = <900000>; 285*35202606SHeiko Stuebner regulator-max-microvolt = <900000>; 286*35202606SHeiko Stuebner 287*35202606SHeiko Stuebner regulator-state-mem { 288*35202606SHeiko Stuebner regulator-off-in-suspend; 289*35202606SHeiko Stuebner }; 290*35202606SHeiko Stuebner }; 291*35202606SHeiko Stuebner 292*35202606SHeiko Stuebner vdda_0v9: LDO_REG2 { 293*35202606SHeiko Stuebner regulator-name = "vdda_0v9"; 294*35202606SHeiko Stuebner regulator-always-on; 295*35202606SHeiko Stuebner regulator-boot-on; 296*35202606SHeiko Stuebner regulator-min-microvolt = <900000>; 297*35202606SHeiko Stuebner regulator-max-microvolt = <900000>; 298*35202606SHeiko Stuebner 299*35202606SHeiko Stuebner regulator-state-mem { 300*35202606SHeiko Stuebner regulator-off-in-suspend; 301*35202606SHeiko Stuebner }; 302*35202606SHeiko Stuebner }; 303*35202606SHeiko Stuebner 304*35202606SHeiko Stuebner vdda0v9_pmu: LDO_REG3 { 305*35202606SHeiko Stuebner regulator-name = "vdda0v9_pmu"; 306*35202606SHeiko Stuebner regulator-always-on; 307*35202606SHeiko Stuebner regulator-boot-on; 308*35202606SHeiko Stuebner regulator-min-microvolt = <900000>; 309*35202606SHeiko Stuebner regulator-max-microvolt = <900000>; 310*35202606SHeiko Stuebner 311*35202606SHeiko Stuebner regulator-state-mem { 312*35202606SHeiko Stuebner regulator-on-in-suspend; 313*35202606SHeiko Stuebner regulator-suspend-microvolt = <900000>; 314*35202606SHeiko Stuebner }; 315*35202606SHeiko Stuebner }; 316*35202606SHeiko Stuebner 317*35202606SHeiko Stuebner vccio_acodec: LDO_REG4 { 318*35202606SHeiko Stuebner regulator-name = "vccio_acodec"; 319*35202606SHeiko Stuebner regulator-always-on; 320*35202606SHeiko Stuebner regulator-boot-on; 321*35202606SHeiko Stuebner regulator-min-microvolt = <3300000>; 322*35202606SHeiko Stuebner regulator-max-microvolt = <3300000>; 323*35202606SHeiko Stuebner 324*35202606SHeiko Stuebner regulator-state-mem { 325*35202606SHeiko Stuebner regulator-off-in-suspend; 326*35202606SHeiko Stuebner }; 327*35202606SHeiko Stuebner }; 328*35202606SHeiko Stuebner 329*35202606SHeiko Stuebner vccio_sd: LDO_REG5 { 330*35202606SHeiko Stuebner regulator-name = "vccio_sd"; 331*35202606SHeiko Stuebner regulator-min-microvolt = <1800000>; 332*35202606SHeiko Stuebner regulator-max-microvolt = <3300000>; 333*35202606SHeiko Stuebner 334*35202606SHeiko Stuebner regulator-state-mem { 335*35202606SHeiko Stuebner regulator-off-in-suspend; 336*35202606SHeiko Stuebner }; 337*35202606SHeiko Stuebner }; 338*35202606SHeiko Stuebner 339*35202606SHeiko Stuebner vcc3v3_pmu: LDO_REG6 { 340*35202606SHeiko Stuebner regulator-name = "vcc3v3_pmu"; 341*35202606SHeiko Stuebner regulator-always-on; 342*35202606SHeiko Stuebner regulator-boot-on; 343*35202606SHeiko Stuebner regulator-min-microvolt = <3300000>; 344*35202606SHeiko Stuebner regulator-max-microvolt = <3300000>; 345*35202606SHeiko Stuebner 346*35202606SHeiko Stuebner regulator-state-mem { 347*35202606SHeiko Stuebner regulator-on-in-suspend; 348*35202606SHeiko Stuebner regulator-suspend-microvolt = <3300000>; 349*35202606SHeiko Stuebner }; 350*35202606SHeiko Stuebner }; 351*35202606SHeiko Stuebner 352*35202606SHeiko Stuebner vcca_1v8: LDO_REG7 { 353*35202606SHeiko Stuebner regulator-name = "vcca_1v8"; 354*35202606SHeiko Stuebner regulator-always-on; 355*35202606SHeiko Stuebner regulator-boot-on; 356*35202606SHeiko Stuebner regulator-min-microvolt = <1800000>; 357*35202606SHeiko Stuebner regulator-max-microvolt = <1800000>; 358*35202606SHeiko Stuebner 359*35202606SHeiko Stuebner regulator-state-mem { 360*35202606SHeiko Stuebner regulator-off-in-suspend; 361*35202606SHeiko Stuebner }; 362*35202606SHeiko Stuebner }; 363*35202606SHeiko Stuebner 364*35202606SHeiko Stuebner vcca1v8_pmu: LDO_REG8 { 365*35202606SHeiko Stuebner regulator-name = "vcca1v8_pmu"; 366*35202606SHeiko Stuebner regulator-always-on; 367*35202606SHeiko Stuebner regulator-boot-on; 368*35202606SHeiko Stuebner regulator-min-microvolt = <1800000>; 369*35202606SHeiko Stuebner regulator-max-microvolt = <1800000>; 370*35202606SHeiko Stuebner 371*35202606SHeiko Stuebner regulator-state-mem { 372*35202606SHeiko Stuebner regulator-on-in-suspend; 373*35202606SHeiko Stuebner regulator-suspend-microvolt = <1800000>; 374*35202606SHeiko Stuebner }; 375*35202606SHeiko Stuebner }; 376*35202606SHeiko Stuebner 377*35202606SHeiko Stuebner vcca1v8_image: LDO_REG9 { 378*35202606SHeiko Stuebner regulator-name = "vcca1v8_image"; 379*35202606SHeiko Stuebner regulator-always-on; 380*35202606SHeiko Stuebner regulator-min-microvolt = <1800000>; 381*35202606SHeiko Stuebner regulator-max-microvolt = <1800000>; 382*35202606SHeiko Stuebner 383*35202606SHeiko Stuebner regulator-state-mem { 384*35202606SHeiko Stuebner regulator-off-in-suspend; 385*35202606SHeiko Stuebner }; 386*35202606SHeiko Stuebner }; 387*35202606SHeiko Stuebner 388*35202606SHeiko Stuebner vcc_3v3: SWITCH_REG1 { 389*35202606SHeiko Stuebner regulator-name = "vcc_3v3"; 390*35202606SHeiko Stuebner regulator-always-on; 391*35202606SHeiko Stuebner regulator-boot-on; 392*35202606SHeiko Stuebner 393*35202606SHeiko Stuebner regulator-state-mem { 394*35202606SHeiko Stuebner regulator-off-in-suspend; 395*35202606SHeiko Stuebner }; 396*35202606SHeiko Stuebner }; 397*35202606SHeiko Stuebner 398*35202606SHeiko Stuebner vcc3v3_sd: SWITCH_REG2 { 399*35202606SHeiko Stuebner regulator-name = "vcc3v3_sd"; 400*35202606SHeiko Stuebner /* 401*35202606SHeiko Stuebner * turning this off, breaks access to both 402*35202606SHeiko Stuebner * PCIe controllers, refclk generator perhaps 403*35202606SHeiko Stuebner */ 404*35202606SHeiko Stuebner regulator-always-on; 405*35202606SHeiko Stuebner regulator-boot-on; 406*35202606SHeiko Stuebner 407*35202606SHeiko Stuebner regulator-state-mem { 408*35202606SHeiko Stuebner regulator-off-in-suspend; 409*35202606SHeiko Stuebner }; 410*35202606SHeiko Stuebner }; 411*35202606SHeiko Stuebner }; 412*35202606SHeiko Stuebner }; 413*35202606SHeiko Stuebner 414*35202606SHeiko Stuebner vdd_cpu: regulator@40 { 415*35202606SHeiko Stuebner compatible = "silergy,syr827"; 416*35202606SHeiko Stuebner reg = <0x40>; 417*35202606SHeiko Stuebner fcs,suspend-voltage-selector = <1>; 418*35202606SHeiko Stuebner regulator-name = "vdd_cpu"; 419*35202606SHeiko Stuebner regulator-always-on; 420*35202606SHeiko Stuebner regulator-boot-on; 421*35202606SHeiko Stuebner regulator-min-microvolt = <712500>; 422*35202606SHeiko Stuebner regulator-max-microvolt = <1390000>; 423*35202606SHeiko Stuebner regulator-ramp-delay = <2300>; 424*35202606SHeiko Stuebner vin-supply = <&vcc5v0_sys>; 425*35202606SHeiko Stuebner }; 426*35202606SHeiko Stuebner}; 427*35202606SHeiko Stuebner 428*35202606SHeiko Stuebner&i2c1 { 429*35202606SHeiko Stuebner status = "okay"; 430*35202606SHeiko Stuebner 431*35202606SHeiko Stuebner rtc_rv8263: rtc@51 { 432*35202606SHeiko Stuebner compatible = "microcrystal,rv8263"; 433*35202606SHeiko Stuebner reg = <0x51>; 434*35202606SHeiko Stuebner wakeup-source; 435*35202606SHeiko Stuebner }; 436*35202606SHeiko Stuebner 437*35202606SHeiko Stuebner /* eeprom for vital-product-data on the mainboard */ 438*35202606SHeiko Stuebner eeprom@54 { 439*35202606SHeiko Stuebner compatible = "giantec,gt24c04a", "atmel,24c04"; 440*35202606SHeiko Stuebner reg = <0x54>; 441*35202606SHeiko Stuebner label = "VPD_MB"; 442*35202606SHeiko Stuebner num-addresses = <2>; 443*35202606SHeiko Stuebner pagesize = <16>; 444*35202606SHeiko Stuebner read-only; 445*35202606SHeiko Stuebner }; 446*35202606SHeiko Stuebner}; 447*35202606SHeiko Stuebner 448*35202606SHeiko Stuebner&pinctrl { 449*35202606SHeiko Stuebner keys { 450*35202606SHeiko Stuebner copy_button_pin: copy-button-pin { 451*35202606SHeiko Stuebner rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>; 452*35202606SHeiko Stuebner }; 453*35202606SHeiko Stuebner 454*35202606SHeiko Stuebner reset_button_pin: reset-button-pin { 455*35202606SHeiko Stuebner rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; 456*35202606SHeiko Stuebner }; 457*35202606SHeiko Stuebner }; 458*35202606SHeiko Stuebner 459*35202606SHeiko Stuebner leds { 460*35202606SHeiko Stuebner hdd1_led_pin: hdd1-led-pin { 461*35202606SHeiko Stuebner rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>; 462*35202606SHeiko Stuebner }; 463*35202606SHeiko Stuebner }; 464*35202606SHeiko Stuebner 465*35202606SHeiko Stuebner pmic { 466*35202606SHeiko Stuebner pmic_int_l: pmic-int-l { 467*35202606SHeiko Stuebner rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 468*35202606SHeiko Stuebner }; 469*35202606SHeiko Stuebner }; 470*35202606SHeiko Stuebner 471*35202606SHeiko Stuebner usb { 472*35202606SHeiko Stuebner vcc5v0_host_en: vcc5v0-host-en { 473*35202606SHeiko Stuebner rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 474*35202606SHeiko Stuebner }; 475*35202606SHeiko Stuebner 476*35202606SHeiko Stuebner vcc5v0_otg_en: vcc5v0-otg-en { 477*35202606SHeiko Stuebner rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 478*35202606SHeiko Stuebner }; 479*35202606SHeiko Stuebner }; 480*35202606SHeiko Stuebner}; 481*35202606SHeiko Stuebner 482*35202606SHeiko Stuebner&pmu_io_domains { 483*35202606SHeiko Stuebner vccio4-supply = <&vcc_1v8>; 484*35202606SHeiko Stuebner vccio6-supply = <&vcc_1v8>; 485*35202606SHeiko Stuebner status = "okay"; 486*35202606SHeiko Stuebner}; 487*35202606SHeiko Stuebner 488*35202606SHeiko Stuebner&sata1 { 489*35202606SHeiko Stuebner status = "okay"; 490*35202606SHeiko Stuebner}; 491*35202606SHeiko Stuebner 492*35202606SHeiko Stuebner&sdhci { 493*35202606SHeiko Stuebner bus-width = <8>; 494*35202606SHeiko Stuebner max-frequency = <200000000>; 495*35202606SHeiko Stuebner non-removable; 496*35202606SHeiko Stuebner pinctrl-names = "default"; 497*35202606SHeiko Stuebner pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; 498*35202606SHeiko Stuebner status = "okay"; 499*35202606SHeiko Stuebner}; 500*35202606SHeiko Stuebner 501*35202606SHeiko Stuebner&tsadc { 502*35202606SHeiko Stuebner rockchip,hw-tshut-mode = <1>; 503*35202606SHeiko Stuebner rockchip,hw-tshut-polarity = <0>; 504*35202606SHeiko Stuebner status = "okay"; 505*35202606SHeiko Stuebner}; 506*35202606SHeiko Stuebner 507*35202606SHeiko Stuebner/* 508*35202606SHeiko Stuebner * Connected to an MCU, that provides access to more LEDs, 509*35202606SHeiko Stuebner * buzzer, fan control and more. 510*35202606SHeiko Stuebner */ 511*35202606SHeiko Stuebner&uart0 { 512*35202606SHeiko Stuebner status = "okay"; 513*35202606SHeiko Stuebner 514*35202606SHeiko Stuebner mcu: mcu { 515*35202606SHeiko Stuebner fan: fan-0 { 516*35202606SHeiko Stuebner #cooling-cells = <2>; 517*35202606SHeiko Stuebner cooling-levels = <0 64 89 128 166 204 221 238>; 518*35202606SHeiko Stuebner }; 519*35202606SHeiko Stuebner 520*35202606SHeiko Stuebner nvmem-layout { 521*35202606SHeiko Stuebner compatible = "fixed-layout"; 522*35202606SHeiko Stuebner #address-cells = <1>; 523*35202606SHeiko Stuebner #size-cells = <1>; 524*35202606SHeiko Stuebner 525*35202606SHeiko Stuebner serial-number@0 { 526*35202606SHeiko Stuebner reg = <0x0 0x13>; 527*35202606SHeiko Stuebner }; 528*35202606SHeiko Stuebner 529*35202606SHeiko Stuebner ext-port@22 { 530*35202606SHeiko Stuebner reg = <0x22 0x2>; 531*35202606SHeiko Stuebner }; 532*35202606SHeiko Stuebner 533*35202606SHeiko Stuebner mac0: mac@24 { 534*35202606SHeiko Stuebner compatible = "mac-base"; 535*35202606SHeiko Stuebner reg = <0x24 0x11>; 536*35202606SHeiko Stuebner #nvmem-cell-cells = <1>; 537*35202606SHeiko Stuebner }; 538*35202606SHeiko Stuebner 539*35202606SHeiko Stuebner mac1: mac@35 { 540*35202606SHeiko Stuebner compatible = "mac-base"; 541*35202606SHeiko Stuebner reg = <0x35 0x11>; 542*35202606SHeiko Stuebner #nvmem-cell-cells = <1>; 543*35202606SHeiko Stuebner }; 544*35202606SHeiko Stuebner 545*35202606SHeiko Stuebner mac2: mac@46 { 546*35202606SHeiko Stuebner compatible = "mac-base"; 547*35202606SHeiko Stuebner reg = <0x46 0x11>; 548*35202606SHeiko Stuebner #nvmem-cell-cells = <1>; 549*35202606SHeiko Stuebner }; 550*35202606SHeiko Stuebner 551*35202606SHeiko Stuebner mac3: mac@57 { 552*35202606SHeiko Stuebner compatible = "mac-base"; 553*35202606SHeiko Stuebner reg = <0x57 0x11>; 554*35202606SHeiko Stuebner #nvmem-cell-cells = <1>; 555*35202606SHeiko Stuebner }; 556*35202606SHeiko Stuebner 557*35202606SHeiko Stuebner mac4: mac@68 { 558*35202606SHeiko Stuebner compatible = "mac-base"; 559*35202606SHeiko Stuebner reg = <0x68 0x11>; 560*35202606SHeiko Stuebner #nvmem-cell-cells = <1>; 561*35202606SHeiko Stuebner }; 562*35202606SHeiko Stuebner 563*35202606SHeiko Stuebner mac5: mac@79 { 564*35202606SHeiko Stuebner compatible = "mac-base"; 565*35202606SHeiko Stuebner reg = <0x79 0x11>; 566*35202606SHeiko Stuebner #nvmem-cell-cells = <1>; 567*35202606SHeiko Stuebner }; 568*35202606SHeiko Stuebner 569*35202606SHeiko Stuebner mac6: mac@8a { 570*35202606SHeiko Stuebner compatible = "mac-base"; 571*35202606SHeiko Stuebner reg = <0x8a 0x11>; 572*35202606SHeiko Stuebner #nvmem-cell-cells = <1>; 573*35202606SHeiko Stuebner }; 574*35202606SHeiko Stuebner 575*35202606SHeiko Stuebner mac7: mac@9b { 576*35202606SHeiko Stuebner compatible = "mac-base"; 577*35202606SHeiko Stuebner reg = <0x9b 0x11>; 578*35202606SHeiko Stuebner #nvmem-cell-cells = <1>; 579*35202606SHeiko Stuebner }; 580*35202606SHeiko Stuebner }; 581*35202606SHeiko Stuebner }; 582*35202606SHeiko Stuebner}; 583*35202606SHeiko Stuebner 584*35202606SHeiko Stuebner/* 585*35202606SHeiko Stuebner * Pins available on CN3 connector at TTL voltage level (3V3). 586*35202606SHeiko Stuebner * ,_ _. 587*35202606SHeiko Stuebner * |1234| 1=TX 2=VCC 588*35202606SHeiko Stuebner * `----' 3=RX 4=GND 589*35202606SHeiko Stuebner */ 590*35202606SHeiko Stuebner&uart2 { 591*35202606SHeiko Stuebner status = "okay"; 592*35202606SHeiko Stuebner}; 593*35202606SHeiko Stuebner 594*35202606SHeiko Stuebner&usb2phy0 { 595*35202606SHeiko Stuebner status = "okay"; 596*35202606SHeiko Stuebner}; 597*35202606SHeiko Stuebner 598*35202606SHeiko Stuebner/* connected to usb_host0_xhci */ 599*35202606SHeiko Stuebner&usb2phy0_otg { 600*35202606SHeiko Stuebner phy-supply = <&vcc5v0_otg>; 601*35202606SHeiko Stuebner status = "okay"; 602*35202606SHeiko Stuebner}; 603*35202606SHeiko Stuebner 604*35202606SHeiko Stuebner/* front port */ 605*35202606SHeiko Stuebner&usb_host0_xhci { 606*35202606SHeiko Stuebner dr_mode = "host"; 607*35202606SHeiko Stuebner status = "okay"; 608*35202606SHeiko Stuebner}; 609