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 cpu0-supply = <&vdd_arm>; 142}; 143 144&gpu { 145 status = "okay"; 146}; 147 148&i2c1 { 149 status = "okay"; 150 clock-frequency = <400000>; 151 152 rtc@51 { 153 compatible = "haoyu,hym8563"; 154 reg = <0x51>; 155 interrupt-parent = <&gpio0>; 156 interrupts = <RK_PB5 IRQ_TYPE_EDGE_FALLING>; 157 pinctrl-names = "default"; 158 pinctrl-0 = <&rtc_int>; 159 #clock-cells = <0>; 160 clock-output-names = "xin32k"; 161 }; 162 163 act8846: act8846@5a { 164 compatible = "active-semi,act8846"; 165 reg = <0x5a>; 166 status = "okay"; 167 system-power-controller; 168 169 pinctrl-names = "default"; 170 pinctrl-0 = <&act8846_dvs0_ctl>; 171 172 vp1-supply = <&vsys>; 173 vp2-supply = <&vsys>; 174 vp3-supply = <&vsys>; 175 vp4-supply = <&vsys>; 176 inl1-supply = <&vcc_io>; 177 inl2-supply = <&vsys>; 178 inl3-supply = <&vsys>; 179 180 regulators { 181 vcc_ddr: REG1 { 182 regulator-name = "VCC_DDR"; 183 regulator-min-microvolt = <1200000>; 184 regulator-max-microvolt = <1200000>; 185 regulator-always-on; 186 }; 187 188 vdd_log: REG2 { 189 regulator-name = "VDD_LOG"; 190 regulator-min-microvolt = <1000000>; 191 regulator-max-microvolt = <1000000>; 192 regulator-always-on; 193 }; 194 195 vdd_arm: REG3 { 196 regulator-name = "VDD_ARM"; 197 regulator-min-microvolt = <875000>; 198 regulator-max-microvolt = <1350000>; 199 regulator-always-on; 200 }; 201 202 vcc_io: REG4 { 203 regulator-name = "VCC_IO"; 204 regulator-min-microvolt = <3300000>; 205 regulator-max-microvolt = <3300000>; 206 regulator-always-on; 207 }; 208 209 vdd_10: REG5 { 210 regulator-name = "VDD_10"; 211 regulator-min-microvolt = <1000000>; 212 regulator-max-microvolt = <1000000>; 213 regulator-always-on; 214 }; 215 216 vdd_hdmi: REG6 { 217 regulator-name = "VDD_HDMI"; 218 regulator-min-microvolt = <2500000>; 219 regulator-max-microvolt = <2500000>; 220 regulator-always-on; 221 }; 222 223 vcc18: REG7 { 224 regulator-name = "VCC_18"; 225 regulator-min-microvolt = <1800000>; 226 regulator-max-microvolt = <1800000>; 227 regulator-always-on; 228 }; 229 230 vcca_33: REG8 { 231 regulator-name = "VCCA_33"; 232 regulator-min-microvolt = <3300000>; 233 regulator-max-microvolt = <3300000>; 234 regulator-always-on; 235 }; 236 237 vcc_rmii: REG9 { 238 regulator-name = "VCC_RMII"; 239 regulator-min-microvolt = <3300000>; 240 regulator-max-microvolt = <3300000>; 241 }; 242 243 vccio_wl: REG10 { 244 regulator-name = "VCCIO_WL"; 245 regulator-min-microvolt = <3300000>; 246 regulator-max-microvolt = <3300000>; 247 regulator-always-on; 248 }; 249 250 vcc_18: REG11 { 251 regulator-name = "VCC18_IO"; 252 regulator-min-microvolt = <1800000>; 253 regulator-max-microvolt = <1800000>; 254 regulator-always-on; 255 }; 256 257 vcc28: REG12 { 258 regulator-name = "VCC_28"; 259 regulator-min-microvolt = <2800000>; 260 regulator-max-microvolt = <2800000>; 261 regulator-always-on; 262 }; 263 }; 264 }; 265}; 266 267&mmc0 { 268 status = "okay"; 269 pinctrl-names = "default"; 270 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; 271 vmmc-supply = <&vcc_sd0>; 272 273 bus-width = <4>; 274 cap-mmc-highspeed; 275 cap-sd-highspeed; 276 disable-wp; 277}; 278 279&pwm1 { 280 status = "okay"; 281}; 282 283&pwm2 { 284 status = "okay"; 285}; 286 287&pwm3 { 288 status = "okay"; 289}; 290 291&pinctrl { 292 pcfg_output_low: pcfg-output-low { 293 output-low; 294 }; 295 296 act8846 { 297 act8846_dvs0_ctl: act8846-dvs0-ctl { 298 rockchip,pins = <RK_GPIO3 27 RK_FUNC_GPIO &pcfg_output_low>; 299 }; 300 }; 301 302 hym8563 { 303 rtc_int: rtc-int { 304 rockchip,pins = <RK_GPIO0 0 RK_FUNC_GPIO &pcfg_pull_up>; 305 }; 306 }; 307 308 lan8720a { 309 phy_int: phy-int { 310 rockchip,pins = <RK_GPIO3 26 RK_FUNC_GPIO &pcfg_pull_up>; 311 }; 312 }; 313 314 ir-receiver { 315 ir_recv_pin: ir-recv-pin { 316 rockchip,pins = <RK_GPIO0 10 RK_FUNC_GPIO &pcfg_pull_none>; 317 }; 318 }; 319 320 sd0 { 321 sdmmc_pwr: sdmmc-pwr { 322 rockchip,pins = <RK_GPIO3 1 RK_FUNC_GPIO &pcfg_pull_none>; 323 }; 324 }; 325 326 usb { 327 host_vbus_drv: host-vbus-drv { 328 rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_none>; 329 }; 330 otg_vbus_drv: otg-vbus-drv { 331 rockchip,pins = <2 31 RK_FUNC_GPIO &pcfg_pull_none>; 332 }; 333 }; 334}; 335 336&spdif { 337 status = "okay"; 338}; 339 340&uart0 { 341 status = "okay"; 342}; 343 344&uart1 { 345 status = "okay"; 346}; 347 348&uart2 { 349 status = "okay"; 350}; 351 352&uart3 { 353 status = "okay"; 354}; 355 356&usbphy { 357 status = "okay"; 358}; 359 360&usb_host { 361 status = "okay"; 362}; 363 364&usb_otg { 365 status = "okay"; 366}; 367 368&wdt { 369 status = "okay"; 370}; 371