diff options
author | Arnd Bergmann <arnd@arndb.de> | 2014-11-20 11:42:17 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2014-11-20 11:42:17 -0500 |
commit | 2dfb8bf3be899a685b7ec8713145e578d3c20f5b (patch) | |
tree | d15920e73f26fce6f7feda284b12f9f252308d24 /arch | |
parent | af947cbf5c72c0071fc13ffc76d1e67a8b9e0fb6 (diff) | |
parent | efb66e93d13da5a7b11b3a8dbb24a6fb29141752 (diff) |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/rk3066a-marsboard.dts | 192 | ||||
-rw-r--r-- | arch/arm/boot/dts/rk3066a.dtsi | 22 | ||||
-rw-r--r-- | arch/arm/boot/dts/rk3188-radxarock.dts | 12 | ||||
-rw-r--r-- | arch/arm/boot/dts/rk3188.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/rk3288.dtsi | 36 | ||||
-rw-r--r-- | arch/arm/boot/dts/rk3xxx.dtsi | 4 |
7 files changed, 269 insertions, 2 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 21dde4370955..200b3448f1a9 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -376,6 +376,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \ | |||
376 | dtb-$(CONFIG_ARCH_REALVIEW) += arm-realview-pb1176.dtb | 376 | dtb-$(CONFIG_ARCH_REALVIEW) += arm-realview-pb1176.dtb |
377 | dtb-$(CONFIG_ARCH_ROCKCHIP) += \ | 377 | dtb-$(CONFIG_ARCH_ROCKCHIP) += \ |
378 | rk3066a-bqcurie2.dtb \ | 378 | rk3066a-bqcurie2.dtb \ |
379 | rk3066a-marsboard.dtb \ | ||
379 | rk3188-radxarock.dtb \ | 380 | rk3188-radxarock.dtb \ |
380 | rk3288-evb-act8846.dtb \ | 381 | rk3288-evb-act8846.dtb \ |
381 | rk3288-evb-rk808.dtb | 382 | rk3288-evb-rk808.dtb |
diff --git a/arch/arm/boot/dts/rk3066a-marsboard.dts b/arch/arm/boot/dts/rk3066a-marsboard.dts new file mode 100644 index 000000000000..57489ee54022 --- /dev/null +++ b/arch/arm/boot/dts/rk3066a-marsboard.dts | |||
@@ -0,0 +1,192 @@ | |||
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 | }; | ||
diff --git a/arch/arm/boot/dts/rk3066a.dtsi b/arch/arm/boot/dts/rk3066a.dtsi index 0e99470db772..41ffd4951ef3 100644 --- a/arch/arm/boot/dts/rk3066a.dtsi +++ b/arch/arm/boot/dts/rk3066a.dtsi | |||
@@ -234,6 +234,24 @@ | |||
234 | bias-disable; | 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 | emmc { | 255 | emmc { |
238 | emmc_clk: emmc-clk { | 256 | emmc_clk: emmc-clk { |
239 | rockchip,pins = <RK_GPIO3 31 RK_FUNC_2 &pcfg_pull_default>; | 257 | rockchip,pins = <RK_GPIO3 31 RK_FUNC_2 &pcfg_pull_default>; |
@@ -587,3 +605,7 @@ | |||
587 | &wdt { | 605 | &wdt { |
588 | compatible = "rockchip,rk3066-wdt", "snps,dw-wdt"; | 606 | compatible = "rockchip,rk3066-wdt", "snps,dw-wdt"; |
589 | }; | 607 | }; |
608 | |||
609 | &emac { | ||
610 | compatible = "rockchip,rk3066-emac"; | ||
611 | }; | ||
diff --git a/arch/arm/boot/dts/rk3188-radxarock.dts b/arch/arm/boot/dts/rk3188-radxarock.dts index 0950a0524947..6eb62c053055 100644 --- a/arch/arm/boot/dts/rk3188-radxarock.dts +++ b/arch/arm/boot/dts/rk3188-radxarock.dts | |||
@@ -243,6 +243,18 @@ | |||
243 | disable-wp; | 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 | &pinctrl { | 258 | &pinctrl { |
247 | pcfg_output_low: pcfg-output-low { | 259 | pcfg_output_low: pcfg-output-low { |
248 | output-low; | 260 | output-low; |
diff --git a/arch/arm/boot/dts/rk3188.dtsi b/arch/arm/boot/dts/rk3188.dtsi index b24e04f6ccc7..1d4d79c6688d 100644 --- a/arch/arm/boot/dts/rk3188.dtsi +++ b/arch/arm/boot/dts/rk3188.dtsi | |||
@@ -111,7 +111,7 @@ | |||
111 | #size-cells = <1>; | 111 | #size-cells = <1>; |
112 | ranges; | 112 | ranges; |
113 | 113 | ||
114 | gpio0: gpio0@0x2000a000 { | 114 | gpio0: gpio0@2000a000 { |
115 | compatible = "rockchip,rk3188-gpio-bank0"; | 115 | compatible = "rockchip,rk3188-gpio-bank0"; |
116 | reg = <0x2000a000 0x100>; | 116 | reg = <0x2000a000 0x100>; |
117 | interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; | 117 | interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; |
@@ -124,7 +124,7 @@ | |||
124 | #interrupt-cells = <2>; | 124 | #interrupt-cells = <2>; |
125 | }; | 125 | }; |
126 | 126 | ||
127 | gpio1: gpio1@0x2003c000 { | 127 | gpio1: gpio1@2003c000 { |
128 | compatible = "rockchip,gpio-bank"; | 128 | compatible = "rockchip,gpio-bank"; |
129 | reg = <0x2003c000 0x100>; | 129 | reg = <0x2003c000 0x100>; |
130 | interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; | 130 | interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; |
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi index cfc43789cac6..0f50d5d44345 100644 --- a/arch/arm/boot/dts/rk3288.dtsi +++ b/arch/arm/boot/dts/rk3288.dtsi | |||
@@ -46,11 +46,14 @@ | |||
46 | cpus { | 46 | cpus { |
47 | #address-cells = <1>; | 47 | #address-cells = <1>; |
48 | #size-cells = <0>; | 48 | #size-cells = <0>; |
49 | enable-method = "rockchip,rk3066-smp"; | ||
50 | rockchip,pmu = <&pmu>; | ||
49 | 51 | ||
50 | cpu0: cpu@500 { | 52 | cpu0: cpu@500 { |
51 | device_type = "cpu"; | 53 | device_type = "cpu"; |
52 | compatible = "arm,cortex-a12"; | 54 | compatible = "arm,cortex-a12"; |
53 | reg = <0x500>; | 55 | reg = <0x500>; |
56 | resets = <&cru SRST_CORE0>; | ||
54 | operating-points = < | 57 | operating-points = < |
55 | /* KHz uV */ | 58 | /* KHz uV */ |
56 | 1608000 1350000 | 59 | 1608000 1350000 |
@@ -73,16 +76,19 @@ | |||
73 | device_type = "cpu"; | 76 | device_type = "cpu"; |
74 | compatible = "arm,cortex-a12"; | 77 | compatible = "arm,cortex-a12"; |
75 | reg = <0x501>; | 78 | reg = <0x501>; |
79 | resets = <&cru SRST_CORE1>; | ||
76 | }; | 80 | }; |
77 | cpu@502 { | 81 | cpu@502 { |
78 | device_type = "cpu"; | 82 | device_type = "cpu"; |
79 | compatible = "arm,cortex-a12"; | 83 | compatible = "arm,cortex-a12"; |
80 | reg = <0x502>; | 84 | reg = <0x502>; |
85 | resets = <&cru SRST_CORE2>; | ||
81 | }; | 86 | }; |
82 | cpu@503 { | 87 | cpu@503 { |
83 | device_type = "cpu"; | 88 | device_type = "cpu"; |
84 | compatible = "arm,cortex-a12"; | 89 | compatible = "arm,cortex-a12"; |
85 | reg = <0x503>; | 90 | reg = <0x503>; |
91 | resets = <&cru SRST_CORE3>; | ||
86 | }; | 92 | }; |
87 | }; | 93 | }; |
88 | 94 | ||
@@ -462,6 +468,18 @@ | |||
462 | status = "disabled"; | 468 | status = "disabled"; |
463 | }; | 469 | }; |
464 | 470 | ||
471 | bus_intmem@ff700000 { | ||
472 | compatible = "mmio-sram"; | ||
473 | reg = <0xff700000 0x18000>; | ||
474 | #address-cells = <1>; | ||
475 | #size-cells = <1>; | ||
476 | ranges = <0 0xff700000 0x18000>; | ||
477 | smp-sram@0 { | ||
478 | compatible = "rockchip,rk3066-smp-sram"; | ||
479 | reg = <0x00 0x10>; | ||
480 | }; | ||
481 | }; | ||
482 | |||
465 | pmu: power-management@ff730000 { | 483 | pmu: power-management@ff730000 { |
466 | compatible = "rockchip,rk3288-pmu", "syscon"; | 484 | compatible = "rockchip,rk3288-pmu", "syscon"; |
467 | reg = <0xff730000 0x100>; | 485 | reg = <0xff730000 0x100>; |
@@ -517,6 +535,24 @@ | |||
517 | status = "disabled"; | 535 | status = "disabled"; |
518 | }; | 536 | }; |
519 | 537 | ||
538 | vopb_mmu: iommu@ff930300 { | ||
539 | compatible = "rockchip,iommu"; | ||
540 | reg = <0xff930300 0x100>; | ||
541 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; | ||
542 | interrupt-names = "vopb_mmu"; | ||
543 | #iommu-cells = <0>; | ||
544 | status = "disabled"; | ||
545 | }; | ||
546 | |||
547 | vopl_mmu: iommu@ff940300 { | ||
548 | compatible = "rockchip,iommu"; | ||
549 | reg = <0xff940300 0x100>; | ||
550 | interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; | ||
551 | interrupt-names = "vopl_mmu"; | ||
552 | #iommu-cells = <0>; | ||
553 | status = "disabled"; | ||
554 | }; | ||
555 | |||
520 | gic: interrupt-controller@ffc01000 { | 556 | gic: interrupt-controller@ffc01000 { |
521 | compatible = "arm,gic-400"; | 557 | compatible = "arm,gic-400"; |
522 | interrupt-controller; | 558 | interrupt-controller; |
diff --git a/arch/arm/boot/dts/rk3xxx.dtsi b/arch/arm/boot/dts/rk3xxx.dtsi index 9ba92de511ca..87df6a8955aa 100644 --- a/arch/arm/boot/dts/rk3xxx.dtsi +++ b/arch/arm/boot/dts/rk3xxx.dtsi | |||
@@ -29,6 +29,10 @@ | |||
29 | mshc0 = &emmc; | 29 | mshc0 = &emmc; |
30 | mshc1 = &mmc0; | 30 | mshc1 = &mmc0; |
31 | mshc2 = &mmc1; | 31 | mshc2 = &mmc1; |
32 | serial0 = &uart0; | ||
33 | serial1 = &uart1; | ||
34 | serial2 = &uart2; | ||
35 | serial3 = &uart3; | ||
32 | spi0 = &spi0; | 36 | spi0 = &spi0; |
33 | spi1 = &spi1; | 37 | spi1 = &spi1; |
34 | }; | 38 | }; |