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