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