1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright (c) 2016 Heiko Stuebner <heiko@sntech.de> 4724ba675SRob Herring */ 5724ba675SRob Herring 6724ba675SRob Herring/dts-v1/; 7724ba675SRob Herring#include <dt-bindings/input/input.h> 8724ba675SRob Herring#include "rk3288.dtsi" 9724ba675SRob Herring 10724ba675SRob Herring/ { 11724ba675SRob Herring model = "mqmaker MiQi"; 12724ba675SRob Herring compatible = "mqmaker,miqi", "rockchip,rk3288"; 13724ba675SRob Herring 14724ba675SRob Herring chosen { 15724ba675SRob Herring stdout-path = "serial2:115200n8"; 16724ba675SRob Herring }; 17724ba675SRob Herring 18724ba675SRob Herring memory@0 { 19724ba675SRob Herring device_type = "memory"; 20724ba675SRob Herring reg = <0x0 0x0 0x0 0x80000000>; 21724ba675SRob Herring }; 22724ba675SRob Herring 23724ba675SRob Herring ext_gmac: external-gmac-clock { 24724ba675SRob Herring compatible = "fixed-clock"; 25724ba675SRob Herring #clock-cells = <0>; 26724ba675SRob Herring clock-frequency = <125000000>; 27724ba675SRob Herring clock-output-names = "ext_gmac"; 28724ba675SRob Herring }; 29724ba675SRob Herring 30724ba675SRob Herring leds { 31724ba675SRob Herring compatible = "gpio-leds"; 32724ba675SRob Herring 33724ba675SRob Herring work_led: led-0 { 34724ba675SRob Herring gpios = <&gpio7 RK_PA2 GPIO_ACTIVE_HIGH>; 35724ba675SRob Herring label = "miqi:green:user"; 36724ba675SRob Herring linux,default-trigger = "timer"; 37724ba675SRob Herring }; 38724ba675SRob Herring }; 39724ba675SRob Herring 40*2c3944d9SJohan Jonker vcc_flash: regulator-flash { 41724ba675SRob Herring compatible = "regulator-fixed"; 42724ba675SRob Herring regulator-name = "vcc_flash"; 43724ba675SRob Herring regulator-min-microvolt = <1800000>; 44724ba675SRob Herring regulator-max-microvolt = <1800000>; 45724ba675SRob Herring vin-supply = <&vcc_io>; 46724ba675SRob Herring }; 47724ba675SRob Herring 48*2c3944d9SJohan Jonker vcc_host: regulator-usb-host { 49724ba675SRob Herring compatible = "regulator-fixed"; 50724ba675SRob Herring enable-active-high; 51724ba675SRob Herring gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; 52724ba675SRob Herring pinctrl-names = "default"; 53724ba675SRob Herring pinctrl-0 = <&host_vbus_drv>; 54724ba675SRob Herring regulator-name = "vcc_host"; 55724ba675SRob Herring regulator-min-microvolt = <5000000>; 56724ba675SRob Herring regulator-max-microvolt = <5000000>; 57724ba675SRob Herring regulator-always-on; 58724ba675SRob Herring vin-supply = <&vcc_sys>; 59724ba675SRob Herring }; 60724ba675SRob Herring 61*2c3944d9SJohan Jonker vcc_sd: regulator-sdmmc { 62724ba675SRob Herring compatible = "regulator-fixed"; 63724ba675SRob Herring gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>; 64724ba675SRob Herring pinctrl-names = "default"; 65724ba675SRob Herring pinctrl-0 = <&sdmmc_pwr>; 66724ba675SRob Herring regulator-name = "vcc_sd"; 67724ba675SRob Herring regulator-min-microvolt = <3300000>; 68724ba675SRob Herring regulator-max-microvolt = <3300000>; 69724ba675SRob Herring startup-delay-us = <100000>; 70724ba675SRob Herring vin-supply = <&vcc_io>; 71724ba675SRob Herring }; 72724ba675SRob Herring 73*2c3944d9SJohan Jonker vcc_sys: regulator-vsys { 74724ba675SRob Herring compatible = "regulator-fixed"; 75724ba675SRob Herring regulator-name = "vcc_sys"; 76724ba675SRob Herring regulator-min-microvolt = <5000000>; 77724ba675SRob Herring regulator-max-microvolt = <5000000>; 78724ba675SRob Herring regulator-always-on; 79724ba675SRob Herring regulator-boot-on; 80724ba675SRob Herring }; 81724ba675SRob Herring}; 82724ba675SRob Herring 83724ba675SRob Herring&cpu0 { 84724ba675SRob Herring cpu-supply = <&vdd_cpu>; 85724ba675SRob Herring}; 86724ba675SRob Herring 87724ba675SRob Herring&cpu1 { 88724ba675SRob Herring cpu-supply = <&vdd_cpu>; 89724ba675SRob Herring}; 90724ba675SRob Herring 91724ba675SRob Herring&cpu2 { 92724ba675SRob Herring cpu-supply = <&vdd_cpu>; 93724ba675SRob Herring}; 94724ba675SRob Herring 95724ba675SRob Herring&cpu3 { 96724ba675SRob Herring cpu-supply = <&vdd_cpu>; 97724ba675SRob Herring}; 98724ba675SRob Herring 99724ba675SRob Herring&emmc { 100724ba675SRob Herring bus-width = <8>; 101724ba675SRob Herring cap-mmc-highspeed; 102724ba675SRob Herring non-removable; 103724ba675SRob Herring pinctrl-names = "default"; 104724ba675SRob Herring pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>; 105724ba675SRob Herring vmmc-supply = <&vcc_io>; 106724ba675SRob Herring vqmmc-supply = <&vcc_flash>; 107724ba675SRob Herring status = "okay"; 108724ba675SRob Herring}; 109724ba675SRob Herring 110724ba675SRob Herring&gmac { 111724ba675SRob Herring assigned-clocks = <&cru SCLK_MAC>; 112724ba675SRob Herring assigned-clock-parents = <&ext_gmac>; 113724ba675SRob Herring clock_in_out = "input"; 114724ba675SRob Herring pinctrl-names = "default"; 115724ba675SRob Herring pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>; 116724ba675SRob Herring phy-supply = <&vcc_lan>; 117724ba675SRob Herring phy-mode = "rgmii"; 118724ba675SRob Herring snps,reset-active-low; 119724ba675SRob Herring snps,reset-delays-us = <0 10000 1000000>; 120724ba675SRob Herring snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>; 121724ba675SRob Herring tx_delay = <0x30>; 122724ba675SRob Herring rx_delay = <0x10>; 123724ba675SRob Herring status = "okay"; 124724ba675SRob Herring}; 125724ba675SRob Herring 126724ba675SRob Herring&gpu { 127724ba675SRob Herring mali-supply = <&vdd_gpu>; 128724ba675SRob Herring status = "okay"; 129724ba675SRob Herring}; 130724ba675SRob Herring 131724ba675SRob Herring&hdmi { 132724ba675SRob Herring ddc-i2c-bus = <&i2c5>; 133724ba675SRob Herring status = "okay"; 134724ba675SRob Herring}; 135724ba675SRob Herring 136724ba675SRob Herring&i2c0 { 137724ba675SRob Herring clock-frequency = <400000>; 138724ba675SRob Herring status = "okay"; 139724ba675SRob Herring 140724ba675SRob Herring vdd_cpu: syr827@40 { 141724ba675SRob Herring compatible = "silergy,syr827"; 142724ba675SRob Herring fcs,suspend-voltage-selector = <1>; 143724ba675SRob Herring reg = <0x40>; 144724ba675SRob Herring regulator-name = "vdd_cpu"; 145724ba675SRob Herring regulator-min-microvolt = <850000>; 146724ba675SRob Herring regulator-max-microvolt = <1350000>; 147724ba675SRob Herring regulator-always-on; 148724ba675SRob Herring regulator-boot-on; 149724ba675SRob Herring regulator-enable-ramp-delay = <300>; 150724ba675SRob Herring regulator-ramp-delay = <8000>; 151724ba675SRob Herring vin-supply = <&vcc_sys>; 152724ba675SRob Herring }; 153724ba675SRob Herring 154724ba675SRob Herring vdd_gpu: syr828@41 { 155724ba675SRob Herring compatible = "silergy,syr828"; 156724ba675SRob Herring fcs,suspend-voltage-selector = <1>; 157724ba675SRob Herring reg = <0x41>; 158724ba675SRob Herring regulator-name = "vdd_gpu"; 159724ba675SRob Herring regulator-min-microvolt = <850000>; 160724ba675SRob Herring regulator-max-microvolt = <1350000>; 161724ba675SRob Herring regulator-always-on; 162724ba675SRob Herring vin-supply = <&vcc_sys>; 163724ba675SRob Herring }; 164724ba675SRob Herring 165724ba675SRob Herring hym8563: rtc@51 { 166724ba675SRob Herring compatible = "haoyu,hym8563"; 167724ba675SRob Herring reg = <0x51>; 168724ba675SRob Herring #clock-cells = <0>; 169724ba675SRob Herring clock-output-names = "xin32k"; 170724ba675SRob Herring }; 171724ba675SRob Herring 172724ba675SRob Herring act8846: act8846@5a { 173724ba675SRob Herring compatible = "active-semi,act8846"; 174724ba675SRob Herring reg = <0x5a>; 175724ba675SRob Herring pinctrl-names = "default"; 176724ba675SRob Herring pinctrl-0 = <&pmic_vsel>; 177724ba675SRob Herring system-power-controller; 178724ba675SRob Herring 179724ba675SRob Herring vp1-supply = <&vcc_sys>; 180724ba675SRob Herring vp2-supply = <&vcc_sys>; 181724ba675SRob Herring vp3-supply = <&vcc_sys>; 182724ba675SRob Herring vp4-supply = <&vcc_sys>; 183724ba675SRob Herring inl1-supply = <&vcc_sys>; 184724ba675SRob Herring inl2-supply = <&vcc_sys>; 185724ba675SRob Herring inl3-supply = <&vcc_20>; 186724ba675SRob Herring 187724ba675SRob Herring regulators { 188724ba675SRob Herring vcc_ddr: REG1 { 189724ba675SRob Herring regulator-name = "vcc_ddr"; 190724ba675SRob Herring regulator-always-on; 191724ba675SRob Herring }; 192724ba675SRob Herring 193724ba675SRob Herring vcc_io: REG2 { 194724ba675SRob Herring regulator-name = "vcc_io"; 195724ba675SRob Herring regulator-min-microvolt = <3300000>; 196724ba675SRob Herring regulator-max-microvolt = <3300000>; 197724ba675SRob Herring regulator-always-on; 198724ba675SRob Herring }; 199724ba675SRob Herring 200724ba675SRob Herring vdd_log: REG3 { 201724ba675SRob Herring regulator-name = "vdd_log"; 202724ba675SRob Herring regulator-min-microvolt = <1100000>; 203724ba675SRob Herring regulator-max-microvolt = <1100000>; 204724ba675SRob Herring regulator-always-on; 205724ba675SRob Herring }; 206724ba675SRob Herring 207724ba675SRob Herring vcc_20: REG4 { 208724ba675SRob Herring regulator-name = "vcc_20"; 209724ba675SRob Herring regulator-min-microvolt = <2000000>; 210724ba675SRob Herring regulator-max-microvolt = <2000000>; 211724ba675SRob Herring regulator-always-on; 212724ba675SRob Herring }; 213724ba675SRob Herring 214724ba675SRob Herring vccio_sd: REG5 { 215724ba675SRob Herring regulator-name = "vccio_sd"; 216724ba675SRob Herring regulator-min-microvolt = <3300000>; 217724ba675SRob Herring regulator-max-microvolt = <3300000>; 218724ba675SRob Herring regulator-always-on; 219724ba675SRob Herring }; 220724ba675SRob Herring 221724ba675SRob Herring vdd10_lcd: REG6 { 222724ba675SRob Herring regulator-name = "vdd10_lcd"; 223724ba675SRob Herring regulator-min-microvolt = <1000000>; 224724ba675SRob Herring regulator-max-microvolt = <1000000>; 225724ba675SRob Herring regulator-always-on; 226724ba675SRob Herring }; 227724ba675SRob Herring 228724ba675SRob Herring vcca_18: REG7 { 229724ba675SRob Herring regulator-name = "vcca_18"; 230724ba675SRob Herring regulator-min-microvolt = <1800000>; 231724ba675SRob Herring regulator-max-microvolt = <1800000>; 232724ba675SRob Herring }; 233724ba675SRob Herring 234724ba675SRob Herring vcca_33: REG8 { 235724ba675SRob Herring regulator-name = "vcca_33"; 236724ba675SRob Herring regulator-min-microvolt = <3300000>; 237724ba675SRob Herring regulator-max-microvolt = <3300000>; 238724ba675SRob Herring }; 239724ba675SRob Herring 240724ba675SRob Herring vcc_lan: REG9 { 241724ba675SRob Herring regulator-name = "vcc_lan"; 242724ba675SRob Herring regulator-min-microvolt = <3300000>; 243724ba675SRob Herring regulator-max-microvolt = <3300000>; 244724ba675SRob Herring }; 245724ba675SRob Herring 246724ba675SRob Herring vdd_10: REG10 { 247724ba675SRob Herring regulator-name = "vdd_10"; 248724ba675SRob Herring regulator-min-microvolt = <1000000>; 249724ba675SRob Herring regulator-max-microvolt = <1000000>; 250724ba675SRob Herring regulator-always-on; 251724ba675SRob Herring }; 252724ba675SRob Herring 253724ba675SRob Herring vcc_18: REG11 { 254724ba675SRob Herring regulator-name = "vcc_18"; 255724ba675SRob Herring regulator-min-microvolt = <1800000>; 256724ba675SRob Herring regulator-max-microvolt = <1800000>; 257724ba675SRob Herring regulator-always-on; 258724ba675SRob Herring }; 259724ba675SRob Herring 260724ba675SRob Herring vcc18_lcd: REG12 { 261724ba675SRob Herring regulator-name = "vcc18_lcd"; 262724ba675SRob Herring regulator-min-microvolt = <1800000>; 263724ba675SRob Herring regulator-max-microvolt = <1800000>; 264724ba675SRob Herring regulator-always-on; 265724ba675SRob Herring }; 266724ba675SRob Herring }; 267724ba675SRob Herring }; 268724ba675SRob Herring}; 269724ba675SRob Herring 270724ba675SRob Herring&i2c1 { 271724ba675SRob Herring status = "okay"; 272724ba675SRob Herring}; 273724ba675SRob Herring 274724ba675SRob Herring&i2c2 { 275724ba675SRob Herring status = "okay"; 276724ba675SRob Herring}; 277724ba675SRob Herring 278724ba675SRob Herring&i2c4 { 279724ba675SRob Herring status = "okay"; 280724ba675SRob Herring}; 281724ba675SRob Herring 282724ba675SRob Herring&i2c5 { 283724ba675SRob Herring status = "okay"; 284724ba675SRob Herring}; 285724ba675SRob Herring 286724ba675SRob Herring&io_domains { 287724ba675SRob Herring status = "okay"; 288724ba675SRob Herring 289724ba675SRob Herring audio-supply = <&vcca_33>; 290724ba675SRob Herring flash0-supply = <&vcc_flash>; 291724ba675SRob Herring flash1-supply = <&vcc_lan>; 292724ba675SRob Herring gpio30-supply = <&vcc_io>; 293724ba675SRob Herring gpio1830-supply = <&vcc_io>; 294724ba675SRob Herring lcdc-supply = <&vcc_io>; 295724ba675SRob Herring sdcard-supply = <&vccio_sd>; 296724ba675SRob Herring wifi-supply = <&vcc_18>; 297724ba675SRob Herring}; 298724ba675SRob Herring 299724ba675SRob Herring&pinctrl { 300724ba675SRob Herring pcfg_output_high: pcfg-output-high { 301724ba675SRob Herring output-high; 302724ba675SRob Herring }; 303724ba675SRob Herring 304724ba675SRob Herring pcfg_output_low: pcfg-output-low { 305724ba675SRob Herring output-low; 306724ba675SRob Herring }; 307724ba675SRob Herring 308724ba675SRob Herring pcfg_pull_up_drv_12ma: pcfg-pull-up-drv-12ma { 309724ba675SRob Herring bias-pull-up; 310724ba675SRob Herring drive-strength = <12>; 311724ba675SRob Herring }; 312724ba675SRob Herring 313724ba675SRob Herring act8846 { 314724ba675SRob Herring pmic_int: pmic-int { 315724ba675SRob Herring rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 316724ba675SRob Herring }; 317724ba675SRob Herring 318724ba675SRob Herring pmic_sleep: pmic-sleep { 319724ba675SRob Herring rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_output_low>; 320724ba675SRob Herring }; 321724ba675SRob Herring 322724ba675SRob Herring pmic_vsel: pmic-vsel { 323724ba675SRob Herring rockchip,pins = <7 RK_PA1 RK_FUNC_GPIO &pcfg_output_low>; 324724ba675SRob Herring }; 325724ba675SRob Herring }; 326724ba675SRob Herring 327724ba675SRob Herring gmac { 328724ba675SRob Herring phy_int: phy-int { 329724ba675SRob Herring rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 330724ba675SRob Herring }; 331724ba675SRob Herring 332724ba675SRob Herring phy_pmeb: phy-pmeb { 333724ba675SRob Herring rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 334724ba675SRob Herring }; 335724ba675SRob Herring 336724ba675SRob Herring phy_rst: phy-rst { 337724ba675SRob Herring rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>; 338724ba675SRob Herring }; 339724ba675SRob Herring }; 340724ba675SRob Herring 341724ba675SRob Herring sdmmc { 342724ba675SRob Herring /* 343724ba675SRob Herring * Default drive strength isn't enough to achieve even 344724ba675SRob Herring * high-speed mode on firefly board so bump up to 12ma. 345724ba675SRob Herring */ 346724ba675SRob Herring sdmmc_bus4: sdmmc-bus4 { 347724ba675SRob Herring rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up_drv_12ma>, 348724ba675SRob Herring <6 RK_PC1 1 &pcfg_pull_up_drv_12ma>, 349724ba675SRob Herring <6 RK_PC2 1 &pcfg_pull_up_drv_12ma>, 350724ba675SRob Herring <6 RK_PC3 1 &pcfg_pull_up_drv_12ma>; 351724ba675SRob Herring }; 352724ba675SRob Herring 353724ba675SRob Herring sdmmc_clk: sdmmc-clk { 354724ba675SRob Herring rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_12ma>; 355724ba675SRob Herring }; 356724ba675SRob Herring 357724ba675SRob Herring sdmmc_cmd: sdmmc-cmd { 358724ba675SRob Herring rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_12ma>; 359724ba675SRob Herring }; 360724ba675SRob Herring 361724ba675SRob Herring sdmmc_pwr: sdmmc-pwr { 362724ba675SRob Herring rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 363724ba675SRob Herring }; 364724ba675SRob Herring }; 365724ba675SRob Herring 366724ba675SRob Herring usb_host { 367724ba675SRob Herring host_vbus_drv: host-vbus-drv { 368724ba675SRob Herring rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 369724ba675SRob Herring }; 370724ba675SRob Herring }; 371724ba675SRob Herring}; 372724ba675SRob Herring 373724ba675SRob Herring&saradc { 374724ba675SRob Herring vref-supply = <&vcc_18>; 375724ba675SRob Herring status = "okay"; 376724ba675SRob Herring}; 377724ba675SRob Herring 378724ba675SRob Herring&sdmmc { 379724ba675SRob Herring bus-width = <4>; 380724ba675SRob Herring cap-mmc-highspeed; 381724ba675SRob Herring cap-sd-highspeed; 382724ba675SRob Herring card-detect-delay = <200>; 383724ba675SRob Herring disable-wp; 384724ba675SRob Herring pinctrl-names = "default"; 385724ba675SRob Herring pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 386724ba675SRob Herring vmmc-supply = <&vcc_sd>; 387724ba675SRob Herring vqmmc-supply = <&vccio_sd>; 388724ba675SRob Herring status = "okay"; 389724ba675SRob Herring}; 390724ba675SRob Herring 391724ba675SRob Herring&tsadc { 392724ba675SRob Herring rockchip,hw-tshut-mode = <0>; 393724ba675SRob Herring rockchip,hw-tshut-polarity = <0>; 394724ba675SRob Herring status = "okay"; 395724ba675SRob Herring}; 396724ba675SRob Herring 397724ba675SRob Herring&uart2 { 398724ba675SRob Herring status = "okay"; 399724ba675SRob Herring}; 400724ba675SRob Herring 401724ba675SRob Herring&uart3 { 402724ba675SRob Herring status = "okay"; 403724ba675SRob Herring}; 404724ba675SRob Herring 405724ba675SRob Herring&usbphy { 406724ba675SRob Herring status = "okay"; 407724ba675SRob Herring}; 408724ba675SRob Herring 409724ba675SRob Herring&usb_host1 { 410724ba675SRob Herring status = "okay"; 411724ba675SRob Herring}; 412724ba675SRob Herring 413724ba675SRob Herring&usb_otg { 414724ba675SRob Herring /* 415724ba675SRob Herring * The otg controller is the only system power source, 416724ba675SRob Herring * so needs to always stay in device mode. 417724ba675SRob Herring */ 418724ba675SRob Herring dr_mode = "peripheral"; 419724ba675SRob Herring status = "okay"; 420724ba675SRob Herring}; 421724ba675SRob Herring 422724ba675SRob Herring&vopb { 423724ba675SRob Herring status = "okay"; 424724ba675SRob Herring}; 425724ba675SRob Herring 426724ba675SRob Herring&vopb_mmu { 427724ba675SRob Herring status = "okay"; 428724ba675SRob Herring}; 429724ba675SRob Herring 430724ba675SRob Herring&vopl { 431724ba675SRob Herring status = "okay"; 432724ba675SRob Herring}; 433724ba675SRob Herring 434724ba675SRob Herring&vopl_mmu { 435724ba675SRob Herring status = "okay"; 436724ba675SRob Herring}; 437724ba675SRob Herring 438724ba675SRob Herring&wdt { 439724ba675SRob Herring status = "okay"; 440724ba675SRob Herring}; 441