1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (c) 2014, 2015 FUKAUMI Naoki <naobsd@gmail.com> 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun#include <dt-bindings/input/input.h> 7*4882a593Smuzhiyun#include "rk3288.dtsi" 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun/ { 10*4882a593Smuzhiyun memory@0 { 11*4882a593Smuzhiyun device_type = "memory"; 12*4882a593Smuzhiyun reg = <0x0 0x0 0x0 0x80000000>; 13*4882a593Smuzhiyun }; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun adc-keys { 16*4882a593Smuzhiyun compatible = "adc-keys"; 17*4882a593Smuzhiyun io-channels = <&saradc 1>; 18*4882a593Smuzhiyun io-channel-names = "buttons"; 19*4882a593Smuzhiyun keyup-threshold-microvolt = <1800000>; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun button-recovery { 22*4882a593Smuzhiyun label = "Recovery"; 23*4882a593Smuzhiyun linux,code = <KEY_VENDOR>; 24*4882a593Smuzhiyun press-threshold-microvolt = <0>; 25*4882a593Smuzhiyun }; 26*4882a593Smuzhiyun }; 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun dovdd_1v8: dovdd-1v8-regulator { 29*4882a593Smuzhiyun compatible = "regulator-fixed"; 30*4882a593Smuzhiyun regulator-name = "dovdd_1v8"; 31*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 32*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 33*4882a593Smuzhiyun vin-supply = <&vcc28_dvp>; 34*4882a593Smuzhiyun }; 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun ext_gmac: external-gmac-clock { 37*4882a593Smuzhiyun compatible = "fixed-clock"; 38*4882a593Smuzhiyun #clock-cells = <0>; 39*4882a593Smuzhiyun clock-frequency = <125000000>; 40*4882a593Smuzhiyun clock-output-names = "ext_gmac"; 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun ir: ir-receiver { 44*4882a593Smuzhiyun compatible = "gpio-ir-receiver"; 45*4882a593Smuzhiyun pinctrl-names = "default"; 46*4882a593Smuzhiyun pinctrl-0 = <&ir_int>; 47*4882a593Smuzhiyun }; 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun keys: gpio-keys { 50*4882a593Smuzhiyun compatible = "gpio-keys"; 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun power { 53*4882a593Smuzhiyun wakeup-source; 54*4882a593Smuzhiyun gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 55*4882a593Smuzhiyun label = "GPIO Power"; 56*4882a593Smuzhiyun linux,code = <KEY_POWER>; 57*4882a593Smuzhiyun pinctrl-names = "default"; 58*4882a593Smuzhiyun pinctrl-0 = <&pwr_key>; 59*4882a593Smuzhiyun }; 60*4882a593Smuzhiyun }; 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun leds { 63*4882a593Smuzhiyun compatible = "gpio-leds"; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun work_led: led-0 { 66*4882a593Smuzhiyun gpios = <&gpio8 RK_PA1 GPIO_ACTIVE_LOW>; 67*4882a593Smuzhiyun label = "firefly:blue:user"; 68*4882a593Smuzhiyun linux,default-trigger = "rc-feedback"; 69*4882a593Smuzhiyun pinctrl-names = "default"; 70*4882a593Smuzhiyun pinctrl-0 = <&work_led_pin>; 71*4882a593Smuzhiyun }; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun power_led: led-1 { 74*4882a593Smuzhiyun gpios = <&gpio8 RK_PA2 GPIO_ACTIVE_LOW>; 75*4882a593Smuzhiyun label = "firefly:green:power"; 76*4882a593Smuzhiyun linux,default-trigger = "default-on"; 77*4882a593Smuzhiyun pinctrl-names = "default"; 78*4882a593Smuzhiyun pinctrl-0 = <&power_led_pin>; 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun }; 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun vbat_wl: vcc_sys: vsys-regulator { 83*4882a593Smuzhiyun compatible = "regulator-fixed"; 84*4882a593Smuzhiyun regulator-name = "vcc_sys"; 85*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 86*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 87*4882a593Smuzhiyun regulator-always-on; 88*4882a593Smuzhiyun regulator-boot-on; 89*4882a593Smuzhiyun }; 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun vcc_sd: sdmmc-regulator { 92*4882a593Smuzhiyun compatible = "regulator-fixed"; 93*4882a593Smuzhiyun gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>; 94*4882a593Smuzhiyun pinctrl-names = "default"; 95*4882a593Smuzhiyun pinctrl-0 = <&sdmmc_pwr>; 96*4882a593Smuzhiyun regulator-name = "vcc_sd"; 97*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 98*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 99*4882a593Smuzhiyun startup-delay-us = <100000>; 100*4882a593Smuzhiyun vin-supply = <&vcc_io>; 101*4882a593Smuzhiyun }; 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun vcc_flash: flash-regulator { 104*4882a593Smuzhiyun compatible = "regulator-fixed"; 105*4882a593Smuzhiyun regulator-name = "vcc_flash"; 106*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 107*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 108*4882a593Smuzhiyun vin-supply = <&vcc_io>; 109*4882a593Smuzhiyun }; 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun vcc_5v: usb-regulator { 112*4882a593Smuzhiyun compatible = "regulator-fixed"; 113*4882a593Smuzhiyun regulator-name = "vcc_5v"; 114*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 115*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 116*4882a593Smuzhiyun regulator-always-on; 117*4882a593Smuzhiyun regulator-boot-on; 118*4882a593Smuzhiyun vin-supply = <&vcc_sys>; 119*4882a593Smuzhiyun }; 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun vcc_host_5v: usb-host-regulator { 122*4882a593Smuzhiyun compatible = "regulator-fixed"; 123*4882a593Smuzhiyun enable-active-high; 124*4882a593Smuzhiyun gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; 125*4882a593Smuzhiyun pinctrl-names = "default"; 126*4882a593Smuzhiyun pinctrl-0 = <&host_vbus_drv>; 127*4882a593Smuzhiyun regulator-name = "vcc_host_5v"; 128*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 129*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 130*4882a593Smuzhiyun regulator-always-on; 131*4882a593Smuzhiyun vin-supply = <&vcc_5v>; 132*4882a593Smuzhiyun }; 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun vcc_otg_5v: usb-otg-regulator { 135*4882a593Smuzhiyun compatible = "regulator-fixed"; 136*4882a593Smuzhiyun enable-active-high; 137*4882a593Smuzhiyun gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; 138*4882a593Smuzhiyun pinctrl-names = "default"; 139*4882a593Smuzhiyun pinctrl-0 = <&otg_vbus_drv>; 140*4882a593Smuzhiyun regulator-name = "vcc_otg_5v"; 141*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 142*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 143*4882a593Smuzhiyun regulator-always-on; 144*4882a593Smuzhiyun vin-supply = <&vcc_5v>; 145*4882a593Smuzhiyun }; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun /* 148*4882a593Smuzhiyun * A TT8142 creates both dovdd_1v8 and vcc28_dvp, controlled 149*4882a593Smuzhiyun * by the dvp_pwr pin. 150*4882a593Smuzhiyun */ 151*4882a593Smuzhiyun vcc28_dvp: vcc28-dvp-regulator { 152*4882a593Smuzhiyun compatible = "regulator-fixed"; 153*4882a593Smuzhiyun enable-active-high; 154*4882a593Smuzhiyun gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; 155*4882a593Smuzhiyun pinctrl-names = "default"; 156*4882a593Smuzhiyun pinctrl-0 = <&dvp_pwr>; 157*4882a593Smuzhiyun regulator-name = "vcc28_dvp"; 158*4882a593Smuzhiyun regulator-min-microvolt = <2800000>; 159*4882a593Smuzhiyun regulator-max-microvolt = <2800000>; 160*4882a593Smuzhiyun regulator-always-on; 161*4882a593Smuzhiyun vin-supply = <&vcc_io>; 162*4882a593Smuzhiyun }; 163*4882a593Smuzhiyun}; 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun&cpu0 { 166*4882a593Smuzhiyun cpu0-supply = <&vdd_cpu>; 167*4882a593Smuzhiyun}; 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun&emmc { 170*4882a593Smuzhiyun bus-width = <8>; 171*4882a593Smuzhiyun cap-mmc-highspeed; 172*4882a593Smuzhiyun disable-wp; 173*4882a593Smuzhiyun non-removable; 174*4882a593Smuzhiyun pinctrl-names = "default"; 175*4882a593Smuzhiyun pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>; 176*4882a593Smuzhiyun vmmc-supply = <&vcc_io>; 177*4882a593Smuzhiyun vqmmc-supply = <&vcc_flash>; 178*4882a593Smuzhiyun status = "okay"; 179*4882a593Smuzhiyun}; 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun&gmac { 182*4882a593Smuzhiyun assigned-clocks = <&cru SCLK_MAC>; 183*4882a593Smuzhiyun assigned-clock-parents = <&ext_gmac>; 184*4882a593Smuzhiyun clock_in_out = "input"; 185*4882a593Smuzhiyun pinctrl-names = "default"; 186*4882a593Smuzhiyun pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>; 187*4882a593Smuzhiyun phy-supply = <&vcc_lan>; 188*4882a593Smuzhiyun phy-mode = "rgmii"; 189*4882a593Smuzhiyun snps,reset-active-low; 190*4882a593Smuzhiyun snps,reset-delays-us = <0 10000 1000000>; 191*4882a593Smuzhiyun snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>; 192*4882a593Smuzhiyun tx_delay = <0x30>; 193*4882a593Smuzhiyun rx_delay = <0x10>; 194*4882a593Smuzhiyun status = "okay"; 195*4882a593Smuzhiyun}; 196*4882a593Smuzhiyun 197*4882a593Smuzhiyun&gpu { 198*4882a593Smuzhiyun mali-supply = <&vdd_gpu>; 199*4882a593Smuzhiyun status = "okay"; 200*4882a593Smuzhiyun}; 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun&hdmi { 203*4882a593Smuzhiyun ddc-i2c-bus = <&i2c5>; 204*4882a593Smuzhiyun status = "okay"; 205*4882a593Smuzhiyun}; 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun&i2c0 { 208*4882a593Smuzhiyun clock-frequency = <400000>; 209*4882a593Smuzhiyun status = "okay"; 210*4882a593Smuzhiyun 211*4882a593Smuzhiyun vdd_cpu: syr827@40 { 212*4882a593Smuzhiyun compatible = "silergy,syr827"; 213*4882a593Smuzhiyun fcs,suspend-voltage-selector = <1>; 214*4882a593Smuzhiyun reg = <0x40>; 215*4882a593Smuzhiyun regulator-name = "vdd_cpu"; 216*4882a593Smuzhiyun regulator-min-microvolt = <850000>; 217*4882a593Smuzhiyun regulator-max-microvolt = <1350000>; 218*4882a593Smuzhiyun regulator-always-on; 219*4882a593Smuzhiyun regulator-boot-on; 220*4882a593Smuzhiyun regulator-enable-ramp-delay = <300>; 221*4882a593Smuzhiyun regulator-ramp-delay = <8000>; 222*4882a593Smuzhiyun vin-supply = <&vcc_sys>; 223*4882a593Smuzhiyun }; 224*4882a593Smuzhiyun 225*4882a593Smuzhiyun vdd_gpu: syr828@41 { 226*4882a593Smuzhiyun compatible = "silergy,syr828"; 227*4882a593Smuzhiyun fcs,suspend-voltage-selector = <1>; 228*4882a593Smuzhiyun reg = <0x41>; 229*4882a593Smuzhiyun regulator-name = "vdd_gpu"; 230*4882a593Smuzhiyun regulator-min-microvolt = <850000>; 231*4882a593Smuzhiyun regulator-max-microvolt = <1350000>; 232*4882a593Smuzhiyun regulator-always-on; 233*4882a593Smuzhiyun vin-supply = <&vcc_sys>; 234*4882a593Smuzhiyun }; 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun hym8563: rtc@51 { 237*4882a593Smuzhiyun compatible = "haoyu,hym8563"; 238*4882a593Smuzhiyun reg = <0x51>; 239*4882a593Smuzhiyun #clock-cells = <0>; 240*4882a593Smuzhiyun clock-frequency = <32768>; 241*4882a593Smuzhiyun clock-output-names = "xin32k"; 242*4882a593Smuzhiyun interrupt-parent = <&gpio7>; 243*4882a593Smuzhiyun interrupts = <RK_PA4 IRQ_TYPE_EDGE_FALLING>; 244*4882a593Smuzhiyun pinctrl-names = "default"; 245*4882a593Smuzhiyun pinctrl-0 = <&rtc_int>; 246*4882a593Smuzhiyun }; 247*4882a593Smuzhiyun 248*4882a593Smuzhiyun act8846: act8846@5a { 249*4882a593Smuzhiyun compatible = "active-semi,act8846"; 250*4882a593Smuzhiyun reg = <0x5a>; 251*4882a593Smuzhiyun pinctrl-names = "default"; 252*4882a593Smuzhiyun pinctrl-0 = <&pmic_vsel>, <&pwr_hold>; 253*4882a593Smuzhiyun system-power-controller; 254*4882a593Smuzhiyun 255*4882a593Smuzhiyun vp1-supply = <&vcc_sys>; 256*4882a593Smuzhiyun vp2-supply = <&vcc_sys>; 257*4882a593Smuzhiyun vp3-supply = <&vcc_sys>; 258*4882a593Smuzhiyun vp4-supply = <&vcc_sys>; 259*4882a593Smuzhiyun inl1-supply = <&vcc_sys>; 260*4882a593Smuzhiyun inl2-supply = <&vcc_sys>; 261*4882a593Smuzhiyun inl3-supply = <&vcc_20>; 262*4882a593Smuzhiyun 263*4882a593Smuzhiyun regulators { 264*4882a593Smuzhiyun vcc_ddr: REG1 { 265*4882a593Smuzhiyun regulator-name = "vcc_ddr"; 266*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 267*4882a593Smuzhiyun regulator-max-microvolt = <1200000>; 268*4882a593Smuzhiyun regulator-always-on; 269*4882a593Smuzhiyun }; 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun vcc_io: REG2 { 272*4882a593Smuzhiyun regulator-name = "vcc_io"; 273*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 274*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 275*4882a593Smuzhiyun regulator-always-on; 276*4882a593Smuzhiyun }; 277*4882a593Smuzhiyun 278*4882a593Smuzhiyun vdd_log: REG3 { 279*4882a593Smuzhiyun regulator-name = "vdd_log"; 280*4882a593Smuzhiyun regulator-min-microvolt = <1100000>; 281*4882a593Smuzhiyun regulator-max-microvolt = <1100000>; 282*4882a593Smuzhiyun regulator-always-on; 283*4882a593Smuzhiyun }; 284*4882a593Smuzhiyun 285*4882a593Smuzhiyun vcc_20: REG4 { 286*4882a593Smuzhiyun regulator-name = "vcc_20"; 287*4882a593Smuzhiyun regulator-min-microvolt = <2000000>; 288*4882a593Smuzhiyun regulator-max-microvolt = <2000000>; 289*4882a593Smuzhiyun regulator-always-on; 290*4882a593Smuzhiyun }; 291*4882a593Smuzhiyun 292*4882a593Smuzhiyun vccio_sd: REG5 { 293*4882a593Smuzhiyun regulator-name = "vccio_sd"; 294*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 295*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 296*4882a593Smuzhiyun regulator-always-on; 297*4882a593Smuzhiyun }; 298*4882a593Smuzhiyun 299*4882a593Smuzhiyun vdd10_lcd: REG6 { 300*4882a593Smuzhiyun regulator-name = "vdd10_lcd"; 301*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 302*4882a593Smuzhiyun regulator-max-microvolt = <1000000>; 303*4882a593Smuzhiyun regulator-always-on; 304*4882a593Smuzhiyun }; 305*4882a593Smuzhiyun 306*4882a593Smuzhiyun vcca_18: REG7 { 307*4882a593Smuzhiyun regulator-name = "vcca_18"; 308*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 309*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 310*4882a593Smuzhiyun }; 311*4882a593Smuzhiyun 312*4882a593Smuzhiyun vcca_33: REG8 { 313*4882a593Smuzhiyun regulator-name = "vcca_33"; 314*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 315*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 316*4882a593Smuzhiyun }; 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun vcc_lan: REG9 { 319*4882a593Smuzhiyun regulator-name = "vcc_lan"; 320*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 321*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 322*4882a593Smuzhiyun }; 323*4882a593Smuzhiyun 324*4882a593Smuzhiyun vdd_10: REG10 { 325*4882a593Smuzhiyun regulator-name = "vdd_10"; 326*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 327*4882a593Smuzhiyun regulator-max-microvolt = <1000000>; 328*4882a593Smuzhiyun regulator-always-on; 329*4882a593Smuzhiyun }; 330*4882a593Smuzhiyun 331*4882a593Smuzhiyun vccio_wl: vcc_18: REG11 { 332*4882a593Smuzhiyun regulator-name = "vcc_18"; 333*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 334*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 335*4882a593Smuzhiyun regulator-always-on; 336*4882a593Smuzhiyun }; 337*4882a593Smuzhiyun 338*4882a593Smuzhiyun vcc18_lcd: REG12 { 339*4882a593Smuzhiyun regulator-name = "vcc18_lcd"; 340*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 341*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 342*4882a593Smuzhiyun regulator-always-on; 343*4882a593Smuzhiyun }; 344*4882a593Smuzhiyun }; 345*4882a593Smuzhiyun }; 346*4882a593Smuzhiyun}; 347*4882a593Smuzhiyun 348*4882a593Smuzhiyun&i2c1 { 349*4882a593Smuzhiyun status = "okay"; 350*4882a593Smuzhiyun}; 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun&i2c2 { 353*4882a593Smuzhiyun status = "okay"; 354*4882a593Smuzhiyun}; 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun&i2c4 { 357*4882a593Smuzhiyun status = "okay"; 358*4882a593Smuzhiyun}; 359*4882a593Smuzhiyun 360*4882a593Smuzhiyun&i2c5 { 361*4882a593Smuzhiyun status = "okay"; 362*4882a593Smuzhiyun}; 363*4882a593Smuzhiyun 364*4882a593Smuzhiyun&io_domains { 365*4882a593Smuzhiyun status = "okay"; 366*4882a593Smuzhiyun 367*4882a593Smuzhiyun audio-supply = <&vcca_33>; 368*4882a593Smuzhiyun bb-supply = <&vcc_io>; 369*4882a593Smuzhiyun dvp-supply = <&dovdd_1v8>; 370*4882a593Smuzhiyun flash0-supply = <&vcc_flash>; 371*4882a593Smuzhiyun flash1-supply = <&vcc_lan>; 372*4882a593Smuzhiyun gpio30-supply = <&vcc_io>; 373*4882a593Smuzhiyun gpio1830-supply = <&vcc_io>; 374*4882a593Smuzhiyun lcdc-supply = <&vcc_io>; 375*4882a593Smuzhiyun sdcard-supply = <&vccio_sd>; 376*4882a593Smuzhiyun wifi-supply = <&vccio_wl>; 377*4882a593Smuzhiyun}; 378*4882a593Smuzhiyun 379*4882a593Smuzhiyun&pinctrl { 380*4882a593Smuzhiyun pcfg_output_high: pcfg-output-high { 381*4882a593Smuzhiyun output-high; 382*4882a593Smuzhiyun }; 383*4882a593Smuzhiyun 384*4882a593Smuzhiyun pcfg_output_low: pcfg-output-low { 385*4882a593Smuzhiyun output-low; 386*4882a593Smuzhiyun }; 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun pcfg_pull_up_drv_12ma: pcfg-pull-up-drv-12ma { 389*4882a593Smuzhiyun bias-pull-up; 390*4882a593Smuzhiyun drive-strength = <12>; 391*4882a593Smuzhiyun }; 392*4882a593Smuzhiyun 393*4882a593Smuzhiyun act8846 { 394*4882a593Smuzhiyun pwr_hold: pwr-hold { 395*4882a593Smuzhiyun rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_output_high>; 396*4882a593Smuzhiyun }; 397*4882a593Smuzhiyun }; 398*4882a593Smuzhiyun 399*4882a593Smuzhiyun dvp { 400*4882a593Smuzhiyun dvp_pwr: dvp-pwr { 401*4882a593Smuzhiyun rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 402*4882a593Smuzhiyun }; 403*4882a593Smuzhiyun }; 404*4882a593Smuzhiyun 405*4882a593Smuzhiyun gmac { 406*4882a593Smuzhiyun phy_int: phy-int { 407*4882a593Smuzhiyun rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 408*4882a593Smuzhiyun }; 409*4882a593Smuzhiyun 410*4882a593Smuzhiyun phy_pmeb: phy-pmeb { 411*4882a593Smuzhiyun rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 412*4882a593Smuzhiyun }; 413*4882a593Smuzhiyun 414*4882a593Smuzhiyun phy_rst: phy-rst { 415*4882a593Smuzhiyun rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>; 416*4882a593Smuzhiyun }; 417*4882a593Smuzhiyun }; 418*4882a593Smuzhiyun 419*4882a593Smuzhiyun hym8563 { 420*4882a593Smuzhiyun rtc_int: rtc-int { 421*4882a593Smuzhiyun rockchip,pins = <7 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 422*4882a593Smuzhiyun }; 423*4882a593Smuzhiyun }; 424*4882a593Smuzhiyun 425*4882a593Smuzhiyun keys { 426*4882a593Smuzhiyun pwr_key: pwr-key { 427*4882a593Smuzhiyun rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 428*4882a593Smuzhiyun }; 429*4882a593Smuzhiyun }; 430*4882a593Smuzhiyun 431*4882a593Smuzhiyun leds { 432*4882a593Smuzhiyun power_led_pin: power-led-pin { 433*4882a593Smuzhiyun rockchip,pins = <8 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 434*4882a593Smuzhiyun }; 435*4882a593Smuzhiyun 436*4882a593Smuzhiyun work_led_pin: work-led-pin { 437*4882a593Smuzhiyun rockchip,pins = <8 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 438*4882a593Smuzhiyun }; 439*4882a593Smuzhiyun }; 440*4882a593Smuzhiyun 441*4882a593Smuzhiyun sdmmc { 442*4882a593Smuzhiyun /* 443*4882a593Smuzhiyun * Default drive strength isn't enough to achieve even 444*4882a593Smuzhiyun * high-speed mode on firefly board so bump up to 12ma. 445*4882a593Smuzhiyun */ 446*4882a593Smuzhiyun sdmmc_bus4: sdmmc-bus4 { 447*4882a593Smuzhiyun rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up_drv_12ma>, 448*4882a593Smuzhiyun <6 RK_PC1 1 &pcfg_pull_up_drv_12ma>, 449*4882a593Smuzhiyun <6 RK_PC2 1 &pcfg_pull_up_drv_12ma>, 450*4882a593Smuzhiyun <6 RK_PC3 1 &pcfg_pull_up_drv_12ma>; 451*4882a593Smuzhiyun }; 452*4882a593Smuzhiyun 453*4882a593Smuzhiyun sdmmc_clk: sdmmc-clk { 454*4882a593Smuzhiyun rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_12ma>; 455*4882a593Smuzhiyun }; 456*4882a593Smuzhiyun 457*4882a593Smuzhiyun sdmmc_cmd: sdmmc-cmd { 458*4882a593Smuzhiyun rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_12ma>; 459*4882a593Smuzhiyun }; 460*4882a593Smuzhiyun 461*4882a593Smuzhiyun sdmmc_pwr: sdmmc-pwr { 462*4882a593Smuzhiyun rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 463*4882a593Smuzhiyun }; 464*4882a593Smuzhiyun }; 465*4882a593Smuzhiyun 466*4882a593Smuzhiyun usb_host { 467*4882a593Smuzhiyun host_vbus_drv: host-vbus-drv { 468*4882a593Smuzhiyun rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 469*4882a593Smuzhiyun }; 470*4882a593Smuzhiyun 471*4882a593Smuzhiyun usbhub_rst: usbhub-rst { 472*4882a593Smuzhiyun rockchip,pins = <8 RK_PA3 RK_FUNC_GPIO &pcfg_output_high>; 473*4882a593Smuzhiyun }; 474*4882a593Smuzhiyun }; 475*4882a593Smuzhiyun 476*4882a593Smuzhiyun usb_otg { 477*4882a593Smuzhiyun otg_vbus_drv: otg-vbus-drv { 478*4882a593Smuzhiyun rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 479*4882a593Smuzhiyun }; 480*4882a593Smuzhiyun }; 481*4882a593Smuzhiyun}; 482*4882a593Smuzhiyun 483*4882a593Smuzhiyun&saradc { 484*4882a593Smuzhiyun vref-supply = <&vcc_18>; 485*4882a593Smuzhiyun status = "okay"; 486*4882a593Smuzhiyun}; 487*4882a593Smuzhiyun 488*4882a593Smuzhiyun&sdio0 { 489*4882a593Smuzhiyun bus-width = <4>; 490*4882a593Smuzhiyun disable-wp; 491*4882a593Smuzhiyun non-removable; 492*4882a593Smuzhiyun pinctrl-names = "default"; 493*4882a593Smuzhiyun pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>; 494*4882a593Smuzhiyun vmmc-supply = <&vbat_wl>; 495*4882a593Smuzhiyun vqmmc-supply = <&vccio_wl>; 496*4882a593Smuzhiyun status = "okay"; 497*4882a593Smuzhiyun}; 498*4882a593Smuzhiyun 499*4882a593Smuzhiyun&sdmmc { 500*4882a593Smuzhiyun bus-width = <4>; 501*4882a593Smuzhiyun cap-mmc-highspeed; 502*4882a593Smuzhiyun cap-sd-highspeed; 503*4882a593Smuzhiyun card-detect-delay = <200>; 504*4882a593Smuzhiyun disable-wp; 505*4882a593Smuzhiyun pinctrl-names = "default"; 506*4882a593Smuzhiyun pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 507*4882a593Smuzhiyun vmmc-supply = <&vcc_sd>; 508*4882a593Smuzhiyun vqmmc-supply = <&vccio_sd>; 509*4882a593Smuzhiyun status = "okay"; 510*4882a593Smuzhiyun}; 511*4882a593Smuzhiyun 512*4882a593Smuzhiyun&spi0 { 513*4882a593Smuzhiyun pinctrl-names = "default"; 514*4882a593Smuzhiyun pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>; 515*4882a593Smuzhiyun status = "okay"; 516*4882a593Smuzhiyun}; 517*4882a593Smuzhiyun 518*4882a593Smuzhiyun&tsadc { 519*4882a593Smuzhiyun rockchip,hw-tshut-mode = <0>; 520*4882a593Smuzhiyun rockchip,hw-tshut-polarity = <0>; 521*4882a593Smuzhiyun status = "okay"; 522*4882a593Smuzhiyun}; 523*4882a593Smuzhiyun 524*4882a593Smuzhiyun&uart0 { 525*4882a593Smuzhiyun pinctrl-names = "default"; 526*4882a593Smuzhiyun pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>; 527*4882a593Smuzhiyun status = "okay"; 528*4882a593Smuzhiyun}; 529*4882a593Smuzhiyun 530*4882a593Smuzhiyun&uart1 { 531*4882a593Smuzhiyun status = "okay"; 532*4882a593Smuzhiyun}; 533*4882a593Smuzhiyun 534*4882a593Smuzhiyun&uart2 { 535*4882a593Smuzhiyun status = "okay"; 536*4882a593Smuzhiyun}; 537*4882a593Smuzhiyun 538*4882a593Smuzhiyun&uart3 { 539*4882a593Smuzhiyun status = "okay"; 540*4882a593Smuzhiyun}; 541*4882a593Smuzhiyun 542*4882a593Smuzhiyun&usbphy { 543*4882a593Smuzhiyun status = "okay"; 544*4882a593Smuzhiyun}; 545*4882a593Smuzhiyun 546*4882a593Smuzhiyun&usb_host1 { 547*4882a593Smuzhiyun pinctrl-names = "default"; 548*4882a593Smuzhiyun pinctrl-0 = <&usbhub_rst>; 549*4882a593Smuzhiyun status = "okay"; 550*4882a593Smuzhiyun}; 551*4882a593Smuzhiyun 552*4882a593Smuzhiyun&usb_otg { 553*4882a593Smuzhiyun status = "okay"; 554*4882a593Smuzhiyun}; 555*4882a593Smuzhiyun 556*4882a593Smuzhiyun&vopb { 557*4882a593Smuzhiyun status = "okay"; 558*4882a593Smuzhiyun}; 559*4882a593Smuzhiyun 560*4882a593Smuzhiyun&vopb_mmu { 561*4882a593Smuzhiyun status = "okay"; 562*4882a593Smuzhiyun}; 563*4882a593Smuzhiyun 564*4882a593Smuzhiyun&vopl { 565*4882a593Smuzhiyun status = "okay"; 566*4882a593Smuzhiyun}; 567*4882a593Smuzhiyun 568*4882a593Smuzhiyun&vopl_mmu { 569*4882a593Smuzhiyun status = "okay"; 570*4882a593Smuzhiyun}; 571*4882a593Smuzhiyun 572*4882a593Smuzhiyun&wdt { 573*4882a593Smuzhiyun status = "okay"; 574*4882a593Smuzhiyun}; 575