hi6220-coresight.dtsi 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  1. /*
  2. * dtsi file for Hisilicon Hi6220 coresight
  3. *
  4. * Copyright (C) 2017 Hisilicon Ltd.
  5. *
  6. * Author: Pengcheng Li <lipengcheng8@huawei.com>
  7. * Leo Yan <leo.yan@linaro.org>
  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. * publishhed by the Free Software Foundation.
  12. *
  13. */
  14. / {
  15. soc {
  16. funnel@f6401000 {
  17. compatible = "arm,coresight-funnel", "arm,primecell";
  18. reg = <0 0xf6401000 0 0x1000>;
  19. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  20. clock-names = "apb_pclk";
  21. ports {
  22. #address-cells = <1>;
  23. #size-cells = <0>;
  24. port@0 {
  25. reg = <0>;
  26. soc_funnel_out: endpoint {
  27. remote-endpoint =
  28. <&etf_in>;
  29. };
  30. };
  31. port@1 {
  32. reg = <0>;
  33. soc_funnel_in: endpoint {
  34. slave-mode;
  35. remote-endpoint =
  36. <&acpu_funnel_out>;
  37. };
  38. };
  39. };
  40. };
  41. etf@f6402000 {
  42. compatible = "arm,coresight-tmc", "arm,primecell";
  43. reg = <0 0xf6402000 0 0x1000>;
  44. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  45. clock-names = "apb_pclk";
  46. ports {
  47. #address-cells = <1>;
  48. #size-cells = <0>;
  49. port@0 {
  50. reg = <0>;
  51. etf_in: endpoint {
  52. slave-mode;
  53. remote-endpoint =
  54. <&soc_funnel_out>;
  55. };
  56. };
  57. port@1 {
  58. reg = <0>;
  59. etf_out: endpoint {
  60. remote-endpoint =
  61. <&replicator_in>;
  62. };
  63. };
  64. };
  65. };
  66. replicator {
  67. compatible = "arm,coresight-replicator";
  68. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  69. clock-names = "apb_pclk";
  70. ports {
  71. #address-cells = <1>;
  72. #size-cells = <0>;
  73. port@0 {
  74. reg = <0>;
  75. replicator_in: endpoint {
  76. slave-mode;
  77. remote-endpoint =
  78. <&etf_out>;
  79. };
  80. };
  81. port@1 {
  82. reg = <0>;
  83. replicator_out0: endpoint {
  84. remote-endpoint =
  85. <&etr_in>;
  86. };
  87. };
  88. port@2 {
  89. reg = <1>;
  90. replicator_out1: endpoint {
  91. remote-endpoint =
  92. <&tpiu_in>;
  93. };
  94. };
  95. };
  96. };
  97. etr@f6404000 {
  98. compatible = "arm,coresight-tmc", "arm,primecell";
  99. reg = <0 0xf6404000 0 0x1000>;
  100. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  101. clock-names = "apb_pclk";
  102. ports {
  103. #address-cells = <1>;
  104. #size-cells = <0>;
  105. port@0 {
  106. reg = <0>;
  107. etr_in: endpoint {
  108. slave-mode;
  109. remote-endpoint =
  110. <&replicator_out0>;
  111. };
  112. };
  113. };
  114. };
  115. tpiu@f6405000 {
  116. compatible = "arm,coresight-tpiu", "arm,primecell";
  117. reg = <0 0xf6405000 0 0x1000>;
  118. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  119. clock-names = "apb_pclk";
  120. ports {
  121. #address-cells = <1>;
  122. #size-cells = <0>;
  123. port@0 {
  124. reg = <0>;
  125. tpiu_in: endpoint {
  126. slave-mode;
  127. remote-endpoint =
  128. <&replicator_out1>;
  129. };
  130. };
  131. };
  132. };
  133. funnel@f6501000 {
  134. compatible = "arm,coresight-funnel", "arm,primecell";
  135. reg = <0 0xf6501000 0 0x1000>;
  136. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  137. clock-names = "apb_pclk";
  138. ports {
  139. #address-cells = <1>;
  140. #size-cells = <0>;
  141. port@0 {
  142. reg = <0>;
  143. acpu_funnel_out: endpoint {
  144. remote-endpoint =
  145. <&soc_funnel_in>;
  146. };
  147. };
  148. port@1 {
  149. reg = <0>;
  150. acpu_funnel_in0: endpoint {
  151. slave-mode;
  152. remote-endpoint =
  153. <&etm0_out>;
  154. };
  155. };
  156. port@2 {
  157. reg = <1>;
  158. acpu_funnel_in1: endpoint {
  159. slave-mode;
  160. remote-endpoint =
  161. <&etm1_out>;
  162. };
  163. };
  164. port@3 {
  165. reg = <2>;
  166. acpu_funnel_in2: endpoint {
  167. slave-mode;
  168. remote-endpoint =
  169. <&etm2_out>;
  170. };
  171. };
  172. port@4 {
  173. reg = <3>;
  174. acpu_funnel_in3: endpoint {
  175. slave-mode;
  176. remote-endpoint =
  177. <&etm3_out>;
  178. };
  179. };
  180. port@5 {
  181. reg = <4>;
  182. acpu_funnel_in4: endpoint {
  183. slave-mode;
  184. remote-endpoint =
  185. <&etm4_out>;
  186. };
  187. };
  188. port@6 {
  189. reg = <5>;
  190. acpu_funnel_in5: endpoint {
  191. slave-mode;
  192. remote-endpoint =
  193. <&etm5_out>;
  194. };
  195. };
  196. port@7 {
  197. reg = <6>;
  198. acpu_funnel_in6: endpoint {
  199. slave-mode;
  200. remote-endpoint =
  201. <&etm6_out>;
  202. };
  203. };
  204. port@8 {
  205. reg = <7>;
  206. acpu_funnel_in7: endpoint {
  207. slave-mode;
  208. remote-endpoint =
  209. <&etm7_out>;
  210. };
  211. };
  212. };
  213. };
  214. etm@f659c000 {
  215. compatible = "arm,coresight-etm4x", "arm,primecell";
  216. reg = <0 0xf659c000 0 0x1000>;
  217. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  218. clock-names = "apb_pclk";
  219. cpu = <&cpu0>;
  220. port {
  221. etm0_out: endpoint {
  222. remote-endpoint =
  223. <&acpu_funnel_in0>;
  224. };
  225. };
  226. };
  227. etm@f659d000 {
  228. compatible = "arm,coresight-etm4x", "arm,primecell";
  229. reg = <0 0xf659d000 0 0x1000>;
  230. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  231. clock-names = "apb_pclk";
  232. cpu = <&cpu1>;
  233. port {
  234. etm1_out: endpoint {
  235. remote-endpoint =
  236. <&acpu_funnel_in1>;
  237. };
  238. };
  239. };
  240. etm@f659e000 {
  241. compatible = "arm,coresight-etm4x", "arm,primecell";
  242. reg = <0 0xf659e000 0 0x1000>;
  243. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  244. clock-names = "apb_pclk";
  245. cpu = <&cpu2>;
  246. port {
  247. etm2_out: endpoint {
  248. remote-endpoint =
  249. <&acpu_funnel_in2>;
  250. };
  251. };
  252. };
  253. etm@f659f000 {
  254. compatible = "arm,coresight-etm4x", "arm,primecell";
  255. reg = <0 0xf659f000 0 0x1000>;
  256. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  257. clock-names = "apb_pclk";
  258. cpu = <&cpu3>;
  259. port {
  260. etm3_out: endpoint {
  261. remote-endpoint =
  262. <&acpu_funnel_in3>;
  263. };
  264. };
  265. };
  266. etm@f65dc000 {
  267. compatible = "arm,coresight-etm4x", "arm,primecell";
  268. reg = <0 0xf65dc000 0 0x1000>;
  269. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  270. clock-names = "apb_pclk";
  271. cpu = <&cpu4>;
  272. port {
  273. etm4_out: endpoint {
  274. remote-endpoint =
  275. <&acpu_funnel_in4>;
  276. };
  277. };
  278. };
  279. etm@f65dd000 {
  280. compatible = "arm,coresight-etm4x", "arm,primecell";
  281. reg = <0 0xf65dd000 0 0x1000>;
  282. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  283. clock-names = "apb_pclk";
  284. cpu = <&cpu5>;
  285. port {
  286. etm5_out: endpoint {
  287. remote-endpoint =
  288. <&acpu_funnel_in5>;
  289. };
  290. };
  291. };
  292. etm@f65de000 {
  293. compatible = "arm,coresight-etm4x", "arm,primecell";
  294. reg = <0 0xf65de000 0 0x1000>;
  295. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  296. clock-names = "apb_pclk";
  297. cpu = <&cpu6>;
  298. port {
  299. etm6_out: endpoint {
  300. remote-endpoint =
  301. <&acpu_funnel_in6>;
  302. };
  303. };
  304. };
  305. etm@f65df000 {
  306. compatible = "arm,coresight-etm4x", "arm,primecell";
  307. reg = <0 0xf65df000 0 0x1000>;
  308. clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
  309. clock-names = "apb_pclk";
  310. cpu = <&cpu7>;
  311. port {
  312. etm7_out: endpoint {
  313. remote-endpoint =
  314. <&acpu_funnel_in7>;
  315. };
  316. };
  317. };
  318. };
  319. };