* [PATCH 1/3] dt-binding: document QCOM platforms for CTCU device
2026-02-03 8:08 [PATCH 0/3] Enable CTCU and ETR devices for multiple QCOM platforms Jie Gan
@ 2026-02-03 8:08 ` Jie Gan
2026-02-03 8:50 ` Konrad Dybcio
2026-02-03 8:08 ` [PATCH 2/3] arm64: dts: qcom: hamoa: enable ETR and CTCU devices Jie Gan
2026-02-03 8:08 ` [PATCH 3/3] arm64: dts: qcom: pakala: " Jie Gan
2 siblings, 1 reply; 13+ messages in thread
From: Jie Gan @ 2026-02-03 8:08 UTC (permalink / raw)
To: Suzuki K Poulose, Mike Leach, James Clark, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Tingwei Zhang,
Bjorn Andersson, Konrad Dybcio
Cc: coresight, linux-arm-kernel, linux-arm-msm, devicetree,
linux-kernel, Jie Gan
Document the platforms that fallback to using the qcom,sa8775p-ctcu
compatible for probing.
Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
---
Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
index e002f87361ad..68853db52bef 100644
--- a/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
@@ -29,6 +29,10 @@ properties:
oneOf:
- items:
- enum:
+ - qcom,glymur-ctcu
+ - qcom,hamoa-ctcu
+ - qcom,kaanapali-ctcu
+ - qcom,pakala-ctcu
- qcom,qcs8300-ctcu
- const: qcom,sa8775p-ctcu
- enum:
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH 1/3] dt-binding: document QCOM platforms for CTCU device
2026-02-03 8:08 ` [PATCH 1/3] dt-binding: document QCOM platforms for CTCU device Jie Gan
@ 2026-02-03 8:50 ` Konrad Dybcio
2026-02-03 9:00 ` Jie Gan
0 siblings, 1 reply; 13+ messages in thread
From: Konrad Dybcio @ 2026-02-03 8:50 UTC (permalink / raw)
To: Jie Gan, Suzuki K Poulose, Mike Leach, James Clark, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Tingwei Zhang,
Bjorn Andersson, Konrad Dybcio
Cc: coresight, linux-arm-kernel, linux-arm-msm, devicetree, linux-kernel
On 2/3/26 9:08 AM, Jie Gan wrote:
> Document the platforms that fallback to using the qcom,sa8775p-ctcu
> compatible for probing.
>
> Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
> ---
> Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
> index e002f87361ad..68853db52bef 100644
> --- a/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
> +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
> @@ -29,6 +29,10 @@ properties:
> oneOf:
> - items:
> - enum:
> + - qcom,glymur-ctcu
> + - qcom,hamoa-ctcu
> + - qcom,kaanapali-ctcu
> + - qcom,pakala-ctcu
Platforms with existing numeric compatibles should continue to use them,
so that the mess is somewhat containable
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/3] dt-binding: document QCOM platforms for CTCU device
2026-02-03 8:50 ` Konrad Dybcio
@ 2026-02-03 9:00 ` Jie Gan
2026-02-03 9:31 ` Suzuki K Poulose
0 siblings, 1 reply; 13+ messages in thread
From: Jie Gan @ 2026-02-03 9:00 UTC (permalink / raw)
To: Konrad Dybcio, Suzuki K Poulose, Mike Leach, James Clark,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tingwei Zhang,
Bjorn Andersson, Konrad Dybcio
Cc: coresight, linux-arm-kernel, linux-arm-msm, devicetree, linux-kernel
On 2/3/2026 4:50 PM, Konrad Dybcio wrote:
> On 2/3/26 9:08 AM, Jie Gan wrote:
>> Document the platforms that fallback to using the qcom,sa8775p-ctcu
>> compatible for probing.
>>
>> Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
>> ---
>> Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
>> index e002f87361ad..68853db52bef 100644
>> --- a/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
>> +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
>> @@ -29,6 +29,10 @@ properties:
>> oneOf:
>> - items:
>> - enum:
>> + - qcom,glymur-ctcu
>> + - qcom,hamoa-ctcu
>> + - qcom,kaanapali-ctcu
>> + - qcom,pakala-ctcu
>
> Platforms with existing numeric compatibles should continue to use them,
> so that the mess is somewhat containable
Sure Konrad. So for Pakala, I will change it back to qcom,sm8750-ctcu
Thanks,
Jie
>
> Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/3] dt-binding: document QCOM platforms for CTCU device
2026-02-03 9:00 ` Jie Gan
@ 2026-02-03 9:31 ` Suzuki K Poulose
2026-02-03 9:36 ` Konrad Dybcio
2026-02-03 9:41 ` Jie Gan
0 siblings, 2 replies; 13+ messages in thread
From: Suzuki K Poulose @ 2026-02-03 9:31 UTC (permalink / raw)
To: Jie Gan, Konrad Dybcio, Mike Leach, James Clark, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Tingwei Zhang,
Bjorn Andersson, Konrad Dybcio
Cc: coresight, linux-arm-kernel, linux-arm-msm, devicetree, linux-kernel
On 03/02/2026 09:00, Jie Gan wrote:
>
>
> On 2/3/2026 4:50 PM, Konrad Dybcio wrote:
>> On 2/3/26 9:08 AM, Jie Gan wrote:
>>> Document the platforms that fallback to using the qcom,sa8775p-ctcu
>>> compatible for probing.
>>>
>>> Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
>>> ---
>>> Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml | 4
>>> ++++
>>> 1 file changed, 4 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-
>>> ctcu.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-
>>> ctcu.yaml
>>> index e002f87361ad..68853db52bef 100644
>>> --- a/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
>>> +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
>>> @@ -29,6 +29,10 @@ properties:
>>> oneOf:
>>> - items:
>>> - enum:
>>> + - qcom,glymur-ctcu
>>> + - qcom,hamoa-ctcu
>>> + - qcom,kaanapali-ctcu
>>> + - qcom,pakala-ctcu
>>
>> Platforms with existing numeric compatibles should continue to use them,
>> so that the mess is somewhat containable
>
> Sure Konrad. So for Pakala, I will change it back to qcom,sm8750-ctcu
Why do we need different compatibles for the others ? Are they not all
compliant to the CTCU programming model ? i.e., sa8775p-ctcu ? or even,
a generic,
qcom,coresight-ctcu
Suzuki
>
> Thanks,
> Jie
>
>>
>> Konrad
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/3] dt-binding: document QCOM platforms for CTCU device
2026-02-03 9:31 ` Suzuki K Poulose
@ 2026-02-03 9:36 ` Konrad Dybcio
2026-02-03 9:44 ` Suzuki K Poulose
2026-02-03 9:41 ` Jie Gan
1 sibling, 1 reply; 13+ messages in thread
From: Konrad Dybcio @ 2026-02-03 9:36 UTC (permalink / raw)
To: Suzuki K Poulose, Jie Gan, Mike Leach, James Clark, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Tingwei Zhang,
Bjorn Andersson, Konrad Dybcio
Cc: coresight, linux-arm-kernel, linux-arm-msm, devicetree, linux-kernel
On 2/3/26 10:31 AM, Suzuki K Poulose wrote:
> On 03/02/2026 09:00, Jie Gan wrote:
>>
>>
>> On 2/3/2026 4:50 PM, Konrad Dybcio wrote:
>>> On 2/3/26 9:08 AM, Jie Gan wrote:
>>>> Document the platforms that fallback to using the qcom,sa8775p-ctcu
>>>> compatible for probing.
>>>>
>>>> Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
>>>> ---
>>>> Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml | 4 ++++
>>>> 1 file changed, 4 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight- ctcu.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight- ctcu.yaml
>>>> index e002f87361ad..68853db52bef 100644
>>>> --- a/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
>>>> +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
>>>> @@ -29,6 +29,10 @@ properties:
>>>> oneOf:
>>>> - items:
>>>> - enum:
>>>> + - qcom,glymur-ctcu
>>>> + - qcom,hamoa-ctcu
>>>> + - qcom,kaanapali-ctcu
>>>> + - qcom,pakala-ctcu
>>>
>>> Platforms with existing numeric compatibles should continue to use them,
>>> so that the mess is somewhat containable
>>
>> Sure Konrad. So for Pakala, I will change it back to qcom,sm8750-ctcu
>
> Why do we need different compatibles for the others ? Are they not all compliant to the CTCU programming model ? i.e., sa8775p-ctcu ? or even,
> a generic,
>
> qcom,coresight-ctcu
It's a huge anti-pattern with the DT maintainers, since a compatible is
the only way to effectively differentiate different implementations (i.e.
instances on different SoCs) of an IP block
This is important for the case where a DTB is shipped as part of firmware
and can not be replaced - if some quirk needs to be applied retroactively,
we can look for "qcom,glymur-ctcu" without affecting all the 50 other'
users of the effectively-identical IP block
In this case, we're already reducing the impact on the driver, as that
only looks for the single fallback compatible (qcom,sa8775p-ctcu)
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/3] dt-binding: document QCOM platforms for CTCU device
2026-02-03 9:36 ` Konrad Dybcio
@ 2026-02-03 9:44 ` Suzuki K Poulose
2026-02-03 10:13 ` Konrad Dybcio
0 siblings, 1 reply; 13+ messages in thread
From: Suzuki K Poulose @ 2026-02-03 9:44 UTC (permalink / raw)
To: Konrad Dybcio, Jie Gan, Mike Leach, James Clark, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Tingwei Zhang,
Bjorn Andersson, Konrad Dybcio
Cc: coresight, linux-arm-kernel, linux-arm-msm, devicetree, linux-kernel
On 03/02/2026 09:36, Konrad Dybcio wrote:
> On 2/3/26 10:31 AM, Suzuki K Poulose wrote:
>> On 03/02/2026 09:00, Jie Gan wrote:
>>>
>>>
>>> On 2/3/2026 4:50 PM, Konrad Dybcio wrote:
>>>> On 2/3/26 9:08 AM, Jie Gan wrote:
>>>>> Document the platforms that fallback to using the qcom,sa8775p-ctcu
>>>>> compatible for probing.
>>>>>
>>>>> Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
>>>>> ---
>>>>> Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml | 4 ++++
>>>>> 1 file changed, 4 insertions(+)
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight- ctcu.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight- ctcu.yaml
>>>>> index e002f87361ad..68853db52bef 100644
>>>>> --- a/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
>>>>> +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
>>>>> @@ -29,6 +29,10 @@ properties:
>>>>> oneOf:
>>>>> - items:
>>>>> - enum:
>>>>> + - qcom,glymur-ctcu
>>>>> + - qcom,hamoa-ctcu
>>>>> + - qcom,kaanapali-ctcu
>>>>> + - qcom,pakala-ctcu
>>>>
>>>> Platforms with existing numeric compatibles should continue to use them,
>>>> so that the mess is somewhat containable
>>>
>>> Sure Konrad. So for Pakala, I will change it back to qcom,sm8750-ctcu
>>
>> Why do we need different compatibles for the others ? Are they not all compliant to the CTCU programming model ? i.e., sa8775p-ctcu ? or even,
>> a generic,
>>
>> qcom,coresight-ctcu
>
> It's a huge anti-pattern with the DT maintainers, since a compatible is
> the only way to effectively differentiate different implementations (i.e.
> instances on different SoCs) of an IP block
Do you mean, same IP block integrated to different SoC ? Or are they
different implementations altogether ? Why are these not applicable for
other components ? (e.g., Tnoc, I-Tnoc, TPDA, TPDM etc ?)
>
> This is important for the case where a DTB is shipped as part of firmware
> and can not be replaced - if some quirk needs to be applied retroactively,
> we can look for "qcom,glymur-ctcu" without affecting all the 50 other'
> users of the effectively-identical IP block
Fair enough, thank for the explanation.
Kind regards
Suzuki
>
> In this case, we're already reducing the impact on the driver, as that
> only looks for the single fallback compatible (qcom,sa8775p-ctcu)
>
> Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/3] dt-binding: document QCOM platforms for CTCU device
2026-02-03 9:44 ` Suzuki K Poulose
@ 2026-02-03 10:13 ` Konrad Dybcio
0 siblings, 0 replies; 13+ messages in thread
From: Konrad Dybcio @ 2026-02-03 10:13 UTC (permalink / raw)
To: Suzuki K Poulose, Jie Gan, Mike Leach, James Clark, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Tingwei Zhang,
Bjorn Andersson, Konrad Dybcio
Cc: coresight, linux-arm-kernel, linux-arm-msm, devicetree, linux-kernel
On 2/3/26 10:44 AM, Suzuki K Poulose wrote:
> On 03/02/2026 09:36, Konrad Dybcio wrote:
>> On 2/3/26 10:31 AM, Suzuki K Poulose wrote:
>>> On 03/02/2026 09:00, Jie Gan wrote:
>>>>
>>>>
>>>> On 2/3/2026 4:50 PM, Konrad Dybcio wrote:
>>>>> On 2/3/26 9:08 AM, Jie Gan wrote:
>>>>>> Document the platforms that fallback to using the qcom,sa8775p-ctcu
>>>>>> compatible for probing.
>>>>>>
>>>>>> Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
>>>>>> ---
>>>>>> Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml | 4 ++++
>>>>>> 1 file changed, 4 insertions(+)
>>>>>>
>>>>>> diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight- ctcu.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight- ctcu.yaml
>>>>>> index e002f87361ad..68853db52bef 100644
>>>>>> --- a/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
>>>>>> +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
>>>>>> @@ -29,6 +29,10 @@ properties:
>>>>>> oneOf:
>>>>>> - items:
>>>>>> - enum:
>>>>>> + - qcom,glymur-ctcu
>>>>>> + - qcom,hamoa-ctcu
>>>>>> + - qcom,kaanapali-ctcu
>>>>>> + - qcom,pakala-ctcu
>>>>>
>>>>> Platforms with existing numeric compatibles should continue to use them,
>>>>> so that the mess is somewhat containable
>>>>
>>>> Sure Konrad. So for Pakala, I will change it back to qcom,sm8750-ctcu
>>>
>>> Why do we need different compatibles for the others ? Are they not all compliant to the CTCU programming model ? i.e., sa8775p-ctcu ? or even,
>>> a generic,
>>>
>>> qcom,coresight-ctcu
>>
>> It's a huge anti-pattern with the DT maintainers, since a compatible is
>> the only way to effectively differentiate different implementations (i.e.
>> instances on different SoCs) of an IP block
>
> Do you mean, same IP block integrated to different SoC ? Or are they
> different implementations altogether ? Why are these not applicable for
> other components ? (e.g., Tnoc, I-Tnoc, TPDA, TPDM etc ?)
The former.
I think coresight bindings are fully generic, since they have been in
place for about as long as the arm64 port, which precedes actual bindings
validation (yaml dt-bindings) and in those times the requirements were way
more lax
Konrad
>> This is important for the case where a DTB is shipped as part of firmware
>> and can not be replaced - if some quirk needs to be applied retroactively,
>> we can look for "qcom,glymur-ctcu" without affecting all the 50 other'
>> users of the effectively-identical IP block
>
> Fair enough, thank for the explanation.
>
> Kind regards
> Suzuki
>
>>
>> In this case, we're already reducing the impact on the driver, as that
>> only looks for the single fallback compatible (qcom,sa8775p-ctcu)
>>
>> Konrad
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/3] dt-binding: document QCOM platforms for CTCU device
2026-02-03 9:31 ` Suzuki K Poulose
2026-02-03 9:36 ` Konrad Dybcio
@ 2026-02-03 9:41 ` Jie Gan
1 sibling, 0 replies; 13+ messages in thread
From: Jie Gan @ 2026-02-03 9:41 UTC (permalink / raw)
To: Suzuki K Poulose, Konrad Dybcio, Mike Leach, James Clark,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tingwei Zhang,
Bjorn Andersson, Konrad Dybcio
Cc: coresight, linux-arm-kernel, linux-arm-msm, devicetree, linux-kernel
On 2/3/2026 5:31 PM, Suzuki K Poulose wrote:
> On 03/02/2026 09:00, Jie Gan wrote:
>>
>>
>> On 2/3/2026 4:50 PM, Konrad Dybcio wrote:
>>> On 2/3/26 9:08 AM, Jie Gan wrote:
>>>> Document the platforms that fallback to using the qcom,sa8775p-ctcu
>>>> compatible for probing.
>>>>
>>>> Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
>>>> ---
>>>> Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml | 4
>>>> ++++
>>>> 1 file changed, 4 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-
>>>> ctcu.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-
>>>> ctcu.yaml
>>>> index e002f87361ad..68853db52bef 100644
>>>> --- a/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
>>>> +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-ctcu.yaml
>>>> @@ -29,6 +29,10 @@ properties:
>>>> oneOf:
>>>> - items:
>>>> - enum:
>>>> + - qcom,glymur-ctcu
>>>> + - qcom,hamoa-ctcu
>>>> + - qcom,kaanapali-ctcu
>>>> + - qcom,pakala-ctcu
>>>
>>> Platforms with existing numeric compatibles should continue to use them,
>>> so that the mess is somewhat containable
>>
>> Sure Konrad. So for Pakala, I will change it back to qcom,sm8750-ctcu
>
> Why do we need different compatibles for the others ? Are they not all
> compliant to the CTCU programming model ? i.e., sa8775p-ctcu ? or even,
> a generic,
>
> qcom,coresight-ctcu
Hi Suzuki,
The platforms here have two ETR devices, using same "data" in driver. We
also have platforms only contain one ETR device and we need create a new
data for these platforms.
I have proposed previously to have generic compatible for CTCU device
but I got comment for preferring use platform-specific compatible.
Is that acceptable to use qcom,coresight-ctcu-v1 for TWO ETR devices
platform and qcom,coresight-ctcu-v2 for ONE ETR device platform?
I think it's better to avoid annoying dt-binding patches for the CTCU
device.
Thanks,
Jie
>
> Suzuki
>
>
>
>>
>> Thanks,
>> Jie
>>
>>>
>>> Konrad
>>
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 2/3] arm64: dts: qcom: hamoa: enable ETR and CTCU devices
2026-02-03 8:08 [PATCH 0/3] Enable CTCU and ETR devices for multiple QCOM platforms Jie Gan
2026-02-03 8:08 ` [PATCH 1/3] dt-binding: document QCOM platforms for CTCU device Jie Gan
@ 2026-02-03 8:08 ` Jie Gan
2026-02-03 8:08 ` [PATCH 3/3] arm64: dts: qcom: pakala: " Jie Gan
2 siblings, 0 replies; 13+ messages in thread
From: Jie Gan @ 2026-02-03 8:08 UTC (permalink / raw)
To: Suzuki K Poulose, Mike Leach, James Clark, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Tingwei Zhang,
Bjorn Andersson, Konrad Dybcio
Cc: coresight, linux-arm-kernel, linux-arm-msm, devicetree,
linux-kernel, Jie Gan, Konrad Dybcio
Embedded Trace Router(ETR) is working as a DDR memory sink to collect
tracing data from source device.
The CTCU serves as the control unit for the ETR device, managing its
behavior to determine how trace data is collected.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/hamoa.dtsi | 160 +++++++++++++++++++++++++++++++++++-
1 file changed, 159 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/hamoa.dtsi b/arch/arm64/boot/dts/qcom/hamoa.dtsi
index db65c392e618..88ec29446ba1 100644
--- a/arch/arm64/boot/dts/qcom/hamoa.dtsi
+++ b/arch/arm64/boot/dts/qcom/hamoa.dtsi
@@ -6771,6 +6771,35 @@ data-pins {
};
};
+ ctcu@10001000 {
+ compatible = "qcom,hamoa-ctcu", "qcom,sa8775p-ctcu";
+ reg = <0x0 0x10001000 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@10002000 {
compatible = "arm,coresight-stm", "arm,primecell";
reg = <0x0 0x10002000 0x0 0x1000>,
@@ -6985,6 +7014,122 @@ qdss_funnel_out: endpoint {
};
};
+ replicator@10046000 {
+ compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
+ reg = <0x0 0x10046000 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@10048000 {
+ compatible = "arm,coresight-tmc", "arm,primecell";
+ reg = <0x0 0x10048000 0x0 0x1000>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ iommus = <&apps_smmu 0x04e0 0x0>;
+
+ 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@1004e000 {
+ compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
+ reg = <0x0 0x1004e000 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@1004f000 {
+ compatible = "arm,coresight-tmc", "arm,primecell";
+ reg = <0x0 0x1004f000 0x0 0x1000>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ iommus = <&apps_smmu 0x0500 0x0>;
+
+ 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>;
+ };
+ };
+ };
+ };
+
tpdm@10800000 {
compatible = "qcom,coresight-tpdm", "arm,primecell";
reg = <0x0 0x10800000 0x0 0x1000>;
@@ -7298,7 +7443,20 @@ swao_rep_in: endpoint {
};
out-ports {
- port {
+ #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 {
remote-endpoint = <&eud_in>;
};
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread* [PATCH 3/3] arm64: dts: qcom: pakala: enable ETR and CTCU devices
2026-02-03 8:08 [PATCH 0/3] Enable CTCU and ETR devices for multiple QCOM platforms Jie Gan
2026-02-03 8:08 ` [PATCH 1/3] dt-binding: document QCOM platforms for CTCU device Jie Gan
2026-02-03 8:08 ` [PATCH 2/3] arm64: dts: qcom: hamoa: enable ETR and CTCU devices Jie Gan
@ 2026-02-03 8:08 ` Jie Gan
2026-02-03 8:56 ` Konrad Dybcio
2 siblings, 1 reply; 13+ messages in thread
From: Jie Gan @ 2026-02-03 8:08 UTC (permalink / raw)
To: Suzuki K Poulose, Mike Leach, James Clark, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Tingwei Zhang,
Bjorn Andersson, Konrad Dybcio
Cc: coresight, linux-arm-kernel, linux-arm-msm, devicetree,
linux-kernel, Jie Gan
Embedded Trace Router(ETR) is working as a DDR memory sink to collect
tracing data from source device and the CTCU device serves as the
control unit for the ETR device.
Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sm8750.dtsi | 177 +++++++++++++++++++++++++++++++++++
1 file changed, 177 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi
index f56b1f889b85..1e39503360ef 100644
--- a/arch/arm64/boot/dts/qcom/sm8750.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi
@@ -3574,6 +3574,35 @@ tcsrcc: clock-controller@f204008 {
#reset-cells = <1>;
};
+ ctcu@10001000 {
+ compatible = "qcom,pakala-ctcu", "qcom,sa8775p-ctcu";
+ reg = <0x0 0x10001000 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@10002000 {
compatible = "arm,coresight-stm", "arm,primecell";
reg = <0x0 0x10002000 0x0 0x1000>,
@@ -3687,6 +3716,122 @@ funnel_in0_out: endpoint {
};
};
+ replicator@10046000 {
+ compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
+ reg = <0x0 0x10046000 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@10048000 {
+ compatible = "arm,coresight-tmc", "arm,primecell";
+ reg = <0x0 0x10048000 0x0 0x1000>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ iommus = <&apps_smmu 0x04e0 0x0>;
+ 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@1004e000 {
+ compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
+ reg = <0x0 0x1004e000 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@1004f000 {
+ compatible = "arm,coresight-tmc", "arm,primecell";
+ reg = <0x0 0x1004f000 0x0 0x1000>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ iommus = <&apps_smmu 0x0500 0x0>;
+ 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>;
+ };
+ };
+ };
+ };
+
tpdm@10800000 {
compatible = "qcom,coresight-tpdm", "arm,primecell";
reg = <0x0 0x10800000 0x0 0x1000>;
@@ -4357,6 +4502,38 @@ tmc_etf_in: endpoint {
};
};
};
+
+ out-ports {
+ port {
+ tmc_etf_out: endpoint {
+ remote-endpoint = <&swao_rep_in>;
+ };
+ };
+ };
+ };
+
+ replicator@10b06000 {
+ compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
+ reg = <0x0 0x10b06000 0x0 0x1000>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ swao_rep_in: endpoint {
+ remote-endpoint = <&tmc_etf_out>;
+ };
+ };
+ };
+
+ out-ports {
+ port {
+ swao_rep_out0: endpoint {
+ remote-endpoint = <&qdss_rep_in>;
+ };
+ };
+ };
};
tpda@10b08000 {
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH 3/3] arm64: dts: qcom: pakala: enable ETR and CTCU devices
2026-02-03 8:08 ` [PATCH 3/3] arm64: dts: qcom: pakala: " Jie Gan
@ 2026-02-03 8:56 ` Konrad Dybcio
2026-02-03 9:01 ` Jie Gan
0 siblings, 1 reply; 13+ messages in thread
From: Konrad Dybcio @ 2026-02-03 8:56 UTC (permalink / raw)
To: Jie Gan, Suzuki K Poulose, Mike Leach, James Clark, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Tingwei Zhang,
Bjorn Andersson, Konrad Dybcio
Cc: coresight, linux-arm-kernel, linux-arm-msm, devicetree, linux-kernel
On 2/3/26 9:08 AM, Jie Gan wrote:
> Embedded Trace Router(ETR) is working as a DDR memory sink to collect
> tracing data from source device and the CTCU device serves as the
> control unit for the ETR device.
>
> Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/sm8750.dtsi | 177 +++++++++++++++++++++++++++++++++++
> 1 file changed, 177 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi
> index f56b1f889b85..1e39503360ef 100644
> --- a/arch/arm64/boot/dts/qcom/sm8750.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi
> @@ -3574,6 +3574,35 @@ tcsrcc: clock-controller@f204008 {
> #reset-cells = <1>;
> };
>
> + ctcu@10001000 {
> + compatible = "qcom,pakala-ctcu", "qcom,sa8775p-ctcu";
With "sm8750" in the compatible:
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH 3/3] arm64: dts: qcom: pakala: enable ETR and CTCU devices
2026-02-03 8:56 ` Konrad Dybcio
@ 2026-02-03 9:01 ` Jie Gan
0 siblings, 0 replies; 13+ messages in thread
From: Jie Gan @ 2026-02-03 9:01 UTC (permalink / raw)
To: Konrad Dybcio, Suzuki K Poulose, Mike Leach, James Clark,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tingwei Zhang,
Bjorn Andersson, Konrad Dybcio
Cc: coresight, linux-arm-kernel, linux-arm-msm, devicetree, linux-kernel
On 2/3/2026 4:56 PM, Konrad Dybcio wrote:
> On 2/3/26 9:08 AM, Jie Gan wrote:
>> Embedded Trace Router(ETR) is working as a DDR memory sink to collect
>> tracing data from source device and the CTCU device serves as the
>> control unit for the ETR device.
>>
>> Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
>> ---
>> arch/arm64/boot/dts/qcom/sm8750.dtsi | 177 +++++++++++++++++++++++++++++++++++
>> 1 file changed, 177 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi
>> index f56b1f889b85..1e39503360ef 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8750.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi
>> @@ -3574,6 +3574,35 @@ tcsrcc: clock-controller@f204008 {
>> #reset-cells = <1>;
>> };
>>
>> + ctcu@10001000 {
>> + compatible = "qcom,pakala-ctcu", "qcom,sa8775p-ctcu";
>
> With "sm8750" in the compatible:
will fix it.
Thanks,
Jie
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
>
> Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread