aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2016-07-07 08:53:43 -0400
committerArnd Bergmann <arnd@arndb.de>2016-07-07 08:53:43 -0400
commitdddaea6b963bca23c5fdbf7d3acdb80039aec528 (patch)
tree75cbda2d927505aa290860e8e49b5b00d3bb8e42
parent349f9d5239c3dae3b984679fc9ee00b8deec542b (diff)
parent747a1af0bb0ed7d1926463d64ee5209206e9e88b (diff)
Merge tag 'hisi-armv7-soc-dt-for-4.8-v2' of git://github.com/hisilicon/linux-hisi into next/dt
Merge "ARM: DT: Hisilicon ARMv7 SoC Hi3519 DT updates for 4.8" from Wei Xu: - Add device tree bindings for hi3519 sysctrl - Add dts files for hi3519 - Tidy up DTB makefile entries to keep the list sorted * tag 'hisi-armv7-soc-dt-for-4.8-v2' of git://github.com/hisilicon/linux-hisi: ARM: dts: add dts files for Hi3519 and tidy up the makefile entries ARM: dt-bindings: add device tree bindings for Hi3519 sysctrl
-rw-r--r--Documentation/devicetree/bindings/arm/hisilicon/hi3519-sysctrl.txt14
-rw-r--r--arch/arm/boot/dts/Makefile6
-rw-r--r--arch/arm/boot/dts/hi3519-demb.dts42
-rw-r--r--arch/arm/boot/dts/hi3519.dtsi187
4 files changed, 247 insertions, 2 deletions
diff --git a/Documentation/devicetree/bindings/arm/hisilicon/hi3519-sysctrl.txt b/Documentation/devicetree/bindings/arm/hisilicon/hi3519-sysctrl.txt
new file mode 100644
index 000000000000..115c5be0bd0b
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/hisilicon/hi3519-sysctrl.txt
@@ -0,0 +1,14 @@
1* Hisilicon Hi3519 System Controller Block
2
3This bindings use the following binding:
4Documentation/devicetree/bindings/mfd/syscon.txt
5
6Required properties:
7- compatible: "hisilicon,hi3519-sysctrl".
8- reg: the register region of this block
9
10Examples:
11sysctrl: system-controller@12010000 {
12 compatible = "hisilicon,hi3519-sysctrl", "syscon";
13 reg = <0x12010000 0x1000>;
14};
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4464f7fa71bd..8f780c75ee3a 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -154,8 +154,6 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \
154 exynos5800-peach-pi.dtb 154 exynos5800-peach-pi.dtb
155dtb-$(CONFIG_ARCH_HI3xxx) += \ 155dtb-$(CONFIG_ARCH_HI3xxx) += \
156 hi3620-hi4511.dtb 156 hi3620-hi4511.dtb
157dtb-$(CONFIG_ARCH_HIX5HD2) += \
158 hisi-x5hd2-dkb.dtb
159dtb-$(CONFIG_ARCH_HIGHBANK) += \ 157dtb-$(CONFIG_ARCH_HIGHBANK) += \
160 highbank.dtb \ 158 highbank.dtb \
161 ecx-2000.dtb 159 ecx-2000.dtb
@@ -163,6 +161,10 @@ dtb-$(CONFIG_ARCH_HIP01) += \
163 hip01-ca9x2.dtb 161 hip01-ca9x2.dtb
164dtb-$(CONFIG_ARCH_HIP04) += \ 162dtb-$(CONFIG_ARCH_HIP04) += \
165 hip04-d01.dtb 163 hip04-d01.dtb
164dtb-$(CONFIG_ARCH_HISI) += \
165 hi3519-demb.dtb
166dtb-$(CONFIG_ARCH_HIX5HD2) += \
167 hisi-x5hd2-dkb.dtb
166dtb-$(CONFIG_ARCH_INTEGRATOR) += \ 168dtb-$(CONFIG_ARCH_INTEGRATOR) += \
167 integratorap.dtb \ 169 integratorap.dtb \
168 integratorcp.dtb 170 integratorcp.dtb
diff --git a/arch/arm/boot/dts/hi3519-demb.dts b/arch/arm/boot/dts/hi3519-demb.dts
new file mode 100644
index 000000000000..6991ab694c9c
--- /dev/null
+++ b/arch/arm/boot/dts/hi3519-demb.dts
@@ -0,0 +1,42 @@
1/*
2 * Copyright (c) 2015 HiSilicon Technologies Co., Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 *
17 */
18
19/dts-v1/;
20#include "hi3519.dtsi"
21
22/ {
23 model = "HiSilicon HI3519 DEMO Board";
24 compatible = "hisilicon,hi3519";
25
26 aliases {
27 serial0 = &uart0;
28 };
29
30 memory {
31 device_type = "memory";
32 reg = <0x80000000 0x40000000>;
33 };
34};
35
36&uart0 {
37 status = "okay";
38};
39
40&dual_timer0 {
41 status = "okay";
42};
diff --git a/arch/arm/boot/dts/hi3519.dtsi b/arch/arm/boot/dts/hi3519.dtsi
new file mode 100644
index 000000000000..5729ecfcdc8b
--- /dev/null
+++ b/arch/arm/boot/dts/hi3519.dtsi
@@ -0,0 +1,187 @@
1/*
2 * Copyright (c) 2015 HiSilicon Technologies Co., Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 *
17 */
18
19#include <dt-bindings/clock/hi3519-clock.h>
20#include <dt-bindings/interrupt-controller/arm-gic.h>
21/ {
22 #address-cells = <1>;
23 #size-cells = <1>;
24 chosen { };
25
26 cpus {
27 #address-cells = <1>;
28 #size-cells = <0>;
29
30 cpu@0 {
31 device_type = "cpu";
32 compatible = "arm,cortex-a7";
33 reg = <0>;
34 };
35 };
36
37 gic: interrupt-controller@10300000 {
38 compatible = "arm,cortex-a7-gic";
39 #interrupt-cells = <3>;
40 interrupt-controller;
41 reg = <0x10301000 0x1000>, <0x10302000 0x1000>;
42 };
43
44 clk_3m: clk_3m {
45 compatible = "fixed-clock";
46 #clock-cells = <0>;
47 clock-frequency = <3000000>;
48 };
49
50 crg: clock-reset-controller@12010000 {
51 compatible = "hisilicon,hi3519-crg";
52 #clock-cells = <1>;
53 #reset-cells = <2>;
54 reg = <0x12010000 0x10000>;
55 };
56
57 soc {
58 #address-cells = <1>;
59 #size-cells = <1>;
60 compatible = "simple-bus";
61 interrupt-parent = <&gic>;
62 ranges;
63
64 uart0: serial@12100000 {
65 compatible = "arm,pl011", "arm,primecell";
66 reg = <0x12100000 0x1000>;
67 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
68 clocks = <&crg HI3519_UART0_CLK>;
69 clock-names = "apb_pclk";
70 status = "disable";
71 };
72
73 uart1: serial@12101000 {
74 compatible = "arm,pl011", "arm,primecell";
75 reg = <0x12101000 0x1000>;
76 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
77 clocks = <&crg HI3519_UART1_CLK>;
78 clock-names = "apb_pclk";
79 status = "disable";
80 };
81
82 uart2: serial@12102000 {
83 compatible = "arm,pl011", "arm,primecell";
84 reg = <0x12102000 0x1000>;
85 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
86 clocks = <&crg HI3519_UART2_CLK>;
87 clock-names = "apb_pclk";
88 status = "disable";
89 };
90
91 uart3: serial@12103000 {
92 compatible = "arm,pl011", "arm,primecell";
93 reg = <0x12103000 0x1000>;
94 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
95 clocks = <&crg HI3519_UART3_CLK>;
96 clock-names = "apb_pclk";
97 status = "disable";
98 };
99
100 uart4: serial@12104000 {
101 compatible = "arm,pl011", "arm,primecell";
102 reg = <0x12104000 0x1000>;
103 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
104 clocks = <&crg HI3519_UART4_CLK>;
105 clock-names = "apb_pclk";
106 status = "disable";
107 };
108
109 dual_timer0: timer@12000000 {
110 compatible = "arm,sp804", "arm,primecell";
111 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
112 <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
113 reg = <0x12000000 0x1000>;
114 clocks = <&clk_3m>;
115 clock-names = "apb_pclk";
116 status = "disable";
117 };
118
119 dual_timer1: timer@12001000 {
120 compatible = "arm,sp804", "arm,primecell";
121 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
122 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
123 reg = <0x12001000 0x1000>;
124 clocks = <&clk_3m>;
125 clock-names = "apb_pclk";
126 status = "disable";
127 };
128
129 dual_timer2: timer@12002000 {
130 compatible = "arm,sp804", "arm,primecell";
131 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
132 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
133 reg = <0x12002000 0x1000>;
134 clocks = <&clk_3m>;
135 clock-names = "apb_pclk";
136 status = "disable";
137 };
138
139 spi_bus0: spi@12120000 {
140 compatible = "arm,pl022", "arm,primecell";
141 reg = <0x12120000 0x1000>;
142 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
143 clocks = <&crg HI3519_SPI0_CLK>;
144 clock-names = "apb_pclk";
145 num-cs = <1>;
146 #address-cells = <1>;
147 #size-cells = <0>;
148 status = "disable";
149 };
150
151 spi_bus1: spi@12121000 {
152 compatible = "arm,pl022", "arm,primecell";
153 reg = <0x12121000 0x1000>;
154 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
155 clocks = <&crg HI3519_SPI1_CLK>;
156 clock-names = "apb_pclk";
157 num-cs = <1>;
158 #address-cells = <1>;
159 #size-cells = <0>;
160 status = "disable";
161 };
162
163 spi_bus2: spi@12122000 {
164 compatible = "arm,pl022", "arm,primecell";
165 reg = <0x12122000 0x1000>;
166 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
167 clocks = <&crg HI3519_SPI2_CLK>;
168 clock-names = "apb_pclk";
169 num-cs = <1>;
170 #address-cells = <1>;
171 #size-cells = <0>;
172 status = "disable";
173 };
174
175 sysctrl: system-controller@12020000 {
176 compatible = "hisilicon,hi3519-sysctrl", "syscon";
177 reg = <0x12020000 0x1000>;
178 };
179
180 reboot {
181 compatible = "syscon-reboot";
182 regmap = <&sysctrl>;
183 offset = <0x4>;
184 mask = <0xdeadbeef>;
185 };
186 };
187};