1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright (c) 2016 Heiko Stuebner <heiko@sntech.de> 4*724ba675SRob Herring */ 5*724ba675SRob Herring 6*724ba675SRob Herring/dts-v1/; 7*724ba675SRob Herring#include <dt-bindings/input/input.h> 8*724ba675SRob Herring#include "rk3288.dtsi" 9*724ba675SRob Herring 10*724ba675SRob Herring/ { 11*724ba675SRob Herring model = "mqmaker MiQi"; 12*724ba675SRob Herring compatible = "mqmaker,miqi", "rockchip,rk3288"; 13*724ba675SRob Herring 14*724ba675SRob Herring chosen { 15*724ba675SRob Herring stdout-path = "serial2:115200n8"; 16*724ba675SRob Herring }; 17*724ba675SRob Herring 18*724ba675SRob Herring memory@0 { 19*724ba675SRob Herring device_type = "memory"; 20*724ba675SRob Herring reg = <0x0 0x0 0x0 0x80000000>; 21*724ba675SRob Herring }; 22*724ba675SRob Herring 23*724ba675SRob Herring ext_gmac: external-gmac-clock { 24*724ba675SRob Herring compatible = "fixed-clock"; 25*724ba675SRob Herring #clock-cells = <0>; 26*724ba675SRob Herring clock-frequency = <125000000>; 27*724ba675SRob Herring clock-output-names = "ext_gmac"; 28*724ba675SRob Herring }; 29*724ba675SRob Herring 30*724ba675SRob Herring leds { 31*724ba675SRob Herring compatible = "gpio-leds"; 32*724ba675SRob Herring 33*724ba675SRob Herring work_led: led-0 { 34*724ba675SRob Herring gpios = <&gpio7 RK_PA2 GPIO_ACTIVE_HIGH>; 35*724ba675SRob Herring label = "miqi:green:user"; 36*724ba675SRob Herring linux,default-trigger = "timer"; 37*724ba675SRob Herring }; 38*724ba675SRob Herring }; 39*724ba675SRob Herring 40*724ba675SRob Herring vcc_flash: flash-regulator { 41*724ba675SRob Herring compatible = "regulator-fixed"; 42*724ba675SRob Herring regulator-name = "vcc_flash"; 43*724ba675SRob Herring regulator-min-microvolt = <1800000>; 44*724ba675SRob Herring regulator-max-microvolt = <1800000>; 45*724ba675SRob Herring vin-supply = <&vcc_io>; 46*724ba675SRob Herring }; 47*724ba675SRob Herring 48*724ba675SRob Herring vcc_host: usb-host-regulator { 49*724ba675SRob Herring compatible = "regulator-fixed"; 50*724ba675SRob Herring enable-active-high; 51*724ba675SRob Herring gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; 52*724ba675SRob Herring pinctrl-names = "default"; 53*724ba675SRob Herring pinctrl-0 = <&host_vbus_drv>; 54*724ba675SRob Herring regulator-name = "vcc_host"; 55*724ba675SRob Herring regulator-min-microvolt = <5000000>; 56*724ba675SRob Herring regulator-max-microvolt = <5000000>; 57*724ba675SRob Herring regulator-always-on; 58*724ba675SRob Herring vin-supply = <&vcc_sys>; 59*724ba675SRob Herring }; 60*724ba675SRob Herring 61*724ba675SRob Herring vcc_sd: sdmmc-regulator { 62*724ba675SRob Herring compatible = "regulator-fixed"; 63*724ba675SRob Herring gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>; 64*724ba675SRob Herring pinctrl-names = "default"; 65*724ba675SRob Herring pinctrl-0 = <&sdmmc_pwr>; 66*724ba675SRob Herring regulator-name = "vcc_sd"; 67*724ba675SRob Herring regulator-min-microvolt = <3300000>; 68*724ba675SRob Herring regulator-max-microvolt = <3300000>; 69*724ba675SRob Herring startup-delay-us = <100000>; 70*724ba675SRob Herring vin-supply = <&vcc_io>; 71*724ba675SRob Herring }; 72*724ba675SRob Herring 73*724ba675SRob Herring vcc_sys: vsys-regulator { 74*724ba675SRob Herring compatible = "regulator-fixed"; 75*724ba675SRob Herring regulator-name = "vcc_sys"; 76*724ba675SRob Herring regulator-min-microvolt = <5000000>; 77*724ba675SRob Herring regulator-max-microvolt = <5000000>; 78*724ba675SRob Herring regulator-always-on; 79*724ba675SRob Herring regulator-boot-on; 80*724ba675SRob Herring }; 81*724ba675SRob Herring}; 82*724ba675SRob Herring 83*724ba675SRob Herring&cpu0 { 84*724ba675SRob Herring cpu-supply = <&vdd_cpu>; 85*724ba675SRob Herring}; 86*724ba675SRob Herring 87*724ba675SRob Herring&cpu1 { 88*724ba675SRob Herring cpu-supply = <&vdd_cpu>; 89*724ba675SRob Herring}; 90*724ba675SRob Herring 91*724ba675SRob Herring&cpu2 { 92*724ba675SRob Herring cpu-supply = <&vdd_cpu>; 93*724ba675SRob Herring}; 94*724ba675SRob Herring 95*724ba675SRob Herring&cpu3 { 96*724ba675SRob Herring cpu-supply = <&vdd_cpu>; 97*724ba675SRob Herring}; 98*724ba675SRob Herring 99*724ba675SRob Herring&emmc { 100*724ba675SRob Herring bus-width = <8>; 101*724ba675SRob Herring cap-mmc-highspeed; 102*724ba675SRob Herring non-removable; 103*724ba675SRob Herring pinctrl-names = "default"; 104*724ba675SRob Herring pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>; 105*724ba675SRob Herring vmmc-supply = <&vcc_io>; 106*724ba675SRob Herring vqmmc-supply = <&vcc_flash>; 107*724ba675SRob Herring status = "okay"; 108*724ba675SRob Herring}; 109*724ba675SRob Herring 110*724ba675SRob Herring&gmac { 111*724ba675SRob Herring assigned-clocks = <&cru SCLK_MAC>; 112*724ba675SRob Herring assigned-clock-parents = <&ext_gmac>; 113*724ba675SRob Herring clock_in_out = "input"; 114*724ba675SRob Herring pinctrl-names = "default"; 115*724ba675SRob Herring pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>; 116*724ba675SRob Herring phy-supply = <&vcc_lan>; 117*724ba675SRob Herring phy-mode = "rgmii"; 118*724ba675SRob Herring snps,reset-active-low; 119*724ba675SRob Herring snps,reset-delays-us = <0 10000 1000000>; 120*724ba675SRob Herring snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>; 121*724ba675SRob Herring tx_delay = <0x30>; 122*724ba675SRob Herring rx_delay = <0x10>; 123*724ba675SRob Herring status = "okay"; 124*724ba675SRob Herring}; 125*724ba675SRob Herring 126*724ba675SRob Herring&gpu { 127*724ba675SRob Herring mali-supply = <&vdd_gpu>; 128*724ba675SRob Herring status = "okay"; 129*724ba675SRob Herring}; 130*724ba675SRob Herring 131*724ba675SRob Herring&hdmi { 132*724ba675SRob Herring ddc-i2c-bus = <&i2c5>; 133*724ba675SRob Herring status = "okay"; 134*724ba675SRob Herring}; 135*724ba675SRob Herring 136*724ba675SRob Herring&i2c0 { 137*724ba675SRob Herring clock-frequency = <400000>; 138*724ba675SRob Herring status = "okay"; 139*724ba675SRob Herring 140*724ba675SRob Herring vdd_cpu: syr827@40 { 141*724ba675SRob Herring compatible = "silergy,syr827"; 142*724ba675SRob Herring fcs,suspend-voltage-selector = <1>; 143*724ba675SRob Herring reg = <0x40>; 144*724ba675SRob Herring regulator-name = "vdd_cpu"; 145*724ba675SRob Herring regulator-min-microvolt = <850000>; 146*724ba675SRob Herring regulator-max-microvolt = <1350000>; 147*724ba675SRob Herring regulator-always-on; 148*724ba675SRob Herring regulator-boot-on; 149*724ba675SRob Herring regulator-enable-ramp-delay = <300>; 150*724ba675SRob Herring regulator-ramp-delay = <8000>; 151*724ba675SRob Herring vin-supply = <&vcc_sys>; 152*724ba675SRob Herring }; 153*724ba675SRob Herring 154*724ba675SRob Herring vdd_gpu: syr828@41 { 155*724ba675SRob Herring compatible = "silergy,syr828"; 156*724ba675SRob Herring fcs,suspend-voltage-selector = <1>; 157*724ba675SRob Herring reg = <0x41>; 158*724ba675SRob Herring regulator-name = "vdd_gpu"; 159*724ba675SRob Herring regulator-min-microvolt = <850000>; 160*724ba675SRob Herring regulator-max-microvolt = <1350000>; 161*724ba675SRob Herring regulator-always-on; 162*724ba675SRob Herring vin-supply = <&vcc_sys>; 163*724ba675SRob Herring }; 164*724ba675SRob Herring 165*724ba675SRob Herring hym8563: rtc@51 { 166*724ba675SRob Herring compatible = "haoyu,hym8563"; 167*724ba675SRob Herring reg = <0x51>; 168*724ba675SRob Herring #clock-cells = <0>; 169*724ba675SRob Herring clock-output-names = "xin32k"; 170*724ba675SRob Herring }; 171*724ba675SRob Herring 172*724ba675SRob Herring act8846: act8846@5a { 173*724ba675SRob Herring compatible = "active-semi,act8846"; 174*724ba675SRob Herring reg = <0x5a>; 175*724ba675SRob Herring pinctrl-names = "default"; 176*724ba675SRob Herring pinctrl-0 = <&pmic_vsel>; 177*724ba675SRob Herring system-power-controller; 178*724ba675SRob Herring 179*724ba675SRob Herring vp1-supply = <&vcc_sys>; 180*724ba675SRob Herring vp2-supply = <&vcc_sys>; 181*724ba675SRob Herring vp3-supply = <&vcc_sys>; 182*724ba675SRob Herring vp4-supply = <&vcc_sys>; 183*724ba675SRob Herring inl1-supply = <&vcc_sys>; 184*724ba675SRob Herring inl2-supply = <&vcc_sys>; 185*724ba675SRob Herring inl3-supply = <&vcc_20>; 186*724ba675SRob Herring 187*724ba675SRob Herring regulators { 188*724ba675SRob Herring vcc_ddr: REG1 { 189*724ba675SRob Herring regulator-name = "vcc_ddr"; 190*724ba675SRob Herring regulator-always-on; 191*724ba675SRob Herring }; 192*724ba675SRob Herring 193*724ba675SRob Herring vcc_io: REG2 { 194*724ba675SRob Herring regulator-name = "vcc_io"; 195*724ba675SRob Herring regulator-min-microvolt = <3300000>; 196*724ba675SRob Herring regulator-max-microvolt = <3300000>; 197*724ba675SRob Herring regulator-always-on; 198*724ba675SRob Herring }; 199*724ba675SRob Herring 200*724ba675SRob Herring vdd_log: REG3 { 201*724ba675SRob Herring regulator-name = "vdd_log"; 202*724ba675SRob Herring regulator-min-microvolt = <1100000>; 203*724ba675SRob Herring regulator-max-microvolt = <1100000>; 204*724ba675SRob Herring regulator-always-on; 205*724ba675SRob Herring }; 206*724ba675SRob Herring 207*724ba675SRob Herring vcc_20: REG4 { 208*724ba675SRob Herring regulator-name = "vcc_20"; 209*724ba675SRob Herring regulator-min-microvolt = <2000000>; 210*724ba675SRob Herring regulator-max-microvolt = <2000000>; 211*724ba675SRob Herring regulator-always-on; 212*724ba675SRob Herring }; 213*724ba675SRob Herring 214*724ba675SRob Herring vccio_sd: REG5 { 215*724ba675SRob Herring regulator-name = "vccio_sd"; 216*724ba675SRob Herring regulator-min-microvolt = <3300000>; 217*724ba675SRob Herring regulator-max-microvolt = <3300000>; 218*724ba675SRob Herring regulator-always-on; 219*724ba675SRob Herring }; 220*724ba675SRob Herring 221*724ba675SRob Herring vdd10_lcd: REG6 { 222*724ba675SRob Herring regulator-name = "vdd10_lcd"; 223*724ba675SRob Herring regulator-min-microvolt = <1000000>; 224*724ba675SRob Herring regulator-max-microvolt = <1000000>; 225*724ba675SRob Herring regulator-always-on; 226*724ba675SRob Herring }; 227*724ba675SRob Herring 228*724ba675SRob Herring vcca_18: REG7 { 229*724ba675SRob Herring regulator-name = "vcca_18"; 230*724ba675SRob Herring regulator-min-microvolt = <1800000>; 231*724ba675SRob Herring regulator-max-microvolt = <1800000>; 232*724ba675SRob Herring }; 233*724ba675SRob Herring 234*724ba675SRob Herring vcca_33: REG8 { 235*724ba675SRob Herring regulator-name = "vcca_33"; 236*724ba675SRob Herring regulator-min-microvolt = <3300000>; 237*724ba675SRob Herring regulator-max-microvolt = <3300000>; 238*724ba675SRob Herring }; 239*724ba675SRob Herring 240*724ba675SRob Herring vcc_lan: REG9 { 241*724ba675SRob Herring regulator-name = "vcc_lan"; 242*724ba675SRob Herring regulator-min-microvolt = <3300000>; 243*724ba675SRob Herring regulator-max-microvolt = <3300000>; 244*724ba675SRob Herring }; 245*724ba675SRob Herring 246*724ba675SRob Herring vdd_10: REG10 { 247*724ba675SRob Herring regulator-name = "vdd_10"; 248*724ba675SRob Herring regulator-min-microvolt = <1000000>; 249*724ba675SRob Herring regulator-max-microvolt = <1000000>; 250*724ba675SRob Herring regulator-always-on; 251*724ba675SRob Herring }; 252*724ba675SRob Herring 253*724ba675SRob Herring vcc_18: REG11 { 254*724ba675SRob Herring regulator-name = "vcc_18"; 255*724ba675SRob Herring regulator-min-microvolt = <1800000>; 256*724ba675SRob Herring regulator-max-microvolt = <1800000>; 257*724ba675SRob Herring regulator-always-on; 258*724ba675SRob Herring }; 259*724ba675SRob Herring 260*724ba675SRob Herring vcc18_lcd: REG12 { 261*724ba675SRob Herring regulator-name = "vcc18_lcd"; 262*724ba675SRob Herring regulator-min-microvolt = <1800000>; 263*724ba675SRob Herring regulator-max-microvolt = <1800000>; 264*724ba675SRob Herring regulator-always-on; 265*724ba675SRob Herring }; 266*724ba675SRob Herring }; 267*724ba675SRob Herring }; 268*724ba675SRob Herring}; 269*724ba675SRob Herring 270*724ba675SRob Herring&i2c1 { 271*724ba675SRob Herring status = "okay"; 272*724ba675SRob Herring}; 273*724ba675SRob Herring 274*724ba675SRob Herring&i2c2 { 275*724ba675SRob Herring status = "okay"; 276*724ba675SRob Herring}; 277*724ba675SRob Herring 278*724ba675SRob Herring&i2c4 { 279*724ba675SRob Herring status = "okay"; 280*724ba675SRob Herring}; 281*724ba675SRob Herring 282*724ba675SRob Herring&i2c5 { 283*724ba675SRob Herring status = "okay"; 284*724ba675SRob Herring}; 285*724ba675SRob Herring 286*724ba675SRob Herring&io_domains { 287*724ba675SRob Herring status = "okay"; 288*724ba675SRob Herring 289*724ba675SRob Herring audio-supply = <&vcca_33>; 290*724ba675SRob Herring flash0-supply = <&vcc_flash>; 291*724ba675SRob Herring flash1-supply = <&vcc_lan>; 292*724ba675SRob Herring gpio30-supply = <&vcc_io>; 293*724ba675SRob Herring gpio1830-supply = <&vcc_io>; 294*724ba675SRob Herring lcdc-supply = <&vcc_io>; 295*724ba675SRob Herring sdcard-supply = <&vccio_sd>; 296*724ba675SRob Herring wifi-supply = <&vcc_18>; 297*724ba675SRob Herring}; 298*724ba675SRob Herring 299*724ba675SRob Herring&pinctrl { 300*724ba675SRob Herring pcfg_output_high: pcfg-output-high { 301*724ba675SRob Herring output-high; 302*724ba675SRob Herring }; 303*724ba675SRob Herring 304*724ba675SRob Herring pcfg_output_low: pcfg-output-low { 305*724ba675SRob Herring output-low; 306*724ba675SRob Herring }; 307*724ba675SRob Herring 308*724ba675SRob Herring pcfg_pull_up_drv_12ma: pcfg-pull-up-drv-12ma { 309*724ba675SRob Herring bias-pull-up; 310*724ba675SRob Herring drive-strength = <12>; 311*724ba675SRob Herring }; 312*724ba675SRob Herring 313*724ba675SRob Herring act8846 { 314*724ba675SRob Herring pmic_int: pmic-int { 315*724ba675SRob Herring rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 316*724ba675SRob Herring }; 317*724ba675SRob Herring 318*724ba675SRob Herring pmic_sleep: pmic-sleep { 319*724ba675SRob Herring rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_output_low>; 320*724ba675SRob Herring }; 321*724ba675SRob Herring 322*724ba675SRob Herring pmic_vsel: pmic-vsel { 323*724ba675SRob Herring rockchip,pins = <7 RK_PA1 RK_FUNC_GPIO &pcfg_output_low>; 324*724ba675SRob Herring }; 325*724ba675SRob Herring }; 326*724ba675SRob Herring 327*724ba675SRob Herring gmac { 328*724ba675SRob Herring phy_int: phy-int { 329*724ba675SRob Herring rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 330*724ba675SRob Herring }; 331*724ba675SRob Herring 332*724ba675SRob Herring phy_pmeb: phy-pmeb { 333*724ba675SRob Herring rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 334*724ba675SRob Herring }; 335*724ba675SRob Herring 336*724ba675SRob Herring phy_rst: phy-rst { 337*724ba675SRob Herring rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>; 338*724ba675SRob Herring }; 339*724ba675SRob Herring }; 340*724ba675SRob Herring 341*724ba675SRob Herring sdmmc { 342*724ba675SRob Herring /* 343*724ba675SRob Herring * Default drive strength isn't enough to achieve even 344*724ba675SRob Herring * high-speed mode on firefly board so bump up to 12ma. 345*724ba675SRob Herring */ 346*724ba675SRob Herring sdmmc_bus4: sdmmc-bus4 { 347*724ba675SRob Herring rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up_drv_12ma>, 348*724ba675SRob Herring <6 RK_PC1 1 &pcfg_pull_up_drv_12ma>, 349*724ba675SRob Herring <6 RK_PC2 1 &pcfg_pull_up_drv_12ma>, 350*724ba675SRob Herring <6 RK_PC3 1 &pcfg_pull_up_drv_12ma>; 351*724ba675SRob Herring }; 352*724ba675SRob Herring 353*724ba675SRob Herring sdmmc_clk: sdmmc-clk { 354*724ba675SRob Herring rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_12ma>; 355*724ba675SRob Herring }; 356*724ba675SRob Herring 357*724ba675SRob Herring sdmmc_cmd: sdmmc-cmd { 358*724ba675SRob Herring rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_12ma>; 359*724ba675SRob Herring }; 360*724ba675SRob Herring 361*724ba675SRob Herring sdmmc_pwr: sdmmc-pwr { 362*724ba675SRob Herring rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 363*724ba675SRob Herring }; 364*724ba675SRob Herring }; 365*724ba675SRob Herring 366*724ba675SRob Herring usb_host { 367*724ba675SRob Herring host_vbus_drv: host-vbus-drv { 368*724ba675SRob Herring rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 369*724ba675SRob Herring }; 370*724ba675SRob Herring }; 371*724ba675SRob Herring}; 372*724ba675SRob Herring 373*724ba675SRob Herring&saradc { 374*724ba675SRob Herring vref-supply = <&vcc_18>; 375*724ba675SRob Herring status = "okay"; 376*724ba675SRob Herring}; 377*724ba675SRob Herring 378*724ba675SRob Herring&sdmmc { 379*724ba675SRob Herring bus-width = <4>; 380*724ba675SRob Herring cap-mmc-highspeed; 381*724ba675SRob Herring cap-sd-highspeed; 382*724ba675SRob Herring card-detect-delay = <200>; 383*724ba675SRob Herring disable-wp; 384*724ba675SRob Herring pinctrl-names = "default"; 385*724ba675SRob Herring pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 386*724ba675SRob Herring vmmc-supply = <&vcc_sd>; 387*724ba675SRob Herring vqmmc-supply = <&vccio_sd>; 388*724ba675SRob Herring status = "okay"; 389*724ba675SRob Herring}; 390*724ba675SRob Herring 391*724ba675SRob Herring&tsadc { 392*724ba675SRob Herring rockchip,hw-tshut-mode = <0>; 393*724ba675SRob Herring rockchip,hw-tshut-polarity = <0>; 394*724ba675SRob Herring status = "okay"; 395*724ba675SRob Herring}; 396*724ba675SRob Herring 397*724ba675SRob Herring&uart2 { 398*724ba675SRob Herring status = "okay"; 399*724ba675SRob Herring}; 400*724ba675SRob Herring 401*724ba675SRob Herring&uart3 { 402*724ba675SRob Herring status = "okay"; 403*724ba675SRob Herring}; 404*724ba675SRob Herring 405*724ba675SRob Herring&usbphy { 406*724ba675SRob Herring status = "okay"; 407*724ba675SRob Herring}; 408*724ba675SRob Herring 409*724ba675SRob Herring&usb_host1 { 410*724ba675SRob Herring status = "okay"; 411*724ba675SRob Herring}; 412*724ba675SRob Herring 413*724ba675SRob Herring&usb_otg { 414*724ba675SRob Herring /* 415*724ba675SRob Herring * The otg controller is the only system power source, 416*724ba675SRob Herring * so needs to always stay in device mode. 417*724ba675SRob Herring */ 418*724ba675SRob Herring dr_mode = "peripheral"; 419*724ba675SRob Herring status = "okay"; 420*724ba675SRob Herring}; 421*724ba675SRob Herring 422*724ba675SRob Herring&vopb { 423*724ba675SRob Herring status = "okay"; 424*724ba675SRob Herring}; 425*724ba675SRob Herring 426*724ba675SRob Herring&vopb_mmu { 427*724ba675SRob Herring status = "okay"; 428*724ba675SRob Herring}; 429*724ba675SRob Herring 430*724ba675SRob Herring&vopl { 431*724ba675SRob Herring status = "okay"; 432*724ba675SRob Herring}; 433*724ba675SRob Herring 434*724ba675SRob Herring&vopl_mmu { 435*724ba675SRob Herring status = "okay"; 436*724ba675SRob Herring}; 437*724ba675SRob Herring 438*724ba675SRob Herring&wdt { 439*724ba675SRob Herring status = "okay"; 440*724ba675SRob Herring}; 441