1 Hisilicon Platforms Device Tree Bindings
2 ----------------------------------------------------
4 Required root node properties:
5 - compatible = "hisilicon,hi3660";
8 Required root node properties:
9 - compatible = "hisilicon,hi3660-hikey960", "hisilicon,hi3660";
12 Required root node properties:
13 - compatible = "hisilicon,hi3798cv200";
15 Hi3798cv200 Poplar Board
16 Required root node properties:
17 - compatible = "hisilicon,hi3798cv200-poplar", "hisilicon,hi3798cv200";
20 Required root node properties:
21 - compatible = "hisilicon,hi3620-hi4511";
24 Required root node properties:
25 - compatible = "hisilicon,hi6220";
28 Required root node properties:
29 - compatible = "hisilicon,hi6220-hikey", "hisilicon,hi6220";
32 Required root node properties:
33 - compatible = "hisilicon,hip01-ca9x2";
36 Required root node properties:
37 - compatible = "hisilicon,hip04-d01";
40 Required root node properties:
41 - compatible = "hisilicon,hip05-d02";
44 Required root node properties:
45 - compatible = "hisilicon,hip06-d03";
48 Required root node properties:
49 - compatible = "hisilicon,hip07-d05";
51 Hisilicon system controller
54 - compatible : "hisilicon,sysctrl"
55 - reg : Register address and size
58 - smp-offset : offset in sysctrl for notifying slave cpu booting
62 If reg value is not zero, cpun exit wfi and go
63 - resume-offset : offset in sysctrl for notifying cpu0 when resume
64 - reboot-offset : offset in sysctrl for system reboot
69 sysctrl: system-controller@fc802000 {
70 compatible = "hisilicon,sysctrl";
71 reg = <0xfc802000 0x1000>;
73 resume-offset = <0x308>;
74 reboot-offset = <0x4>;
77 -----------------------------------------------------------------------
78 Hisilicon Hi3798CV200 Peripheral Controller
80 The Hi3798CV200 Peripheral Controller controls peripherals, queries
81 their status, and configures some functions of peripherals.
84 - compatible: Should contain "hisilicon,hi3798cv200-perictrl", "syscon"
86 - reg: Register address and size of Peripheral Controller.
87 - #address-cells: Should be 1.
88 - #size-cells: Should be 1.
92 perictrl: peripheral-controller@8a20000 {
93 compatible = "hisilicon,hi3798cv200-perictrl", "syscon",
95 reg = <0x8a20000 0x1000>;
100 -----------------------------------------------------------------------
101 Hisilicon Hi6220 system controller
104 - compatible : "hisilicon,hi6220-sysctrl"
105 - reg : Register address and size
106 - #clock-cells: should be set to 1, many clock registers are defined
107 under this controller and this property must be present.
109 Hisilicon designs this controller as one of the system controllers,
110 its main functions are the same as Hisilicon system controller, but
111 the register offset of some core modules are different.
115 sys_ctrl: sys_ctrl@f7030000 {
116 compatible = "hisilicon,hi6220-sysctrl", "syscon";
117 reg = <0x0 0xf7030000 0x0 0x2000>;
122 Hisilicon Hi6220 Power Always ON domain controller
125 - compatible : "hisilicon,hi6220-aoctrl"
126 - reg : Register address and size
127 - #clock-cells: should be set to 1, many clock registers are defined
128 under this controller and this property must be present.
130 Hisilicon designs this system controller to control the power always
131 on domain for mobile platform.
135 ao_ctrl: ao_ctrl@f7800000 {
136 compatible = "hisilicon,hi6220-aoctrl", "syscon";
137 reg = <0x0 0xf7800000 0x0 0x2000>;
142 Hisilicon Hi6220 Media domain controller
145 - compatible : "hisilicon,hi6220-mediactrl"
146 - reg : Register address and size
147 - #clock-cells: should be set to 1, many clock registers are defined
148 under this controller and this property must be present.
150 Hisilicon designs this system controller to control the multimedia
151 domain(e.g. codec, G3D ...) for mobile platform.
155 media_ctrl: media_ctrl@f4410000 {
156 compatible = "hisilicon,hi6220-mediactrl", "syscon";
157 reg = <0x0 0xf4410000 0x0 0x1000>;
162 Hisilicon Hi6220 Power Management domain controller
165 - compatible : "hisilicon,hi6220-pmctrl"
166 - reg : Register address and size
167 - #clock-cells: should be set to 1, some clock registers are define
168 under this controller and this property must be present.
170 Hisilicon designs this system controller to control the power management
171 domain for mobile platform.
175 pm_ctrl: pm_ctrl@f7032000 {
176 compatible = "hisilicon,hi6220-pmctrl", "syscon";
177 reg = <0x0 0xf7032000 0x0 0x1000>;
182 Hisilicon Hi6220 SRAM controller
185 - compatible : "hisilicon,hi6220-sramctrl", "syscon"
186 - reg : Register address and size
188 Hisilicon's SoCs use sram for multiple purpose; on Hi6220 there have several
189 SRAM banks for power management, modem, security, etc. Further, use "syscon"
190 managing the common sram which can be shared by multiple modules.
194 sram: sram@fff80000 {
195 compatible = "hisilicon,hi6220-sramctrl", "syscon";
196 reg = <0x0 0xfff80000 0x0 0x12000>;
199 -----------------------------------------------------------------------
200 Hisilicon HiP01 system controller
203 - compatible : "hisilicon,hip01-sysctrl"
204 - reg : Register address and size
206 The HiP01 system controller is mostly compatible with hisilicon
207 system controller,but it has some specific control registers for
208 HIP01 SoC family, such as slave core boot, and also some same
209 registers located at different offset.
213 /* for hip01-ca9x2 */
214 sysctrl: system-controller@10000000 {
215 compatible = "hisilicon,hip01-sysctrl", "hisilicon,sysctrl";
216 reg = <0x10000000 0x1000>;
217 reboot-offset = <0x4>;
220 -----------------------------------------------------------------------
221 Hisilicon HiP05/HiP06 PCIe-SAS sub system controller
224 - compatible : "hisilicon,pcie-sas-subctrl", "syscon";
225 - reg : Register address and size
227 The PCIe-SAS sub system controller is shared by PCIe and SAS controllers in
228 HiP05 or HiP06 Soc to implement some basic configurations.
231 /* for HiP05 PCIe-SAS sub system */
232 pcie_sas: system_controller@b0000000 {
233 compatible = "hisilicon,pcie-sas-subctrl", "syscon";
234 reg = <0xb0000000 0x10000>;
237 Hisilicon HiP05/HiP06 PERI sub system controller
240 - compatible : "hisilicon,peri-subctrl", "syscon";
241 - reg : Register address and size
243 The PERI sub system controller is shared by peripheral controllers in
244 HiP05 or HiP06 Soc to implement some basic configurations. The peripheral
245 controllers include mdio, ddr, iic, uart, timer and so on.
248 /* for HiP05 sub peri system */
249 peri_c_subctrl: syscon@80000000 {
250 compatible = "hisilicon,peri-subctrl", "syscon";
251 reg = <0x0 0x80000000 0x0 0x10000>;
254 Hisilicon HiP05/HiP06 DSA sub system controller
257 - compatible : "hisilicon,dsa-subctrl", "syscon";
258 - reg : Register address and size
260 The DSA sub system controller is shared by peripheral controllers in
261 HiP05 or HiP06 Soc to implement some basic configurations.
264 /* for HiP05 dsa sub system */
265 pcie_sas: system_controller@a0000000 {
266 compatible = "hisilicon,dsa-subctrl", "syscon";
267 reg = <0xa0000000 0x10000>;
270 -----------------------------------------------------------------------
271 Hisilicon CPU controller
274 - compatible : "hisilicon,cpuctrl"
275 - reg : Register address and size
277 The clock registers and power registers of secondary cores are defined
278 in CPU controller, especially in HIX5HD2 SoC.
280 -----------------------------------------------------------------------
281 PCTRL: Peripheral misc control register
284 - compatible: "hisilicon,pctrl"
285 - reg: Address and size of pctrl.
290 pctrl: pctrl@fca09000 {
291 compatible = "hisilicon,pctrl";
292 reg = <0xfca09000 0x1000>;
295 -----------------------------------------------------------------------
299 - compatible: "hisilicon,hip04-fabric";
300 - reg: Address and size of Fabric
302 -----------------------------------------------------------------------
303 Bootwrapper boot method (software protocol on SMP):
306 - compatible: "hisilicon,hip04-bootwrapper";
307 - boot-method: Address and size of boot method.
308 [0]: bootwrapper physical address
309 [1]: bootwrapper size
310 [2]: relocation physical address