hisilicon.txt 7.4 KB

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