1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de> 4 */ 5 6/dts-v1/; 7#include <dt-bindings/input/input.h> 8#include "rk3188.dtsi" 9 10/ { 11 model = "Radxa Rock"; 12 compatible = "radxa,rock", "rockchip,rk3188"; 13 14 aliases { 15 mmc0 = &mmc0; 16 }; 17 18 memory@60000000 { 19 device_type = "memory"; 20 reg = <0x60000000 0x80000000>; 21 }; 22 23 gpio-keys { 24 compatible = "gpio-keys"; 25 autorepeat; 26 27 key-power { 28 gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 29 linux,code = <KEY_POWER>; 30 label = "GPIO Key Power"; 31 linux,input-type = <1>; 32 wakeup-source; 33 debounce-interval = <100>; 34 }; 35 }; 36 37 gpio-leds { 38 compatible = "gpio-leds"; 39 40 green_led: led-0 { 41 label = "rock:green:user1"; 42 gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_LOW>; 43 default-state = "off"; 44 }; 45 46 blue_led: led-1 { 47 label = "rock:blue:user2"; 48 gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>; 49 default-state = "off"; 50 }; 51 52 sleep_led: led-2 { 53 label = "rock:red:power"; 54 gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; 55 default-state = "off"; 56 }; 57 }; 58 59 sound { 60 compatible = "simple-audio-card"; 61 simple-audio-card,name = "SPDIF"; 62 63 simple-audio-card,dai-link@1 { /* S/PDIF - S/PDIF */ 64 cpu { sound-dai = <&spdif>; }; 65 codec { sound-dai = <&spdif_out>; }; 66 }; 67 }; 68 69 spdif_out: spdif-out { 70 compatible = "linux,spdif-dit"; 71 #sound-dai-cells = <0>; 72 }; 73 74 ir_recv: ir-receiver { 75 compatible = "gpio-ir-receiver"; 76 gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 77 pinctrl-names = "default"; 78 pinctrl-0 = <&ir_recv_pin>; 79 }; 80 81 vcc_otg: regulator-usb-otg { 82 compatible = "regulator-fixed"; 83 enable-active-high; 84 gpio = <&gpio2 RK_PD7 GPIO_ACTIVE_HIGH>; 85 pinctrl-names = "default"; 86 pinctrl-0 = <&otg_vbus_drv>; 87 regulator-name = "otg-vbus"; 88 regulator-min-microvolt = <5000000>; 89 regulator-max-microvolt = <5000000>; 90 regulator-always-on; 91 regulator-boot-on; 92 }; 93 94 vcc_sd0: regulator-sdmmc { 95 compatible = "regulator-fixed"; 96 regulator-name = "sdmmc-supply"; 97 regulator-min-microvolt = <3300000>; 98 regulator-max-microvolt = <3300000>; 99 gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; 100 pinctrl-names = "default"; 101 pinctrl-0 = <&sdmmc_pwr>; 102 startup-delay-us = <100000>; 103 vin-supply = <&vcc_io>; 104 }; 105 106 vcc_host: regulator-usb-host { 107 compatible = "regulator-fixed"; 108 enable-active-high; 109 gpio = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>; 110 pinctrl-names = "default"; 111 pinctrl-0 = <&host_vbus_drv>; 112 regulator-name = "host-pwr"; 113 regulator-min-microvolt = <5000000>; 114 regulator-max-microvolt = <5000000>; 115 regulator-always-on; 116 regulator-boot-on; 117 }; 118 119 vsys: regulator-vsys { 120 compatible = "regulator-fixed"; 121 regulator-name = "vsys"; 122 regulator-min-microvolt = <5000000>; 123 regulator-max-microvolt = <5000000>; 124 regulator-boot-on; 125 }; 126}; 127 128&emac { 129 phy = <&phy0>; 130 phy-supply = <&vcc_rmii>; 131 pinctrl-names = "default"; 132 pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>; 133 status = "okay"; 134 135 mdio { 136 #address-cells = <1>; 137 #size-cells = <0>; 138 139 phy0: ethernet-phy@0 { 140 reg = <0>; 141 interrupt-parent = <&gpio3>; 142 interrupts = <RK_PD2 IRQ_TYPE_LEVEL_LOW>; 143 }; 144 }; 145}; 146 147&cpu0 { 148 cpu-supply = <&vdd_arm>; 149}; 150 151&cpu1 { 152 cpu-supply = <&vdd_arm>; 153}; 154 155&cpu2 { 156 cpu-supply = <&vdd_arm>; 157}; 158 159&cpu3 { 160 cpu-supply = <&vdd_arm>; 161}; 162 163&gpu { 164 status = "okay"; 165}; 166 167&i2c1 { 168 status = "okay"; 169 clock-frequency = <400000>; 170 171 rtc@51 { 172 compatible = "haoyu,hym8563"; 173 reg = <0x51>; 174 interrupt-parent = <&gpio0>; 175 interrupts = <RK_PB5 IRQ_TYPE_EDGE_FALLING>; 176 pinctrl-names = "default"; 177 pinctrl-0 = <&rtc_int>; 178 #clock-cells = <0>; 179 clock-output-names = "xin32k"; 180 }; 181 182 act8846: act8846@5a { 183 compatible = "active-semi,act8846"; 184 reg = <0x5a>; 185 status = "okay"; 186 system-power-controller; 187 188 pinctrl-names = "default"; 189 pinctrl-0 = <&act8846_dvs0_ctl>; 190 191 vp1-supply = <&vsys>; 192 vp2-supply = <&vsys>; 193 vp3-supply = <&vsys>; 194 vp4-supply = <&vsys>; 195 inl1-supply = <&vcc_io>; 196 inl2-supply = <&vsys>; 197 inl3-supply = <&vsys>; 198 199 regulators { 200 vcc_ddr: REG1 { 201 regulator-name = "VCC_DDR"; 202 regulator-min-microvolt = <1200000>; 203 regulator-max-microvolt = <1200000>; 204 regulator-always-on; 205 }; 206 207 vdd_log: REG2 { 208 regulator-name = "VDD_LOG"; 209 regulator-min-microvolt = <1000000>; 210 regulator-max-microvolt = <1000000>; 211 regulator-always-on; 212 }; 213 214 vdd_arm: REG3 { 215 regulator-name = "VDD_ARM"; 216 regulator-min-microvolt = <875000>; 217 regulator-max-microvolt = <1350000>; 218 regulator-always-on; 219 }; 220 221 vcc_io: REG4 { 222 regulator-name = "VCC_IO"; 223 regulator-min-microvolt = <3300000>; 224 regulator-max-microvolt = <3300000>; 225 regulator-always-on; 226 }; 227 228 vdd_10: REG5 { 229 regulator-name = "VDD_10"; 230 regulator-min-microvolt = <1000000>; 231 regulator-max-microvolt = <1000000>; 232 regulator-always-on; 233 }; 234 235 vdd_hdmi: REG6 { 236 regulator-name = "VDD_HDMI"; 237 regulator-min-microvolt = <2500000>; 238 regulator-max-microvolt = <2500000>; 239 regulator-always-on; 240 }; 241 242 vcc18: REG7 { 243 regulator-name = "VCC_18"; 244 regulator-min-microvolt = <1800000>; 245 regulator-max-microvolt = <1800000>; 246 regulator-always-on; 247 }; 248 249 vcca_33: REG8 { 250 regulator-name = "VCCA_33"; 251 regulator-min-microvolt = <3300000>; 252 regulator-max-microvolt = <3300000>; 253 regulator-always-on; 254 }; 255 256 vcc_rmii: REG9 { 257 regulator-name = "VCC_RMII"; 258 regulator-min-microvolt = <3300000>; 259 regulator-max-microvolt = <3300000>; 260 }; 261 262 vccio_wl: REG10 { 263 regulator-name = "VCCIO_WL"; 264 regulator-min-microvolt = <3300000>; 265 regulator-max-microvolt = <3300000>; 266 regulator-always-on; 267 }; 268 269 vcc_18: REG11 { 270 regulator-name = "VCC18_IO"; 271 regulator-min-microvolt = <1800000>; 272 regulator-max-microvolt = <1800000>; 273 regulator-always-on; 274 }; 275 276 vcc28: REG12 { 277 regulator-name = "VCC_28"; 278 regulator-min-microvolt = <2800000>; 279 regulator-max-microvolt = <2800000>; 280 regulator-always-on; 281 }; 282 }; 283 }; 284}; 285 286&mmc0 { 287 status = "okay"; 288 pinctrl-names = "default"; 289 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; 290 vmmc-supply = <&vcc_sd0>; 291 292 bus-width = <4>; 293 cap-mmc-highspeed; 294 cap-sd-highspeed; 295 disable-wp; 296}; 297 298&pwm1 { 299 status = "okay"; 300}; 301 302&pwm2 { 303 status = "okay"; 304}; 305 306&pwm3 { 307 status = "okay"; 308}; 309 310&pinctrl { 311 pcfg_output_low: pcfg-output-low { 312 output-low; 313 }; 314 315 act8846 { 316 act8846_dvs0_ctl: act8846-dvs0-ctl { 317 rockchip,pins = <3 RK_PD3 RK_FUNC_GPIO &pcfg_output_low>; 318 }; 319 }; 320 321 hym8563 { 322 rtc_int: rtc-int { 323 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>; 324 }; 325 }; 326 327 lan8720a { 328 phy_int: phy-int { 329 rockchip,pins = <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>; 330 }; 331 }; 332 333 ir-receiver { 334 ir_recv_pin: ir-recv-pin { 335 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 336 }; 337 }; 338 339 sd0 { 340 sdmmc_pwr: sdmmc-pwr { 341 rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 342 }; 343 }; 344 345 usb { 346 host_vbus_drv: host-vbus-drv { 347 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 348 }; 349 otg_vbus_drv: otg-vbus-drv { 350 rockchip,pins = <2 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>; 351 }; 352 }; 353}; 354 355&spdif { 356 status = "okay"; 357}; 358 359&uart0 { 360 status = "okay"; 361}; 362 363&uart1 { 364 status = "okay"; 365}; 366 367&uart2 { 368 status = "okay"; 369}; 370 371&uart3 { 372 status = "okay"; 373}; 374 375&usbphy { 376 status = "okay"; 377}; 378 379&usb_host { 380 status = "okay"; 381}; 382 383&usb_otg { 384 status = "okay"; 385}; 386 387&wdt { 388 status = "okay"; 389}; 390