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