arch/arm64/boot/dts/qcom/sm8650.dtsi | 166 +++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+)
Add coresight components: Funnel, ETE and ETF for SM8650.
Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com>
---
Changes in v4:
- Re-sort these nodes by address.
- Link to v3: https://lore.kernel.org/r/20250103-sm8650-cs-dt-v3-1-759a3f6a3cc8@quicinc.com
Changes in v3:
- Move ete0 and funnel-ete to /.
- Update coding style.
- Link to v2: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v2-1-cf24c6c9bddc@quicinc.com
Changes in v2:
- Update compatible for funnel and etf.
- remove unnecessary property: reg-names and arm,primecell-periphid.
- Link to v1: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v1-1-269693451584@quicinc.com
---
arch/arm64/boot/dts/qcom/sm8650.dtsi | 166 +++++++++++++++++++++++++++++++++++
1 file changed, 166 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
index 25e47505adcb790d09f1d2726386438487255824..49d6567fbd2e68b66b517d8d9180c7443f8bf611 100644
--- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
@@ -365,6 +365,40 @@ cluster_sleep_1: cluster-sleep-1 {
};
};
+ ete0 {
+ compatible = "arm,embedded-trace-extension";
+
+ cpu = <&cpu0>;
+
+ out-ports {
+ port {
+ ete0_out_funnel_ete: endpoint {
+ remote-endpoint = <&funnel_ete_in_ete0>;
+ };
+ };
+ };
+ };
+
+ funnel-ete {
+ compatible = "arm,coresight-static-funnel";
+
+ in-ports {
+ port {
+ funnel_ete_in_ete0: endpoint {
+ remote-endpoint = <&ete0_out_funnel_ete>;
+ };
+ };
+ };
+
+ out-ports {
+ port {
+ funnel_ete_out_funnel_apss: endpoint {
+ remote-endpoint = <&funnel_apss_in_funnel_ete>;
+ };
+ };
+ };
+ };
+
firmware {
scm: scm {
compatible = "qcom,scm-sm8650", "qcom,scm";
@@ -4854,6 +4888,138 @@ data-pins {
};
};
+ funnel@10042000 {
+ compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
+
+ reg = <0x0 0x10042000 0x0 0x1000>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@4 {
+ reg = <4>;
+
+ funnel_in1_in_funnel_apss: endpoint {
+ remote-endpoint = <&funnel_apss_out_funnel_in1>;
+ };
+ };
+ };
+
+ out-ports {
+ port {
+ funnel_in1_out_funnel_qdss: endpoint {
+ remote-endpoint = <&funnel_qdss_in_funnel_in1>;
+ };
+ };
+ };
+ };
+
+ funnel@10045000 {
+ compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
+
+ reg = <0x0 0x10045000 0x0 0x1000>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+
+ funnel_qdss_in_funnel_in1: endpoint {
+ remote-endpoint = <&funnel_in1_out_funnel_qdss>;
+ };
+ };
+ };
+
+ out-ports {
+ port {
+ funnel_qdss_out_funnel_aoss: endpoint {
+ remote-endpoint = <&funnel_aoss_in_funnel_qdss>;
+ };
+ };
+ };
+ };
+
+ funnel@10b04000 {
+ compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
+
+ reg = <0x0 0x10b04000 0x0 0x1000>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@7 {
+ reg = <7>;
+
+ funnel_aoss_in_funnel_qdss: endpoint {
+ remote-endpoint = <&funnel_qdss_out_funnel_aoss>;
+ };
+ };
+ };
+
+ out-ports {
+ port {
+ funnel_aoss_out_tmc_etf: endpoint {
+ remote-endpoint = <&tmc_etf_in_funnel_aoss>;
+ };
+ };
+ };
+ };
+
+ tmc@10b05000 {
+ compatible = "arm,coresight-tmc", "arm,primecell";
+
+ reg = <0x0 0x10b05000 0x0 0x1000>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ tmc_etf_in_funnel_aoss: endpoint {
+ remote-endpoint = <&funnel_aoss_out_tmc_etf>;
+ };
+ };
+ };
+ };
+
+ funnel@13810000 {
+ compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
+
+ reg = <0x0 0x13810000 0x0 0x1000>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ funnel_apss_in_funnel_ete: endpoint {
+ remote-endpoint = <&funnel_ete_out_funnel_apss>;
+ };
+ };
+ };
+
+ out-ports {
+ port {
+ funnel_apss_out_funnel_in1: endpoint {
+ remote-endpoint = <&funnel_in1_in_funnel_apss>;
+ };
+ };
+ };
+ };
+
apps_smmu: iommu@15000000 {
compatible = "qcom,sm8650-smmu-500", "qcom,smmu-500", "arm,mmu-500";
reg = <0 0x15000000 0 0x100000>;
---
base-commit: fac04efc5c793dccbd07e2d59af9f90b7fc0dca4
change-id: 20241209-sm8650-cs-dt-ad649dcfa5e8
Best regards,
--
Yuanfang Zhang <quic_yuanfang@quicinc.com>
On 07/01/2025 09:48, Yuanfang Zhang wrote: > Add coresight components: Funnel, ETE and ETF for SM8650. > > Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com> > --- > Changes in v4: > - Re-sort these nodes by address. > - Link to v3: https://lore.kernel.org/r/20250103-sm8650-cs-dt-v3-1-759a3f6a3cc8@quicinc.com > > Changes in v3: > - Move ete0 and funnel-ete to /. > - Update coding style. > - Link to v2: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v2-1-cf24c6c9bddc@quicinc.com > > Changes in v2: > - Update compatible for funnel and etf. > - remove unnecessary property: reg-names and arm,primecell-periphid. > - Link to v1: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v1-1-269693451584@quicinc.com > --- > arch/arm64/boot/dts/qcom/sm8650.dtsi | 166 +++++++++++++++++++++++++++++++++++ > 1 file changed, 166 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi > index 25e47505adcb790d09f1d2726386438487255824..49d6567fbd2e68b66b517d8d9180c7443f8bf611 100644 > --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi > +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi > @@ -365,6 +365,40 @@ cluster_sleep_1: cluster-sleep-1 { > }; > }; > > + ete0 { Isn't this being changed to ete-[0-9]? I think I saw some patch for this. Best regards, Krzysztof
Hi, On 07/01/2025 09:48, Yuanfang Zhang wrote: > Add coresight components: Funnel, ETE and ETF for SM8650. > > Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com> > --- > Changes in v4: > - Re-sort these nodes by address. > - Link to v3: https://lore.kernel.org/r/20250103-sm8650-cs-dt-v3-1-759a3f6a3cc8@quicinc.com > > Changes in v3: > - Move ete0 and funnel-ete to /. > - Update coding style. > - Link to v2: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v2-1-cf24c6c9bddc@quicinc.com > > Changes in v2: > - Update compatible for funnel and etf. > - remove unnecessary property: reg-names and arm,primecell-periphid. > - Link to v1: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v1-1-269693451584@quicinc.com > --- > arch/arm64/boot/dts/qcom/sm8650.dtsi | 166 +++++++++++++++++++++++++++++++++++ > 1 file changed, 166 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi > index 25e47505adcb790d09f1d2726386438487255824..49d6567fbd2e68b66b517d8d9180c7443f8bf611 100644 > --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi > +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi > @@ -365,6 +365,40 @@ cluster_sleep_1: cluster-sleep-1 { > }; > }; > > + ete0 { > + compatible = "arm,embedded-trace-extension"; > + > + cpu = <&cpu0>; > + > + out-ports { > + port { > + ete0_out_funnel_ete: endpoint { > + remote-endpoint = <&funnel_ete_in_ete0>; > + }; > + }; > + }; > + }; Why only the cpu0 ete has been added ? And why are the other components (TPDA, TPDM, STM, CTI...) missing ? Neil > + > + funnel-ete { > + compatible = "arm,coresight-static-funnel"; > + > + in-ports { > + port { > + funnel_ete_in_ete0: endpoint { > + remote-endpoint = <&ete0_out_funnel_ete>; > + }; > + }; > + }; > + > + out-ports { > + port { > + funnel_ete_out_funnel_apss: endpoint { > + remote-endpoint = <&funnel_apss_in_funnel_ete>; > + }; > + }; > + }; > + }; > + > firmware { > scm: scm { > compatible = "qcom,scm-sm8650", "qcom,scm"; > @@ -4854,6 +4888,138 @@ data-pins { > }; > }; > > + funnel@10042000 { > + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; > + > + reg = <0x0 0x10042000 0x0 0x1000>; > + > + clocks = <&aoss_qmp>; > + clock-names = "apb_pclk"; > + > + in-ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@4 { > + reg = <4>; > + > + funnel_in1_in_funnel_apss: endpoint { > + remote-endpoint = <&funnel_apss_out_funnel_in1>; > + }; > + }; > + }; > + > + out-ports { > + port { > + funnel_in1_out_funnel_qdss: endpoint { > + remote-endpoint = <&funnel_qdss_in_funnel_in1>; > + }; > + }; > + }; > + }; > + > + funnel@10045000 { > + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; > + > + reg = <0x0 0x10045000 0x0 0x1000>; > + > + clocks = <&aoss_qmp>; > + clock-names = "apb_pclk"; > + > + in-ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + reg = <1>; > + > + funnel_qdss_in_funnel_in1: endpoint { > + remote-endpoint = <&funnel_in1_out_funnel_qdss>; > + }; > + }; > + }; > + > + out-ports { > + port { > + funnel_qdss_out_funnel_aoss: endpoint { > + remote-endpoint = <&funnel_aoss_in_funnel_qdss>; > + }; > + }; > + }; > + }; > + > + funnel@10b04000 { > + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; > + > + reg = <0x0 0x10b04000 0x0 0x1000>; > + > + clocks = <&aoss_qmp>; > + clock-names = "apb_pclk"; > + > + in-ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@7 { > + reg = <7>; > + > + funnel_aoss_in_funnel_qdss: endpoint { > + remote-endpoint = <&funnel_qdss_out_funnel_aoss>; > + }; > + }; > + }; > + > + out-ports { > + port { > + funnel_aoss_out_tmc_etf: endpoint { > + remote-endpoint = <&tmc_etf_in_funnel_aoss>; > + }; > + }; > + }; > + }; > + > + tmc@10b05000 { > + compatible = "arm,coresight-tmc", "arm,primecell"; > + > + reg = <0x0 0x10b05000 0x0 0x1000>; > + > + clocks = <&aoss_qmp>; > + clock-names = "apb_pclk"; > + > + in-ports { > + port { > + tmc_etf_in_funnel_aoss: endpoint { > + remote-endpoint = <&funnel_aoss_out_tmc_etf>; > + }; > + }; > + }; > + }; > + > + funnel@13810000 { > + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; > + > + reg = <0x0 0x13810000 0x0 0x1000>; > + > + clocks = <&aoss_qmp>; > + clock-names = "apb_pclk"; > + > + in-ports { > + port { > + funnel_apss_in_funnel_ete: endpoint { > + remote-endpoint = <&funnel_ete_out_funnel_apss>; > + }; > + }; > + }; > + > + out-ports { > + port { > + funnel_apss_out_funnel_in1: endpoint { > + remote-endpoint = <&funnel_in1_in_funnel_apss>; > + }; > + }; > + }; > + }; > + > apps_smmu: iommu@15000000 { > compatible = "qcom,sm8650-smmu-500", "qcom,smmu-500", "arm,mmu-500"; > reg = <0 0x15000000 0 0x100000>; > > --- > base-commit: fac04efc5c793dccbd07e2d59af9f90b7fc0dca4 > change-id: 20241209-sm8650-cs-dt-ad649dcfa5e8 > > Best regards,
On 1/16/2025 11:57 PM, neil.armstrong@linaro.org wrote: > Hi, > > On 07/01/2025 09:48, Yuanfang Zhang wrote: >> Add coresight components: Funnel, ETE and ETF for SM8650. >> >> Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com> >> --- >> Changes in v4: >> - Re-sort these nodes by address. >> - Link to v3: https://lore.kernel.org/r/20250103-sm8650-cs-dt-v3-1-759a3f6a3cc8@quicinc.com >> >> Changes in v3: >> - Move ete0 and funnel-ete to /. >> - Update coding style. >> - Link to v2: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v2-1-cf24c6c9bddc@quicinc.com >> >> Changes in v2: >> - Update compatible for funnel and etf. >> - remove unnecessary property: reg-names and arm,primecell-periphid. >> - Link to v1: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v1-1-269693451584@quicinc.com >> --- >> arch/arm64/boot/dts/qcom/sm8650.dtsi | 166 +++++++++++++++++++++++++++++++++++ >> 1 file changed, 166 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi >> index 25e47505adcb790d09f1d2726386438487255824..49d6567fbd2e68b66b517d8d9180c7443f8bf611 100644 >> --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi >> +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi >> @@ -365,6 +365,40 @@ cluster_sleep_1: cluster-sleep-1 { >> }; >> }; >> + ete0 { >> + compatible = "arm,embedded-trace-extension"; >> + >> + cpu = <&cpu0>; >> + >> + out-ports { >> + port { >> + ete0_out_funnel_ete: endpoint { >> + remote-endpoint = <&funnel_ete_in_ete0>; >> + }; >> + }; >> + }; >> + }; > > Why only the cpu0 ete has been added ? > > And why are the other components (TPDA, TPDM, STM, CTI...) missing ? > > Neil > At present, only ete0 is used, and other components can be added later if need. >> + >> + funnel-ete { >> + compatible = "arm,coresight-static-funnel"; >> + >> + in-ports { >> + port { >> + funnel_ete_in_ete0: endpoint { >> + remote-endpoint = <&ete0_out_funnel_ete>; >> + }; >> + }; >> + }; >> + >> + out-ports { >> + port { >> + funnel_ete_out_funnel_apss: endpoint { >> + remote-endpoint = <&funnel_apss_in_funnel_ete>; >> + }; >> + }; >> + }; >> + }; >> + >> firmware { >> scm: scm { >> compatible = "qcom,scm-sm8650", "qcom,scm"; >> @@ -4854,6 +4888,138 @@ data-pins { >> }; >> }; >> + funnel@10042000 { >> + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; >> + >> + reg = <0x0 0x10042000 0x0 0x1000>; >> + >> + clocks = <&aoss_qmp>; >> + clock-names = "apb_pclk"; >> + >> + in-ports { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + port@4 { >> + reg = <4>; >> + >> + funnel_in1_in_funnel_apss: endpoint { >> + remote-endpoint = <&funnel_apss_out_funnel_in1>; >> + }; >> + }; >> + }; >> + >> + out-ports { >> + port { >> + funnel_in1_out_funnel_qdss: endpoint { >> + remote-endpoint = <&funnel_qdss_in_funnel_in1>; >> + }; >> + }; >> + }; >> + }; >> + >> + funnel@10045000 { >> + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; >> + >> + reg = <0x0 0x10045000 0x0 0x1000>; >> + >> + clocks = <&aoss_qmp>; >> + clock-names = "apb_pclk"; >> + >> + in-ports { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + port@1 { >> + reg = <1>; >> + >> + funnel_qdss_in_funnel_in1: endpoint { >> + remote-endpoint = <&funnel_in1_out_funnel_qdss>; >> + }; >> + }; >> + }; >> + >> + out-ports { >> + port { >> + funnel_qdss_out_funnel_aoss: endpoint { >> + remote-endpoint = <&funnel_aoss_in_funnel_qdss>; >> + }; >> + }; >> + }; >> + }; >> + >> + funnel@10b04000 { >> + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; >> + >> + reg = <0x0 0x10b04000 0x0 0x1000>; >> + >> + clocks = <&aoss_qmp>; >> + clock-names = "apb_pclk"; >> + >> + in-ports { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + port@7 { >> + reg = <7>; >> + >> + funnel_aoss_in_funnel_qdss: endpoint { >> + remote-endpoint = <&funnel_qdss_out_funnel_aoss>; >> + }; >> + }; >> + }; >> + >> + out-ports { >> + port { >> + funnel_aoss_out_tmc_etf: endpoint { >> + remote-endpoint = <&tmc_etf_in_funnel_aoss>; >> + }; >> + }; >> + }; >> + }; >> + >> + tmc@10b05000 { >> + compatible = "arm,coresight-tmc", "arm,primecell"; >> + >> + reg = <0x0 0x10b05000 0x0 0x1000>; >> + >> + clocks = <&aoss_qmp>; >> + clock-names = "apb_pclk"; >> + >> + in-ports { >> + port { >> + tmc_etf_in_funnel_aoss: endpoint { >> + remote-endpoint = <&funnel_aoss_out_tmc_etf>; >> + }; >> + }; >> + }; >> + }; >> + >> + funnel@13810000 { >> + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; >> + >> + reg = <0x0 0x13810000 0x0 0x1000>; >> + >> + clocks = <&aoss_qmp>; >> + clock-names = "apb_pclk"; >> + >> + in-ports { >> + port { >> + funnel_apss_in_funnel_ete: endpoint { >> + remote-endpoint = <&funnel_ete_out_funnel_apss>; >> + }; >> + }; >> + }; >> + >> + out-ports { >> + port { >> + funnel_apss_out_funnel_in1: endpoint { >> + remote-endpoint = <&funnel_in1_in_funnel_apss>; >> + }; >> + }; >> + }; >> + }; >> + >> apps_smmu: iommu@15000000 { >> compatible = "qcom,sm8650-smmu-500", "qcom,smmu-500", "arm,mmu-500"; >> reg = <0 0x15000000 0 0x100000>; >> >> --- >> base-commit: fac04efc5c793dccbd07e2d59af9f90b7fc0dca4 >> change-id: 20241209-sm8650-cs-dt-ad649dcfa5e8 >> >> Best regards, >
On Fri, Jan 17, 2025 at 04:20:01PM +0800, Yuanfang Zhang wrote: > > > On 1/16/2025 11:57 PM, neil.armstrong@linaro.org wrote: > > Hi, > > > > On 07/01/2025 09:48, Yuanfang Zhang wrote: > >> Add coresight components: Funnel, ETE and ETF for SM8650. > >> > >> Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com> > >> --- > >> Changes in v4: > >> - Re-sort these nodes by address. > >> - Link to v3: https://lore.kernel.org/r/20250103-sm8650-cs-dt-v3-1-759a3f6a3cc8@quicinc.com > >> > >> Changes in v3: > >> - Move ete0 and funnel-ete to /. > >> - Update coding style. > >> - Link to v2: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v2-1-cf24c6c9bddc@quicinc.com > >> > >> Changes in v2: > >> - Update compatible for funnel and etf. > >> - remove unnecessary property: reg-names and arm,primecell-periphid. > >> - Link to v1: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v1-1-269693451584@quicinc.com > >> --- > >> arch/arm64/boot/dts/qcom/sm8650.dtsi | 166 +++++++++++++++++++++++++++++++++++ > >> 1 file changed, 166 insertions(+) > >> > >> diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi > >> index 25e47505adcb790d09f1d2726386438487255824..49d6567fbd2e68b66b517d8d9180c7443f8bf611 100644 > >> --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi > >> +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi > >> @@ -365,6 +365,40 @@ cluster_sleep_1: cluster-sleep-1 { > >> }; > >> }; > >> + ete0 { > >> + compatible = "arm,embedded-trace-extension"; > >> + > >> + cpu = <&cpu0>; > >> + > >> + out-ports { > >> + port { > >> + ete0_out_funnel_ete: endpoint { > >> + remote-endpoint = <&funnel_ete_in_ete0>; > >> + }; > >> + }; > >> + }; > >> + }; > > > > Why only the cpu0 ete has been added ? > > > > And why are the other components (TPDA, TPDM, STM, CTI...) missing ? > > > > Neil > > > At present, only ete0 is used, and other components can be added later if need. Please describe the hardware, not the usecase. If there are other trace cells, please add them. -- With best wishes Dmitry
On 17/01/2025 09:20, Yuanfang Zhang wrote: > > > On 1/16/2025 11:57 PM, neil.armstrong@linaro.org wrote: >> Hi, >> >> On 07/01/2025 09:48, Yuanfang Zhang wrote: >>> Add coresight components: Funnel, ETE and ETF for SM8650. >>> >>> Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com> >>> --- >>> Changes in v4: >>> - Re-sort these nodes by address. >>> - Link to v3: https://lore.kernel.org/r/20250103-sm8650-cs-dt-v3-1-759a3f6a3cc8@quicinc.com >>> >>> Changes in v3: >>> - Move ete0 and funnel-ete to /. >>> - Update coding style. >>> - Link to v2: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v2-1-cf24c6c9bddc@quicinc.com >>> >>> Changes in v2: >>> - Update compatible for funnel and etf. >>> - remove unnecessary property: reg-names and arm,primecell-periphid. >>> - Link to v1: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v1-1-269693451584@quicinc.com >>> --- >>> arch/arm64/boot/dts/qcom/sm8650.dtsi | 166 +++++++++++++++++++++++++++++++++++ >>> 1 file changed, 166 insertions(+) >>> >>> diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi >>> index 25e47505adcb790d09f1d2726386438487255824..49d6567fbd2e68b66b517d8d9180c7443f8bf611 100644 >>> --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi >>> +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi >>> @@ -365,6 +365,40 @@ cluster_sleep_1: cluster-sleep-1 { >>> }; >>> }; >>> + ete0 { >>> + compatible = "arm,embedded-trace-extension"; >>> + >>> + cpu = <&cpu0>; >>> + >>> + out-ports { >>> + port { >>> + ete0_out_funnel_ete: endpoint { >>> + remote-endpoint = <&funnel_ete_in_ete0>; >>> + }; >>> + }; >>> + }; >>> + }; >> >> Why only the cpu0 ete has been added ? >> >> And why are the other components (TPDA, TPDM, STM, CTI...) missing ? >> >> Neil >> > At present, only ete0 is used, and other components can be added later if need. Hmm, ok so I added the other CPUs and I was able to trace on all cpus, so I was wondering why at least those were not added because having only ete0 declared is quite useless. =============><=========================================================== + ete1 { + compatible = "arm,embedded-trace-extension"; + + cpu = <&cpu1>; + + out-ports { + port { + ete1_out_funnel_ete: endpoint { + remote-endpoint = <&funnel_ete_in_ete1>; + }; + }; + }; + }; + + ete2 { + compatible = "arm,embedded-trace-extension"; + + cpu = <&cpu2>; + + out-ports { + port { + ete2_out_funnel_ete: endpoint { + remote-endpoint = <&funnel_ete_in_ete2>; + }; + }; + }; + }; + + ete3 { + compatible = "arm,embedded-trace-extension"; + + cpu = <&cpu3>; + + out-ports { + port { + ete3_out_funnel_ete: endpoint { + remote-endpoint = <&funnel_ete_in_ete3>; + }; + }; + }; + }; + + ete4 { + compatible = "arm,embedded-trace-extension"; + + cpu = <&cpu4>; + + out-ports { + port { + ete4_out_funnel_ete: endpoint { + remote-endpoint = <&funnel_ete_in_ete4>; + }; + }; + }; + }; + + ete5 { + compatible = "arm,embedded-trace-extension"; + + cpu = <&cpu5>; + + out-ports { + port { + ete5_out_funnel_ete: endpoint { + remote-endpoint = <&funnel_ete_in_ete5>; + }; + }; + }; + }; + + ete6 { + compatible = "arm,embedded-trace-extension"; + + cpu = <&cpu6>; + + out-ports { + port { + ete6_out_funnel_ete: endpoint { + remote-endpoint = <&funnel_ete_in_ete6>; + }; + }; + }; + }; + + ete7 { + compatible = "arm,embedded-trace-extension"; + + cpu = <&cpu7>; + + out-ports { + port { + ete7_out_funnel_ete: endpoint { + remote-endpoint = <&funnel_ete_in_ete7>; + }; + }; + }; + }; + funnel-ete { compatible = "arm,coresight-static-funnel"; in-ports { - port { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; funnel_ete_in_ete0: endpoint { remote-endpoint = <&ete0_out_funnel_ete>; }; }; + + port@1 { + reg = <1>; + funnel_ete_in_ete1: endpoint { + remote-endpoint = <&ete1_out_funnel_ete>; + }; + }; + + port@2 { + reg = <2>; + funnel_ete_in_ete2: endpoint { + remote-endpoint = <&ete2_out_funnel_ete>; + }; + }; + + port@3 { + reg = <3>; + funnel_ete_in_ete3: endpoint { + remote-endpoint = <&ete3_out_funnel_ete>; + }; + }; + + port@4 { + reg = <4>; + funnel_ete_in_ete4: endpoint { + remote-endpoint = <&ete4_out_funnel_ete>; + }; + }; + + port@5 { + reg = <5>; + funnel_ete_in_ete5: endpoint { + remote-endpoint = <&ete5_out_funnel_ete>; + }; + }; + + port@6 { + reg = <6>; + funnel_ete_in_ete6: endpoint { + remote-endpoint = <&ete6_out_funnel_ete>; + }; + }; + + port@7 { + reg = <7>; + funnel_ete_in_ete7: endpoint { + remote-endpoint = <&ete7_out_funnel_ete>; + }; + }; }; =============><=========================================================== >>> + >>> + funnel-ete { >>> + compatible = "arm,coresight-static-funnel"; >>> + >>> + in-ports { >>> + port { >>> + funnel_ete_in_ete0: endpoint { >>> + remote-endpoint = <&ete0_out_funnel_ete>; >>> + }; >>> + }; >>> + }; >>> + >>> + out-ports { >>> + port { >>> + funnel_ete_out_funnel_apss: endpoint { >>> + remote-endpoint = <&funnel_apss_in_funnel_ete>; >>> + }; >>> + }; >>> + }; >>> + }; >>> + >>> firmware { >>> scm: scm { >>> compatible = "qcom,scm-sm8650", "qcom,scm"; >>> @@ -4854,6 +4888,138 @@ data-pins { >>> }; >>> }; >>> + funnel@10042000 { >>> + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; >>> + >>> + reg = <0x0 0x10042000 0x0 0x1000>; >>> + >>> + clocks = <&aoss_qmp>; >>> + clock-names = "apb_pclk"; >>> + >>> + in-ports { >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + >>> + port@4 { >>> + reg = <4>; >>> + >>> + funnel_in1_in_funnel_apss: endpoint { >>> + remote-endpoint = <&funnel_apss_out_funnel_in1>; >>> + }; >>> + }; >>> + }; >>> + >>> + out-ports { >>> + port { >>> + funnel_in1_out_funnel_qdss: endpoint { >>> + remote-endpoint = <&funnel_qdss_in_funnel_in1>; >>> + }; >>> + }; >>> + }; >>> + }; >>> + >>> + funnel@10045000 { >>> + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; >>> + >>> + reg = <0x0 0x10045000 0x0 0x1000>; >>> + >>> + clocks = <&aoss_qmp>; >>> + clock-names = "apb_pclk"; >>> + >>> + in-ports { >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + >>> + port@1 { >>> + reg = <1>; >>> + >>> + funnel_qdss_in_funnel_in1: endpoint { >>> + remote-endpoint = <&funnel_in1_out_funnel_qdss>; >>> + }; >>> + }; >>> + }; >>> + >>> + out-ports { >>> + port { >>> + funnel_qdss_out_funnel_aoss: endpoint { >>> + remote-endpoint = <&funnel_aoss_in_funnel_qdss>; >>> + }; >>> + }; >>> + }; >>> + }; >>> + >>> + funnel@10b04000 { >>> + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; >>> + >>> + reg = <0x0 0x10b04000 0x0 0x1000>; >>> + >>> + clocks = <&aoss_qmp>; >>> + clock-names = "apb_pclk"; >>> + >>> + in-ports { >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + >>> + port@7 { >>> + reg = <7>; >>> + >>> + funnel_aoss_in_funnel_qdss: endpoint { >>> + remote-endpoint = <&funnel_qdss_out_funnel_aoss>; >>> + }; >>> + }; >>> + }; >>> + >>> + out-ports { >>> + port { >>> + funnel_aoss_out_tmc_etf: endpoint { >>> + remote-endpoint = <&tmc_etf_in_funnel_aoss>; >>> + }; >>> + }; >>> + }; >>> + }; >>> + >>> + tmc@10b05000 { >>> + compatible = "arm,coresight-tmc", "arm,primecell"; >>> + >>> + reg = <0x0 0x10b05000 0x0 0x1000>; >>> + >>> + clocks = <&aoss_qmp>; >>> + clock-names = "apb_pclk"; >>> + >>> + in-ports { >>> + port { >>> + tmc_etf_in_funnel_aoss: endpoint { >>> + remote-endpoint = <&funnel_aoss_out_tmc_etf>; >>> + }; >>> + }; >>> + }; >>> + }; >>> + >>> + funnel@13810000 { >>> + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; >>> + >>> + reg = <0x0 0x13810000 0x0 0x1000>; >>> + >>> + clocks = <&aoss_qmp>; >>> + clock-names = "apb_pclk"; >>> + >>> + in-ports { >>> + port { >>> + funnel_apss_in_funnel_ete: endpoint { >>> + remote-endpoint = <&funnel_ete_out_funnel_apss>; >>> + }; >>> + }; >>> + }; >>> + >>> + out-ports { >>> + port { >>> + funnel_apss_out_funnel_in1: endpoint { >>> + remote-endpoint = <&funnel_in1_in_funnel_apss>; >>> + }; >>> + }; >>> + }; >>> + }; >>> + >>> apps_smmu: iommu@15000000 { >>> compatible = "qcom,sm8650-smmu-500", "qcom,smmu-500", "arm,mmu-500"; >>> reg = <0 0x15000000 0 0x100000>; >>> >>> --- >>> base-commit: fac04efc5c793dccbd07e2d59af9f90b7fc0dca4 >>> change-id: 20241209-sm8650-cs-dt-ad649dcfa5e8 >>> >>> Best regards, >> >
On Tue, 07 Jan 2025 16:48:26 +0800, Yuanfang Zhang wrote: > Add coresight components: Funnel, ETE and ETF for SM8650. > > Applied, thanks! [1/1] arm64: dts: qcom: Add coresight node for SM8650 commit: 256e6937e48a14cc5ea02ce9e4e0fbb4463c4464 Best regards, -- Bjorn Andersson <andersson@kernel.org>
On Tue, Jan 07, 2025 at 04:48:26PM +0800, Yuanfang Zhang wrote: > Add coresight components: Funnel, ETE and ETF for SM8650. > Please adopt the expected subject style of: "arm64: dts: qcom: <platform>[-board]: Subject" Run "git log --oneline -- <file>" if you're uncertain how it should look. I'm correcting this one while applying it, no need to resend. Thanks, Bjorn > Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com> > --- > Changes in v4: > - Re-sort these nodes by address. > - Link to v3: https://lore.kernel.org/r/20250103-sm8650-cs-dt-v3-1-759a3f6a3cc8@quicinc.com > > Changes in v3: > - Move ete0 and funnel-ete to /. > - Update coding style. > - Link to v2: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v2-1-cf24c6c9bddc@quicinc.com > > Changes in v2: > - Update compatible for funnel and etf. > - remove unnecessary property: reg-names and arm,primecell-periphid. > - Link to v1: https://lore.kernel.org/r/20241210-sm8650-cs-dt-v1-1-269693451584@quicinc.com > --- > arch/arm64/boot/dts/qcom/sm8650.dtsi | 166 +++++++++++++++++++++++++++++++++++ > 1 file changed, 166 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi > index 25e47505adcb790d09f1d2726386438487255824..49d6567fbd2e68b66b517d8d9180c7443f8bf611 100644 > --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi > +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi > @@ -365,6 +365,40 @@ cluster_sleep_1: cluster-sleep-1 { > }; > }; > > + ete0 { > + compatible = "arm,embedded-trace-extension"; > + > + cpu = <&cpu0>; > + > + out-ports { > + port { > + ete0_out_funnel_ete: endpoint { > + remote-endpoint = <&funnel_ete_in_ete0>; > + }; > + }; > + }; > + }; > + > + funnel-ete { > + compatible = "arm,coresight-static-funnel"; > + > + in-ports { > + port { > + funnel_ete_in_ete0: endpoint { > + remote-endpoint = <&ete0_out_funnel_ete>; > + }; > + }; > + }; > + > + out-ports { > + port { > + funnel_ete_out_funnel_apss: endpoint { > + remote-endpoint = <&funnel_apss_in_funnel_ete>; > + }; > + }; > + }; > + }; > + > firmware { > scm: scm { > compatible = "qcom,scm-sm8650", "qcom,scm"; > @@ -4854,6 +4888,138 @@ data-pins { > }; > }; > > + funnel@10042000 { > + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; > + > + reg = <0x0 0x10042000 0x0 0x1000>; > + > + clocks = <&aoss_qmp>; > + clock-names = "apb_pclk"; > + > + in-ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@4 { > + reg = <4>; > + > + funnel_in1_in_funnel_apss: endpoint { > + remote-endpoint = <&funnel_apss_out_funnel_in1>; > + }; > + }; > + }; > + > + out-ports { > + port { > + funnel_in1_out_funnel_qdss: endpoint { > + remote-endpoint = <&funnel_qdss_in_funnel_in1>; > + }; > + }; > + }; > + }; > + > + funnel@10045000 { > + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; > + > + reg = <0x0 0x10045000 0x0 0x1000>; > + > + clocks = <&aoss_qmp>; > + clock-names = "apb_pclk"; > + > + in-ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + reg = <1>; > + > + funnel_qdss_in_funnel_in1: endpoint { > + remote-endpoint = <&funnel_in1_out_funnel_qdss>; > + }; > + }; > + }; > + > + out-ports { > + port { > + funnel_qdss_out_funnel_aoss: endpoint { > + remote-endpoint = <&funnel_aoss_in_funnel_qdss>; > + }; > + }; > + }; > + }; > + > + funnel@10b04000 { > + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; > + > + reg = <0x0 0x10b04000 0x0 0x1000>; > + > + clocks = <&aoss_qmp>; > + clock-names = "apb_pclk"; > + > + in-ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@7 { > + reg = <7>; > + > + funnel_aoss_in_funnel_qdss: endpoint { > + remote-endpoint = <&funnel_qdss_out_funnel_aoss>; > + }; > + }; > + }; > + > + out-ports { > + port { > + funnel_aoss_out_tmc_etf: endpoint { > + remote-endpoint = <&tmc_etf_in_funnel_aoss>; > + }; > + }; > + }; > + }; > + > + tmc@10b05000 { > + compatible = "arm,coresight-tmc", "arm,primecell"; > + > + reg = <0x0 0x10b05000 0x0 0x1000>; > + > + clocks = <&aoss_qmp>; > + clock-names = "apb_pclk"; > + > + in-ports { > + port { > + tmc_etf_in_funnel_aoss: endpoint { > + remote-endpoint = <&funnel_aoss_out_tmc_etf>; > + }; > + }; > + }; > + }; > + > + funnel@13810000 { > + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; > + > + reg = <0x0 0x13810000 0x0 0x1000>; > + > + clocks = <&aoss_qmp>; > + clock-names = "apb_pclk"; > + > + in-ports { > + port { > + funnel_apss_in_funnel_ete: endpoint { > + remote-endpoint = <&funnel_ete_out_funnel_apss>; > + }; > + }; > + }; > + > + out-ports { > + port { > + funnel_apss_out_funnel_in1: endpoint { > + remote-endpoint = <&funnel_in1_in_funnel_apss>; > + }; > + }; > + }; > + }; > + > apps_smmu: iommu@15000000 { > compatible = "qcom,sm8650-smmu-500", "qcom,smmu-500", "arm,mmu-500"; > reg = <0 0x15000000 0 0x100000>; > > --- > base-commit: fac04efc5c793dccbd07e2d59af9f90b7fc0dca4 > change-id: 20241209-sm8650-cs-dt-ad649dcfa5e8 > > Best regards, > -- > Yuanfang Zhang <quic_yuanfang@quicinc.com> >
© 2016 - 2025 Red Hat, Inc.