]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: sa8775p: Add CTCU and ETR nodes
authorJie Gan <quic_jiegan@quicinc.com>
Mon, 3 Mar 2025 03:29:31 +0000 (11:29 +0800)
committerBjorn Andersson <andersson@kernel.org>
Thu, 13 Mar 2025 22:12:32 +0000 (17:12 -0500)
Add CTCU and ETR nodes in DT to enable related functionalities.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Jie Gan <quic_jiegan@quicinc.com>
Acked-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20250303032931.2500935-11-quic_jiegan@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sa8775p.dtsi

index 6a2c49047df54c62e29871d6b8b4006f052b5ed7..581dac8556ec3f2d24547146b97cac1ece1b726b 100644 (file)
                                 <&apps_smmu 0x481 0x00>;
                };
 
+               ctcu@4001000 {
+                       compatible = "qcom,sa8775p-ctcu";
+                       reg = <0x0 0x04001000 0x0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb";
+
+                       in-ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+
+                                       ctcu_in0: endpoint {
+                                               remote-endpoint = <&etr0_out>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+
+                                       ctcu_in1: endpoint {
+                                               remote-endpoint = <&etr1_out>;
+                                       };
+                               };
+                       };
+               };
+
                stm: stm@4002000 {
                        compatible = "arm,coresight-stm", "arm,primecell";
                        reg = <0x0 0x4002000 0x0 0x1000>,
                        };
                };
 
+               replicator@4046000 {
+                       compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
+                       reg = <0x0 0x04046000 0x0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+
+                       in-ports {
+                               port {
+                                       qdss_rep_in: endpoint {
+                                               remote-endpoint = <&swao_rep_out0>;
+                                       };
+                               };
+                       };
+
+                       out-ports {
+                               port {
+                                       qdss_rep_out0: endpoint {
+                                               remote-endpoint = <&etr_rep_in>;
+                                       };
+                               };
+                       };
+               };
+
+               tmc_etr: tmc@4048000 {
+                       compatible = "arm,coresight-tmc", "arm,primecell";
+                       reg = <0x0 0x04048000 0x0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+                       iommus = <&apps_smmu 0x04c0 0x00>;
+
+                       arm,scatter-gather;
+
+                       in-ports {
+                               port {
+                                       etr0_in: endpoint {
+                                               remote-endpoint = <&etr_rep_out0>;
+                                       };
+                               };
+                       };
+
+                       out-ports {
+                               port {
+                                       etr0_out: endpoint {
+                                               remote-endpoint = <&ctcu_in0>;
+                                       };
+                               };
+                       };
+               };
+
+               replicator@404e000 {
+                       compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
+                       reg = <0x0 0x0404e000 0x0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+
+                       in-ports {
+                               port {
+                                       etr_rep_in: endpoint {
+                                               remote-endpoint = <&qdss_rep_out0>;
+                                       };
+                               };
+                       };
+
+                       out-ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+
+                                       etr_rep_out0: endpoint {
+                                               remote-endpoint = <&etr0_in>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+
+                                       etr_rep_out1: endpoint {
+                                               remote-endpoint = <&etr1_in>;
+                                       };
+                               };
+                       };
+               };
+
+               tmc_etr1: tmc@404f000 {
+                       compatible = "arm,coresight-tmc", "arm,primecell";
+                       reg = <0x0 0x0404f000 0x0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+                       iommus = <&apps_smmu 0x04a0 0x40>;
+
+                       arm,scatter-gather;
+                       arm,buffer-size = <0x400000>;
+
+                       in-ports {
+                               port {
+                                       etr1_in: endpoint {
+                                               remote-endpoint = <&etr_rep_out1>;
+                                       };
+                               };
+                       };
+
+                       out-ports {
+                               port {
+                                       etr1_out: endpoint {
+                                               remote-endpoint = <&ctcu_in1>;
+                                       };
+                               };
+                       };
+               };
+
                funnel@4b04000 {
                        compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
                        reg = <0x0 0x4b04000 0x0 0x1000>;
                                #address-cells = <1>;
                                #size-cells = <0>;
 
+                               port@0 {
+                                       reg = <0>;
+
+                                       swao_rep_out0: endpoint {
+                                               remote-endpoint = <&qdss_rep_in>;
+                                       };
+                               };
+
                                port@1 {
                                        reg = <1>;
                                        swao_rep_out1: endpoint {