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