aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJun Nie <jun.nie@linaro.org>2015-06-03 23:21:02 -0400
committerKevin Hilman <khilman@linaro.org>2015-06-11 19:18:30 -0400
commitd5553cb05a041d7c31e4e70950ecbb4ee52049cb (patch)
tree8db1e92dfe8841fdf55e52f0bd8986c81b5a450d
parent5a46580812266c85a2cd0ee530e4039ea5f76a19 (diff)
ARM: dts: zx: add an initial zx296702 dts and doc
Add initial dts file and document for ZX296702 and board ZX296702-AD1. More peripherals will be added later. Signed-off-by: Jun Nie <jun.nie@linaro.org> Signed-off-by: Kevin Hilman <khilman@linaro.org>
-rw-r--r--Documentation/devicetree/bindings/arm/zte.txt15
-rw-r--r--Documentation/devicetree/bindings/clock/zx296702-clk.txt35
-rw-r--r--Documentation/devicetree/bindings/serial/pl011.txt2
-rw-r--r--Documentation/devicetree/bindings/vendor-prefixes.txt1
-rw-r--r--arch/arm/boot/dts/Makefile1
-rw-r--r--arch/arm/boot/dts/zx296702-ad1.dts48
-rw-r--r--arch/arm/boot/dts/zx296702.dtsi139
7 files changed, 240 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/arm/zte.txt b/Documentation/devicetree/bindings/arm/zte.txt
new file mode 100644
index 000000000000..3ff5c9e85c1c
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/zte.txt
@@ -0,0 +1,15 @@
1ZTE platforms device tree bindings
2---------------------------------------
3
4- ZX296702 board:
5 Required root node properties:
6 - compatible = "zte,zx296702-ad1", "zte,zx296702"
7
8System management required properties:
9 - compatible = "zte,sysctrl"
10
11Low power management required properties:
12 - compatible = "zte,zx296702-pcu"
13
14Bus matrix required properties:
15 - compatible = "zte,zx-bus-matrix"
diff --git a/Documentation/devicetree/bindings/clock/zx296702-clk.txt b/Documentation/devicetree/bindings/clock/zx296702-clk.txt
new file mode 100644
index 000000000000..750442b65505
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/zx296702-clk.txt
@@ -0,0 +1,35 @@
1Device Tree Clock bindings for ZTE zx296702
2
3This binding uses the common clock binding[1].
4
5[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
6
7Required properties:
8- compatible : shall be one of the following:
9 "zte,zx296702-topcrm-clk":
10 zx296702 top clock selection, divider and gating
11
12 "zte,zx296702-lsp0crpm-clk" and
13 "zte,zx296702-lsp1crpm-clk":
14 zx296702 device level clock selection and gating
15
16- reg: Address and length of the register set
17
18The clock consumer should specify the desired clock by having the clock
19ID in its "clocks" phandle cell. See include/dt-bindings/clock/zx296702-clock.h
20for the full list of zx296702 clock IDs.
21
22
23topclk: topcrm@0x09800000 {
24 compatible = "zte,zx296702-topcrm-clk";
25 reg = <0x09800000 0x1000>;
26 #clock-cells = <1>;
27};
28
29uart0: serial@0x09405000 {
30 compatible = "zte,zx296702-uart";
31 reg = <0x09405000 0x1000>;
32 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
33 clocks = <&lsp1clk ZX296702_UART0_PCLK>;
34 status = "disabled";
35};
diff --git a/Documentation/devicetree/bindings/serial/pl011.txt b/Documentation/devicetree/bindings/serial/pl011.txt
index ba3ecb8cb5a1..cbae3d9a0278 100644
--- a/Documentation/devicetree/bindings/serial/pl011.txt
+++ b/Documentation/devicetree/bindings/serial/pl011.txt
@@ -1,7 +1,7 @@
1* ARM AMBA Primecell PL011 serial UART 1* ARM AMBA Primecell PL011 serial UART
2 2
3Required properties: 3Required properties:
4- compatible: must be "arm,primecell", "arm,pl011" 4- compatible: must be "arm,primecell", "arm,pl011", "zte,zx296702-uart"
5- reg: exactly one register range with length 0x1000 5- reg: exactly one register range with length 0x1000
6- interrupts: exactly one interrupt specifier 6- interrupts: exactly one interrupt specifier
7 7
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 80339192c93e..717ffd5a3563 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -211,3 +211,4 @@ xillybus Xillybus Ltd.
211xlnx Xilinx 211xlnx Xilinx
212zyxel ZyXEL Communications Corp. 212zyxel ZyXEL Communications Corp.
213zarlink Zarlink Semiconductor 213zarlink Zarlink Semiconductor
214zte ZTE Corp.
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 86217db2937a..4814c6b96b67 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -660,6 +660,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
660 mt6592-evb.dtb \ 660 mt6592-evb.dtb \
661 mt8127-moose.dtb \ 661 mt8127-moose.dtb \
662 mt8135-evbp1.dtb 662 mt8135-evbp1.dtb
663dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
663endif 664endif
664 665
665always := $(dtb-y) 666always := $(dtb-y)
diff --git a/arch/arm/boot/dts/zx296702-ad1.dts b/arch/arm/boot/dts/zx296702-ad1.dts
new file mode 100644
index 000000000000..081f980cfbe6
--- /dev/null
+++ b/arch/arm/boot/dts/zx296702-ad1.dts
@@ -0,0 +1,48 @@
1
2/dts-v1/;
3
4#include "zx296702.dtsi"
5
6/ {
7 model = "ZTE ZX296702 AD1 Board";
8 compatible = "zte,zx296702-ad1", "zte,zx296702";
9
10 aliases {
11 serial0 = &uart0;
12 serial1 = &uart1;
13 };
14
15 memory {
16 reg = <0x50000000 0x20000000>;
17 };
18};
19
20&mmc0 {
21 num-slots = <1>;
22 supports-highspeed;
23 non-removable;
24 disable-wp;
25 status = "okay";
26
27 slot@0 {
28 reg = <0>;
29 bus-width = <4>;
30 };
31};
32
33&mmc1 {
34 num-slots = <1>;
35 supports-highspeed;
36 non-removable;
37 disable-wp;
38 status = "okay";
39
40 slot@0 {
41 reg = <0>;
42 bus-width = <8>;
43 };
44};
45
46&uart0 {
47 status = "okay";
48};
diff --git a/arch/arm/boot/dts/zx296702.dtsi b/arch/arm/boot/dts/zx296702.dtsi
new file mode 100644
index 000000000000..d45c8fcd7ab4
--- /dev/null
+++ b/arch/arm/boot/dts/zx296702.dtsi
@@ -0,0 +1,139 @@
1
2#include "skeleton.dtsi"
3#include <dt-bindings/clock/zx296702-clock.h>
4#include <dt-bindings/interrupt-controller/arm-gic.h>
5
6/ {
7 cpus {
8 #address-cells = <1>;
9 #size-cells = <0>;
10 enable-method = "zte,zx296702-smp";
11
12 cpu@0 {
13 compatible = "arm,cortex-a9";
14 device_type = "cpu";
15 next-level-cache = <&l2cc>;
16 reg = <0>;
17 };
18
19 cpu@1 {
20 compatible = "arm,cortex-a9";
21 device_type = "cpu";
22 next-level-cache = <&l2cc>;
23 reg = <1>;
24 };
25 };
26
27
28 soc {
29 #address-cells = <1>;
30 #size-cells = <1>;
31 compatible = "simple-bus";
32 interrupt-parent = <&intc>;
33 ranges;
34
35 matrix: bus-matrix@400000 {
36 compatible = "zte,zx-bus-matrix";
37 reg = <0x00400000 0x1000>;
38 };
39
40 intc: interrupt-controller@00801000 {
41 compatible = "arm,cortex-a9-gic";
42 #interrupt-cells = <3>;
43 #address-cells = <1>;
44 #size-cells = <1>;
45 interrupt-controller;
46 reg = <0x00801000 0x1000>,
47 <0x00800100 0x100>;
48 };
49
50 global_timer: timer@008000200 {
51 compatible = "arm,cortex-a9-global-timer";
52 reg = <0x00800200 0x20>;
53 interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
54 interrupt-parent = <&intc>;
55 clocks = <&topclk ZX296702_A9_PERIPHCLK>;
56 };
57
58 l2cc: l2-cache-controller@0x00c00000 {
59 compatible = "arm,pl310-cache";
60 reg = <0x00c00000 0x1000>;
61 cache-unified;
62 cache-level = <2>;
63 arm,data-latency = <1 1 1>;
64 arm,tag-latency = <1 1 1>;
65 arm,double-linefill = <1>;
66 arm,double-linefill-incr = <0>;
67 };
68
69 pcu: pcu@0xa0008000 {
70 compatible = "zte,zx296702-pcu";
71 reg = <0xa0008000 0x1000>;
72 };
73
74 topclk: topclk@0x09800000 {
75 compatible = "zte,zx296702-topcrm-clk";
76 reg = <0x09800000 0x1000>;
77 #clock-cells = <1>;
78 };
79
80 lsp1clk: lsp1clk@0x09400000 {
81 compatible = "zte,zx296702-lsp1crpm-clk";
82 reg = <0x09400000 0x1000>;
83 #clock-cells = <1>;
84 };
85
86 lsp0clk: lsp0clk@0x0b000000 {
87 compatible = "zte,zx296702-lsp0crpm-clk";
88 reg = <0x0b000000 0x1000>;
89 #clock-cells = <1>;
90 };
91
92 uart0: serial@0x09405000 {
93 compatible = "zte,zx296702-uart";
94 reg = <0x09405000 0x1000>;
95 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
96 clocks = <&lsp1clk ZX296702_UART0_WCLK>;
97 status = "disabled";
98 };
99
100 uart1: serial@0x09406000 {
101 compatible = "zte,zx296702-uart";
102 reg = <0x09406000 0x1000>;
103 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
104 clocks = <&lsp1clk ZX296702_UART1_WCLK>;
105 status = "disabled";
106 };
107
108 mmc0: mmc@0x09408000 {
109 compatible = "snps,dw-mshc";
110 #address-cells = <1>;
111 #size-cells = <0>;
112 reg = <0x09408000 0x1000>;
113 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
114 fifo-depth = <32>;
115 clocks = <&lsp1clk ZX296702_SDMMC0_PCLK>,
116 <&lsp1clk ZX296702_SDMMC0_WCLK>;
117 clock-names = "biu", "ciu";
118 status = "disabled";
119 };
120
121 mmc1: mmc@0x0b003000 {
122 compatible = "snps,dw-mshc";
123 #address-cells = <1>;
124 #size-cells = <0>;
125 reg = <0x0b003000 0x1000>;
126 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
127 fifo-depth = <32>;
128 clocks = <&lsp0clk ZX296702_SDMMC1_PCLK>,
129 <&lsp0clk ZX296702_SDMMC1_WCLK>;
130 clock-names = "biu", "ciu";
131 status = "disabled";
132 };
133
134 sysctrl: sysctrl@0xa0007000 {
135 compatible = "zte,sysctrl", "syscon";
136 reg = <0xa0007000 0x1000>;
137 };
138 };
139};