1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. 4 */ 5 6/dts-v1/; 7 8#include "rk3288.dtsi" 9#include <dt-bindings/input/input.h> 10 11/ { 12 model = "Rockchip RK3288 Tinker Board"; 13 compatible = "asus,rk3288-tinker", "rockchip,rk3288"; 14 15 chosen { 16 stdout-path = "serial2:115200n8"; 17 }; 18 19 memory { 20 reg = <0x0 0x0 0x0 0x80000000>; 21 device_type = "memory"; 22 }; 23 24 ext_gmac: external-gmac-clock { 25 compatible = "fixed-clock"; 26 #clock-cells = <0>; 27 clock-frequency = <125000000>; 28 clock-output-names = "ext_gmac"; 29 }; 30 31 gpio-keys { 32 compatible = "gpio-keys"; 33 #address-cells = <1>; 34 #size-cells = <0>; 35 autorepeat; 36 37 pinctrl-names = "default"; 38 pinctrl-0 = <&pwrbtn>; 39 40 button@0 { 41 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 42 linux,code = <KEY_POWER>; 43 label = "GPIO Key Power"; 44 linux,input-type = <1>; 45 wakeup-source; 46 debounce-interval = <100>; 47 }; 48 }; 49 50 gpio-leds { 51 compatible = "gpio-leds"; 52 53 act-led { 54 gpios=<&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>; 55 linux,default-trigger="mmc0"; 56 }; 57 58 heartbeat-led { 59 gpios=<&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>; 60 linux,default-trigger="heartbeat"; 61 }; 62 63 pwr-led { 64 gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>; 65 linux,default-trigger = "default-on"; 66 }; 67 }; 68 69 sound { 70 compatible = "simple-audio-card"; 71 simple-audio-card,format = "i2s"; 72 simple-audio-card,name = "rockchip,tinker-codec"; 73 simple-audio-card,mclk-fs = <512>; 74 75 simple-audio-card,codec { 76 sound-dai = <&hdmi>; 77 }; 78 79 simple-audio-card,cpu { 80 sound-dai = <&i2s>; 81 }; 82 }; 83 84 vcc_sys: vsys-regulator { 85 compatible = "regulator-fixed"; 86 regulator-name = "vcc_sys"; 87 regulator-min-microvolt = <5000000>; 88 regulator-max-microvolt = <5000000>; 89 regulator-always-on; 90 regulator-boot-on; 91 }; 92 93 vcc_sd: sdmmc-regulator { 94 compatible = "regulator-fixed"; 95 gpio = <&gpio7 11 GPIO_ACTIVE_LOW>; 96 pinctrl-names = "default"; 97 pinctrl-0 = <&sdmmc_pwr>; 98 regulator-name = "vcc_sd"; 99 regulator-min-microvolt = <3300000>; 100 regulator-max-microvolt = <3300000>; 101 startup-delay-us = <100000>; 102 vin-supply = <&vcc_io>; 103 }; 104}; 105 106&cpu0 { 107 cpu0-supply = <&vdd_cpu>; 108}; 109 110&gmac { 111 assigned-clocks = <&cru SCLK_MAC>; 112 assigned-clock-parents = <&ext_gmac>; 113 clock_in_out = "input"; 114 phy-mode = "rgmii"; 115 phy-supply = <&vcc33_lan>; 116 pinctrl-names = "default"; 117 pinctrl-0 = <&rgmii_pins>; 118 snps,reset-gpio = <&gpio4 7 0>; 119 snps,reset-active-low; 120 snps,reset-delays-us = <0 10000 1000000>; 121 tx_delay = <0x30>; 122 rx_delay = <0x10>; 123 status = "ok"; 124}; 125 126&gpu { 127 mali-supply = <&vdd_gpu>; 128 status = "okay"; 129}; 130 131&hdmi { 132 ddc-i2c-bus = <&i2c5>; 133 status = "okay"; 134}; 135 136&i2c0 { 137 clock-frequency = <400000>; 138 status = "okay"; 139 140 rk808: pmic@1b { 141 compatible = "rockchip,rk808"; 142 reg = <0x1b>; 143 interrupt-parent = <&gpio0>; 144 interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 145 #clock-cells = <1>; 146 clock-output-names = "xin32k", "rk808-clkout2"; 147 dvs-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>, 148 <&gpio0 12 GPIO_ACTIVE_HIGH>; 149 pinctrl-names = "default"; 150 pinctrl-0 = <&pmic_int &global_pwroff &dvs_1 &dvs_2>; 151 rockchip,system-power-controller; 152 wakeup-source; 153 154 vcc1-supply = <&vcc_sys>; 155 vcc2-supply = <&vcc_sys>; 156 vcc3-supply = <&vcc_sys>; 157 vcc4-supply = <&vcc_sys>; 158 vcc6-supply = <&vcc_sys>; 159 vcc7-supply = <&vcc_sys>; 160 vcc8-supply = <&vcc_io>; 161 vcc9-supply = <&vcc_io>; 162 vcc10-supply = <&vcc_io>; 163 vcc11-supply = <&vcc_sys>; 164 vcc12-supply = <&vcc_io>; 165 vddio-supply = <&vcc_io>; 166 167 regulators { 168 vdd_cpu: DCDC_REG1 { 169 regulator-always-on; 170 regulator-boot-on; 171 regulator-min-microvolt = <750000>; 172 regulator-max-microvolt = <1350000>; 173 regulator-name = "vdd_arm"; 174 regulator-ramp-delay = <6000>; 175 regulator-state-mem { 176 regulator-off-in-suspend; 177 }; 178 }; 179 180 vdd_gpu: DCDC_REG2 { 181 regulator-always-on; 182 regulator-boot-on; 183 regulator-min-microvolt = <850000>; 184 regulator-max-microvolt = <1250000>; 185 regulator-name = "vdd_gpu"; 186 regulator-ramp-delay = <6000>; 187 regulator-state-mem { 188 regulator-on-in-suspend; 189 regulator-suspend-microvolt = <1000000>; 190 }; 191 }; 192 193 vcc_ddr: DCDC_REG3 { 194 regulator-always-on; 195 regulator-boot-on; 196 regulator-name = "vcc_ddr"; 197 regulator-state-mem { 198 regulator-on-in-suspend; 199 }; 200 }; 201 202 vcc_io: DCDC_REG4 { 203 regulator-always-on; 204 regulator-boot-on; 205 regulator-min-microvolt = <3300000>; 206 regulator-max-microvolt = <3300000>; 207 regulator-name = "vcc_io"; 208 regulator-state-mem { 209 regulator-on-in-suspend; 210 regulator-suspend-microvolt = <3300000>; 211 }; 212 }; 213 214 vcc18_ldo1: LDO_REG1 { 215 regulator-always-on; 216 regulator-boot-on; 217 regulator-min-microvolt = <1800000>; 218 regulator-max-microvolt = <1800000>; 219 regulator-name = "vcc18_ldo1"; 220 regulator-state-mem { 221 regulator-on-in-suspend; 222 regulator-suspend-microvolt = <1800000>; 223 }; 224 }; 225 226 vcc33_mipi: LDO_REG2 { 227 regulator-always-on; 228 regulator-boot-on; 229 regulator-min-microvolt = <3300000>; 230 regulator-max-microvolt = <3300000>; 231 regulator-name = "vcc33_mipi"; 232 regulator-state-mem { 233 regulator-off-in-suspend; 234 }; 235 }; 236 237 vdd_10: LDO_REG3 { 238 regulator-always-on; 239 regulator-boot-on; 240 regulator-min-microvolt = <1000000>; 241 regulator-max-microvolt = <1000000>; 242 regulator-name = "vdd_10"; 243 regulator-state-mem { 244 regulator-on-in-suspend; 245 regulator-suspend-microvolt = <1000000>; 246 }; 247 }; 248 249 vcc18_codec: LDO_REG4 { 250 regulator-always-on; 251 regulator-boot-on; 252 regulator-min-microvolt = <1800000>; 253 regulator-max-microvolt = <1800000>; 254 regulator-name = "vcc18_codec"; 255 regulator-state-mem { 256 regulator-on-in-suspend; 257 regulator-suspend-microvolt = <1800000>; 258 }; 259 }; 260 261 vccio_sd: LDO_REG5 { 262 regulator-min-microvolt = <1800000>; 263 regulator-max-microvolt = <3300000>; 264 regulator-name = "vccio_sd"; 265 regulator-state-mem { 266 regulator-on-in-suspend; 267 regulator-suspend-microvolt = <3300000>; 268 }; 269 }; 270 271 vdd10_lcd: LDO_REG6 { 272 regulator-always-on; 273 regulator-boot-on; 274 regulator-min-microvolt = <1000000>; 275 regulator-max-microvolt = <1000000>; 276 regulator-name = "vdd10_lcd"; 277 regulator-state-mem { 278 regulator-on-in-suspend; 279 regulator-suspend-microvolt = <1000000>; 280 }; 281 }; 282 283 vcc_18: LDO_REG7 { 284 regulator-always-on; 285 regulator-boot-on; 286 regulator-min-microvolt = <1800000>; 287 regulator-max-microvolt = <1800000>; 288 regulator-name = "vcc_18"; 289 regulator-state-mem { 290 regulator-on-in-suspend; 291 regulator-suspend-microvolt = <1800000>; 292 }; 293 }; 294 295 vcc18_lcd: LDO_REG8 { 296 regulator-always-on; 297 regulator-boot-on; 298 regulator-min-microvolt = <1800000>; 299 regulator-max-microvolt = <1800000>; 300 regulator-name = "vcc18_lcd"; 301 regulator-state-mem { 302 regulator-on-in-suspend; 303 regulator-suspend-microvolt = <1800000>; 304 }; 305 }; 306 307 vcc33_sd: SWITCH_REG1 { 308 regulator-always-on; 309 regulator-boot-on; 310 regulator-name = "vcc33_sd"; 311 regulator-state-mem { 312 regulator-on-in-suspend; 313 }; 314 }; 315 316 vcc33_lan: SWITCH_REG2 { 317 regulator-always-on; 318 regulator-boot-on; 319 regulator-name = "vcc33_lan"; 320 regulator-state-mem { 321 regulator-on-in-suspend; 322 }; 323 }; 324 }; 325 }; 326}; 327 328&i2c2 { 329 status = "okay"; 330}; 331 332&i2c5 { 333 status = "okay"; 334}; 335 336&i2s { 337 #sound-dai-cells = <0>; 338 status = "okay"; 339}; 340 341&io_domains { 342 status = "okay"; 343 344 sdcard-supply = <&vccio_sd>; 345}; 346 347&pinctrl { 348 pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { 349 drive-strength = <8>; 350 }; 351 352 pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { 353 bias-pull-up; 354 drive-strength = <8>; 355 }; 356 357 backlight { 358 bl_en: bl-en { 359 rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>; 360 }; 361 }; 362 363 buttons { 364 pwrbtn: pwrbtn { 365 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>; 366 }; 367 }; 368 369 eth_phy { 370 eth_phy_pwr: eth-phy-pwr { 371 rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_none>; 372 }; 373 }; 374 375 pmic { 376 pmic_int: pmic-int { 377 rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO \ 378 &pcfg_pull_up>; 379 }; 380 381 dvs_1: dvs-1 { 382 rockchip,pins = <RK_GPIO0 11 RK_FUNC_GPIO \ 383 &pcfg_pull_down>; 384 }; 385 386 dvs_2: dvs-2 { 387 rockchip,pins = <RK_GPIO0 12 RK_FUNC_GPIO \ 388 &pcfg_pull_down>; 389 }; 390 }; 391 392 sdmmc { 393 sdmmc_bus4: sdmmc-bus4 { 394 rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, 395 <6 17 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, 396 <6 18 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, 397 <6 19 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; 398 }; 399 400 sdmmc_clk: sdmmc-clk { 401 rockchip,pins = <6 20 RK_FUNC_1 \ 402 &pcfg_pull_none_drv_8ma>; 403 }; 404 405 sdmmc_cmd: sdmmc-cmd { 406 rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; 407 }; 408 409 sdmmc_pwr: sdmmc-pwr { 410 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; 411 }; 412 }; 413 414 usb { 415 host_vbus_drv: host-vbus-drv { 416 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; 417 }; 418 419 pwr_3g: pwr-3g { 420 rockchip,pins = <7 8 RK_FUNC_GPIO &pcfg_pull_none>; 421 }; 422 }; 423}; 424 425&pwm0 { 426 status = "okay"; 427}; 428 429&saradc { 430 vref-supply = <&vcc18_ldo1>; 431 status ="okay"; 432}; 433 434&sdmmc { 435 bus-width = <4>; 436 cap-mmc-highspeed; 437 cap-sd-highspeed; 438 card-detect-delay = <200>; 439 disable-wp; /* wp not hooked up */ 440 pinctrl-names = "default"; 441 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; 442 status = "okay"; 443 vmmc-supply = <&vcc33_sd>; 444 vqmmc-supply = <&vccio_sd>; 445}; 446 447&tsadc { 448 rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */ 449 rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */ 450 status = "okay"; 451}; 452 453&uart0 { 454 status = "okay"; 455}; 456 457&uart1 { 458 status = "okay"; 459}; 460 461&uart2 { 462 status = "okay"; 463}; 464 465&uart3 { 466 status = "okay"; 467}; 468 469&uart4 { 470 status = "okay"; 471}; 472 473&usbphy { 474 status = "okay"; 475}; 476 477&usb_host0_ehci { 478 status = "okay"; 479}; 480 481&usb_host1 { 482 status = "okay"; 483}; 484 485&usb_otg { 486 status= "okay"; 487}; 488 489&vopb { 490 status = "okay"; 491}; 492 493&vopb_mmu { 494 status = "okay"; 495}; 496 497&vopl { 498 status = "okay"; 499}; 500 501&vopl_mmu { 502 status = "okay"; 503}; 504 505&wdt { 506 status = "okay"; 507}; 508