aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt25
-rw-r--r--arch/arm/boot/dts/Makefile2
-rw-r--r--arch/arm/boot/dts/hip01-ca9x2.dts51
-rw-r--r--arch/arm/boot/dts/hip01.dtsi110
4 files changed, 188 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt b/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
index f717c7b48603..35b1bd49cfa1 100644
--- a/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
+++ b/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
@@ -9,6 +9,10 @@ HiP04 D01 Board
9Required root node properties: 9Required root node properties:
10 - compatible = "hisilicon,hip04-d01"; 10 - compatible = "hisilicon,hip04-d01";
11 11
12HiP01 ca9x2 Board
13Required root node properties:
14 - compatible = "hisilicon,hip01-ca9x2";
15
12 16
13Hisilicon system controller 17Hisilicon system controller
14 18
@@ -37,6 +41,27 @@ Example:
37 }; 41 };
38 42
39----------------------------------------------------------------------- 43-----------------------------------------------------------------------
44Hisilicon HiP01 system controller
45
46Required properties:
47- compatible : "hisilicon,hip01-sysctrl"
48- reg : Register address and size
49
50The HiP01 system controller is mostly compatible with hisilicon
51system controller,but it has some specific control registers for
52HIP01 SoC family, such as slave core boot, and also some same
53registers located at different offset.
54
55Example:
56
57 /* for hip01-ca9x2 */
58 sysctrl: system-controller@10000000 {
59 compatible = "hisilicon,hip01-sysctrl", "hisilicon,sysctrl";
60 reg = <0x10000000 0x1000>;
61 reboot-offset = <0x4>;
62 };
63
64-----------------------------------------------------------------------
40Hisilicon CPU controller 65Hisilicon CPU controller
41 66
42Required properties: 67Required properties:
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 31065cc01df3..293b80e196b7 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -123,6 +123,8 @@ dtb-$(CONFIG_ARCH_HIX5HD2) += \
123dtb-$(CONFIG_ARCH_HIGHBANK) += \ 123dtb-$(CONFIG_ARCH_HIGHBANK) += \
124 highbank.dtb \ 124 highbank.dtb \
125 ecx-2000.dtb 125 ecx-2000.dtb
126dtb-$(CONFIG_ARCH_HIP01) += \
127 hip01-ca9x2.dtb
126dtb-$(CONFIG_ARCH_HIP04) += \ 128dtb-$(CONFIG_ARCH_HIP04) += \
127 hip04-d01.dtb 129 hip04-d01.dtb
128dtb-$(CONFIG_ARCH_INTEGRATOR) += \ 130dtb-$(CONFIG_ARCH_INTEGRATOR) += \
diff --git a/arch/arm/boot/dts/hip01-ca9x2.dts b/arch/arm/boot/dts/hip01-ca9x2.dts
new file mode 100644
index 000000000000..eca5e42770fe
--- /dev/null
+++ b/arch/arm/boot/dts/hip01-ca9x2.dts
@@ -0,0 +1,51 @@
1/*
2 * Hisilicon Ltd. HiP01 SoC
3 *
4 * Copyright (C) 2014 Hisilicon Ltd.
5 * Copyright (C) 2014 Huawei Ltd.
6 *
7 * Author: Wang Long <long.wanglong@huawei.com>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 */
13
14/dts-v1/;
15
16/* First 8KB reserved for secondary core boot */
17/memreserve/ 0x80000000 0x00002000;
18
19#include "hip01.dtsi"
20
21/ {
22 model = "Hisilicon HIP01 Development Board";
23 compatible = "hisilicon,hip01-ca9x2", "hisilicon,hip01";
24
25 cpus {
26 #address-cells = <1>;
27 #size-cells = <0>;
28 enable-method = "hisilicon,hip01-smp";
29
30 cpu@0 {
31 device_type = "cpu";
32 compatible = "arm,cortex-a9";
33 reg = <0>;
34 };
35
36 cpu@1 {
37 device_type = "cpu";
38 compatible = "arm,cortex-a9";
39 reg = <1>;
40 };
41 };
42
43 memory {
44 device_type = "memory";
45 reg = <0x80000000 0x80000000>;
46 };
47};
48
49&uart0 {
50 status = "okay";
51};
diff --git a/arch/arm/boot/dts/hip01.dtsi b/arch/arm/boot/dts/hip01.dtsi
new file mode 100644
index 000000000000..33130f8461c3
--- /dev/null
+++ b/arch/arm/boot/dts/hip01.dtsi
@@ -0,0 +1,110 @@
1/*
2 * Hisilicon Ltd. HiP01 SoC
3 *
4 * Copyright (c) 2014 Hisilicon Ltd.
5 * Copyright (c) 2014 Huawei Ltd.
6 *
7 * Author: Wang Long <long.wanglong@huawei.com>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 */
13
14#include "skeleton.dtsi"
15
16/ {
17 interrupt-parent = <&gic>;
18 #address-cells = <1>;
19 #size-cells = <1>;
20
21 gic: interrupt-controller@1e001000 {
22 compatible = "arm,cortex-a9-gic";
23 #interrupt-cells = <3>;
24 #address-cells = <0>;
25 interrupt-controller;
26 reg = <0x1a001000 0x1000>, <0x1a000100 0x1000>;
27 };
28
29 hisi_refclk144mhz: refclk144mkhz {
30 compatible = "fixed-clock";
31 #clock-cells = <0>;
32 clock-frequency = <144000000>;
33 clock-output-names = "hisi:refclk144khz";
34 };
35
36 soc {
37 #address-cells = <1>;
38 #size-cells = <1>;
39 compatible = "simple-bus";
40 interrupt-parent = <&gic>;
41 ranges = <0 0x10000000 0x20000000>;
42
43 amba {
44 #address-cells = <1>;
45 #size-cells = <1>;
46 compatible = "arm,amba-bus";
47 ranges;
48
49 uart0: uart@10001000 {
50 compatible = "snps,dw-apb-uart";
51 reg = <0x10001000 0x1000>;
52 clocks = <&hisi_refclk144mhz>;
53 clock-names = "apb_pclk";
54 reg-shift = <2>;
55 interrupts = <0 32 4>;
56 status = "disabled";
57 };
58
59 uart1: uart@10002000 {
60 compatible = "snps,dw-apb-uart";
61 reg = <0x10002000 0x1000>;
62 clocks = <&hisi_refclk144mhz>;
63 clock-names = "apb_pclk";
64 reg-shift = <2>;
65 interrupts = <0 33 4>;
66 status = "disabled";
67 };
68
69 uart2: uart@10003000 {
70 compatible = "snps,dw-apb-uart";
71 reg = <0x10003000 0x1000>;
72 clocks = <&hisi_refclk144mhz>;
73 clock-names = "apb_pclk";
74 reg-shift = <2>;
75 interrupts = <0 34 4>;
76 status = "disabled";
77 };
78
79 uart3: uart@10006000 {
80 compatible = "snps,dw-apb-uart";
81 reg = <0x10006000 0x1000>;
82 clocks = <&hisi_refclk144mhz>;
83 clock-names = "apb_pclk";
84 reg-shift = <2>;
85 interrupts = <0 4 4>;
86 status = "disabled";
87 };
88 };
89
90 system-controller@10000000 {
91 compatible = "hisilicon,hip01-sysctrl", "hisilicon,sysctrl";
92 reg = <0x10000000 0x1000>;
93 reboot-offset = <0x4>;
94 };
95
96 global_timer@0a000200 {
97 compatible = "arm,cortex-a9-global-timer";
98 reg = <0x0a000200 0x100>;
99 interrupts = <1 11 0xf04>;
100 clocks = <&hisi_refclk144mhz>;
101 };
102
103 local_timer@0a000600 {
104 compatible = "arm,cortex-a9-twd-timer";
105 reg = <0x0a000600 0x100>;
106 interrupts = <1 13 0xf04>;
107 clocks = <&hisi_refclk144mhz>;
108 };
109 };
110};