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