Merge branch 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / arm / hisilicon / hisilicon.txt
1 Hisilicon Platforms Device Tree Bindings
2 ----------------------------------------------------
3 Hi4511 Board
4 Required root node properties:
5         - compatible = "hisilicon,hi3620-hi4511";
6
7 Hi6220 SoC
8 Required root node properties:
9         - compatible = "hisilicon,hi6220";
10
11 HiKey Board
12 Required root node properties:
13         - compatible = "hisilicon,hi6220-hikey", "hisilicon,hi6220";
14
15 HiP01 ca9x2 Board
16 Required root node properties:
17         - compatible = "hisilicon,hip01-ca9x2";
18
19 HiP04 D01 Board
20 Required root node properties:
21         - compatible = "hisilicon,hip04-d01";
22
23 HiP05 D02 Board
24 Required root node properties:
25         - compatible = "hisilicon,hip05-d02";
26
27 HiP06 D03 Board
28 Required root node properties:
29         - compatible = "hisilicon,hip06-d03";
30
31 HiP07 D05 Board
32 Required root node properties:
33         - compatible = "hisilicon,hip07-d05";
34
35 Hisilicon system controller
36
37 Required properties:
38 - compatible : "hisilicon,sysctrl"
39 - reg : Register address and size
40
41 Optional properties:
42 - smp-offset : offset in sysctrl for notifying slave cpu booting
43                 cpu 1, reg;
44                 cpu 2, reg + 0x4;
45                 cpu 3, reg + 0x8;
46                 If reg value is not zero, cpun exit wfi and go
47 - resume-offset : offset in sysctrl for notifying cpu0 when resume
48 - reboot-offset : offset in sysctrl for system reboot
49
50 Example:
51
52         /* for Hi3620 */
53         sysctrl: system-controller@fc802000 {
54                 compatible = "hisilicon,sysctrl";
55                 reg = <0xfc802000 0x1000>;
56                 smp-offset = <0x31c>;
57                 resume-offset = <0x308>;
58                 reboot-offset = <0x4>;
59         };
60
61 -----------------------------------------------------------------------
62 Hisilicon Hi6220 system controller
63
64 Required properties:
65 - compatible : "hisilicon,hi6220-sysctrl"
66 - reg : Register address and size
67 - #clock-cells: should be set to 1, many clock registers are defined
68   under this controller and this property must be present.
69
70 Hisilicon designs this controller as one of the system controllers,
71 its main functions are the same as Hisilicon system controller, but
72 the register offset of some core modules are different.
73
74 Example:
75         /*for Hi6220*/
76         sys_ctrl: sys_ctrl@f7030000 {
77                 compatible = "hisilicon,hi6220-sysctrl", "syscon";
78                 reg = <0x0 0xf7030000 0x0 0x2000>;
79                 #clock-cells = <1>;
80         };
81
82
83 Hisilicon Hi6220 Power Always ON domain controller
84
85 Required properties:
86 - compatible : "hisilicon,hi6220-aoctrl"
87 - reg : Register address and size
88 - #clock-cells: should be set to 1, many clock registers are defined
89   under this controller and this property must be present.
90
91 Hisilicon designs this system controller to control the power always
92 on domain for mobile platform.
93
94 Example:
95         /*for Hi6220*/
96         ao_ctrl: ao_ctrl@f7800000 {
97                 compatible = "hisilicon,hi6220-aoctrl", "syscon";
98                 reg = <0x0 0xf7800000 0x0 0x2000>;
99                 #clock-cells = <1>;
100         };
101
102
103 Hisilicon Hi6220 Media domain controller
104
105 Required properties:
106 - compatible : "hisilicon,hi6220-mediactrl"
107 - reg : Register address and size
108 - #clock-cells: should be set to 1, many clock registers are defined
109   under this controller and this property must be present.
110
111 Hisilicon designs this system controller to control the multimedia
112 domain(e.g. codec, G3D ...) for mobile platform.
113
114 Example:
115         /*for Hi6220*/
116         media_ctrl: media_ctrl@f4410000 {
117                 compatible = "hisilicon,hi6220-mediactrl", "syscon";
118                 reg = <0x0 0xf4410000 0x0 0x1000>;
119                 #clock-cells = <1>;
120         };
121
122
123 Hisilicon Hi6220 Power Management domain controller
124
125 Required properties:
126 - compatible : "hisilicon,hi6220-pmctrl"
127 - reg : Register address and size
128 - #clock-cells: should be set to 1, some clock registers are define
129   under this controller and this property must be present.
130
131 Hisilicon designs this system controller to control the power management
132 domain for mobile platform.
133
134 Example:
135         /*for Hi6220*/
136         pm_ctrl: pm_ctrl@f7032000 {
137                 compatible = "hisilicon,hi6220-pmctrl", "syscon";
138                 reg = <0x0 0xf7032000 0x0 0x1000>;
139                 #clock-cells = <1>;
140         };
141
142
143 Hisilicon Hi6220 SRAM controller
144
145 Required properties:
146 - compatible : "hisilicon,hi6220-sramctrl", "syscon"
147 - reg : Register address and size
148
149 Hisilicon's SoCs use sram for multiple purpose; on Hi6220 there have several
150 SRAM banks for power management, modem, security, etc. Further, use "syscon"
151 managing the common sram which can be shared by multiple modules.
152
153 Example:
154         /*for Hi6220*/
155         sram: sram@fff80000 {
156                 compatible = "hisilicon,hi6220-sramctrl", "syscon";
157                 reg = <0x0 0xfff80000 0x0 0x12000>;
158         };
159
160 -----------------------------------------------------------------------
161 Hisilicon HiP01 system controller
162
163 Required properties:
164 - compatible : "hisilicon,hip01-sysctrl"
165 - reg : Register address and size
166
167 The HiP01 system controller is mostly compatible with hisilicon
168 system controller,but it has some specific control registers for
169 HIP01 SoC family, such as slave core boot, and also some same
170 registers located at different offset.
171
172 Example:
173
174         /* for hip01-ca9x2 */
175         sysctrl: system-controller@10000000 {
176                 compatible = "hisilicon,hip01-sysctrl", "hisilicon,sysctrl";
177                 reg = <0x10000000 0x1000>;
178                 reboot-offset = <0x4>;
179         };
180
181 -----------------------------------------------------------------------
182 Hisilicon HiP05/HiP06 PCIe-SAS sub system controller
183
184 Required properties:
185 - compatible : "hisilicon,pcie-sas-subctrl", "syscon";
186 - reg : Register address and size
187
188 The PCIe-SAS sub system controller is shared by PCIe and SAS controllers in
189 HiP05 or HiP06 Soc to implement some basic configurations.
190
191 Example:
192         /* for HiP05 PCIe-SAS sub system */
193         pcie_sas: system_controller@b0000000 {
194                 compatible = "hisilicon,pcie-sas-subctrl", "syscon";
195                 reg = <0xb0000000 0x10000>;
196         };
197
198 Hisilicon HiP05/HiP06 PERI sub system controller
199
200 Required properties:
201 - compatible : "hisilicon,peri-subctrl", "syscon";
202 - reg : Register address and size
203
204 The PERI sub system controller is shared by peripheral controllers in
205 HiP05 or HiP06 Soc to implement some basic configurations. The peripheral
206 controllers include mdio, ddr, iic, uart, timer and so on.
207
208 Example:
209         /* for HiP05 sub peri system */
210         peri_c_subctrl: syscon@80000000 {
211                 compatible = "hisilicon,peri-subctrl", "syscon";
212                 reg = <0x0 0x80000000 0x0 0x10000>;
213         };
214
215 Hisilicon HiP05/HiP06 DSA sub system controller
216
217 Required properties:
218 - compatible : "hisilicon,dsa-subctrl", "syscon";
219 - reg : Register address and size
220
221 The DSA sub system controller is shared by peripheral controllers in
222 HiP05 or HiP06 Soc to implement some basic configurations.
223
224 Example:
225         /* for HiP05 dsa sub system */
226         pcie_sas: system_controller@a0000000 {
227                 compatible = "hisilicon,dsa-subctrl", "syscon";
228                 reg = <0xa0000000 0x10000>;
229         };
230
231 -----------------------------------------------------------------------
232 Hisilicon CPU controller
233
234 Required properties:
235 - compatible : "hisilicon,cpuctrl"
236 - reg : Register address and size
237
238 The clock registers and power registers of secondary cores are defined
239 in CPU controller, especially in HIX5HD2 SoC.
240
241 -----------------------------------------------------------------------
242 PCTRL: Peripheral misc control register
243
244 Required Properties:
245 - compatible: "hisilicon,pctrl"
246 - reg: Address and size of pctrl.
247
248 Example:
249
250         /* for Hi3620 */
251         pctrl: pctrl@fca09000 {
252                 compatible = "hisilicon,pctrl";
253                 reg = <0xfca09000 0x1000>;
254         };
255
256 -----------------------------------------------------------------------
257 Fabric:
258
259 Required Properties:
260 - compatible: "hisilicon,hip04-fabric";
261 - reg: Address and size of Fabric
262
263 -----------------------------------------------------------------------
264 Bootwrapper boot method (software protocol on SMP):
265
266 Required Properties:
267 - compatible: "hisilicon,hip04-bootwrapper";
268 - boot-method: Address and size of boot method.
269   [0]: bootwrapper physical address
270   [1]: bootwrapper size
271   [2]: relocation physical address
272   [3]: relocation size