From: Zumeng Chen <zumeng.c...@windriver.com>

This patch is to build the coresight topology structure of zynq-7000
series according to the docs of coresight and userguide of zynq-7000.

Signed-off-by: Zumeng Chen <zumeng.c...@windriver.com>
Link: https://patchwork.kernel.org/patch/11181257/
[Quanyang: delete compatible string for itm node]
Signed-off-by: Quanyang Wang <quanyang.w...@windriver.com>
Signed-off-by: Michal Simek <michal.si...@xilinx.com>
---
 arch/arm/boot/dts/zynq-7000.dtsi | 157 +++++++++++++++++++++++++++++++
 1 file changed, 157 insertions(+)

diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi
index fe8e87b15dc5..f23ebe0558c3 100644
--- a/arch/arm/boot/dts/zynq-7000.dtsi
+++ b/arch/arm/boot/dts/zynq-7000.dtsi
@@ -62,6 +62,40 @@
                regulator-always-on;
        };
 
+       replicator {
+               compatible = "arm,coresight-static-replicator";
+               clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
+               clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
+
+               out-ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       /* replicator output ports */
+                       port@0 {
+                               reg = <0>;
+                               replicator_out_port0: endpoint {
+                                       remote-endpoint = <&tpiu_in_port>;
+                               };
+                       };
+                       port@1 {
+                               reg = <1>;
+                               replicator_out_port1: endpoint {
+                                       remote-endpoint = <&etb_in_port>;
+                               };
+                       };
+               };
+               in-ports {
+                       /* replicator input port */
+                       port {
+                               replicator_in_port0: endpoint {
+                                       slave-mode;
+                                       remote-endpoint = <&funnel_out_port>;
+                               };
+                       };
+               };
+       };
+
        amba: amba {
                u-boot,dm-pre-reloc;
                compatible = "simple-bus";
@@ -422,5 +456,128 @@
                        reg = <0xf8005000 0x1000>;
                        timeout-sec = <10>;
                };
+
+               etb@f8801000 {
+                       compatible = "arm,coresight-etb10", "arm,primecell";
+                       reg = <0xf8801000 0x1000>;
+                       clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
+                       clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
+                       in-ports {
+                               port {
+                                       etb_in_port: endpoint {
+                                               remote-endpoint = 
<&replicator_out_port1>;
+                                       };
+                               };
+                       };
+               };
+
+               tpiu@f8803000 {
+                       compatible = "arm,coresight-tpiu", "arm,primecell";
+                       reg = <0xf8803000 0x1000>;
+                       clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
+                       clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
+                       in-ports {
+                               port {
+                                       tpiu_in_port: endpoint {
+                                               remote-endpoint = 
<&replicator_out_port0>;
+                                       };
+                               };
+                       };
+               };
+
+               funnel@f8804000 {
+                       compatible = "arm,coresight-static-funnel", 
"arm,primecell";
+                       reg = <0xf8804000 0x1000>;
+                       clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
+                       clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
+
+                       /* funnel output ports */
+                       out-ports {
+                               port {
+                                       funnel_out_port: endpoint {
+                                               remote-endpoint =
+                                                       <&replicator_in_port0>;
+                                       };
+                               };
+                       };
+
+                       in-ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               /* funnel input ports */
+                               port@0 {
+                                       reg = <0>;
+                                       funnel0_in_port0: endpoint {
+                                               remote-endpoint = 
<&ptm0_out_port>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+                                       funnel0_in_port1: endpoint {
+                                               remote-endpoint = 
<&ptm1_out_port>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <2>;
+                                       funnel0_in_port2: endpoint {
+                                       };
+                               };
+
+                               port@3 {
+                                       reg = <3>;
+                                       funnel0_in_port3: endpoint {
+                                               remote-endpoint = 
<&itm_out_port>;
+                                       };
+                               };
+                               /* The other input ports are not connect to 
anything */
+                       };
+               };
+
+               /* ITM is not supported by kernel, only leave device node here 
*/
+               itm@f8805000 {
+                       reg = <0xf8805000 0x1000>;
+                       clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
+                       clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
+                       out-ports {
+                               port {
+                                       itm_out_port: endpoint {
+                                               remote-endpoint = 
<&funnel0_in_port3>;
+                                       };
+                               };
+                       };
+               };
+
+               ptm@f889c000 {
+                       compatible = "arm,coresight-etm3x", "arm,primecell";
+                       reg = <0xf889c000 0x1000>;
+                       clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
+                       clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
+                       cpu = <&cpu0>;
+                       out-ports {
+                               port {
+                                       ptm0_out_port: endpoint {
+                                               remote-endpoint = 
<&funnel0_in_port0>;
+                                       };
+                               };
+                       };
+               };
+
+               ptm@f889d000 {
+                       compatible = "arm,coresight-etm3x", "arm,primecell";
+                       reg = <0xf889d000 0x1000>;
+                       clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
+                       clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
+                       cpu = <&cpu1>;
+                       out-ports {
+                               port {
+                                       ptm1_out_port: endpoint {
+                                               remote-endpoint = 
<&funnel0_in_port1>;
+                                       };
+                               };
+                       };
+               };
        };
 };
-- 
2.17.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#8155): 
https://lists.yoctoproject.org/g/linux-yocto/message/8155
Mute This Topic: https://lists.yoctoproject.org/mt/65678453/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to