1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd 4 */ 5 6/dts-v1/; 7#include "rk3328.dtsi" 8 9/ { 10 model = "Firefly roc-rk3328-cc"; 11 compatible = "firefly,roc-rk3328-cc", "rockchip,rk3328"; 12 13 chosen { 14 stdout-path = "serial2:1500000n8"; 15 }; 16 17 gmac_clkin: external-gmac-clock { 18 compatible = "fixed-clock"; 19 clock-frequency = <125000000>; 20 clock-output-names = "gmac_clkin"; 21 #clock-cells = <0>; 22 }; 23 24 dc_12v: dc-12v { 25 compatible = "regulator-fixed"; 26 regulator-name = "dc_12v"; 27 regulator-always-on; 28 regulator-boot-on; 29 regulator-min-microvolt = <12000000>; 30 regulator-max-microvolt = <12000000>; 31 }; 32 33 vcc_sd: sdmmc-regulator { 34 compatible = "regulator-fixed"; 35 gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>; 36 pinctrl-names = "default"; 37 pinctrl-0 = <&sdmmc0m1_gpio>; 38 regulator-name = "vcc_sd"; 39 regulator-min-microvolt = <3300000>; 40 regulator-max-microvolt = <3300000>; 41 vin-supply = <&vcc_io>; 42 }; 43 44 vcc_sdio: sdmmcio-regulator { 45 compatible = "regulator-gpio"; 46 gpios = <&grf_gpio 0 GPIO_ACTIVE_HIGH>; 47 states = <1800000 0x1 48 3300000 0x0>; 49 regulator-name = "vcc_sdio"; 50 regulator-type = "voltage"; 51 regulator-min-microvolt = <1800000>; 52 regulator-max-microvolt = <3300000>; 53 regulator-always-on; 54 vin-supply = <&vcc_sys>; 55 }; 56 57 vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator { 58 compatible = "regulator-fixed"; 59 enable-active-high; 60 gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>; 61 pinctrl-names = "default"; 62 pinctrl-0 = <&usb20_host_drv>; 63 regulator-name = "vcc_host1_5v"; 64 regulator-always-on; 65 vin-supply = <&vcc_sys>; 66 }; 67 68 vcc_sys: vcc-sys { 69 compatible = "regulator-fixed"; 70 regulator-name = "vcc_sys"; 71 regulator-always-on; 72 regulator-boot-on; 73 regulator-min-microvolt = <5000000>; 74 regulator-max-microvolt = <5000000>; 75 vin-supply = <&dc_12v>; 76 }; 77 78 vcc_phy: vcc-phy-regulator { 79 compatible = "regulator-fixed"; 80 regulator-name = "vcc_phy"; 81 regulator-always-on; 82 regulator-boot-on; 83 }; 84 85 leds { 86 compatible = "gpio-leds"; 87 88 power { 89 label = "firefly:blue:power"; 90 linux,default-trigger = "heartbeat"; 91 gpios = <&rk805 1 GPIO_ACTIVE_LOW>; 92 default-state = "on"; 93 mode = <0x23>; 94 }; 95 96 user { 97 label = "firefly:yellow:user"; 98 linux,default-trigger = "mmc1"; 99 gpios = <&rk805 0 GPIO_ACTIVE_LOW>; 100 default-state = "off"; 101 mode = <0x05>; 102 }; 103 }; 104}; 105 106&cpu0 { 107 cpu-supply = <&vdd_arm>; 108}; 109 110&cpu1 { 111 cpu-supply = <&vdd_arm>; 112}; 113 114&cpu2 { 115 cpu-supply = <&vdd_arm>; 116}; 117 118&cpu3 { 119 cpu-supply = <&vdd_arm>; 120}; 121 122&emmc { 123 bus-width = <8>; 124 cap-mmc-highspeed; 125 max-frequency = <150000000>; 126 mmc-ddr-1_8v; 127 mmc-hs200-1_8v; 128 non-removable; 129 pinctrl-names = "default"; 130 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 131 vmmc-supply = <&vcc_io>; 132 vqmmc-supply = <&vcc18_emmc>; 133 status = "okay"; 134}; 135 136&gmac2io { 137 assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; 138 assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>; 139 clock_in_out = "input"; 140 phy-supply = <&vcc_phy>; 141 phy-mode = "rgmii"; 142 pinctrl-names = "default"; 143 pinctrl-0 = <&rgmiim1_pins>; 144 snps,aal; 145 snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; 146 snps,reset-active-low; 147 snps,reset-delays-us = <0 10000 50000>; 148 snps,rxpbl = <0x4>; 149 snps,txpbl = <0x4>; 150 tx_delay = <0x24>; 151 rx_delay = <0x18>; 152 status = "okay"; 153}; 154 155&hdmi { 156 status = "okay"; 157}; 158 159&hdmiphy { 160 status = "okay"; 161}; 162 163&i2c1 { 164 status = "okay"; 165 166 rk805: pmic@18 { 167 compatible = "rockchip,rk805"; 168 reg = <0x18>; 169 interrupt-parent = <&gpio1>; 170 interrupts = <24 IRQ_TYPE_LEVEL_LOW>; 171 #clock-cells = <1>; 172 clock-output-names = "xin32k", "rk805-clkout2"; 173 gpio-controller; 174 #gpio-cells = <2>; 175 pinctrl-names = "default"; 176 pinctrl-0 = <&pmic_int_l>; 177 rockchip,system-power-controller; 178 wakeup-source; 179 180 vcc1-supply = <&vcc_sys>; 181 vcc2-supply = <&vcc_sys>; 182 vcc3-supply = <&vcc_sys>; 183 vcc4-supply = <&vcc_sys>; 184 vcc5-supply = <&vcc_io>; 185 vcc6-supply = <&vcc_io>; 186 187 regulators { 188 vdd_logic: DCDC_REG1 { 189 regulator-name = "vdd_logic"; 190 regulator-min-microvolt = <712500>; 191 regulator-max-microvolt = <1450000>; 192 regulator-always-on; 193 regulator-boot-on; 194 regulator-state-mem { 195 regulator-on-in-suspend; 196 regulator-suspend-microvolt = <1000000>; 197 }; 198 }; 199 200 vdd_arm: DCDC_REG2 { 201 regulator-name = "vdd_arm"; 202 regulator-min-microvolt = <712500>; 203 regulator-max-microvolt = <1450000>; 204 regulator-always-on; 205 regulator-boot-on; 206 regulator-state-mem { 207 regulator-on-in-suspend; 208 regulator-suspend-microvolt = <950000>; 209 }; 210 }; 211 212 vcc_ddr: DCDC_REG3 { 213 regulator-name = "vcc_ddr"; 214 regulator-always-on; 215 regulator-boot-on; 216 regulator-state-mem { 217 regulator-on-in-suspend; 218 }; 219 }; 220 221 vcc_io: DCDC_REG4 { 222 regulator-name = "vcc_io"; 223 regulator-min-microvolt = <3300000>; 224 regulator-max-microvolt = <3300000>; 225 regulator-always-on; 226 regulator-boot-on; 227 regulator-state-mem { 228 regulator-on-in-suspend; 229 regulator-suspend-microvolt = <3300000>; 230 }; 231 }; 232 233 vcc_18: LDO_REG1 { 234 regulator-name = "vcc_18"; 235 regulator-min-microvolt = <1800000>; 236 regulator-max-microvolt = <1800000>; 237 regulator-always-on; 238 regulator-boot-on; 239 regulator-state-mem { 240 regulator-on-in-suspend; 241 regulator-suspend-microvolt = <1800000>; 242 }; 243 }; 244 245 vcc18_emmc: LDO_REG2 { 246 regulator-name = "vcc18_emmc"; 247 regulator-min-microvolt = <1800000>; 248 regulator-max-microvolt = <1800000>; 249 regulator-always-on; 250 regulator-boot-on; 251 regulator-state-mem { 252 regulator-on-in-suspend; 253 regulator-suspend-microvolt = <1800000>; 254 }; 255 }; 256 257 vdd_10: LDO_REG3 { 258 regulator-name = "vdd_10"; 259 regulator-min-microvolt = <1000000>; 260 regulator-max-microvolt = <1000000>; 261 regulator-always-on; 262 regulator-boot-on; 263 regulator-state-mem { 264 regulator-on-in-suspend; 265 regulator-suspend-microvolt = <1000000>; 266 }; 267 }; 268 }; 269 }; 270}; 271 272&io_domains { 273 status = "okay"; 274 275 vccio1-supply = <&vcc_io>; 276 vccio2-supply = <&vcc18_emmc>; 277 vccio3-supply = <&vcc_sdio>; 278 vccio4-supply = <&vcc_18>; 279 vccio5-supply = <&vcc_io>; 280 vccio6-supply = <&vcc_io>; 281 pmuio-supply = <&vcc_io>; 282}; 283 284&pinctrl { 285 pmic { 286 pmic_int_l: pmic-int-l { 287 rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; 288 }; 289 }; 290 291 usb2 { 292 usb20_host_drv: usb20-host-drv { 293 rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 294 }; 295 }; 296}; 297 298&sdmmc { 299 bus-width = <4>; 300 cap-mmc-highspeed; 301 cap-sd-highspeed; 302 disable-wp; 303 max-frequency = <150000000>; 304 pinctrl-names = "default"; 305 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>; 306 sd-uhs-sdr12; 307 sd-uhs-sdr25; 308 sd-uhs-sdr50; 309 sd-uhs-sdr104; 310 vmmc-supply = <&vcc_sd>; 311 vqmmc-supply = <&vcc_sdio>; 312 status = "okay"; 313}; 314 315&tsadc { 316 status = "okay"; 317}; 318 319&u2phy { 320 status = "okay"; 321}; 322 323&u2phy_host { 324 status = "okay"; 325}; 326 327&u2phy_otg { 328 status = "okay"; 329}; 330 331&uart2 { 332 status = "okay"; 333}; 334 335&usb20_otg { 336 status = "okay"; 337}; 338 339&usb_host0_ehci { 340 status = "okay"; 341}; 342 343&usb_host0_ohci { 344 status = "okay"; 345}; 346 347&vop { 348 status = "okay"; 349}; 350 351&vop_mmu { 352 status = "okay"; 353}; 354