Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'v4.12-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt

Pull "Rockchip dts32 updates for 4.12 part1" from Heiko Stübner:

Contains one new board, the Tinkerboard from Asus based on the rk3288,
definitions for the mmc resets in the socs reset controller, sound
support for the Rock2, dma support for mmc controllers on the rk3188
and a led-fix for the MiQi board and and irq-fix for older Cortex-A9 socs.

* tag 'v4.12-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
ARM: dts: rockchip: setup DMA-channels for mmc0 and emmc for rk3188
ARM: dts: rockchip: fix PPI misconfiguration on Cortex-A9 socs
ARM: dts: rockchip: add rk322x dw-mmc resets
ARM: dts: rockchip: add rk3066/rk3188 dw-mmc resets
ARM: dts: rockchip: add rk3036 dw-mmc resets
ARM: dts: rockchip: add rk3288 dw-mmc resets
ARM: dts: rockchip: add dts for RK3288-Tinker board
dt-bindings: add rk3288-based Asus Tinker board
ARM: dts: rockchip: fix the MiQi board's LED definition
ARM: dts: rockchip: Add support for ES8388 to the Radxa Rock 2

+616 -15
+3
Documentation/devicetree/bindings/arm/rockchip.txt
··· 1 1 Rockchip platforms device tree bindings 2 2 --------------------------------------- 3 + - Asus Tinker board 4 + Required root node properties: 5 + - compatible = "asus,rk3288-tinker", "rockchip,rk3288"; 3 6 4 7 - Kylin RK3036 board: 5 8 Required root node properties:
+1
arch/arm/boot/dts/Makefile
··· 725 725 rk3288-popmetal.dtb \ 726 726 rk3288-r89.dtb \ 727 727 rk3288-rock2-square.dtb \ 728 + rk3288-tinker.dtb \ 728 729 rk3288-veyron-brain.dtb \ 729 730 rk3288-veyron-jaq.dtb \ 730 731 rk3288-veyron-jerry.dtb \
+6
arch/arm/boot/dts/rk3036.dtsi
··· 250 250 clock-names = "biu", "ciu"; 251 251 fifo-depth = <0x100>; 252 252 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 253 + resets = <&cru SRST_MMC0>; 254 + reset-names = "reset"; 253 255 status = "disabled"; 254 256 }; 255 257 ··· 264 262 clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; 265 263 fifo-depth = <0x100>; 266 264 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 265 + resets = <&cru SRST_SDIO>; 266 + reset-names = "reset"; 267 267 status = "disabled"; 268 268 }; 269 269 ··· 290 286 num-slots = <1>; 291 287 pinctrl-names = "default"; 292 288 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 289 + resets = <&cru SRST_EMMC>; 290 + reset-names = "reset"; 293 291 status = "disabled"; 294 292 }; 295 293
+2 -2
arch/arm/boot/dts/rk3188.dtsi
··· 529 529 }; 530 530 531 531 &global_timer { 532 - interrupts = <GIC_PPI 11 0xf04>; 532 + interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; 533 533 }; 534 534 535 535 &local_timer { 536 - interrupts = <GIC_PPI 13 0xf04>; 536 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; 537 537 }; 538 538 539 539 &i2c0 {
+2
arch/arm/boot/dts/rk322x.dtsi
··· 414 414 fifo-depth = <0x100>; 415 415 pinctrl-names = "default"; 416 416 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 417 + resets = <&cru SRST_EMMC>; 418 + reset-names = "reset"; 417 419 status = "disabled"; 418 420 }; 419 421
+2 -10
arch/arm/boot/dts/rk3288-miqi.dts
··· 68 68 compatible = "gpio-leds"; 69 69 70 70 work { 71 - gpios = <&gpio7 RK_PA4 GPIO_ACTIVE_LOW>; 71 + gpios = <&gpio7 RK_PA2 GPIO_ACTIVE_HIGH>; 72 72 label = "miqi:green:user"; 73 - linux,default-trigger = "default-on"; 74 - pinctrl-names = "default"; 75 - pinctrl-0 = <&led_ctl>; 73 + linux,default-trigger = "timer"; 76 74 }; 77 75 }; 78 76 ··· 358 360 359 361 phy_rst: phy-rst { 360 362 rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>; 361 - }; 362 - }; 363 - 364 - leds { 365 - led_ctl: led-ctl { 366 - rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_none>; 367 363 }; 368 364 }; 369 365
+1 -1
arch/arm/boot/dts/rk3288-rock2-som.dtsi
··· 136 136 regulator-always-on; 137 137 }; 138 138 139 - vcc_io: REG2 { 139 + vcc_io: vccio_codec: REG2 { 140 140 regulator-name = "VCC_IO"; 141 141 regulator-min-microvolt = <3300000>; 142 142 regulator-max-microvolt = <3300000>;
+41
arch/arm/boot/dts/rk3288-rock2-square.dts
··· 86 86 #sound-dai-cells = <0>; 87 87 }; 88 88 89 + sound-i2s { 90 + compatible = "rockchip,rk3288-hdmi-analog"; 91 + pinctrl-names = "default"; 92 + pinctrl-0 = <&phone_ctl>, <&hp_det>; 93 + rockchip,audio-codec = <&es8388>; 94 + rockchip,hp-det-gpios = <&gpio7 7 GPIO_ACTIVE_HIGH>; 95 + rockchip,hp-en-gpios = <&gpio8 0 GPIO_ACTIVE_HIGH>; 96 + rockchip,i2s-controller = <&i2s>; 97 + rockchip,model = "I2S"; 98 + rockchip,routing = "Analog", "LOUT2", 99 + "Analog", "ROUT2"; 100 + }; 101 + 89 102 sdio_pwrseq: sdio-pwrseq { 90 103 compatible = "mmc-pwrseq-simple"; 91 104 clocks = <&hym8563>; ··· 186 173 }; 187 174 }; 188 175 176 + &i2c2 { 177 + status = "okay"; 178 + 179 + es8388: es8388@10 { 180 + compatible = "everest,es8388", "everest,es8328"; 181 + reg = <0x10>; 182 + AVDD-supply = <&vccio_codec>; 183 + DVDD-supply = <&vccio_codec>; 184 + HPVDD-supply = <&vccio_codec>; 185 + PVDD-supply = <&vccio_codec>; 186 + clocks = <&cru SCLK_I2S0_OUT>; 187 + }; 188 + }; 189 + 189 190 &i2c5 { 191 + status = "okay"; 192 + }; 193 + 194 + &i2s { 190 195 status = "okay"; 191 196 }; 192 197 ··· 218 187 pmic { 219 188 pmic_int: pmic-int { 220 189 rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>; 190 + }; 191 + }; 192 + 193 + headphone { 194 + hp_det: hp-det { 195 + rockchip,pins = <7 7 RK_FUNC_GPIO &pcfg_pull_none>; 196 + }; 197 + 198 + phone_ctl: phone-ctl { 199 + rockchip,pins = <8 0 RK_FUNC_GPIO &pcfg_pull_up>; 221 200 }; 222 201 }; 223 202
+536
arch/arm/boot/dts/rk3288-tinker.dts
··· 1 + /* 2 + * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. 3 + * 4 + * This file is dual-licensed: you can use it either under the terms 5 + * of the GPL or the X11 license, at your option. Note that this dual 6 + * licensing only applies to this file, and not this project as a 7 + * whole. 8 + * 9 + * a) This file is free software; you can redistribute it and/or 10 + * modify it under the terms of the GNU General Public License as 11 + * published by the Free Software Foundation; either version 2 of the 12 + * License, or (at your option) any later version. 13 + * 14 + * This file is distributed in the hope that it will be useful, 15 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 + * GNU General Public License for more details. 18 + * 19 + * Or, alternatively, 20 + * 21 + * b) Permission is hereby granted, free of charge, to any person 22 + * obtaining a copy of this software and associated documentation 23 + * files (the "Software"), to deal in the Software without 24 + * restriction, including without limitation the rights to use, 25 + * copy, modify, merge, publish, distribute, sublicense, and/or 26 + * sell copies of the Software, and to permit persons to whom the 27 + * Software is furnished to do so, subject to the following 28 + * conditions: 29 + * 30 + * The above copyright notice and this permission notice shall be 31 + * included in all copies or substantial portions of the Software. 32 + * 33 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 + * OTHER DEALINGS IN THE SOFTWARE. 41 + */ 42 + 43 + /dts-v1/; 44 + 45 + #include "rk3288.dtsi" 46 + #include <dt-bindings/input/input.h> 47 + 48 + / { 49 + model = "Rockchip RK3288 Tinker Board"; 50 + compatible = "asus,rk3288-tinker", "rockchip,rk3288"; 51 + 52 + memory { 53 + reg = <0x0 0x80000000>; 54 + device_type = "memory"; 55 + }; 56 + 57 + ext_gmac: external-gmac-clock { 58 + compatible = "fixed-clock"; 59 + #clock-cells = <0>; 60 + clock-frequency = <125000000>; 61 + clock-output-names = "ext_gmac"; 62 + }; 63 + 64 + gpio-keys { 65 + compatible = "gpio-keys"; 66 + #address-cells = <1>; 67 + #size-cells = <0>; 68 + autorepeat; 69 + 70 + pinctrl-names = "default"; 71 + pinctrl-0 = <&pwrbtn>; 72 + 73 + button@0 { 74 + gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 75 + linux,code = <KEY_POWER>; 76 + label = "GPIO Key Power"; 77 + linux,input-type = <1>; 78 + wakeup-source; 79 + debounce-interval = <100>; 80 + }; 81 + }; 82 + 83 + gpio-leds { 84 + compatible = "gpio-leds"; 85 + 86 + act-led { 87 + gpios=<&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>; 88 + linux,default-trigger="mmc0"; 89 + }; 90 + 91 + heartbeat-led { 92 + gpios=<&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>; 93 + linux,default-trigger="heartbeat"; 94 + }; 95 + 96 + pwr-led { 97 + gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>; 98 + linux,default-trigger = "default-on"; 99 + }; 100 + }; 101 + 102 + sound { 103 + compatible = "simple-audio-card"; 104 + simple-audio-card,format = "i2s"; 105 + simple-audio-card,name = "rockchip,tinker-codec"; 106 + simple-audio-card,mclk-fs = <512>; 107 + 108 + simple-audio-card,codec { 109 + sound-dai = <&hdmi>; 110 + }; 111 + 112 + simple-audio-card,cpu { 113 + sound-dai = <&i2s>; 114 + }; 115 + }; 116 + 117 + vcc_sys: vsys-regulator { 118 + compatible = "regulator-fixed"; 119 + regulator-name = "vcc_sys"; 120 + regulator-min-microvolt = <5000000>; 121 + regulator-max-microvolt = <5000000>; 122 + regulator-always-on; 123 + regulator-boot-on; 124 + }; 125 + 126 + vcc_sd: sdmmc-regulator { 127 + compatible = "regulator-fixed"; 128 + gpio = <&gpio7 11 GPIO_ACTIVE_LOW>; 129 + pinctrl-names = "default"; 130 + pinctrl-0 = <&sdmmc_pwr>; 131 + regulator-name = "vcc_sd"; 132 + regulator-min-microvolt = <3300000>; 133 + regulator-max-microvolt = <3300000>; 134 + startup-delay-us = <100000>; 135 + vin-supply = <&vcc_io>; 136 + }; 137 + }; 138 + 139 + &cpu0 { 140 + cpu0-supply = <&vdd_cpu>; 141 + }; 142 + 143 + &gmac { 144 + assigned-clocks = <&cru SCLK_MAC>; 145 + assigned-clock-parents = <&ext_gmac>; 146 + clock_in_out = "input"; 147 + phy-mode = "rgmii"; 148 + phy-supply = <&vcc33_lan>; 149 + pinctrl-names = "default"; 150 + pinctrl-0 = <&rgmii_pins>; 151 + snps,reset-gpio = <&gpio4 7 0>; 152 + snps,reset-active-low; 153 + snps,reset-delays-us = <0 10000 1000000>; 154 + tx_delay = <0x30>; 155 + rx_delay = <0x10>; 156 + status = "ok"; 157 + }; 158 + 159 + &hdmi { 160 + ddc-i2c-bus = <&i2c5>; 161 + status = "okay"; 162 + }; 163 + 164 + &i2c0 { 165 + clock-frequency = <400000>; 166 + status = "okay"; 167 + 168 + rk808: pmic@1b { 169 + compatible = "rockchip,rk808"; 170 + reg = <0x1b>; 171 + interrupt-parent = <&gpio0>; 172 + interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 173 + #clock-cells = <1>; 174 + clock-output-names = "xin32k", "rk808-clkout2"; 175 + dvs-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>, 176 + <&gpio0 12 GPIO_ACTIVE_HIGH>; 177 + pinctrl-names = "default"; 178 + pinctrl-0 = <&pmic_int &global_pwroff &dvs_1 &dvs_2>; 179 + rockchip,system-power-controller; 180 + wakeup-source; 181 + 182 + vcc1-supply = <&vcc_sys>; 183 + vcc2-supply = <&vcc_sys>; 184 + vcc3-supply = <&vcc_sys>; 185 + vcc4-supply = <&vcc_sys>; 186 + vcc6-supply = <&vcc_sys>; 187 + vcc7-supply = <&vcc_sys>; 188 + vcc8-supply = <&vcc_io>; 189 + vcc9-supply = <&vcc_io>; 190 + vcc10-supply = <&vcc_io>; 191 + vcc11-supply = <&vcc_sys>; 192 + vcc12-supply = <&vcc_io>; 193 + vddio-supply = <&vcc_io>; 194 + 195 + regulators { 196 + vdd_cpu: DCDC_REG1 { 197 + regulator-always-on; 198 + regulator-boot-on; 199 + regulator-min-microvolt = <750000>; 200 + regulator-max-microvolt = <1350000>; 201 + regulator-name = "vdd_arm"; 202 + regulator-ramp-delay = <6000>; 203 + regulator-state-mem { 204 + regulator-off-in-suspend; 205 + }; 206 + }; 207 + 208 + vdd_gpu: DCDC_REG2 { 209 + regulator-always-on; 210 + regulator-boot-on; 211 + regulator-min-microvolt = <850000>; 212 + regulator-max-microvolt = <1250000>; 213 + regulator-name = "vdd_gpu"; 214 + regulator-ramp-delay = <6000>; 215 + regulator-state-mem { 216 + regulator-on-in-suspend; 217 + regulator-suspend-microvolt = <1000000>; 218 + }; 219 + }; 220 + 221 + vcc_ddr: DCDC_REG3 { 222 + regulator-always-on; 223 + regulator-boot-on; 224 + regulator-name = "vcc_ddr"; 225 + regulator-state-mem { 226 + regulator-on-in-suspend; 227 + }; 228 + }; 229 + 230 + vcc_io: DCDC_REG4 { 231 + regulator-always-on; 232 + regulator-boot-on; 233 + regulator-min-microvolt = <3300000>; 234 + regulator-max-microvolt = <3300000>; 235 + regulator-name = "vcc_io"; 236 + regulator-state-mem { 237 + regulator-on-in-suspend; 238 + regulator-suspend-microvolt = <3300000>; 239 + }; 240 + }; 241 + 242 + vcc18_ldo1: LDO_REG1 { 243 + regulator-always-on; 244 + regulator-boot-on; 245 + regulator-min-microvolt = <1800000>; 246 + regulator-max-microvolt = <1800000>; 247 + regulator-name = "vcc18_ldo1"; 248 + regulator-state-mem { 249 + regulator-on-in-suspend; 250 + regulator-suspend-microvolt = <1800000>; 251 + }; 252 + }; 253 + 254 + vcc33_mipi: LDO_REG2 { 255 + regulator-always-on; 256 + regulator-boot-on; 257 + regulator-min-microvolt = <3300000>; 258 + regulator-max-microvolt = <3300000>; 259 + regulator-name = "vcc33_mipi"; 260 + regulator-state-mem { 261 + regulator-off-in-suspend; 262 + }; 263 + }; 264 + 265 + vdd_10: LDO_REG3 { 266 + regulator-always-on; 267 + regulator-boot-on; 268 + regulator-min-microvolt = <1000000>; 269 + regulator-max-microvolt = <1000000>; 270 + regulator-name = "vdd_10"; 271 + regulator-state-mem { 272 + regulator-on-in-suspend; 273 + regulator-suspend-microvolt = <1000000>; 274 + }; 275 + }; 276 + 277 + vcc18_codec: LDO_REG4 { 278 + regulator-always-on; 279 + regulator-boot-on; 280 + regulator-min-microvolt = <1800000>; 281 + regulator-max-microvolt = <1800000>; 282 + regulator-name = "vcc18_codec"; 283 + regulator-state-mem { 284 + regulator-on-in-suspend; 285 + regulator-suspend-microvolt = <1800000>; 286 + }; 287 + }; 288 + 289 + vccio_sd: LDO_REG5 { 290 + regulator-min-microvolt = <1800000>; 291 + regulator-max-microvolt = <3300000>; 292 + regulator-name = "vccio_sd"; 293 + regulator-state-mem { 294 + regulator-on-in-suspend; 295 + regulator-suspend-microvolt = <3300000>; 296 + }; 297 + }; 298 + 299 + vdd10_lcd: LDO_REG6 { 300 + regulator-always-on; 301 + regulator-boot-on; 302 + regulator-min-microvolt = <1000000>; 303 + regulator-max-microvolt = <1000000>; 304 + regulator-name = "vdd10_lcd"; 305 + regulator-state-mem { 306 + regulator-on-in-suspend; 307 + regulator-suspend-microvolt = <1000000>; 308 + }; 309 + }; 310 + 311 + vcc_18: LDO_REG7 { 312 + regulator-always-on; 313 + regulator-boot-on; 314 + regulator-min-microvolt = <1800000>; 315 + regulator-max-microvolt = <1800000>; 316 + regulator-name = "vcc_18"; 317 + regulator-state-mem { 318 + regulator-on-in-suspend; 319 + regulator-suspend-microvolt = <1800000>; 320 + }; 321 + }; 322 + 323 + vcc18_lcd: LDO_REG8 { 324 + regulator-always-on; 325 + regulator-boot-on; 326 + regulator-min-microvolt = <1800000>; 327 + regulator-max-microvolt = <1800000>; 328 + regulator-name = "vcc18_lcd"; 329 + regulator-state-mem { 330 + regulator-on-in-suspend; 331 + regulator-suspend-microvolt = <1800000>; 332 + }; 333 + }; 334 + 335 + vcc33_sd: SWITCH_REG1 { 336 + regulator-always-on; 337 + regulator-boot-on; 338 + regulator-name = "vcc33_sd"; 339 + regulator-state-mem { 340 + regulator-on-in-suspend; 341 + }; 342 + }; 343 + 344 + vcc33_lan: SWITCH_REG2 { 345 + regulator-always-on; 346 + regulator-boot-on; 347 + regulator-name = "vcc33_lan"; 348 + regulator-state-mem { 349 + regulator-on-in-suspend; 350 + }; 351 + }; 352 + }; 353 + }; 354 + }; 355 + 356 + &i2c2 { 357 + status = "okay"; 358 + }; 359 + 360 + &i2c5 { 361 + status = "okay"; 362 + }; 363 + 364 + &i2s { 365 + #sound-dai-cells = <0>; 366 + status = "okay"; 367 + }; 368 + 369 + &io_domains { 370 + status = "okay"; 371 + 372 + sdcard-supply = <&vccio_sd>; 373 + }; 374 + 375 + &pinctrl { 376 + pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { 377 + drive-strength = <8>; 378 + }; 379 + 380 + pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { 381 + bias-pull-up; 382 + drive-strength = <8>; 383 + }; 384 + 385 + backlight { 386 + bl_en: bl-en { 387 + rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>; 388 + }; 389 + }; 390 + 391 + buttons { 392 + pwrbtn: pwrbtn { 393 + rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>; 394 + }; 395 + }; 396 + 397 + eth_phy { 398 + eth_phy_pwr: eth-phy-pwr { 399 + rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_none>; 400 + }; 401 + }; 402 + 403 + pmic { 404 + pmic_int: pmic-int { 405 + rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO \ 406 + &pcfg_pull_up>; 407 + }; 408 + 409 + dvs_1: dvs-1 { 410 + rockchip,pins = <RK_GPIO0 11 RK_FUNC_GPIO \ 411 + &pcfg_pull_down>; 412 + }; 413 + 414 + dvs_2: dvs-2 { 415 + rockchip,pins = <RK_GPIO0 12 RK_FUNC_GPIO \ 416 + &pcfg_pull_down>; 417 + }; 418 + }; 419 + 420 + sdmmc { 421 + sdmmc_bus4: sdmmc-bus4 { 422 + rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, 423 + <6 17 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, 424 + <6 18 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, 425 + <6 19 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; 426 + }; 427 + 428 + sdmmc_clk: sdmmc-clk { 429 + rockchip,pins = <6 20 RK_FUNC_1 \ 430 + &pcfg_pull_none_drv_8ma>; 431 + }; 432 + 433 + sdmmc_cmd: sdmmc-cmd { 434 + rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_8ma>; 435 + }; 436 + 437 + sdmmc_pwr: sdmmc-pwr { 438 + rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; 439 + }; 440 + }; 441 + 442 + usb { 443 + host_vbus_drv: host-vbus-drv { 444 + rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; 445 + }; 446 + 447 + pwr_3g: pwr-3g { 448 + rockchip,pins = <7 8 RK_FUNC_GPIO &pcfg_pull_none>; 449 + }; 450 + }; 451 + }; 452 + 453 + &pwm0 { 454 + status = "okay"; 455 + }; 456 + 457 + &saradc { 458 + vref-supply = <&vcc18_ldo1>; 459 + status ="okay"; 460 + }; 461 + 462 + &sdmmc { 463 + bus-width = <4>; 464 + cap-mmc-highspeed; 465 + cap-sd-highspeed; 466 + card-detect-delay = <200>; 467 + disable-wp; /* wp not hooked up */ 468 + num-slots = <1>; 469 + pinctrl-names = "default"; 470 + pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; 471 + status = "okay"; 472 + vmmc-supply = <&vcc33_sd>; 473 + vqmmc-supply = <&vccio_sd>; 474 + }; 475 + 476 + &tsadc { 477 + rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */ 478 + rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */ 479 + status = "okay"; 480 + }; 481 + 482 + &uart0 { 483 + status = "okay"; 484 + }; 485 + 486 + &uart1 { 487 + status = "okay"; 488 + }; 489 + 490 + &uart2 { 491 + status = "okay"; 492 + }; 493 + 494 + &uart3 { 495 + status = "okay"; 496 + }; 497 + 498 + &uart4 { 499 + status = "okay"; 500 + }; 501 + 502 + &usbphy { 503 + status = "okay"; 504 + }; 505 + 506 + &usb_host0_ehci { 507 + status = "okay"; 508 + }; 509 + 510 + &usb_host1 { 511 + status = "okay"; 512 + }; 513 + 514 + &usb_otg { 515 + status= "okay"; 516 + }; 517 + 518 + &vopb { 519 + status = "okay"; 520 + }; 521 + 522 + &vopb_mmu { 523 + status = "okay"; 524 + }; 525 + 526 + &vopl { 527 + status = "okay"; 528 + }; 529 + 530 + &vopl_mmu { 531 + status = "okay"; 532 + }; 533 + 534 + &wdt { 535 + status = "okay"; 536 + };
+8
arch/arm/boot/dts/rk3288.dtsi
··· 236 236 fifo-depth = <0x100>; 237 237 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 238 238 reg = <0xff0c0000 0x4000>; 239 + resets = <&cru SRST_MMC0>; 240 + reset-names = "reset"; 239 241 status = "disabled"; 240 242 }; 241 243 ··· 250 248 fifo-depth = <0x100>; 251 249 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 252 250 reg = <0xff0d0000 0x4000>; 251 + resets = <&cru SRST_SDIO0>; 252 + reset-names = "reset"; 253 253 status = "disabled"; 254 254 }; 255 255 ··· 264 260 fifo-depth = <0x100>; 265 261 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 266 262 reg = <0xff0e0000 0x4000>; 263 + resets = <&cru SRST_SDIO1>; 264 + reset-names = "reset"; 267 265 status = "disabled"; 268 266 }; 269 267 ··· 278 272 fifo-depth = <0x100>; 279 273 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 280 274 reg = <0xff0f0000 0x4000>; 275 + resets = <&cru SRST_EMMC>; 276 + reset-names = "reset"; 281 277 status = "disabled"; 282 278 }; 283 279
+14 -2
arch/arm/boot/dts/rk3xxx.dtsi
··· 132 132 global_timer: global-timer@1013c200 { 133 133 compatible = "arm,cortex-a9-global-timer"; 134 134 reg = <0x1013c200 0x20>; 135 - interrupts = <GIC_PPI 11 0x304>; 135 + interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; 136 136 clocks = <&cru CORE_PERI>; 137 137 }; 138 138 139 139 local_timer: local-timer@1013c600 { 140 140 compatible = "arm,cortex-a9-twd-timer"; 141 141 reg = <0x1013c600 0x20>; 142 - interrupts = <GIC_PPI 13 0x304>; 142 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; 143 143 clocks = <&cru CORE_PERI>; 144 144 }; 145 145 ··· 223 223 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 224 224 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>; 225 225 clock-names = "biu", "ciu"; 226 + dmas = <&dmac2 1>; 227 + dma-names = "rx-tx"; 226 228 fifo-depth = <256>; 229 + resets = <&cru SRST_SDMMC>; 230 + reset-names = "reset"; 227 231 status = "disabled"; 228 232 }; 229 233 ··· 237 233 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 238 234 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>; 239 235 clock-names = "biu", "ciu"; 236 + dmas = <&dmac2 3>; 237 + dma-names = "rx-tx"; 240 238 fifo-depth = <256>; 239 + resets = <&cru SRST_SDIO>; 240 + reset-names = "reset"; 241 241 status = "disabled"; 242 242 }; 243 243 ··· 251 243 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 252 244 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>; 253 245 clock-names = "biu", "ciu"; 246 + dmas = <&dmac2 4>; 247 + dma-names = "rx-tx"; 254 248 fifo-depth = <256>; 249 + resets = <&cru SRST_EMMC>; 250 + reset-names = "reset"; 255 251 status = "disabled"; 256 252 }; 257 253