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

Merge tag 'v3.19-rockchip-dts2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt

Pull "ARM: rockchip: second batch of dts related changes" from Heiko Stuebner:

- the dts part of the rk3288 smp support
- rate init for rk3288 clocks
- enablement of various peripherals
- new boardfile for Haoyu Marsboard (rk3066 based)

* tag 'v3.19-rockchip-dts2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
ARM: dts: rockchip: enable PWM on Radxa Rock
ARM: dts: rockchip: fix invalid unit-address in rk3188.dtsi
ARM: dts: rk3288: add VOP iommu nodes
ARM: dts: rockchip: add reset for CPU nodes
ARM: dts: rockchip: add intmem node for rk3288 smp support
ARM: dts: rockchip: add pmu references to cpus nodes
ARM: dts: rockchip: add serial aliases for rk3066 and rk3188
ARM: dts: rockchip: Add devicetree source for MarsBoard RK3066
ARM: dts: rockchip: Add EMAC Rockchip for RK3066 SoCs

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+273 -2
+4
Documentation/devicetree/bindings/arm/rockchip.txt
··· 1 1 Rockchip platforms device tree bindings 2 2 --------------------------------------- 3 3 4 + - MarsBoard RK3066 board: 5 + Required root node properties: 6 + - compatible = "haoyu,marsboard-rk3066", "rockchip,rk3066a"; 7 + 4 8 - bq Curie 2 tablet: 5 9 Required root node properties: 6 10 - compatible = "mundoreader,bq-curie2", "rockchip,rk3066a";
+1
arch/arm/boot/dts/Makefile
··· 376 376 dtb-$(CONFIG_ARCH_REALVIEW) += arm-realview-pb1176.dtb 377 377 dtb-$(CONFIG_ARCH_ROCKCHIP) += \ 378 378 rk3066a-bqcurie2.dtb \ 379 + rk3066a-marsboard.dtb \ 379 380 rk3188-radxarock.dtb \ 380 381 rk3288-evb-act8846.dtb \ 381 382 rk3288-evb-rk808.dtb
+192
arch/arm/boot/dts/rk3066a-marsboard.dts
··· 1 + /* 2 + * Copyright (c) 2014 Romain Perier <romain.perier@gmail.com> 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 + #include "rk3066a.dtsi" 45 + 46 + / { 47 + model = "MarsBoard RK3066"; 48 + compatible = "haoyu,marsboard-rk3066", "rockchip,rk3066a"; 49 + 50 + memory { 51 + reg = <0x60000000 0x40000000>; 52 + }; 53 + 54 + vcc_sd0: sdmmc-regulator { 55 + compatible = "regulator-fixed"; 56 + regulator-name = "sdmmc-supply"; 57 + regulator-min-microvolt = <3000000>; 58 + regulator-max-microvolt = <3000000>; 59 + gpio = <&gpio3 7 GPIO_ACTIVE_LOW>; 60 + startup-delay-us = <100000>; 61 + vin-supply = <&vcc_io>; 62 + }; 63 + }; 64 + 65 + &i2c1 { 66 + status = "okay"; 67 + clock-frequency = <400000>; 68 + 69 + tps: tps@2d { 70 + reg = <0x2d>; 71 + 72 + interrupt-parent = <&gpio6>; 73 + interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 74 + 75 + vcc5-supply = <&vcc_io>; 76 + vcc6-supply = <&vcc_io>; 77 + 78 + regulators { 79 + vcc_rtc: regulator@0 { 80 + regulator-name = "vcc_rtc"; 81 + regulator-always-on; 82 + }; 83 + 84 + vcc_io: regulator@1 { 85 + regulator-name = "vcc_io"; 86 + regulator-always-on; 87 + }; 88 + 89 + vdd_arm: regulator@2 { 90 + regulator-name = "vdd_arm"; 91 + regulator-min-microvolt = <600000>; 92 + regulator-max-microvolt = <1500000>; 93 + regulator-boot-on; 94 + regulator-always-on; 95 + }; 96 + 97 + vcc_ddr: regulator@3 { 98 + regulator-name = "vcc_ddr"; 99 + regulator-min-microvolt = <600000>; 100 + regulator-max-microvolt = <1500000>; 101 + regulator-boot-on; 102 + regulator-always-on; 103 + }; 104 + 105 + vcc18_cif: regulator@5 { 106 + regulator-name = "vcc18_cif"; 107 + regulator-always-on; 108 + }; 109 + 110 + vdd_11: regulator@6 { 111 + regulator-name = "vdd_11"; 112 + regulator-always-on; 113 + }; 114 + 115 + vcc_25: regulator@7 { 116 + regulator-name = "vcc_25"; 117 + regulator-always-on; 118 + }; 119 + 120 + vcc_18: regulator@8 { 121 + regulator-name = "vcc_18"; 122 + regulator-always-on; 123 + }; 124 + 125 + vcc25_hdmi: regulator@9 { 126 + regulator-name = "vcc25_hdmi"; 127 + regulator-always-on; 128 + }; 129 + 130 + vcca_33: regulator@10 { 131 + regulator-name = "vcca_33"; 132 + regulator-always-on; 133 + }; 134 + 135 + vcc_rmii: regulator@11 { 136 + regulator-name = "vcc_rmii"; 137 + }; 138 + 139 + vcc28_cif: regulator@12 { 140 + regulator-name = "vcc28_cif"; 141 + regulator-always-on; 142 + }; 143 + }; 144 + }; 145 + }; 146 + 147 + /* must be included after &tps gets defined */ 148 + #include "tps65910.dtsi" 149 + 150 + &emac { 151 + status = "okay"; 152 + 153 + phy = <&phy0>; 154 + phy-supply = <&vcc_rmii>; 155 + 156 + pinctrl-names = "default"; 157 + pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>; 158 + 159 + phy0: ethernet-phy@0 { 160 + reg = <0>; 161 + interrupt-parent = <&gpio1>; 162 + interrupts = <26 IRQ_TYPE_LEVEL_LOW>; 163 + }; 164 + }; 165 + 166 + &pinctrl { 167 + lan8720a { 168 + phy_int: phy-int { 169 + rockchip,pins = <RK_GPIO1 26 RK_FUNC_GPIO &pcfg_pull_none>; 170 + }; 171 + }; 172 + }; 173 + 174 + &uart0 { 175 + status = "okay"; 176 + }; 177 + 178 + &uart1 { 179 + status = "okay"; 180 + }; 181 + 182 + &uart2 { 183 + status = "okay"; 184 + }; 185 + 186 + &uart3 { 187 + status = "okay"; 188 + }; 189 + 190 + &wdt { 191 + status = "okay"; 192 + };
+22
arch/arm/boot/dts/rk3066a.dtsi
··· 234 234 bias-disable; 235 235 }; 236 236 237 + emac { 238 + emac_xfer: emac-xfer { 239 + rockchip,pins = <RK_GPIO1 16 RK_FUNC_2 &pcfg_pull_none>, /* mac_clk */ 240 + <RK_GPIO1 17 RK_FUNC_2 &pcfg_pull_none>, /* tx_en */ 241 + <RK_GPIO1 18 RK_FUNC_2 &pcfg_pull_none>, /* txd1 */ 242 + <RK_GPIO1 19 RK_FUNC_2 &pcfg_pull_none>, /* txd0 */ 243 + <RK_GPIO1 20 RK_FUNC_2 &pcfg_pull_none>, /* rx_err */ 244 + <RK_GPIO1 21 RK_FUNC_2 &pcfg_pull_none>, /* crs_dvalid */ 245 + <RK_GPIO1 22 RK_FUNC_2 &pcfg_pull_none>, /* rxd1 */ 246 + <RK_GPIO1 23 RK_FUNC_2 &pcfg_pull_none>; /* rxd0 */ 247 + }; 248 + 249 + emac_mdio: emac-mdio { 250 + rockchip,pins = <RK_GPIO1 24 RK_FUNC_2 &pcfg_pull_none>, /* mac_md */ 251 + <RK_GPIO1 25 RK_FUNC_2 &pcfg_pull_none>; /* mac_mdclk */ 252 + }; 253 + }; 254 + 237 255 emmc { 238 256 emmc_clk: emmc-clk { 239 257 rockchip,pins = <RK_GPIO3 31 RK_FUNC_2 &pcfg_pull_default>; ··· 604 586 605 587 &wdt { 606 588 compatible = "rockchip,rk3066-wdt", "snps,dw-wdt"; 589 + }; 590 + 591 + &emac { 592 + compatible = "rockchip,rk3066-emac"; 607 593 };
+12
arch/arm/boot/dts/rk3188-radxarock.dts
··· 243 243 disable-wp; 244 244 }; 245 245 246 + &pwm1 { 247 + status = "okay"; 248 + }; 249 + 250 + &pwm2 { 251 + status = "okay"; 252 + }; 253 + 254 + &pwm3 { 255 + status = "okay"; 256 + }; 257 + 246 258 &pinctrl { 247 259 pcfg_output_low: pcfg-output-low { 248 260 output-low;
+2 -2
arch/arm/boot/dts/rk3188.dtsi
··· 111 111 #size-cells = <1>; 112 112 ranges; 113 113 114 - gpio0: gpio0@0x2000a000 { 114 + gpio0: gpio0@2000a000 { 115 115 compatible = "rockchip,rk3188-gpio-bank0"; 116 116 reg = <0x2000a000 0x100>; 117 117 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; ··· 124 124 #interrupt-cells = <2>; 125 125 }; 126 126 127 - gpio1: gpio1@0x2003c000 { 127 + gpio1: gpio1@2003c000 { 128 128 compatible = "rockchip,gpio-bank"; 129 129 reg = <0x2003c000 0x100>; 130 130 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+36
arch/arm/boot/dts/rk3288.dtsi
··· 46 46 cpus { 47 47 #address-cells = <1>; 48 48 #size-cells = <0>; 49 + enable-method = "rockchip,rk3066-smp"; 50 + rockchip,pmu = <&pmu>; 49 51 50 52 cpu0: cpu@500 { 51 53 device_type = "cpu"; 52 54 compatible = "arm,cortex-a12"; 53 55 reg = <0x500>; 56 + resets = <&cru SRST_CORE0>; 54 57 operating-points = < 55 58 /* KHz uV */ 56 59 1608000 1350000 ··· 76 73 device_type = "cpu"; 77 74 compatible = "arm,cortex-a12"; 78 75 reg = <0x501>; 76 + resets = <&cru SRST_CORE1>; 79 77 }; 80 78 cpu@502 { 81 79 device_type = "cpu"; 82 80 compatible = "arm,cortex-a12"; 83 81 reg = <0x502>; 82 + resets = <&cru SRST_CORE2>; 84 83 }; 85 84 cpu@503 { 86 85 device_type = "cpu"; 87 86 compatible = "arm,cortex-a12"; 88 87 reg = <0x503>; 88 + resets = <&cru SRST_CORE3>; 89 89 }; 90 90 }; 91 91 ··· 468 462 status = "disabled"; 469 463 }; 470 464 465 + bus_intmem@ff700000 { 466 + compatible = "mmio-sram"; 467 + reg = <0xff700000 0x18000>; 468 + #address-cells = <1>; 469 + #size-cells = <1>; 470 + ranges = <0 0xff700000 0x18000>; 471 + smp-sram@0 { 472 + compatible = "rockchip,rk3066-smp-sram"; 473 + reg = <0x00 0x10>; 474 + }; 475 + }; 476 + 471 477 pmu: power-management@ff730000 { 472 478 compatible = "rockchip,rk3288-pmu", "syscon"; 473 479 reg = <0xff730000 0x100>; ··· 532 514 clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>; 533 515 pinctrl-names = "default"; 534 516 pinctrl-0 = <&i2s0_bus>; 517 + status = "disabled"; 518 + }; 519 + 520 + vopb_mmu: iommu@ff930300 { 521 + compatible = "rockchip,iommu"; 522 + reg = <0xff930300 0x100>; 523 + interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 524 + interrupt-names = "vopb_mmu"; 525 + #iommu-cells = <0>; 526 + status = "disabled"; 527 + }; 528 + 529 + vopl_mmu: iommu@ff940300 { 530 + compatible = "rockchip,iommu"; 531 + reg = <0xff940300 0x100>; 532 + interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 533 + interrupt-names = "vopl_mmu"; 534 + #iommu-cells = <0>; 535 535 status = "disabled"; 536 536 }; 537 537
+4
arch/arm/boot/dts/rk3xxx.dtsi
··· 29 29 mshc0 = &emmc; 30 30 mshc1 = &mmc0; 31 31 mshc2 = &mmc1; 32 + serial0 = &uart0; 33 + serial1 = &uart1; 34 + serial2 = &uart2; 35 + serial3 = &uart3; 32 36 spi0 = &spi0; 33 37 spi1 = &spi1; 34 38 };