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