1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Device tree file for Firefly Rockchip RK3288 Core board 4*f126890aSEmmanuel Vadot * Copyright (c) 2016 Randy Li <ayaka@soulik.info> 5*f126890aSEmmanuel Vadot */ 6*f126890aSEmmanuel Vadot 7*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h> 8*f126890aSEmmanuel Vadot#include "rk3288.dtsi" 9*f126890aSEmmanuel Vadot 10*f126890aSEmmanuel Vadot/ { 11*f126890aSEmmanuel Vadot memory@0 { 12*f126890aSEmmanuel Vadot device_type = "memory"; 13*f126890aSEmmanuel Vadot reg = <0x0 0x0 0x0 0x80000000>; 14*f126890aSEmmanuel Vadot }; 15*f126890aSEmmanuel Vadot 16*f126890aSEmmanuel Vadot ext_gmac: external-gmac-clock { 17*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 18*f126890aSEmmanuel Vadot #clock-cells = <0>; 19*f126890aSEmmanuel Vadot clock-frequency = <125000000>; 20*f126890aSEmmanuel Vadot clock-output-names = "ext_gmac"; 21*f126890aSEmmanuel Vadot }; 22*f126890aSEmmanuel Vadot 23*f126890aSEmmanuel Vadot 24*f126890aSEmmanuel Vadot vcc_flash: flash-regulator { 25*f126890aSEmmanuel Vadot compatible = "regulator-fixed"; 26*f126890aSEmmanuel Vadot regulator-name = "vcc_flash"; 27*f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 28*f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 29*f126890aSEmmanuel Vadot vin-supply = <&vcc_io>; 30*f126890aSEmmanuel Vadot }; 31*f126890aSEmmanuel Vadot}; 32*f126890aSEmmanuel Vadot 33*f126890aSEmmanuel Vadot&cpu0 { 34*f126890aSEmmanuel Vadot cpu0-supply = <&vdd_cpu>; 35*f126890aSEmmanuel Vadot}; 36*f126890aSEmmanuel Vadot 37*f126890aSEmmanuel Vadot&emmc { 38*f126890aSEmmanuel Vadot bus-width = <8>; 39*f126890aSEmmanuel Vadot cap-mmc-highspeed; 40*f126890aSEmmanuel Vadot disable-wp; 41*f126890aSEmmanuel Vadot mmc-ddr-1_8v; 42*f126890aSEmmanuel Vadot mmc-hs200-1_8v; 43*f126890aSEmmanuel Vadot non-removable; 44*f126890aSEmmanuel Vadot pinctrl-names = "default"; 45*f126890aSEmmanuel Vadot pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>; 46*f126890aSEmmanuel Vadot vmmc-supply = <&vcc_io>; 47*f126890aSEmmanuel Vadot vqmmc-supply = <&vcc_flash>; 48*f126890aSEmmanuel Vadot status = "okay"; 49*f126890aSEmmanuel Vadot}; 50*f126890aSEmmanuel Vadot 51*f126890aSEmmanuel Vadot&gmac { 52*f126890aSEmmanuel Vadot assigned-clocks = <&cru SCLK_MAC>; 53*f126890aSEmmanuel Vadot assigned-clock-parents = <&ext_gmac>; 54*f126890aSEmmanuel Vadot clock_in_out = "input"; 55*f126890aSEmmanuel Vadot pinctrl-names = "default"; 56*f126890aSEmmanuel Vadot pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>; 57*f126890aSEmmanuel Vadot phy-supply = <&vcc_lan>; 58*f126890aSEmmanuel Vadot phy-mode = "rgmii"; 59*f126890aSEmmanuel Vadot snps,reset-active-low; 60*f126890aSEmmanuel Vadot snps,reset-delays-us = <0 10000 1000000>; 61*f126890aSEmmanuel Vadot snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>; 62*f126890aSEmmanuel Vadot tx_delay = <0x30>; 63*f126890aSEmmanuel Vadot rx_delay = <0x10>; 64*f126890aSEmmanuel Vadot status = "okay"; 65*f126890aSEmmanuel Vadot}; 66*f126890aSEmmanuel Vadot 67*f126890aSEmmanuel Vadot&i2c0 { 68*f126890aSEmmanuel Vadot clock-frequency = <400000>; 69*f126890aSEmmanuel Vadot status = "okay"; 70*f126890aSEmmanuel Vadot 71*f126890aSEmmanuel Vadot vdd_cpu: syr827@40 { 72*f126890aSEmmanuel Vadot compatible = "silergy,syr827"; 73*f126890aSEmmanuel Vadot fcs,suspend-voltage-selector = <1>; 74*f126890aSEmmanuel Vadot reg = <0x40>; 75*f126890aSEmmanuel Vadot regulator-name = "vdd_cpu"; 76*f126890aSEmmanuel Vadot regulator-min-microvolt = <850000>; 77*f126890aSEmmanuel Vadot regulator-max-microvolt = <1350000>; 78*f126890aSEmmanuel Vadot regulator-always-on; 79*f126890aSEmmanuel Vadot regulator-boot-on; 80*f126890aSEmmanuel Vadot regulator-enable-ramp-delay = <300>; 81*f126890aSEmmanuel Vadot regulator-ramp-delay = <8000>; 82*f126890aSEmmanuel Vadot vin-supply = <&vcc_sys>; 83*f126890aSEmmanuel Vadot }; 84*f126890aSEmmanuel Vadot 85*f126890aSEmmanuel Vadot vdd_gpu: syr828@41 { 86*f126890aSEmmanuel Vadot compatible = "silergy,syr828"; 87*f126890aSEmmanuel Vadot fcs,suspend-voltage-selector = <1>; 88*f126890aSEmmanuel Vadot reg = <0x41>; 89*f126890aSEmmanuel Vadot regulator-name = "vdd_gpu"; 90*f126890aSEmmanuel Vadot regulator-min-microvolt = <850000>; 91*f126890aSEmmanuel Vadot regulator-max-microvolt = <1350000>; 92*f126890aSEmmanuel Vadot regulator-always-on; 93*f126890aSEmmanuel Vadot vin-supply = <&vcc_sys>; 94*f126890aSEmmanuel Vadot }; 95*f126890aSEmmanuel Vadot 96*f126890aSEmmanuel Vadot act8846: act8846@5a { 97*f126890aSEmmanuel Vadot compatible = "active-semi,act8846"; 98*f126890aSEmmanuel Vadot reg = <0x5a>; 99*f126890aSEmmanuel Vadot pinctrl-names = "default"; 100*f126890aSEmmanuel Vadot pinctrl-0 = <&pmic_vsel>, <&pwr_hold>; 101*f126890aSEmmanuel Vadot system-power-controller; 102*f126890aSEmmanuel Vadot 103*f126890aSEmmanuel Vadot vp1-supply = <&vcc_sys>; 104*f126890aSEmmanuel Vadot vp2-supply = <&vcc_sys>; 105*f126890aSEmmanuel Vadot vp3-supply = <&vcc_sys>; 106*f126890aSEmmanuel Vadot vp4-supply = <&vcc_sys>; 107*f126890aSEmmanuel Vadot inl1-supply = <&vcc_sys>; 108*f126890aSEmmanuel Vadot inl2-supply = <&vcc_sys>; 109*f126890aSEmmanuel Vadot inl3-supply = <&vcc_20>; 110*f126890aSEmmanuel Vadot 111*f126890aSEmmanuel Vadot regulators { 112*f126890aSEmmanuel Vadot vcc_ddr: REG1 { 113*f126890aSEmmanuel Vadot regulator-name = "vcc_ddr"; 114*f126890aSEmmanuel Vadot regulator-min-microvolt = <1200000>; 115*f126890aSEmmanuel Vadot regulator-max-microvolt = <1200000>; 116*f126890aSEmmanuel Vadot regulator-always-on; 117*f126890aSEmmanuel Vadot }; 118*f126890aSEmmanuel Vadot 119*f126890aSEmmanuel Vadot vcc_io: REG2 { 120*f126890aSEmmanuel Vadot regulator-name = "vcc_io"; 121*f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 122*f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 123*f126890aSEmmanuel Vadot regulator-always-on; 124*f126890aSEmmanuel Vadot }; 125*f126890aSEmmanuel Vadot 126*f126890aSEmmanuel Vadot vdd_log: REG3 { 127*f126890aSEmmanuel Vadot regulator-name = "vdd_log"; 128*f126890aSEmmanuel Vadot regulator-min-microvolt = <1100000>; 129*f126890aSEmmanuel Vadot regulator-max-microvolt = <1100000>; 130*f126890aSEmmanuel Vadot regulator-always-on; 131*f126890aSEmmanuel Vadot }; 132*f126890aSEmmanuel Vadot 133*f126890aSEmmanuel Vadot vcc_20: REG4 { 134*f126890aSEmmanuel Vadot regulator-name = "vcc_20"; 135*f126890aSEmmanuel Vadot regulator-min-microvolt = <2000000>; 136*f126890aSEmmanuel Vadot regulator-max-microvolt = <2000000>; 137*f126890aSEmmanuel Vadot regulator-always-on; 138*f126890aSEmmanuel Vadot }; 139*f126890aSEmmanuel Vadot 140*f126890aSEmmanuel Vadot vccio_sd: REG5 { 141*f126890aSEmmanuel Vadot regulator-name = "vccio_sd"; 142*f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 143*f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 144*f126890aSEmmanuel Vadot }; 145*f126890aSEmmanuel Vadot 146*f126890aSEmmanuel Vadot vdd10_lcd: REG6 { 147*f126890aSEmmanuel Vadot regulator-name = "vdd10_lcd"; 148*f126890aSEmmanuel Vadot regulator-min-microvolt = <1000000>; 149*f126890aSEmmanuel Vadot regulator-max-microvolt = <1000000>; 150*f126890aSEmmanuel Vadot regulator-always-on; 151*f126890aSEmmanuel Vadot }; 152*f126890aSEmmanuel Vadot 153*f126890aSEmmanuel Vadot vcca_18: REG7 { 154*f126890aSEmmanuel Vadot regulator-name = "vcca_18"; 155*f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 156*f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 157*f126890aSEmmanuel Vadot regulator-always-on; 158*f126890aSEmmanuel Vadot }; 159*f126890aSEmmanuel Vadot 160*f126890aSEmmanuel Vadot vcca_33: REG8 { 161*f126890aSEmmanuel Vadot regulator-name = "vcca_33"; 162*f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 163*f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 164*f126890aSEmmanuel Vadot regulator-always-on; 165*f126890aSEmmanuel Vadot }; 166*f126890aSEmmanuel Vadot 167*f126890aSEmmanuel Vadot vcc_lan: REG9 { 168*f126890aSEmmanuel Vadot regulator-name = "vcca_lan"; 169*f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 170*f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 171*f126890aSEmmanuel Vadot }; 172*f126890aSEmmanuel Vadot 173*f126890aSEmmanuel Vadot vdd_10: REG10 { 174*f126890aSEmmanuel Vadot regulator-name = "vdd_10"; 175*f126890aSEmmanuel Vadot regulator-min-microvolt = <1000000>; 176*f126890aSEmmanuel Vadot regulator-max-microvolt = <1000000>; 177*f126890aSEmmanuel Vadot regulator-always-on; 178*f126890aSEmmanuel Vadot }; 179*f126890aSEmmanuel Vadot 180*f126890aSEmmanuel Vadot vccio_wl: vcc_18: REG11 { 181*f126890aSEmmanuel Vadot regulator-name = "vcc_18"; 182*f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 183*f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 184*f126890aSEmmanuel Vadot }; 185*f126890aSEmmanuel Vadot 186*f126890aSEmmanuel Vadot vcc18_lcd: REG12 { 187*f126890aSEmmanuel Vadot regulator-name = "vcc18_lcd"; 188*f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 189*f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 190*f126890aSEmmanuel Vadot regulator-always-on; 191*f126890aSEmmanuel Vadot }; 192*f126890aSEmmanuel Vadot }; 193*f126890aSEmmanuel Vadot }; 194*f126890aSEmmanuel Vadot}; 195*f126890aSEmmanuel Vadot 196*f126890aSEmmanuel Vadot&io_domains { 197*f126890aSEmmanuel Vadot status = "okay"; 198*f126890aSEmmanuel Vadot 199*f126890aSEmmanuel Vadot audio-supply = <&vccio_wl>; 200*f126890aSEmmanuel Vadot bb-supply = <&vcc_io>; 201*f126890aSEmmanuel Vadot dvp-supply = <&dovdd_1v8>; 202*f126890aSEmmanuel Vadot flash0-supply = <&vcc_flash>; 203*f126890aSEmmanuel Vadot flash1-supply = <&vcc_lan>; 204*f126890aSEmmanuel Vadot gpio30-supply = <&vcc_io>; 205*f126890aSEmmanuel Vadot gpio1830-supply = <&vcc_io>; 206*f126890aSEmmanuel Vadot lcdc-supply = <&vcc_io>; 207*f126890aSEmmanuel Vadot sdcard-supply = <&vccio_sd>; 208*f126890aSEmmanuel Vadot wifi-supply = <&vccio_wl>; 209*f126890aSEmmanuel Vadot}; 210*f126890aSEmmanuel Vadot 211*f126890aSEmmanuel Vadot&pinctrl { 212*f126890aSEmmanuel Vadot pcfg_output_high: pcfg-output-high { 213*f126890aSEmmanuel Vadot output-high; 214*f126890aSEmmanuel Vadot }; 215*f126890aSEmmanuel Vadot 216*f126890aSEmmanuel Vadot pcfg_output_low: pcfg-output-low { 217*f126890aSEmmanuel Vadot output-low; 218*f126890aSEmmanuel Vadot }; 219*f126890aSEmmanuel Vadot 220*f126890aSEmmanuel Vadot pcfg_pull_up_drv_12ma: pcfg-pull-up-drv-12ma { 221*f126890aSEmmanuel Vadot bias-pull-up; 222*f126890aSEmmanuel Vadot drive-strength = <12>; 223*f126890aSEmmanuel Vadot }; 224*f126890aSEmmanuel Vadot 225*f126890aSEmmanuel Vadot act8846 { 226*f126890aSEmmanuel Vadot pwr_hold: pwr-hold { 227*f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_output_high>; 228*f126890aSEmmanuel Vadot }; 229*f126890aSEmmanuel Vadot 230*f126890aSEmmanuel Vadot pmic_vsel: pmic-vsel { 231*f126890aSEmmanuel Vadot rockchip,pins = <7 RK_PB6 RK_FUNC_GPIO &pcfg_output_low>; 232*f126890aSEmmanuel Vadot }; 233*f126890aSEmmanuel Vadot }; 234*f126890aSEmmanuel Vadot 235*f126890aSEmmanuel Vadot gmac { 236*f126890aSEmmanuel Vadot phy_int: phy-int { 237*f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 238*f126890aSEmmanuel Vadot }; 239*f126890aSEmmanuel Vadot 240*f126890aSEmmanuel Vadot phy_pmeb: phy-pmeb { 241*f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 242*f126890aSEmmanuel Vadot }; 243*f126890aSEmmanuel Vadot 244*f126890aSEmmanuel Vadot phy_rst: phy-rst { 245*f126890aSEmmanuel Vadot rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>; 246*f126890aSEmmanuel Vadot }; 247*f126890aSEmmanuel Vadot }; 248*f126890aSEmmanuel Vadot}; 249*f126890aSEmmanuel Vadot 250*f126890aSEmmanuel Vadot&tsadc { 251*f126890aSEmmanuel Vadot rockchip,hw-tshut-mode = <0>; 252*f126890aSEmmanuel Vadot rockchip,hw-tshut-polarity = <0>; 253*f126890aSEmmanuel Vadot status = "okay"; 254*f126890aSEmmanuel Vadot}; 255*f126890aSEmmanuel Vadot 256*f126890aSEmmanuel Vadot&vopb { 257*f126890aSEmmanuel Vadot status = "okay"; 258*f126890aSEmmanuel Vadot}; 259*f126890aSEmmanuel Vadot 260*f126890aSEmmanuel Vadot&vopb_mmu { 261*f126890aSEmmanuel Vadot status = "okay"; 262*f126890aSEmmanuel Vadot}; 263*f126890aSEmmanuel Vadot 264*f126890aSEmmanuel Vadot&vopl { 265*f126890aSEmmanuel Vadot status = "okay"; 266*f126890aSEmmanuel Vadot}; 267*f126890aSEmmanuel Vadot 268*f126890aSEmmanuel Vadot&vopl_mmu { 269*f126890aSEmmanuel Vadot status = "okay"; 270*f126890aSEmmanuel Vadot}; 271*f126890aSEmmanuel Vadot 272*f126890aSEmmanuel Vadot&wdt { 273*f126890aSEmmanuel Vadot status = "okay"; 274*f126890aSEmmanuel Vadot}; 275