1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*0e8011faSEmmanuel Vadot 3*0e8011faSEmmanuel Vadot/dts-v1/; 4*0e8011faSEmmanuel Vadot 5*0e8011faSEmmanuel Vadot#include <dt-bindings/clock/rockchip,rk808.h> 6*0e8011faSEmmanuel Vadot#include <dt-bindings/input/input.h> 7*0e8011faSEmmanuel Vadot#include <dt-bindings/leds/common.h> 8*0e8011faSEmmanuel Vadot#include <dt-bindings/sound/rt5640.h> 9*0e8011faSEmmanuel Vadot#include "rk3368.dtsi" 10*0e8011faSEmmanuel Vadot 11*0e8011faSEmmanuel Vadot/ { 12*0e8011faSEmmanuel Vadot model = "Neardi LBA3368"; 13*0e8011faSEmmanuel Vadot compatible = "neardi,lba3368", "rockchip,rk3368"; 14*0e8011faSEmmanuel Vadot 15*0e8011faSEmmanuel Vadot aliases { 16*0e8011faSEmmanuel Vadot ethernet0 = &gmac; 17*0e8011faSEmmanuel Vadot mmc0 = &emmc; 18*0e8011faSEmmanuel Vadot mmc1 = &sdmmc; 19*0e8011faSEmmanuel Vadot mmc2 = &sdio0; 20*0e8011faSEmmanuel Vadot rtc0 = &hym8563; 21*0e8011faSEmmanuel Vadot rtc1 = &rk808; 22*0e8011faSEmmanuel Vadot }; 23*0e8011faSEmmanuel Vadot 24*0e8011faSEmmanuel Vadot chosen { 25*0e8011faSEmmanuel Vadot stdout-path = "serial1:115200n8"; 26*0e8011faSEmmanuel Vadot }; 27*0e8011faSEmmanuel Vadot 28*0e8011faSEmmanuel Vadot memory@0 { 29*0e8011faSEmmanuel Vadot device_type = "memory"; 30*0e8011faSEmmanuel Vadot reg = <0x0 0x0 0x0 0x40000000>; 31*0e8011faSEmmanuel Vadot }; 32*0e8011faSEmmanuel Vadot 33*0e8011faSEmmanuel Vadot adc-key { 34*0e8011faSEmmanuel Vadot compatible = "adc-keys"; 35*0e8011faSEmmanuel Vadot io-channels = <&saradc 1>; 36*0e8011faSEmmanuel Vadot io-channel-names = "buttons"; 37*0e8011faSEmmanuel Vadot poll-interval = <100>; 38*0e8011faSEmmanuel Vadot keyup-threshold-microvolt = <1800000>; 39*0e8011faSEmmanuel Vadot 40*0e8011faSEmmanuel Vadot button-recovery { 41*0e8011faSEmmanuel Vadot label = "Recovery"; 42*0e8011faSEmmanuel Vadot linux,code = <KEY_VENDOR>; 43*0e8011faSEmmanuel Vadot press-threshold-microvolt = <0>; 44*0e8011faSEmmanuel Vadot }; 45*0e8011faSEmmanuel Vadot }; 46*0e8011faSEmmanuel Vadot 47*0e8011faSEmmanuel Vadot analog-sound { 48*0e8011faSEmmanuel Vadot compatible = "audio-graph-card"; 49*0e8011faSEmmanuel Vadot dais = <&i2s_8ch_p0>; 50*0e8011faSEmmanuel Vadot hp-det-gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; 51*0e8011faSEmmanuel Vadot label = "alc5640"; 52*0e8011faSEmmanuel Vadot routing = "Mic Jack", "MICBIAS1", 53*0e8011faSEmmanuel Vadot "IN1P", "Mic Jack", 54*0e8011faSEmmanuel Vadot "Headphone Jack", "HPOL", 55*0e8011faSEmmanuel Vadot "Headphone Jack", "HPOR", 56*0e8011faSEmmanuel Vadot "Speakers", "SPORP", 57*0e8011faSEmmanuel Vadot "Speakers", "SPORN", 58*0e8011faSEmmanuel Vadot "Speakers", "SPOLP", 59*0e8011faSEmmanuel Vadot "Speakers", "SPOLN"; 60*0e8011faSEmmanuel Vadot widgets = "Microphone", "Mic Jack", 61*0e8011faSEmmanuel Vadot "Headphone", "Headphone Jack", 62*0e8011faSEmmanuel Vadot "Speaker", "Speakers"; 63*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 64*0e8011faSEmmanuel Vadot pinctrl-0 = <&hp_det>; 65*0e8011faSEmmanuel Vadot }; 66*0e8011faSEmmanuel Vadot 67*0e8011faSEmmanuel Vadot dc_12v: dc-12v-regulator { 68*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 69*0e8011faSEmmanuel Vadot regulator-name = "dc_12v"; 70*0e8011faSEmmanuel Vadot regulator-min-microvolt = <12000000>; 71*0e8011faSEmmanuel Vadot regulator-max-microvolt = <12000000>; 72*0e8011faSEmmanuel Vadot regulator-always-on; 73*0e8011faSEmmanuel Vadot regulator-boot-on; 74*0e8011faSEmmanuel Vadot }; 75*0e8011faSEmmanuel Vadot 76*0e8011faSEmmanuel Vadot ext_gmac: gmac-clk { 77*0e8011faSEmmanuel Vadot compatible = "fixed-clock"; 78*0e8011faSEmmanuel Vadot clock-frequency = <50000000>; 79*0e8011faSEmmanuel Vadot clock-output-names = "ext_gmac"; 80*0e8011faSEmmanuel Vadot #clock-cells = <0>; 81*0e8011faSEmmanuel Vadot }; 82*0e8011faSEmmanuel Vadot 83*0e8011faSEmmanuel Vadot hub_avdd: hub-avdd-regulator { 84*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 85*0e8011faSEmmanuel Vadot regulator-name = "hub_avdd"; 86*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 87*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 88*0e8011faSEmmanuel Vadot vin-supply = <&vcc_io>; 89*0e8011faSEmmanuel Vadot regulator-always-on; 90*0e8011faSEmmanuel Vadot }; 91*0e8011faSEmmanuel Vadot 92*0e8011faSEmmanuel Vadot leds { 93*0e8011faSEmmanuel Vadot compatible = "gpio-leds"; 94*0e8011faSEmmanuel Vadot 95*0e8011faSEmmanuel Vadot power-led { 96*0e8011faSEmmanuel Vadot gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 97*0e8011faSEmmanuel Vadot function = LED_FUNCTION_POWER; 98*0e8011faSEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 99*0e8011faSEmmanuel Vadot default-state = "on"; 100*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 101*0e8011faSEmmanuel Vadot pinctrl-0 = <&power_led>; 102*0e8011faSEmmanuel Vadot }; 103*0e8011faSEmmanuel Vadot }; 104*0e8011faSEmmanuel Vadot 105*0e8011faSEmmanuel Vadot sdio_pwrseq: sdio-pwrseq { 106*0e8011faSEmmanuel Vadot compatible = "mmc-pwrseq-simple"; 107*0e8011faSEmmanuel Vadot clocks = <&rk808 RK808_CLKOUT1>; 108*0e8011faSEmmanuel Vadot clock-names = "ext_clock"; 109*0e8011faSEmmanuel Vadot reset-gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; 110*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 111*0e8011faSEmmanuel Vadot pinctrl-0 = <&wifi_reg_on>; 112*0e8011faSEmmanuel Vadot }; 113*0e8011faSEmmanuel Vadot 114*0e8011faSEmmanuel Vadot vcc_host: vcc-host-regulator { 115*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 116*0e8011faSEmmanuel Vadot gpio = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; 117*0e8011faSEmmanuel Vadot regulator-name = "vcc_host"; 118*0e8011faSEmmanuel Vadot regulator-min-microvolt = <5000000>; 119*0e8011faSEmmanuel Vadot regulator-max-microvolt = <5000000>; 120*0e8011faSEmmanuel Vadot vin-supply = <&vcc_sys>; 121*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 122*0e8011faSEmmanuel Vadot pinctrl-0 = <&host_vbus_drv>; 123*0e8011faSEmmanuel Vadot enable-active-high; 124*0e8011faSEmmanuel Vadot regulator-always-on; 125*0e8011faSEmmanuel Vadot }; 126*0e8011faSEmmanuel Vadot 127*0e8011faSEmmanuel Vadot vcc_lan: vcc-lan-regulator { 128*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 129*0e8011faSEmmanuel Vadot regulator-name = "vcc_lan"; 130*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 131*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 132*0e8011faSEmmanuel Vadot vin-supply = <&vcc_io>; 133*0e8011faSEmmanuel Vadot regulator-always-on; 134*0e8011faSEmmanuel Vadot }; 135*0e8011faSEmmanuel Vadot 136*0e8011faSEmmanuel Vadot vcc_otg: vcc-otg-regulator { 137*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 138*0e8011faSEmmanuel Vadot gpio = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>; 139*0e8011faSEmmanuel Vadot regulator-name = "vcc_otg"; 140*0e8011faSEmmanuel Vadot regulator-min-microvolt = <5000000>; 141*0e8011faSEmmanuel Vadot regulator-max-microvolt = <5000000>; 142*0e8011faSEmmanuel Vadot vin-supply = <&vcc_sys>; 143*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 144*0e8011faSEmmanuel Vadot pinctrl-0 = <&otg_vbus_drv>; 145*0e8011faSEmmanuel Vadot enable-active-high; 146*0e8011faSEmmanuel Vadot regulator-always-on; 147*0e8011faSEmmanuel Vadot }; 148*0e8011faSEmmanuel Vadot 149*0e8011faSEmmanuel Vadot vcc_sys: vcc-sys-regulator { 150*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 151*0e8011faSEmmanuel Vadot regulator-name = "vcc_sys"; 152*0e8011faSEmmanuel Vadot regulator-min-microvolt = <5000000>; 153*0e8011faSEmmanuel Vadot regulator-max-microvolt = <5000000>; 154*0e8011faSEmmanuel Vadot vin-supply = <&dc_12v>; 155*0e8011faSEmmanuel Vadot regulator-always-on; 156*0e8011faSEmmanuel Vadot regulator-boot-on; 157*0e8011faSEmmanuel Vadot }; 158*0e8011faSEmmanuel Vadot 159*0e8011faSEmmanuel Vadot vdd10_usb: vdd10-usb-regulator { 160*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 161*0e8011faSEmmanuel Vadot regulator-name = "vdd10_usb"; 162*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1000000>; 163*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1000000>; 164*0e8011faSEmmanuel Vadot vin-supply = <&vdd_10>; 165*0e8011faSEmmanuel Vadot regulator-always-on; 166*0e8011faSEmmanuel Vadot }; 167*0e8011faSEmmanuel Vadot}; 168*0e8011faSEmmanuel Vadot 169*0e8011faSEmmanuel Vadot&cpu_l0 { 170*0e8011faSEmmanuel Vadot cpu-supply = <&vdd_cpu>; 171*0e8011faSEmmanuel Vadot}; 172*0e8011faSEmmanuel Vadot 173*0e8011faSEmmanuel Vadot&cpu_l1 { 174*0e8011faSEmmanuel Vadot cpu-supply = <&vdd_cpu>; 175*0e8011faSEmmanuel Vadot}; 176*0e8011faSEmmanuel Vadot 177*0e8011faSEmmanuel Vadot&cpu_l2 { 178*0e8011faSEmmanuel Vadot cpu-supply = <&vdd_cpu>; 179*0e8011faSEmmanuel Vadot}; 180*0e8011faSEmmanuel Vadot 181*0e8011faSEmmanuel Vadot&cpu_l3 { 182*0e8011faSEmmanuel Vadot cpu-supply = <&vdd_cpu>; 183*0e8011faSEmmanuel Vadot}; 184*0e8011faSEmmanuel Vadot 185*0e8011faSEmmanuel Vadot&cpu_b0 { 186*0e8011faSEmmanuel Vadot cpu-supply = <&vdd_cpu>; 187*0e8011faSEmmanuel Vadot}; 188*0e8011faSEmmanuel Vadot 189*0e8011faSEmmanuel Vadot&cpu_b1 { 190*0e8011faSEmmanuel Vadot cpu-supply = <&vdd_cpu>; 191*0e8011faSEmmanuel Vadot}; 192*0e8011faSEmmanuel Vadot 193*0e8011faSEmmanuel Vadot&cpu_b2 { 194*0e8011faSEmmanuel Vadot cpu-supply = <&vdd_cpu>; 195*0e8011faSEmmanuel Vadot}; 196*0e8011faSEmmanuel Vadot 197*0e8011faSEmmanuel Vadot&cpu_b3 { 198*0e8011faSEmmanuel Vadot cpu-supply = <&vdd_cpu>; 199*0e8011faSEmmanuel Vadot}; 200*0e8011faSEmmanuel Vadot 201*0e8011faSEmmanuel Vadot&emmc { 202*0e8011faSEmmanuel Vadot bus-width = <8>; 203*0e8011faSEmmanuel Vadot vmmc-supply = <&vcc_io>; 204*0e8011faSEmmanuel Vadot vqmmc-supply = <&vcc_18>; 205*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 206*0e8011faSEmmanuel Vadot pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 207*0e8011faSEmmanuel Vadot cap-mmc-highspeed; 208*0e8011faSEmmanuel Vadot non-removable; 209*0e8011faSEmmanuel Vadot no-sd; 210*0e8011faSEmmanuel Vadot no-sdio; 211*0e8011faSEmmanuel Vadot mmc-hs200-1_8v; 212*0e8011faSEmmanuel Vadot status = "okay"; 213*0e8011faSEmmanuel Vadot}; 214*0e8011faSEmmanuel Vadot 215*0e8011faSEmmanuel Vadot&gmac { 216*0e8011faSEmmanuel Vadot clock_in_out = "input"; 217*0e8011faSEmmanuel Vadot phy-handle = <&phy>; 218*0e8011faSEmmanuel Vadot phy-mode = "rmii"; 219*0e8011faSEmmanuel Vadot phy-supply = <&vcc_lan>; 220*0e8011faSEmmanuel Vadot assigned-clocks = <&cru SCLK_MAC>; 221*0e8011faSEmmanuel Vadot assigned-clock-parents = <&ext_gmac>; 222*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 223*0e8011faSEmmanuel Vadot pinctrl-0 = <&rmii_pins>; 224*0e8011faSEmmanuel Vadot status = "okay"; 225*0e8011faSEmmanuel Vadot 226*0e8011faSEmmanuel Vadot mdio { 227*0e8011faSEmmanuel Vadot compatible = "snps,dwmac-mdio"; 228*0e8011faSEmmanuel Vadot #address-cells = <1>; 229*0e8011faSEmmanuel Vadot #size-cells = <0>; 230*0e8011faSEmmanuel Vadot 231*0e8011faSEmmanuel Vadot phy: ethernet-phy@1 { 232*0e8011faSEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c22"; 233*0e8011faSEmmanuel Vadot reg = <1>; 234*0e8011faSEmmanuel Vadot max-speed = <100>; 235*0e8011faSEmmanuel Vadot reset-assert-us = <10000>; 236*0e8011faSEmmanuel Vadot reset-deassert-us = <1000000>; 237*0e8011faSEmmanuel Vadot reset-gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; 238*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 239*0e8011faSEmmanuel Vadot pinctrl-0 = <&phy_rst>; 240*0e8011faSEmmanuel Vadot }; 241*0e8011faSEmmanuel Vadot }; 242*0e8011faSEmmanuel Vadot}; 243*0e8011faSEmmanuel Vadot 244*0e8011faSEmmanuel Vadot&io_domains { 245*0e8011faSEmmanuel Vadot audio-supply = <&vcca1v8_codec>; 246*0e8011faSEmmanuel Vadot dvp-supply = <&vcc_18>; 247*0e8011faSEmmanuel Vadot flash0-supply = <&vcc_18>; 248*0e8011faSEmmanuel Vadot gpio1830-supply = <&vcc_io>; 249*0e8011faSEmmanuel Vadot gpio30-supply = <&vcc_io>; 250*0e8011faSEmmanuel Vadot sdcard-supply = <&vccio_sd>; 251*0e8011faSEmmanuel Vadot wifi-supply = <&vdd1v8_wl>; 252*0e8011faSEmmanuel Vadot status = "okay"; 253*0e8011faSEmmanuel Vadot}; 254*0e8011faSEmmanuel Vadot 255*0e8011faSEmmanuel Vadot&i2c0 { 256*0e8011faSEmmanuel Vadot status = "okay"; 257*0e8011faSEmmanuel Vadot 258*0e8011faSEmmanuel Vadot rk808: pmic@1b { 259*0e8011faSEmmanuel Vadot compatible = "rockchip,rk808"; 260*0e8011faSEmmanuel Vadot reg = <0x1b>; 261*0e8011faSEmmanuel Vadot interrupts-extended = <&gpio0 RK_PA5 IRQ_TYPE_LEVEL_LOW>; 262*0e8011faSEmmanuel Vadot clock-output-names = "rk808-clkout1", "xin32k_wifi_bt"; 263*0e8011faSEmmanuel Vadot vcc1-supply = <&vcc_sys>; 264*0e8011faSEmmanuel Vadot vcc2-supply = <&vcc_sys>; 265*0e8011faSEmmanuel Vadot vcc3-supply = <&vcc_sys>; 266*0e8011faSEmmanuel Vadot vcc4-supply = <&vcc_sys>; 267*0e8011faSEmmanuel Vadot vcc6-supply = <&vcc_sys>; 268*0e8011faSEmmanuel Vadot vcc7-supply = <&vcc_sys>; 269*0e8011faSEmmanuel Vadot vcc8-supply = <&vcc_io>; 270*0e8011faSEmmanuel Vadot vcc9-supply = <&vcc_sys>; 271*0e8011faSEmmanuel Vadot vcc10-supply = <&vcc_sys>; 272*0e8011faSEmmanuel Vadot vcc11-supply = <&vcc_sys>; 273*0e8011faSEmmanuel Vadot vcc12-supply = <&vcc_io>; 274*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 275*0e8011faSEmmanuel Vadot pinctrl-0 = <&pmic_int &pmic_sleep>; 276*0e8011faSEmmanuel Vadot system-power-controller; 277*0e8011faSEmmanuel Vadot wakeup-source; 278*0e8011faSEmmanuel Vadot #clock-cells = <1>; 279*0e8011faSEmmanuel Vadot 280*0e8011faSEmmanuel Vadot regulators { 281*0e8011faSEmmanuel Vadot vdd_cpu: DCDC_REG1 { 282*0e8011faSEmmanuel Vadot regulator-name = "vdd_cpu"; 283*0e8011faSEmmanuel Vadot regulator-min-microvolt = <700000>; 284*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1350000>; 285*0e8011faSEmmanuel Vadot regulator-always-on; 286*0e8011faSEmmanuel Vadot regulator-boot-on; 287*0e8011faSEmmanuel Vadot 288*0e8011faSEmmanuel Vadot regulator-state-mem { 289*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 290*0e8011faSEmmanuel Vadot }; 291*0e8011faSEmmanuel Vadot }; 292*0e8011faSEmmanuel Vadot 293*0e8011faSEmmanuel Vadot vdd_log: DCDC_REG2 { 294*0e8011faSEmmanuel Vadot regulator-name = "vdd_log"; 295*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1100000>; 296*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1500000>; 297*0e8011faSEmmanuel Vadot regulator-ramp-delay = <6001>; 298*0e8011faSEmmanuel Vadot regulator-always-on; 299*0e8011faSEmmanuel Vadot regulator-boot-on; 300*0e8011faSEmmanuel Vadot 301*0e8011faSEmmanuel Vadot regulator-state-mem { 302*0e8011faSEmmanuel Vadot regulator-suspend-microvolt = <1000000>; 303*0e8011faSEmmanuel Vadot regulator-on-in-suspend; 304*0e8011faSEmmanuel Vadot }; 305*0e8011faSEmmanuel Vadot }; 306*0e8011faSEmmanuel Vadot 307*0e8011faSEmmanuel Vadot vcc_ddr: DCDC_REG3 { 308*0e8011faSEmmanuel Vadot regulator-name = "vcc_ddr"; 309*0e8011faSEmmanuel Vadot regulator-always-on; 310*0e8011faSEmmanuel Vadot regulator-boot-on; 311*0e8011faSEmmanuel Vadot 312*0e8011faSEmmanuel Vadot regulator-state-mem { 313*0e8011faSEmmanuel Vadot regulator-on-in-suspend; 314*0e8011faSEmmanuel Vadot }; 315*0e8011faSEmmanuel Vadot }; 316*0e8011faSEmmanuel Vadot 317*0e8011faSEmmanuel Vadot vcc_io: DCDC_REG4 { 318*0e8011faSEmmanuel Vadot regulator-name = "vcc_io"; 319*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 320*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 321*0e8011faSEmmanuel Vadot regulator-always-on; 322*0e8011faSEmmanuel Vadot regulator-boot-on; 323*0e8011faSEmmanuel Vadot 324*0e8011faSEmmanuel Vadot regulator-state-mem { 325*0e8011faSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 326*0e8011faSEmmanuel Vadot regulator-on-in-suspend; 327*0e8011faSEmmanuel Vadot }; 328*0e8011faSEmmanuel Vadot }; 329*0e8011faSEmmanuel Vadot 330*0e8011faSEmmanuel Vadot vcca1v8_codec: LDO_REG1 { 331*0e8011faSEmmanuel Vadot regulator-name = "vcca1v8_codec"; 332*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 333*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 334*0e8011faSEmmanuel Vadot regulator-always-on; 335*0e8011faSEmmanuel Vadot 336*0e8011faSEmmanuel Vadot regulator-state-mem { 337*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 338*0e8011faSEmmanuel Vadot }; 339*0e8011faSEmmanuel Vadot }; 340*0e8011faSEmmanuel Vadot 341*0e8011faSEmmanuel Vadot vcca3v0_codec: LDO_REG2 { 342*0e8011faSEmmanuel Vadot regulator-name = "vcca3v0_codec"; 343*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3000000>; 344*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3000000>; 345*0e8011faSEmmanuel Vadot regulator-always-on; 346*0e8011faSEmmanuel Vadot 347*0e8011faSEmmanuel Vadot regulator-state-mem { 348*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 349*0e8011faSEmmanuel Vadot }; 350*0e8011faSEmmanuel Vadot }; 351*0e8011faSEmmanuel Vadot 352*0e8011faSEmmanuel Vadot vdd_10: LDO_REG3 { 353*0e8011faSEmmanuel Vadot regulator-name = "vdd_10"; 354*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1000000>; 355*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1000000>; 356*0e8011faSEmmanuel Vadot regulator-always-on; 357*0e8011faSEmmanuel Vadot regulator-boot-on; 358*0e8011faSEmmanuel Vadot 359*0e8011faSEmmanuel Vadot regulator-state-mem { 360*0e8011faSEmmanuel Vadot regulator-suspend-microvolt = <1000000>; 361*0e8011faSEmmanuel Vadot regulator-on-in-suspend; 362*0e8011faSEmmanuel Vadot }; 363*0e8011faSEmmanuel Vadot }; 364*0e8011faSEmmanuel Vadot 365*0e8011faSEmmanuel Vadot vdd1v8_wl: LDO_REG4 { 366*0e8011faSEmmanuel Vadot regulator-name = "vdd1v8_wl"; 367*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 368*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 369*0e8011faSEmmanuel Vadot 370*0e8011faSEmmanuel Vadot regulator-state-mem { 371*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 372*0e8011faSEmmanuel Vadot }; 373*0e8011faSEmmanuel Vadot }; 374*0e8011faSEmmanuel Vadot 375*0e8011faSEmmanuel Vadot vccio_sd: LDO_REG5 { 376*0e8011faSEmmanuel Vadot regulator-name = "vccio_sd"; 377*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 378*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 379*0e8011faSEmmanuel Vadot 380*0e8011faSEmmanuel Vadot regulator-state-mem { 381*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 382*0e8011faSEmmanuel Vadot }; 383*0e8011faSEmmanuel Vadot }; 384*0e8011faSEmmanuel Vadot 385*0e8011faSEmmanuel Vadot vdd10_lcd: LDO_REG6 { 386*0e8011faSEmmanuel Vadot regulator-name = "vdd10_lcd"; 387*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1000000>; 388*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1000000>; 389*0e8011faSEmmanuel Vadot 390*0e8011faSEmmanuel Vadot regulator-state-mem { 391*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 392*0e8011faSEmmanuel Vadot }; 393*0e8011faSEmmanuel Vadot }; 394*0e8011faSEmmanuel Vadot 395*0e8011faSEmmanuel Vadot vcc_18: LDO_REG7 { 396*0e8011faSEmmanuel Vadot regulator-name = "vcc_18"; 397*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 398*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 399*0e8011faSEmmanuel Vadot 400*0e8011faSEmmanuel Vadot regulator-state-mem { 401*0e8011faSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 402*0e8011faSEmmanuel Vadot regulator-on-in-suspend; 403*0e8011faSEmmanuel Vadot }; 404*0e8011faSEmmanuel Vadot }; 405*0e8011faSEmmanuel Vadot 406*0e8011faSEmmanuel Vadot vcc18_lcd: LDO_REG8 { 407*0e8011faSEmmanuel Vadot regulator-name = "vcc18_lcd"; 408*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 409*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 410*0e8011faSEmmanuel Vadot 411*0e8011faSEmmanuel Vadot regulator-state-mem { 412*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 413*0e8011faSEmmanuel Vadot }; 414*0e8011faSEmmanuel Vadot }; 415*0e8011faSEmmanuel Vadot 416*0e8011faSEmmanuel Vadot vcc_tp: SWITCH_REG1 { 417*0e8011faSEmmanuel Vadot regulator-name = "vcc_tp"; 418*0e8011faSEmmanuel Vadot 419*0e8011faSEmmanuel Vadot regulator-state-mem { 420*0e8011faSEmmanuel Vadot regulator-on-in-suspend; 421*0e8011faSEmmanuel Vadot }; 422*0e8011faSEmmanuel Vadot }; 423*0e8011faSEmmanuel Vadot 424*0e8011faSEmmanuel Vadot vcc_sd: SWITCH_REG2 { 425*0e8011faSEmmanuel Vadot regulator-name = "vcc_sd"; 426*0e8011faSEmmanuel Vadot 427*0e8011faSEmmanuel Vadot regulator-state-mem { 428*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 429*0e8011faSEmmanuel Vadot }; 430*0e8011faSEmmanuel Vadot }; 431*0e8011faSEmmanuel Vadot }; 432*0e8011faSEmmanuel Vadot }; 433*0e8011faSEmmanuel Vadot}; 434*0e8011faSEmmanuel Vadot 435*0e8011faSEmmanuel Vadot&i2c1 { 436*0e8011faSEmmanuel Vadot status = "okay"; 437*0e8011faSEmmanuel Vadot 438*0e8011faSEmmanuel Vadot codec@1c { 439*0e8011faSEmmanuel Vadot compatible = "realtek,rt5640"; 440*0e8011faSEmmanuel Vadot reg = <0x1c>; 441*0e8011faSEmmanuel Vadot clocks = <&cru SCLK_I2S_8CH_OUT>; 442*0e8011faSEmmanuel Vadot clock-names = "mclk"; 443*0e8011faSEmmanuel Vadot realtek,dmic1-data-pin = <RT5640_DMIC1_DATA_PIN_IN1P>; 444*0e8011faSEmmanuel Vadot realtek,dmic2-data-pin = <RT5640_DMIC2_DATA_PIN_IN1N>; 445*0e8011faSEmmanuel Vadot realtek,in1-differential; 446*0e8011faSEmmanuel Vadot #sound-dai-cells = <0>; 447*0e8011faSEmmanuel Vadot 448*0e8011faSEmmanuel Vadot port { 449*0e8011faSEmmanuel Vadot rt5640_p0_0: endpoint { 450*0e8011faSEmmanuel Vadot remote-endpoint = <&i2s_8ch_p0_0>; 451*0e8011faSEmmanuel Vadot }; 452*0e8011faSEmmanuel Vadot }; 453*0e8011faSEmmanuel Vadot }; 454*0e8011faSEmmanuel Vadot 455*0e8011faSEmmanuel Vadot hym8563: rtc@51 { 456*0e8011faSEmmanuel Vadot compatible = "haoyu,hym8563"; 457*0e8011faSEmmanuel Vadot reg = <0x51>; 458*0e8011faSEmmanuel Vadot clock-output-names = "xin32k"; 459*0e8011faSEmmanuel Vadot #clock-cells = <0>; 460*0e8011faSEmmanuel Vadot }; 461*0e8011faSEmmanuel Vadot}; 462*0e8011faSEmmanuel Vadot 463*0e8011faSEmmanuel Vadot&i2s_8ch { 464*0e8011faSEmmanuel Vadot status = "okay"; 465*0e8011faSEmmanuel Vadot 466*0e8011faSEmmanuel Vadot i2s_8ch_p0: port { 467*0e8011faSEmmanuel Vadot i2s_8ch_p0_0: endpoint { 468*0e8011faSEmmanuel Vadot dai-format = "i2s"; 469*0e8011faSEmmanuel Vadot mclk-fs = <256>; 470*0e8011faSEmmanuel Vadot remote-endpoint = <&rt5640_p0_0>; 471*0e8011faSEmmanuel Vadot }; 472*0e8011faSEmmanuel Vadot }; 473*0e8011faSEmmanuel Vadot}; 474*0e8011faSEmmanuel Vadot 475*0e8011faSEmmanuel Vadot&pinctrl { 476*0e8011faSEmmanuel Vadot bluetooth { 477*0e8011faSEmmanuel Vadot bt_host_wake: bt-host-wake { 478*0e8011faSEmmanuel Vadot rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>; 479*0e8011faSEmmanuel Vadot }; 480*0e8011faSEmmanuel Vadot 481*0e8011faSEmmanuel Vadot bt_reg_on: bt-reg-on { 482*0e8011faSEmmanuel Vadot rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 483*0e8011faSEmmanuel Vadot }; 484*0e8011faSEmmanuel Vadot 485*0e8011faSEmmanuel Vadot bt_wake: bt-wake { 486*0e8011faSEmmanuel Vadot rockchip,pins = <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 487*0e8011faSEmmanuel Vadot }; 488*0e8011faSEmmanuel Vadot }; 489*0e8011faSEmmanuel Vadot 490*0e8011faSEmmanuel Vadot leds { 491*0e8011faSEmmanuel Vadot power_led: power-led { 492*0e8011faSEmmanuel Vadot rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 493*0e8011faSEmmanuel Vadot }; 494*0e8011faSEmmanuel Vadot }; 495*0e8011faSEmmanuel Vadot 496*0e8011faSEmmanuel Vadot phy { 497*0e8011faSEmmanuel Vadot phy_rst: phy-rst { 498*0e8011faSEmmanuel Vadot rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 499*0e8011faSEmmanuel Vadot }; 500*0e8011faSEmmanuel Vadot }; 501*0e8011faSEmmanuel Vadot 502*0e8011faSEmmanuel Vadot pmic { 503*0e8011faSEmmanuel Vadot pmic_int: pmic-int { 504*0e8011faSEmmanuel Vadot rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 505*0e8011faSEmmanuel Vadot }; 506*0e8011faSEmmanuel Vadot 507*0e8011faSEmmanuel Vadot pmic_sleep: pmic-sleep { 508*0e8011faSEmmanuel Vadot rockchip,pins = <0 RK_PA0 2 &pcfg_pull_none>; 509*0e8011faSEmmanuel Vadot }; 510*0e8011faSEmmanuel Vadot }; 511*0e8011faSEmmanuel Vadot 512*0e8011faSEmmanuel Vadot sdio-pwrseq { 513*0e8011faSEmmanuel Vadot wifi_reg_on: wifi-reg-on { 514*0e8011faSEmmanuel Vadot rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 515*0e8011faSEmmanuel Vadot }; 516*0e8011faSEmmanuel Vadot }; 517*0e8011faSEmmanuel Vadot 518*0e8011faSEmmanuel Vadot sound { 519*0e8011faSEmmanuel Vadot hp_det: hp-det { 520*0e8011faSEmmanuel Vadot rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 521*0e8011faSEmmanuel Vadot }; 522*0e8011faSEmmanuel Vadot }; 523*0e8011faSEmmanuel Vadot 524*0e8011faSEmmanuel Vadot usb { 525*0e8011faSEmmanuel Vadot host_vbus_drv: host-vbus-drv { 526*0e8011faSEmmanuel Vadot rockchip,pins = <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 527*0e8011faSEmmanuel Vadot }; 528*0e8011faSEmmanuel Vadot 529*0e8011faSEmmanuel Vadot otg_vbus_drv: otg-vbus-drv { 530*0e8011faSEmmanuel Vadot rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 531*0e8011faSEmmanuel Vadot }; 532*0e8011faSEmmanuel Vadot }; 533*0e8011faSEmmanuel Vadot 534*0e8011faSEmmanuel Vadot wifi { 535*0e8011faSEmmanuel Vadot wifi_host_wake: wifi-host-wake { 536*0e8011faSEmmanuel Vadot rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 537*0e8011faSEmmanuel Vadot }; 538*0e8011faSEmmanuel Vadot }; 539*0e8011faSEmmanuel Vadot}; 540*0e8011faSEmmanuel Vadot 541*0e8011faSEmmanuel Vadot&pmu_io_domains { 542*0e8011faSEmmanuel Vadot pmu-supply = <&vcc_io>; 543*0e8011faSEmmanuel Vadot vop-supply = <&vcc_io>; 544*0e8011faSEmmanuel Vadot status = "okay"; 545*0e8011faSEmmanuel Vadot}; 546*0e8011faSEmmanuel Vadot 547*0e8011faSEmmanuel Vadot&saradc { 548*0e8011faSEmmanuel Vadot vref-supply = <&vcc_18>; 549*0e8011faSEmmanuel Vadot status = "okay"; 550*0e8011faSEmmanuel Vadot}; 551*0e8011faSEmmanuel Vadot 552*0e8011faSEmmanuel Vadot&sdio0 { 553*0e8011faSEmmanuel Vadot bus-width = <4>; 554*0e8011faSEmmanuel Vadot mmc-pwrseq = <&sdio_pwrseq>; 555*0e8011faSEmmanuel Vadot vmmc-supply = <&vcc_io>; 556*0e8011faSEmmanuel Vadot vqmmc-supply = <&vdd1v8_wl>; 557*0e8011faSEmmanuel Vadot assigned-clocks = <&cru SCLK_SDIO0>; 558*0e8011faSEmmanuel Vadot assigned-clock-parents = <&cru PLL_CPLL>; 559*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 560*0e8011faSEmmanuel Vadot pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 561*0e8011faSEmmanuel Vadot cap-sd-highspeed; 562*0e8011faSEmmanuel Vadot cap-sdio-irq; 563*0e8011faSEmmanuel Vadot no-sd; 564*0e8011faSEmmanuel Vadot no-mmc; 565*0e8011faSEmmanuel Vadot non-removable; 566*0e8011faSEmmanuel Vadot sd-uhs-sdr104; 567*0e8011faSEmmanuel Vadot #address-cells = <1>; 568*0e8011faSEmmanuel Vadot #size-cells = <0>; 569*0e8011faSEmmanuel Vadot status = "okay"; 570*0e8011faSEmmanuel Vadot 571*0e8011faSEmmanuel Vadot wifi@1 { 572*0e8011faSEmmanuel Vadot compatible = "brcm,bcm43455-fmac", "brcm,bcm4329-fmac"; 573*0e8011faSEmmanuel Vadot reg = <1>; 574*0e8011faSEmmanuel Vadot interrupts-extended = <&gpio3 RK_PA6 IRQ_TYPE_LEVEL_HIGH>; 575*0e8011faSEmmanuel Vadot interrupt-names = "host-wake"; 576*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 577*0e8011faSEmmanuel Vadot pinctrl-0 = <&wifi_host_wake>; 578*0e8011faSEmmanuel Vadot }; 579*0e8011faSEmmanuel Vadot}; 580*0e8011faSEmmanuel Vadot 581*0e8011faSEmmanuel Vadot&sdmmc { 582*0e8011faSEmmanuel Vadot bus-width = <4>; 583*0e8011faSEmmanuel Vadot vmmc-supply = <&vcc_sd>; 584*0e8011faSEmmanuel Vadot vqmmc-supply = <&vccio_sd>; 585*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 586*0e8011faSEmmanuel Vadot pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4 &sdmmc_cd>; 587*0e8011faSEmmanuel Vadot cap-sd-highspeed; 588*0e8011faSEmmanuel Vadot disable-wp; 589*0e8011faSEmmanuel Vadot no-mmc; 590*0e8011faSEmmanuel Vadot no-sdio; 591*0e8011faSEmmanuel Vadot sd-uhs-sdr12; 592*0e8011faSEmmanuel Vadot sd-uhs-sdr25; 593*0e8011faSEmmanuel Vadot sd-uhs-sdr50; 594*0e8011faSEmmanuel Vadot sd-uhs-sdr104; 595*0e8011faSEmmanuel Vadot status = "okay"; 596*0e8011faSEmmanuel Vadot}; 597*0e8011faSEmmanuel Vadot 598*0e8011faSEmmanuel Vadot&tsadc { 599*0e8011faSEmmanuel Vadot rockchip,hw-tshut-mode = <0>; 600*0e8011faSEmmanuel Vadot rockchip,hw-tshut-polarity = <1>; 601*0e8011faSEmmanuel Vadot status = "okay"; 602*0e8011faSEmmanuel Vadot}; 603*0e8011faSEmmanuel Vadot 604*0e8011faSEmmanuel Vadot&uart0 { 605*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 606*0e8011faSEmmanuel Vadot pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 607*0e8011faSEmmanuel Vadot uart-has-rtscts; 608*0e8011faSEmmanuel Vadot status = "okay"; 609*0e8011faSEmmanuel Vadot 610*0e8011faSEmmanuel Vadot bluetooth { 611*0e8011faSEmmanuel Vadot compatible = "brcm,bcm4345c5"; 612*0e8011faSEmmanuel Vadot interrupts-extended = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>; 613*0e8011faSEmmanuel Vadot interrupt-names = "host-wakeup"; 614*0e8011faSEmmanuel Vadot clocks = <&rk808 RK808_CLKOUT1>; 615*0e8011faSEmmanuel Vadot clock-names = "lpo"; 616*0e8011faSEmmanuel Vadot device-wakeup-gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>; 617*0e8011faSEmmanuel Vadot shutdown-gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_HIGH>; 618*0e8011faSEmmanuel Vadot max-speed = <15000000>; 619*0e8011faSEmmanuel Vadot vbat-supply = <&vcc_io>; 620*0e8011faSEmmanuel Vadot vddio-supply = <&vdd1v8_wl>; 621*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 622*0e8011faSEmmanuel Vadot pinctrl-0 = <&bt_host_wake &bt_wake &bt_reg_on>; 623*0e8011faSEmmanuel Vadot }; 624*0e8011faSEmmanuel Vadot}; 625*0e8011faSEmmanuel Vadot 626*0e8011faSEmmanuel Vadot&uart1 { 627*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 628*0e8011faSEmmanuel Vadot pinctrl-0 = <&uart1_xfer>; 629*0e8011faSEmmanuel Vadot status = "okay"; 630*0e8011faSEmmanuel Vadot}; 631*0e8011faSEmmanuel Vadot 632*0e8011faSEmmanuel Vadot&uart4 { 633*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 634*0e8011faSEmmanuel Vadot pinctrl-0 = <&uart4_xfer>; 635*0e8011faSEmmanuel Vadot status = "okay"; 636*0e8011faSEmmanuel Vadot}; 637*0e8011faSEmmanuel Vadot 638*0e8011faSEmmanuel Vadot&usb_host0_ehci { 639*0e8011faSEmmanuel Vadot #address-cells = <1>; 640*0e8011faSEmmanuel Vadot #size-cells = <0>; 641*0e8011faSEmmanuel Vadot status = "okay"; 642*0e8011faSEmmanuel Vadot 643*0e8011faSEmmanuel Vadot hub@1 { 644*0e8011faSEmmanuel Vadot compatible = "usb5e3,610"; 645*0e8011faSEmmanuel Vadot reg = <1>; 646*0e8011faSEmmanuel Vadot vdd-supply = <&hub_avdd>; 647*0e8011faSEmmanuel Vadot }; 648*0e8011faSEmmanuel Vadot}; 649*0e8011faSEmmanuel Vadot 650*0e8011faSEmmanuel Vadot&usb_otg { 651*0e8011faSEmmanuel Vadot vbus-supply = <&vcc_otg>; 652*0e8011faSEmmanuel Vadot vusb_a-supply = <&vcc_io>; 653*0e8011faSEmmanuel Vadot vusb_d-supply = <&vdd10_usb>; 654*0e8011faSEmmanuel Vadot status = "okay"; 655*0e8011faSEmmanuel Vadot}; 656*0e8011faSEmmanuel Vadot 657*0e8011faSEmmanuel Vadot&wdt { 658*0e8011faSEmmanuel Vadot status = "okay"; 659*0e8011faSEmmanuel Vadot}; 660