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