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