aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/boot/dts/hisilicon
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-11-10 18:06:26 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-11-10 18:06:26 -0500
commitc0d6fe2f01c475cc137d90607a07578586883df8 (patch)
tree361136e8c1f66aef29f468abbd08e65de6f2e654 /arch/arm64/boot/dts/hisilicon
parentb44a3d2a85c64208a57362a1728efb58a6556cd6 (diff)
parent3e4dda70cc989a4f8079541972942609229e9f55 (diff)
Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM DT updates from Olof Johansson: "As usual, this is the massive branch we have for each release. Lots of various updates and additions of hardware descriptions on existing hardware, as well as the usual additions of new boards and SoCs. This is also the first release where we've started mixing 64- and 32-bit DT updates in one branch. (Specific details on what's actually here and new is pretty easy to tell from the diffstat, so there's little point in duplicating listing it here)" * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (499 commits) ARM: dts: uniphier: add system-bus-controller nodes ARM64: juno: disable NOR flash node by default ARM: dts: uniphier: add outer cache controller nodes arm64: defconfig: Enable PCI generic host bridge by default arm64: Juno: Add support for the PCIe host bridge on Juno R1 Documentation: of: Document the bindings used by Juno R1 PCIe host bridge ARM: dts: uniphier: add I2C aliases for ProXstream2 boards dts/Makefile: Add build support for LS2080a QDS & RDB board DTS dts/ls2080a: Add DTS support for LS2080a QDS & RDB boards dts/ls2080a: Update Simulator DTS to add support of various peripherals dts/ls2080a: Remove text about writing to Free Software Foundation dts/ls2080a: Update DTSI to add support of various peripherals doc: DTS: Update DWC3 binding to provide reference to generic bindings doc/bindings: Update GPIO devicetree binding documentation for LS2080A Documentation/dts: Move FSL board-specific bindings out of /powerpc Documentation: DT: Add entry for FSL LS2080A QDS and RDB boards arm64: Rename FSL LS2085A SoC support code to LS2080A arm64: Use generic Layerscape SoC family naming ARM: dts: uniphier: add ProXstream2 Vodka board support ARM: dts: uniphier: add ProXstream2 Gentil board support ...
Diffstat (limited to 'arch/arm64/boot/dts/hisilicon')
-rw-r--r--arch/arm64/boot/dts/hisilicon/Makefile2
-rw-r--r--arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts7
-rw-r--r--arch/arm64/boot/dts/hisilicon/hi6220.dtsi43
-rw-r--r--arch/arm64/boot/dts/hisilicon/hip05-d02.dts36
-rw-r--r--arch/arm64/boot/dts/hisilicon/hip05.dtsi271
5 files changed, 355 insertions, 4 deletions
diff --git a/arch/arm64/boot/dts/hisilicon/Makefile b/arch/arm64/boot/dts/hisilicon/Makefile
index fa81a6ee6473..cd158b80e29b 100644
--- a/arch/arm64/boot/dts/hisilicon/Makefile
+++ b/arch/arm64/boot/dts/hisilicon/Makefile
@@ -1,4 +1,4 @@
1dtb-$(CONFIG_ARCH_HISI) += hi6220-hikey.dtb 1dtb-$(CONFIG_ARCH_HISI) += hi6220-hikey.dtb hip05-d02.dtb
2 2
3always := $(dtb-y) 3always := $(dtb-y)
4subdir-y := $(dts-dirs) 4subdir-y := $(dts-dirs)
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
index e36a539468a5..8d43a0fce522 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
@@ -17,11 +17,14 @@
17 compatible = "hisilicon,hi6220-hikey", "hisilicon,hi6220"; 17 compatible = "hisilicon,hi6220-hikey", "hisilicon,hi6220";
18 18
19 aliases { 19 aliases {
20 serial0 = &uart0; 20 serial0 = &uart0; /* On board UART0 */
21 serial1 = &uart1; /* BT UART */
22 serial2 = &uart2; /* LS Expansion UART0 */
23 serial3 = &uart3; /* LS Expansion UART1 */
21 }; 24 };
22 25
23 chosen { 26 chosen {
24 stdout-path = "serial0:115200n8"; 27 stdout-path = "serial3:115200n8";
25 }; 28 };
26 29
27 memory@0 { 30 memory@0 {
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
index 3f03380815b6..82d2488a0e86 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
@@ -5,6 +5,7 @@
5 */ 5 */
6 6
7#include <dt-bindings/interrupt-controller/arm-gic.h> 7#include <dt-bindings/interrupt-controller/arm-gic.h>
8#include <dt-bindings/clock/hi6220-clock.h>
8 9
9/ { 10/ {
10 compatible = "hisilicon,hi6220"; 11 compatible = "hisilicon,hi6220";
@@ -164,8 +165,48 @@
164 compatible = "arm,pl011", "arm,primecell"; 165 compatible = "arm,pl011", "arm,primecell";
165 reg = <0x0 0xf8015000 0x0 0x1000>; 166 reg = <0x0 0xf8015000 0x0 0x1000>;
166 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 167 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
167 clocks = <&ao_ctrl 36>, <&ao_ctrl 36>; 168 clocks = <&ao_ctrl HI6220_UART0_PCLK>,
169 <&ao_ctrl HI6220_UART0_PCLK>;
168 clock-names = "uartclk", "apb_pclk"; 170 clock-names = "uartclk", "apb_pclk";
169 }; 171 };
172
173 uart1: uart@f7111000 {
174 compatible = "arm,pl011", "arm,primecell";
175 reg = <0x0 0xf7111000 0x0 0x1000>;
176 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
177 clocks = <&sys_ctrl HI6220_UART1_PCLK>,
178 <&sys_ctrl HI6220_UART1_PCLK>;
179 clock-names = "uartclk", "apb_pclk";
180 status = "disabled";
181 };
182
183 uart2: uart@f7112000 {
184 compatible = "arm,pl011", "arm,primecell";
185 reg = <0x0 0xf7112000 0x0 0x1000>;
186 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
187 clocks = <&sys_ctrl HI6220_UART2_PCLK>,
188 <&sys_ctrl HI6220_UART2_PCLK>;
189 clock-names = "uartclk", "apb_pclk";
190 status = "disabled";
191 };
192
193 uart3: uart@f7113000 {
194 compatible = "arm,pl011", "arm,primecell";
195 reg = <0x0 0xf7113000 0x0 0x1000>;
196 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
197 clocks = <&sys_ctrl HI6220_UART3_PCLK>,
198 <&sys_ctrl HI6220_UART3_PCLK>;
199 clock-names = "uartclk", "apb_pclk";
200 };
201
202 uart4: uart@f7114000 {
203 compatible = "arm,pl011", "arm,primecell";
204 reg = <0x0 0xf7114000 0x0 0x1000>;
205 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
206 clocks = <&sys_ctrl HI6220_UART4_PCLK>,
207 <&sys_ctrl HI6220_UART4_PCLK>;
208 clock-names = "uartclk", "apb_pclk";
209 status = "disabled";
210 };
170 }; 211 };
171}; 212};
diff --git a/arch/arm64/boot/dts/hisilicon/hip05-d02.dts b/arch/arm64/boot/dts/hisilicon/hip05-d02.dts
new file mode 100644
index 000000000000..ae34e250456f
--- /dev/null
+++ b/arch/arm64/boot/dts/hisilicon/hip05-d02.dts
@@ -0,0 +1,36 @@
1/**
2 * dts file for Hisilicon D02 Development Board
3 *
4 * Copyright (C) 2014,2015 Hisilicon Ltd.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * publishhed by the Free Software Foundation.
9 *
10 */
11
12/dts-v1/;
13
14#include "hip05.dtsi"
15
16/ {
17 model = "Hisilicon Hip05 D02 Development Board";
18 compatible = "hisilicon,hip05-d02";
19
20 memory@00000000 {
21 device_type = "memory";
22 reg = <0x0 0x00000000 0x0 0x80000000>;
23 };
24
25 aliases {
26 serial0 = &uart0;
27 };
28
29 chosen {
30 stdout-path = "serial0:115200n8";
31 };
32};
33
34&uart0 {
35 status = "ok";
36};
diff --git a/arch/arm64/boot/dts/hisilicon/hip05.dtsi b/arch/arm64/boot/dts/hisilicon/hip05.dtsi
new file mode 100644
index 000000000000..4ff16d016e34
--- /dev/null
+++ b/arch/arm64/boot/dts/hisilicon/hip05.dtsi
@@ -0,0 +1,271 @@
1/**
2 * dts file for Hisilicon D02 Development Board
3 *
4 * Copyright (C) 2014,2015 Hisilicon Ltd.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * publishhed by the Free Software Foundation.
9 *
10 */
11
12#include <dt-bindings/interrupt-controller/arm-gic.h>
13
14/ {
15 compatible = "hisilicon,hip05-d02";
16 interrupt-parent = <&gic>;
17 #address-cells = <2>;
18 #size-cells = <2>;
19
20 psci {
21 compatible = "arm,psci-0.2";
22 method = "smc";
23 };
24
25 cpus {
26 #address-cells = <1>;
27 #size-cells = <0>;
28
29 cpu-map {
30 cluster0 {
31 core0 {
32 cpu = <&cpu0>;
33 };
34 core1 {
35 cpu = <&cpu1>;
36 };
37 core2 {
38 cpu = <&cpu2>;
39 };
40 core3 {
41 cpu = <&cpu3>;
42 };
43 };
44 cluster1 {
45 core0 {
46 cpu = <&cpu4>;
47 };
48 core1 {
49 cpu = <&cpu5>;
50 };
51 core2 {
52 cpu = <&cpu6>;
53 };
54 core3 {
55 cpu = <&cpu7>;
56 };
57 };
58 cluster2 {
59 core0 {
60 cpu = <&cpu8>;
61 };
62 core1 {
63 cpu = <&cpu9>;
64 };
65 core2 {
66 cpu = <&cpu10>;
67 };
68 core3 {
69 cpu = <&cpu11>;
70 };
71 };
72 cluster3 {
73 core0 {
74 cpu = <&cpu12>;
75 };
76 core1 {
77 cpu = <&cpu13>;
78 };
79 core2 {
80 cpu = <&cpu14>;
81 };
82 core3 {
83 cpu = <&cpu15>;
84 };
85 };
86 };
87
88 cpu0: cpu@20000 {
89 device_type = "cpu";
90 compatible = "arm,cortex-a57", "arm,armv8";
91 reg = <0x20000>;
92 enable-method = "psci";
93 };
94
95 cpu1: cpu@20001 {
96 device_type = "cpu";
97 compatible = "arm,cortex-a57", "arm,armv8";
98 reg = <0x20001>;
99 enable-method = "psci";
100 };
101
102 cpu2: cpu@20002 {
103 device_type = "cpu";
104 compatible = "arm,cortex-a57", "arm,armv8";
105 reg = <0x20002>;
106 enable-method = "psci";
107 };
108
109 cpu3: cpu@20003 {
110 device_type = "cpu";
111 compatible = "arm,cortex-a57", "arm,armv8";
112 reg = <0x20003>;
113 enable-method = "psci";
114 };
115
116 cpu4: cpu@20100 {
117 device_type = "cpu";
118 compatible = "arm,cortex-a57", "arm,armv8";
119 reg = <0x20100>;
120 enable-method = "psci";
121 };
122
123 cpu5: cpu@20101 {
124 device_type = "cpu";
125 compatible = "arm,cortex-a57", "arm,armv8";
126 reg = <0x20101>;
127 enable-method = "psci";
128 };
129
130 cpu6: cpu@20102 {
131 device_type = "cpu";
132 compatible = "arm,cortex-a57", "arm,armv8";
133 reg = <0x20102>;
134 enable-method = "psci";
135 };
136
137 cpu7: cpu@20103 {
138 device_type = "cpu";
139 compatible = "arm,cortex-a57", "arm,armv8";
140 reg = <0x20103>;
141 enable-method = "psci";
142 };
143
144 cpu8: cpu@20200 {
145 device_type = "cpu";
146 compatible = "arm,cortex-a57", "arm,armv8";
147 reg = <0x20200>;
148 enable-method = "psci";
149 };
150
151 cpu9: cpu@20201 {
152 device_type = "cpu";
153 compatible = "arm,cortex-a57", "arm,armv8";
154 reg = <0x20201>;
155 enable-method = "psci";
156 };
157
158 cpu10: cpu@20202 {
159 device_type = "cpu";
160 compatible = "arm,cortex-a57", "arm,armv8";
161 reg = <0x20202>;
162 enable-method = "psci";
163 };
164
165 cpu11: cpu@20203 {
166 device_type = "cpu";
167 compatible = "arm,cortex-a57", "arm,armv8";
168 reg = <0x20203>;
169 enable-method = "psci";
170 };
171
172 cpu12: cpu@20300 {
173 device_type = "cpu";
174 compatible = "arm,cortex-a57", "arm,armv8";
175 reg = <0x20300>;
176 enable-method = "psci";
177 };
178
179 cpu13: cpu@20301 {
180 device_type = "cpu";
181 compatible = "arm,cortex-a57", "arm,armv8";
182 reg = <0x20301>;
183 enable-method = "psci";
184 };
185
186 cpu14: cpu@20302 {
187 device_type = "cpu";
188 compatible = "arm,cortex-a57", "arm,armv8";
189 reg = <0x20302>;
190 enable-method = "psci";
191 };
192
193 cpu15: cpu@20303 {
194 device_type = "cpu";
195 compatible = "arm,cortex-a57", "arm,armv8";
196 reg = <0x20303>;
197 enable-method = "psci";
198 };
199 };
200
201 gic: interrupt-controller@8d000000 {
202 compatible = "arm,gic-v3";
203 #interrupt-cells = <3>;
204 #address-cells = <2>;
205 #size-cells = <2>;
206 ranges;
207 interrupt-controller;
208 #redistributor-regions = <1>;
209 redistributor-stride = <0x0 0x30000>;
210 reg = <0x0 0x8d000000 0 0x10000>, /* GICD */
211 <0x0 0x8d100000 0 0x300000>, /* GICR */
212 <0x0 0xfe000000 0 0x10000>, /* GICC */
213 <0x0 0xfe010000 0 0x10000>, /* GICH */
214 <0x0 0xfe020000 0 0x10000>; /* GICV */
215 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
216
217 its_totems: interrupt-controller@8c000000 {
218 compatible = "arm,gic-v3-its";
219 msi-controller;
220 reg = <0x0 0x8c000000 0x0 0x40000>;
221 };
222 };
223
224 timer {
225 compatible = "arm,armv8-timer";
226 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
227 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
228 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
229 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
230 };
231
232 pmu {
233 compatible = "arm,armv8-pmuv3";
234 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
235 };
236
237 soc {
238 compatible = "simple-bus";
239 #address-cells = <2>;
240 #size-cells = <2>;
241 ranges;
242
243 refclk200mhz: refclk200mhz {
244 compatible = "fixed-clock";
245 #clock-cells = <0>;
246 clock-frequency = <200000000>;
247 };
248
249 uart0: uart@80300000 {
250 compatible = "snps,dw-apb-uart";
251 reg = <0x0 0x80300000 0x0 0x10000>;
252 interrupts = <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>;
253 clocks = <&refclk200mhz>;
254 clock-names = "apb_pclk";
255 reg-shift = <2>;
256 reg-io-width = <4>;
257 status = "disabled";
258 };
259
260 uart1: uart@80310000 {
261 compatible = "snps,dw-apb-uart";
262 reg = <0x0 0x80310000 0x0 0x10000>;
263 interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
264 clocks = <&refclk200mhz>;
265 clock-names = "apb_pclk";
266 reg-shift = <2>;
267 reg-io-width = <4>;
268 status = "disabled";
269 };
270 };
271};