Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: dts: juno: add CTI entries to device tree

Add Coresight Cross Trigger Interface(CTI) entries to the device tree
for all the Juno variants.

Link: https://lore.kernel.org/r/20220413214925.30359-1-mike.leach@linaro.org
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Mike Leach <mike.leach@linaro.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>

authored by

Mike Leach and committed by
Sudeep Holla
e7676a00 8dd3cdea

+302 -5
+158 -4
arch/arm64/boot/dts/arm/juno-base.dtsi
··· 117 117 * The actual size is just 4K though 64K is reserved. Access to the 118 118 * unmapped reserved region results in a DECERR response. 119 119 */ 120 - etf@20010000 { /* etf0 */ 120 + etf_sys0: etf@20010000 { /* etf0 */ 121 121 compatible = "arm,coresight-tmc", "arm,primecell"; 122 122 reg = <0 0x20010000 0 0x1000>; 123 123 ··· 141 141 }; 142 142 }; 143 143 144 - tpiu@20030000 { 144 + tpiu_sys: tpiu@20030000 { 145 145 compatible = "arm,coresight-tpiu", "arm,primecell"; 146 146 reg = <0 0x20030000 0 0x1000>; 147 147 ··· 194 194 }; 195 195 }; 196 196 197 - etr@20070000 { 197 + etr_sys: etr@20070000 { 198 198 compatible = "arm,coresight-tmc", "arm,primecell"; 199 199 reg = <0 0x20070000 0 0x1000>; 200 200 iommus = <&smmu_etr 0>; ··· 212 212 }; 213 213 }; 214 214 215 - stm@20100000 { 215 + stm_sys: stm@20100000 { 216 216 compatible = "arm,coresight-stm", "arm,primecell"; 217 217 reg = <0 0x20100000 0 0x1000>, 218 218 <0 0x28000000 0 0x1000000>; ··· 289 289 }; 290 290 }; 291 291 292 + cti0: cti@22020000 { 293 + compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 294 + "arm,primecell"; 295 + reg = <0 0x22020000 0 0x1000>; 296 + 297 + clocks = <&soc_smc50mhz>; 298 + clock-names = "apb_pclk"; 299 + power-domains = <&scpi_devpd 0>; 300 + 301 + arm,cs-dev-assoc = <&etm0>; 302 + }; 303 + 292 304 funnel@220c0000 { /* cluster0 funnel */ 293 305 compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 294 306 reg = <0 0x220c0000 0 0x1000>; ··· 361 349 }; 362 350 }; 363 351 352 + cti1: cti@22120000 { 353 + compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 354 + "arm,primecell"; 355 + reg = <0 0x22120000 0 0x1000>; 356 + 357 + clocks = <&soc_smc50mhz>; 358 + clock-names = "apb_pclk"; 359 + power-domains = <&scpi_devpd 0>; 360 + 361 + arm,cs-dev-assoc = <&etm1>; 362 + }; 363 + 364 364 cpu_debug2: cpu-debug@23010000 { 365 365 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 366 366 reg = <0x0 0x23010000 0x0 0x1000>; ··· 396 372 }; 397 373 }; 398 374 }; 375 + }; 376 + 377 + cti2: cti@23020000 { 378 + compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 379 + "arm,primecell"; 380 + reg = <0 0x23020000 0 0x1000>; 381 + 382 + clocks = <&soc_smc50mhz>; 383 + clock-names = "apb_pclk"; 384 + power-domains = <&scpi_devpd 0>; 385 + 386 + arm,cs-dev-assoc = <&etm2>; 399 387 }; 400 388 401 389 funnel@230c0000 { /* cluster1 funnel */ ··· 482 446 }; 483 447 }; 484 448 449 + cti3: cti@23120000 { 450 + compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 451 + "arm,primecell"; 452 + reg = <0 0x23120000 0 0x1000>; 453 + 454 + clocks = <&soc_smc50mhz>; 455 + clock-names = "apb_pclk"; 456 + power-domains = <&scpi_devpd 0>; 457 + 458 + arm,cs-dev-assoc = <&etm3>; 459 + }; 460 + 485 461 cpu_debug4: cpu-debug@23210000 { 486 462 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 487 463 reg = <0x0 0x23210000 0x0 0x1000>; ··· 519 471 }; 520 472 }; 521 473 474 + cti4: cti@23220000 { 475 + compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 476 + "arm,primecell"; 477 + reg = <0 0x23220000 0 0x1000>; 478 + 479 + clocks = <&soc_smc50mhz>; 480 + clock-names = "apb_pclk"; 481 + power-domains = <&scpi_devpd 0>; 482 + 483 + arm,cs-dev-assoc = <&etm4>; 484 + }; 485 + 522 486 cpu_debug5: cpu-debug@23310000 { 523 487 compatible = "arm,coresight-cpu-debug", "arm,primecell"; 524 488 reg = <0x0 0x23310000 0x0 0x1000>; ··· 553 493 remote-endpoint = <&cluster1_funnel_in_port3>; 554 494 }; 555 495 }; 496 + }; 497 + }; 498 + 499 + cti5: cti@23320000 { 500 + compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti", 501 + "arm,primecell"; 502 + reg = <0 0x23320000 0 0x1000>; 503 + 504 + clocks = <&soc_smc50mhz>; 505 + clock-names = "apb_pclk"; 506 + power-domains = <&scpi_devpd 0>; 507 + 508 + arm,cs-dev-assoc = <&etm5>; 509 + }; 510 + 511 + cti_sys0: cti@20020000 { /* sys_cti_0 */ 512 + compatible = "arm,coresight-cti", "arm,primecell"; 513 + reg = <0 0x20020000 0 0x1000>; 514 + 515 + clocks = <&soc_smc50mhz>; 516 + clock-names = "apb_pclk"; 517 + power-domains = <&scpi_devpd 0>; 518 + 519 + #address-cells = <1>; 520 + #size-cells = <0>; 521 + 522 + trig-conns@0 { 523 + reg = <0>; 524 + arm,trig-in-sigs=<2 3>; 525 + arm,trig-in-types=<SNK_FULL SNK_ACQCOMP>; 526 + arm,trig-out-sigs=<0 1>; 527 + arm,trig-out-types=<SNK_FLUSHIN SNK_TRIGIN>; 528 + arm,cs-dev-assoc = <&etr_sys>; 529 + }; 530 + 531 + trig-conns@1 { 532 + reg = <1>; 533 + arm,trig-in-sigs=<0 1>; 534 + arm,trig-in-types=<SNK_FULL SNK_ACQCOMP>; 535 + arm,trig-out-sigs=<7 6>; 536 + arm,trig-out-types=<SNK_FLUSHIN SNK_TRIGIN>; 537 + arm,cs-dev-assoc = <&etf_sys0>; 538 + }; 539 + 540 + trig-conns@2 { 541 + reg = <2>; 542 + arm,trig-in-sigs=<4 5 6 7>; 543 + arm,trig-in-types=<STM_TOUT_SPTE STM_TOUT_SW 544 + STM_TOUT_HETE STM_ASYNCOUT>; 545 + arm,trig-out-sigs=<4 5>; 546 + arm,trig-out-types=<STM_HWEVENT STM_HWEVENT>; 547 + arm,cs-dev-assoc = <&stm_sys>; 548 + }; 549 + 550 + trig-conns@3 { 551 + reg = <3>; 552 + arm,trig-out-sigs=<2 3>; 553 + arm,trig-out-types=<SNK_FLUSHIN SNK_TRIGIN>; 554 + arm,cs-dev-assoc = <&tpiu_sys>; 555 + }; 556 + }; 557 + 558 + cti_sys1: cti@20110000 { /* sys_cti_1 */ 559 + compatible = "arm,coresight-cti", "arm,primecell"; 560 + reg = <0 0x20110000 0 0x1000>; 561 + 562 + clocks = <&soc_smc50mhz>; 563 + clock-names = "apb_pclk"; 564 + power-domains = <&scpi_devpd 0>; 565 + 566 + #address-cells = <1>; 567 + #size-cells = <0>; 568 + 569 + trig-conns@0 { 570 + reg = <0>; 571 + arm,trig-in-sigs=<0>; 572 + arm,trig-in-types=<GEN_INTREQ>; 573 + arm,trig-out-sigs=<0>; 574 + arm,trig-out-types=<GEN_HALTREQ>; 575 + arm,trig-conn-name = "sys_profiler"; 576 + }; 577 + 578 + trig-conns@1 { 579 + reg = <1>; 580 + arm,trig-out-sigs=<2 3>; 581 + arm,trig-out-types=<GEN_HALTREQ GEN_RESTARTREQ>; 582 + arm,trig-conn-name = "watchdog"; 583 + }; 584 + 585 + trig-conns@2 { 586 + reg = <2>; 587 + arm,trig-out-sigs=<1 6>; 588 + arm,trig-out-types=<GEN_HALTREQ GEN_RESTARTREQ>; 589 + arm,trig-conn-name = "g_counter"; 556 590 }; 557 591 }; 558 592
+36 -1
arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi
··· 23 23 }; 24 24 }; 25 25 26 - etf@20140000 { /* etf1 */ 26 + etf_sys1: etf@20140000 { /* etf1 */ 27 27 compatible = "arm,coresight-tmc", "arm,primecell"; 28 28 reg = <0 0x20140000 0 0x1000>; 29 29 ··· 80 80 }; 81 81 }; 82 82 83 + }; 84 + }; 85 + 86 + cti_sys2: cti@20160000 { /* sys_cti_2 */ 87 + compatible = "arm,coresight-cti", "arm,primecell"; 88 + reg = <0 0x20160000 0 0x1000>; 89 + 90 + clocks = <&soc_smc50mhz>; 91 + clock-names = "apb_pclk"; 92 + power-domains = <&scpi_devpd 0>; 93 + 94 + #address-cells = <1>; 95 + #size-cells = <0>; 96 + 97 + trig-conns@0 { 98 + reg = <0>; 99 + arm,trig-in-sigs=<0 1>; 100 + arm,trig-in-types=<SNK_FULL SNK_ACQCOMP>; 101 + arm,trig-out-sigs=<0 1>; 102 + arm,trig-out-types=<SNK_FLUSHIN SNK_TRIGIN>; 103 + arm,cs-dev-assoc = <&etf_sys1>; 104 + }; 105 + 106 + trig-conns@1 { 107 + reg = <1>; 108 + arm,trig-in-sigs=<2 3 4>; 109 + arm,trig-in-types=<ELA_DBGREQ ELA_TSTART ELA_TSTOP>; 110 + arm,trig-conn-name = "ela_clus_0"; 111 + }; 112 + 113 + trig-conns@2 { 114 + reg = <2>; 115 + arm,trig-in-sigs=<5 6 7>; 116 + arm,trig-in-types=<ELA_DBGREQ ELA_TSTART ELA_TSTOP>; 117 + arm,trig-conn-name = "ela_clus_1"; 83 118 }; 84 119 }; 85 120 };
+4
arch/arm64/boot/dts/arm/juno-r1-scmi.dts
··· 15 15 }; 16 16 }; 17 17 18 + &cti_sys2 { 19 + power-domains = <&scmi_devpd 8>; 20 + }; 21 + 18 22 &A57_0 { 19 23 clocks = <&scmi_dvfs 0>; 20 24 };
+25
arch/arm64/boot/dts/arm/juno-r1.dts
··· 9 9 /dts-v1/; 10 10 11 11 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 + #include <dt-bindings/arm/coresight-cti-dt.h> 12 13 #include "juno-base.dtsi" 13 14 #include "juno-cs-r1r2.dtsi" 14 15 ··· 312 311 }; 313 312 314 313 &cpu_debug5 { 314 + cpu = <&A53_3>; 315 + }; 316 + 317 + &cti0 { 318 + cpu = <&A57_0>; 319 + }; 320 + 321 + &cti1 { 322 + cpu = <&A57_1>; 323 + }; 324 + 325 + &cti2 { 326 + cpu = <&A53_0>; 327 + }; 328 + 329 + &cti3 { 330 + cpu = <&A53_1>; 331 + }; 332 + 333 + &cti4 { 334 + cpu = <&A53_2>; 335 + }; 336 + 337 + &cti5 { 315 338 cpu = <&A53_3>; 316 339 };
+4
arch/arm64/boot/dts/arm/juno-r2-scmi.dts
··· 15 15 }; 16 16 }; 17 17 18 + &cti_sys2 { 19 + power-domains = <&scmi_devpd 8>; 20 + }; 21 + 18 22 &A72_0 { 19 23 clocks = <&scmi_dvfs 0>; 20 24 };
+25
arch/arm64/boot/dts/arm/juno-r2.dts
··· 9 9 /dts-v1/; 10 10 11 11 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 + #include <dt-bindings/arm/coresight-cti-dt.h> 12 13 #include "juno-base.dtsi" 13 14 #include "juno-cs-r1r2.dtsi" 14 15 ··· 318 317 }; 319 318 320 319 &cpu_debug5 { 320 + cpu = <&A53_3>; 321 + }; 322 + 323 + &cti0 { 324 + cpu = <&A72_0>; 325 + }; 326 + 327 + &cti1 { 328 + cpu = <&A72_1>; 329 + }; 330 + 331 + &cti2 { 332 + cpu = <&A53_0>; 333 + }; 334 + 335 + &cti3 { 336 + cpu = <&A53_1>; 337 + }; 338 + 339 + &cti4 { 340 + cpu = <&A53_2>; 341 + }; 342 + 343 + &cti5 { 321 344 cpu = <&A53_3>; 322 345 };
+25
arch/arm64/boot/dts/arm/juno-scmi.dtsi
··· 154 154 power-domains = <&scmi_devpd 8>; 155 155 }; 156 156 157 + &cti0 { 158 + power-domains = <&scmi_devpd 8>; 159 + }; 160 + &cti1 { 161 + power-domains = <&scmi_devpd 8>; 162 + }; 163 + &cti2 { 164 + power-domains = <&scmi_devpd 8>; 165 + }; 166 + &cti3 { 167 + power-domains = <&scmi_devpd 8>; 168 + }; 169 + &cti4 { 170 + power-domains = <&scmi_devpd 8>; 171 + }; 172 + &cti5 { 173 + power-domains = <&scmi_devpd 8>; 174 + }; 175 + &cti_sys0 { 176 + power-domains = <&scmi_devpd 8>; 177 + }; 178 + &cti_sys1 { 179 + power-domains = <&scmi_devpd 8>; 180 + }; 181 + 157 182 &gpu { 158 183 clocks = <&scmi_dvfs 2>; 159 184 power-domains = <&scmi_devpd 9>;
+25
arch/arm64/boot/dts/arm/juno.dts
··· 9 9 /dts-v1/; 10 10 11 11 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 + #include <dt-bindings/arm/coresight-cti-dt.h> 12 13 #include "juno-base.dtsi" 13 14 14 15 / { ··· 294 293 }; 295 294 296 295 &cpu_debug5 { 296 + cpu = <&A53_3>; 297 + }; 298 + 299 + &cti0 { 300 + cpu = <&A57_0>; 301 + }; 302 + 303 + &cti1 { 304 + cpu = <&A57_1>; 305 + }; 306 + 307 + &cti2 { 308 + cpu = <&A53_0>; 309 + }; 310 + 311 + &cti3 { 312 + cpu = <&A53_1>; 313 + }; 314 + 315 + &cti4 { 316 + cpu = <&A53_2>; 317 + }; 318 + 319 + &cti5 { 297 320 cpu = <&A53_3>; 298 321 };