Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / hisilicon / hi6220-coresight.dtsi
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * dtsi file for Hisilicon Hi6220 coresight
4  *
5  * Copyright (C) 2017 HiSilicon Ltd.
6  *
7  * Author: Pengcheng Li <lipengcheng8@huawei.com>
8  *         Leo Yan <leo.yan@linaro.org>
9  */
10
11 / {
12         soc {
13                 funnel@f6401000 {
14                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
15                         reg = <0 0xf6401000 0 0x1000>;
16                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
17                         clock-names = "apb_pclk";
18
19                         out-ports {
20                                 port {
21                                         soc_funnel_out: endpoint {
22                                                 remote-endpoint =
23                                                         <&etf_in>;
24                                         };
25                                 };
26                         };
27
28                         in-ports {
29                                 port {
30                                         soc_funnel_in: endpoint {
31                                                 remote-endpoint =
32                                                         <&acpu_funnel_out>;
33                                         };
34                                 };
35                         };
36                 };
37
38                 etf@f6402000 {
39                         compatible = "arm,coresight-tmc", "arm,primecell";
40                         reg = <0 0xf6402000 0 0x1000>;
41                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
42                         clock-names = "apb_pclk";
43
44                         in-ports {
45                                 port {
46                                         etf_in: endpoint {
47                                                 remote-endpoint =
48                                                         <&soc_funnel_out>;
49                                         };
50                                 };
51                         };
52
53                         out-ports {
54                                 port {
55                                         etf_out: endpoint {
56                                                 remote-endpoint =
57                                                         <&replicator_in>;
58                                         };
59                                 };
60                         };
61                 };
62
63                 replicator {
64                         compatible = "arm,coresight-static-replicator";
65                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
66                         clock-names = "apb_pclk";
67
68                         in-ports {
69                                 port {
70                                         replicator_in: endpoint {
71                                                 remote-endpoint =
72                                                         <&etf_out>;
73                                         };
74                                 };
75                         };
76
77                         out-ports {
78                                 #address-cells = <1>;
79                                 #size-cells = <0>;
80
81                                 port@0 {
82                                         reg = <0>;
83                                         replicator_out0: endpoint {
84                                                 remote-endpoint =
85                                                         <&etr_in>;
86                                         };
87                                 };
88
89                                 port@1 {
90                                         reg = <1>;
91                                         replicator_out1: endpoint {
92                                                 remote-endpoint =
93                                                         <&tpiu_in>;
94                                         };
95                                 };
96                         };
97                 };
98
99                 etr@f6404000 {
100                         compatible = "arm,coresight-tmc", "arm,primecell";
101                         reg = <0 0xf6404000 0 0x1000>;
102                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
103                         clock-names = "apb_pclk";
104
105                         in-ports {
106                                 port {
107                                         etr_in: endpoint {
108                                                 remote-endpoint =
109                                                         <&replicator_out0>;
110                                         };
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
121                         in-ports {
122                                 port {
123                                         tpiu_in: endpoint {
124                                                 remote-endpoint =
125                                                         <&replicator_out1>;
126                                         };
127                                 };
128                         };
129                 };
130
131                 funnel@f6501000 {
132                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
133                         reg = <0 0xf6501000 0 0x1000>;
134                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
135                         clock-names = "apb_pclk";
136
137                         out-ports {
138                                 port {
139                                         acpu_funnel_out: endpoint {
140                                                 remote-endpoint =
141                                                         <&soc_funnel_in>;
142                                         };
143                                 };
144                         };
145
146                         in-ports {
147                                 #address-cells = <1>;
148                                 #size-cells = <0>;
149
150                                 port@0 {
151                                         reg = <0>;
152                                         acpu_funnel_in0: endpoint {
153                                                 remote-endpoint =
154                                                         <&etm0_out>;
155                                         };
156                                 };
157
158                                 port@1 {
159                                         reg = <1>;
160                                         acpu_funnel_in1: endpoint {
161                                                 remote-endpoint =
162                                                         <&etm1_out>;
163                                         };
164                                 };
165
166                                 port@2 {
167                                         reg = <2>;
168                                         acpu_funnel_in2: endpoint {
169                                                 remote-endpoint =
170                                                         <&etm2_out>;
171                                         };
172                                 };
173
174                                 port@3 {
175                                         reg = <3>;
176                                         acpu_funnel_in3: endpoint {
177                                                 remote-endpoint =
178                                                         <&etm3_out>;
179                                         };
180                                 };
181
182                                 port@4 {
183                                         reg = <4>;
184                                         acpu_funnel_in4: endpoint {
185                                                 remote-endpoint =
186                                                         <&etm4_out>;
187                                         };
188                                 };
189
190                                 port@5 {
191                                         reg = <5>;
192                                         acpu_funnel_in5: endpoint {
193                                                 remote-endpoint =
194                                                         <&etm5_out>;
195                                         };
196                                 };
197
198                                 port@6 {
199                                         reg = <6>;
200                                         acpu_funnel_in6: endpoint {
201                                                 remote-endpoint =
202                                                         <&etm6_out>;
203                                         };
204                                 };
205
206                                 port@7 {
207                                         reg = <7>;
208                                         acpu_funnel_in7: endpoint {
209                                                 remote-endpoint =
210                                                         <&etm7_out>;
211                                         };
212                                 };
213                         };
214                 };
215
216                 etm0: etm@f659c000 {
217                         compatible = "arm,coresight-etm4x", "arm,primecell";
218                         reg = <0 0xf659c000 0 0x1000>;
219
220                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
221                         clock-names = "apb_pclk";
222
223                         cpu = <&cpu0>;
224
225                         out-ports {
226                                 port {
227                                         etm0_out: endpoint {
228                                                 remote-endpoint =
229                                                         <&acpu_funnel_in0>;
230                                         };
231                                 };
232                         };
233                 };
234
235                 etm1: etm@f659d000 {
236                         compatible = "arm,coresight-etm4x", "arm,primecell";
237                         reg = <0 0xf659d000 0 0x1000>;
238
239                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
240                         clock-names = "apb_pclk";
241
242                         cpu = <&cpu1>;
243
244                         out-ports {
245                                 port {
246                                         etm1_out: endpoint {
247                                                 remote-endpoint =
248                                                         <&acpu_funnel_in1>;
249                                         };
250                                 };
251                         };
252                 };
253
254                 etm2: etm@f659e000 {
255                         compatible = "arm,coresight-etm4x", "arm,primecell";
256                         reg = <0 0xf659e000 0 0x1000>;
257
258                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
259                         clock-names = "apb_pclk";
260
261                         cpu = <&cpu2>;
262
263                         out-ports {
264                                 port {
265                                         etm2_out: endpoint {
266                                                 remote-endpoint =
267                                                         <&acpu_funnel_in2>;
268                                         };
269                                 };
270                         };
271                 };
272
273                 etm3: etm@f659f000 {
274                         compatible = "arm,coresight-etm4x", "arm,primecell";
275                         reg = <0 0xf659f000 0 0x1000>;
276
277                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
278                         clock-names = "apb_pclk";
279
280                         cpu = <&cpu3>;
281
282                         out-ports {
283                                 port {
284                                         etm3_out: endpoint {
285                                                 remote-endpoint =
286                                                         <&acpu_funnel_in3>;
287                                         };
288                                 };
289                         };
290                 };
291
292                 etm4: etm@f65dc000 {
293                         compatible = "arm,coresight-etm4x", "arm,primecell";
294                         reg = <0 0xf65dc000 0 0x1000>;
295
296                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
297                         clock-names = "apb_pclk";
298
299                         cpu = <&cpu4>;
300
301                         out-ports {
302                                 port {
303                                         etm4_out: endpoint {
304                                                 remote-endpoint =
305                                                         <&acpu_funnel_in4>;
306                                         };
307                                 };
308                         };
309                 };
310
311                 etm5: etm@f65dd000 {
312                         compatible = "arm,coresight-etm4x", "arm,primecell";
313                         reg = <0 0xf65dd000 0 0x1000>;
314
315                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
316                         clock-names = "apb_pclk";
317
318                         cpu = <&cpu5>;
319
320                         out-ports {
321                                 port {
322                                         etm5_out: endpoint {
323                                                 remote-endpoint =
324                                                         <&acpu_funnel_in5>;
325                                         };
326                                 };
327                         };
328                 };
329
330                 etm6: etm@f65de000 {
331                         compatible = "arm,coresight-etm4x", "arm,primecell";
332                         reg = <0 0xf65de000 0 0x1000>;
333
334                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
335                         clock-names = "apb_pclk";
336
337                         cpu = <&cpu6>;
338
339                         out-ports {
340                                 port {
341                                         etm6_out: endpoint {
342                                                 remote-endpoint =
343                                                         <&acpu_funnel_in6>;
344                                         };
345                                 };
346                         };
347                 };
348
349                 etm7: etm@f65df000 {
350                         compatible = "arm,coresight-etm4x", "arm,primecell";
351                         reg = <0 0xf65df000 0 0x1000>;
352
353                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
354                         clock-names = "apb_pclk";
355
356                         cpu = <&cpu7>;
357
358                         out-ports {
359                                 port {
360                                         etm7_out: endpoint {
361                                                 remote-endpoint =
362                                                         <&acpu_funnel_in7>;
363                                         };
364                                 };
365                         };
366                 };
367
368                 /* System CTIs */
369                 /* CTI 0 - TMC and TPIU connections */
370                 cti@f6403000 {
371                         compatible = "arm,coresight-cti", "arm,primecell";
372                         reg = <0 0xf6403000 0 0x1000>;
373
374                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
375                         clock-names = "apb_pclk";
376                 };
377
378                 /* CTI - CPU-0 */
379                 cti@f6598000 {
380                         compatible = "arm,coresight-cti-v8-arch",
381                                      "arm,coresight-cti", "arm,primecell";
382                         reg = <0 0xf6598000 0 0x1000>;
383
384                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
385                         clock-names = "apb_pclk";
386
387                         cpu = <&cpu0>;
388                         arm,cs-dev-assoc = <&etm0>;
389                 };
390
391                 /* CTI - CPU-1 */
392                 cti@f6599000 {
393                         compatible = "arm,coresight-cti-v8-arch",
394                                      "arm,coresight-cti", "arm,primecell";
395                         reg = <0 0xf6599000 0 0x1000>;
396
397                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
398                         clock-names = "apb_pclk";
399
400                         cpu = <&cpu1>;
401                         arm,cs-dev-assoc = <&etm1>;
402                 };
403
404                 /* CTI - CPU-2 */
405                 cti@f659a000 {
406                         compatible = "arm,coresight-cti-v8-arch",
407                                      "arm,coresight-cti", "arm,primecell";
408                         reg = <0 0xf659a000 0 0x1000>;
409
410                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
411                         clock-names = "apb_pclk";
412
413                         cpu = <&cpu2>;
414                         arm,cs-dev-assoc = <&etm2>;
415                 };
416
417                 /* CTI - CPU-3 */
418                 cti@f659b000 {
419                         compatible = "arm,coresight-cti-v8-arch",
420                                      "arm,coresight-cti", "arm,primecell";
421                         reg = <0 0xf659b000 0 0x1000>;
422
423                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
424                         clock-names = "apb_pclk";
425
426                         cpu = <&cpu3>;
427                         arm,cs-dev-assoc = <&etm3>;
428                 };
429
430                 /* CTI - CPU-4 */
431                 cti@f65d8000 {
432                         compatible = "arm,coresight-cti-v8-arch",
433                                      "arm,coresight-cti", "arm,primecell";
434                         reg = <0 0xf65d8000 0 0x1000>;
435
436                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
437                         clock-names = "apb_pclk";
438
439                         cpu = <&cpu4>;
440                         arm,cs-dev-assoc = <&etm4>;
441                 };
442
443                 /* CTI - CPU-5 */
444                 cti@f65d9000 {
445                         compatible = "arm,coresight-cti-v8-arch",
446                                      "arm,coresight-cti", "arm,primecell";
447                         reg = <0 0xf65d9000 0 0x1000>;
448
449                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
450                         clock-names = "apb_pclk";
451
452                         cpu = <&cpu5>;
453                         arm,cs-dev-assoc = <&etm5>;
454                 };
455
456                 /* CTI - CPU-6 */
457                 cti@f65da000 {
458                         compatible = "arm,coresight-cti-v8-arch",
459                                      "arm,coresight-cti", "arm,primecell";
460                         reg = <0 0xf65da000 0 0x1000>;
461
462                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
463                         clock-names = "apb_pclk";
464
465                         cpu = <&cpu6>;
466                         arm,cs-dev-assoc = <&etm6>;
467                 };
468
469                 /* CTI - CPU-7 */
470                 cti@f65db000 {
471                         compatible = "arm,coresight-cti-v8-arch",
472                                      "arm,coresight-cti", "arm,primecell";
473                         reg = <0 0xf65db000 0 0x1000>;
474
475                         clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
476                         clock-names = "apb_pclk";
477
478                         cpu = <&cpu7>;
479                         arm,cs-dev-assoc = <&etm7>;
480                 };
481         };
482 };