[linux-yocto] [kernel v5.2/standard/xlnx-soc][PATCH 2/3] arm: dts: zynq: enablement of coresight topology

qwang2 quanyang.wang at windriver.com
Thu Sep 26 05:05:21 PDT 2019


On 9/26/19 7:11 PM, Michal Simek wrote:
> On 23. 09. 19 11:47, quanyang.wang at windriver.com wrote:
>> From: Zumeng Chen <zumeng.chen at 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.chen at windriver.com>
>> Signed-off-by: Quanyang Wang <quanyang.wang at windriver.com>
>> ---
>>   arch/arm/boot/dts/zynq-7000.dtsi | 155 +++++++++++++++++++++++++++++++
>>   1 file changed, 155 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi
>> index 07bd31d2ed4a..5602f4f3ad1c 100644
>> --- a/arch/arm/boot/dts/zynq-7000.dtsi
>> +++ b/arch/arm/boot/dts/zynq-7000.dtsi
>> @@ -419,5 +419,160 @@
>>   			reg = <0xf8005000 0x1000>;
>>   			timeout-sec = <10>;
>>   		};
>> +
>> +		etb at 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";
>> +
>> +			port {
>> +				etb_in_port: endpoint {
>> +					remote-endpoint = <&replicator_out_port1>;
>> +				};
>> +			};
>> +		};
>> +
>> +		tpiu at 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";
>> +
>> +			port {
>> +				tpiu_in_port: endpoint {
>> +					slave-mode;
>> +					remote-endpoint = <&replicator_out_port0>;
>> +				};
>> +			};
>> +		};
>> +
>> +		funnel at 0,f8804000 {
>> +			compatible = "arm,coresight-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 at 0 {
>> +					reg = <0>;
>> +					funnel0_in_port0: endpoint {
>> +						slave-mode;
>> +						remote-endpoint = <&ptm0_out_port>;
>> +					};
>> +				};
>> +
>> +				port at 1 {
>> +					reg = <1>;
>> +					funnel0_in_port1: endpoint {
>> +						slave-mode;
>> +						remote-endpoint = <&ptm1_out_port>;
>> +					};
>> +				};
>> +
>> +				port at 2 {
>> +					reg = <2>;
>> +					funnel0_in_port2: endpoint {
>> +						slave-mode;
>> +					};
>> +				};
>> +
>> +				port at 3 {
>> +					reg = <3>;
>> +					funnel0_in_port3: endpoint {
>> +						slave-mode;
>> +						remote-endpoint = <&itm_out_port>;
>> +					};
>> +				};
>> +				/*The other input ports are not connect to anything */
>> +			};
>> +		};
>> +
>> +		replicator {
>> +			compatible = "arm,coresight-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 at 0 {
>> +					reg = <0>;
>> +					replicator_out_port0: endpoint {
>> +						remote-endpoint = <&tpiu_in_port>;
>> +					};
>> +				};
>> +				port at 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>;
>> +					};
>> +				};
>> +			};
>> +		};
>> +
>> +		itm at 0,f8805000 {
>> +			compatible = "arm,coresight-etm3x", "arm,primecell";
>> +			reg = <0xf8805000 0x1000>;
>> +			clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
>> +			clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
>> +
>> +			port {
>> +				itm_out_port: endpoint {
>> +					remote-endpoint = <&funnel0_in_port3>;
>> +				};
>> +			};
>> +		};
>> +
>> +		ptm at 0,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>;
>> +			port {
>> +				ptm0_out_port: endpoint {
>> +					remote-endpoint = <&funnel0_in_port0>;
>> +				};
>> +			};
>> +		};
>> +
>> +		ptm at 0,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>;
>> +			port {
>> +				ptm1_out_port: endpoint {
>> +					remote-endpoint = <&funnel0_in_port1>;
>> +				};
>> +			};
>> +		};
>>   	};
>>   };
>>
> It is kind of interesting series. Especially in the context.
> In 1/3 you are fixing issues reported by latest dtc. And in 2/3 you are
> introducing new one. :-)
> I think this should be fixed.

Hi Michal,

I build the dtb files and not get any warning info. I can't find any error.

Would you please point it out?

Thanks,

Quanyang

>
> M
>
>


More information about the linux-yocto mailing list