[PATCH] dt-bindings: arm: coresight: Allow funnel clocks

Subsystems: arm/coresight framework and drivers, open firmware and flattened device tree bindings, the rest

COOLING5d

8 messages, 3 authors, 5d ago · open the first message on its own page

[PATCH] dt-bindings: arm: coresight: Allow funnel clocks

From: "Rob Herring (Arm)" <robh@kernel.org>
Date: 2026-09-21 23:28:47

Some static funnel nodes have APB and AT clocks. Allow one or two
clocks and the apb_pclk and atclk clock-names entries.

Assisted-by: LLM
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
 .../bindings/arm/arm,coresight-static-funnel.yaml      | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
index 9598a3d0a95b..4a3d08f9568c 100644
--- a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
+++ b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
@@ -30,6 +30,16 @@ properties:
   power-domains:
     maxItems: 1
 
+  clocks:
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: apb_pclk
+      - const: atclk
+
   label:
     description:
       Description of a coresight device.
-- 
2.53.0

Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks

From: sashiko-bot@kernel.org
Date: 2026-09-21 23:37:44

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] dt-bindings: clock-names schema forbids valid single 'atclk' config
--

commit 50eea7a4ef1f09b2ff4cd2b8b69396c108a1c74e
Author: Rob Herring (Arm) [off-list ref]

dt-bindings: arm: coresight: Allow funnel clocks

This commit modifies the arm,coresight-static-funnel schema to allow
one or two clocks, adding support for the apb_pclk and atclk properties.
quoted hunk
diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
--- a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
+++ b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
@@ -30,6 +30,16 @@ properties:
   power-domains:
     maxItems: 1
 
+  clocks:
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: apb_pclk
+      - const: atclk
[Severity: Low]
Does this positional item list unintentionally forbid valid single-clock
configurations where only atclk is present?

By specifying items as a rigid positional list, the dt-schema validation
strictly enforces that if only one clock is provided, its name must exactly
match apb_pclk.

If a device tree node for arm,coresight-static-funnel provides a single clock
named atclk, it will fail make dtbs_check. This seems to conflict with
hardware configurations where static funnels lack APB registers and may only
require an ATB trace clock. The coresight driver itself appears to fully
support this configuration, as coresight_get_enable_clocks() gracefully
handles an absent apb_pclk.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260921232834.3138571-1-robh@kernel.org?part=1

Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks

From: Rob Herring <robh@kernel.org>
Date: 2026-09-23 16:05:22

On Mon, Sep 21, 2026 at 11:37:43PM +0000, sashiko-bot@kernel.org wrote:
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] dt-bindings: clock-names schema forbids valid single 'atclk' config
--

commit 50eea7a4ef1f09b2ff4cd2b8b69396c108a1c74e
Author: Rob Herring (Arm) [off-list ref]

dt-bindings: arm: coresight: Allow funnel clocks

This commit modifies the arm,coresight-static-funnel schema to allow
one or two clocks, adding support for the apb_pclk and atclk properties.
quoted
diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
--- a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
+++ b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
@@ -30,6 +30,16 @@ properties:
   power-domains:
     maxItems: 1
 
+  clocks:
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: apb_pclk
+      - const: atclk
[Severity: Low]
Does this positional item list unintentionally forbid valid single-clock
configurations where only atclk is present?

By specifying items as a rigid positional list, the dt-schema validation
strictly enforces that if only one clock is provided, its name must exactly
match apb_pclk.
Or name should be omitted... 'minItems: 1' on clock-names can be dropped 
when applying.
If a device tree node for arm,coresight-static-funnel provides a single clock
named atclk, it will fail make dtbs_check. This seems to conflict with
hardware configurations where static funnels lack APB registers and may only
require an ATB trace clock. The coresight driver itself appears to fully
support this configuration, as coresight_get_enable_clocks() gracefully
handles an absent apb_pclk.
There's no such case in tree. This patch is fixing a case we do have in 
tree.

Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks

From: Rob Herring <robh@kernel.org>
Date: 2026-09-23 18:15:41

On Wed, Sep 23, 2026 at 11:05:20AM -0500, Rob Herring wrote:
On Mon, Sep 21, 2026 at 11:37:43PM +0000, sashiko-bot@kernel.org wrote:
quoted
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] dt-bindings: clock-names schema forbids valid single 'atclk' config
--

commit 50eea7a4ef1f09b2ff4cd2b8b69396c108a1c74e
Author: Rob Herring (Arm) [off-list ref]

dt-bindings: arm: coresight: Allow funnel clocks

This commit modifies the arm,coresight-static-funnel schema to allow
one or two clocks, adding support for the apb_pclk and atclk properties.
quoted
diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
--- a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
+++ b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
@@ -30,6 +30,16 @@ properties:
   power-domains:
     maxItems: 1
 
+  clocks:
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: apb_pclk
+      - const: atclk
[Severity: Low]
Does this positional item list unintentionally forbid valid single-clock
configurations where only atclk is present?

By specifying items as a rigid positional list, the dt-schema validation
strictly enforces that if only one clock is provided, its name must exactly
match apb_pclk.
Or name should be omitted... 'minItems: 1' on clock-names can be dropped 
when applying.
Actually, this matches all the other coresight bindings. So it should be 
kept as-is.

Rob

Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks

From: "Rob Herring (Arm)" <robh@kernel.org>
Date: 2026-09-30 20:41:14

On Mon, 21 Sep 2026 18:28:33 -0500, Rob Herring (Arm) wrote:
Some static funnel nodes have APB and AT clocks. Allow one or two
clocks and the apb_pclk and atclk clock-names entries.

Assisted-by: LLM
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
 .../bindings/arm/arm,coresight-static-funnel.yaml      | 10 ++++++++++
 1 file changed, 10 insertions(+)
Applied, thanks!

Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks

From: Leo Yan <leo.yan@arm.com>
Date: 2026-10-01 10:05:01

Hi Rob,

On Mon, Sep 21, 2026 at 06:28:33PM -0500, Rob Herring (Arm) wrote:
quoted hunk
Some static funnel nodes have APB and AT clocks. Allow one or two
clocks and the apb_pclk and atclk clock-names entries.

Assisted-by: LLM
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>

---
 .../bindings/arm/arm,coresight-static-funnel.yaml      | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
index 9598a3d0a95b..4a3d08f9568c 100644
--- a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
+++ b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
@@ -30,6 +30,16 @@ properties:
   power-domains:
     maxItems: 1
 
+  clocks:
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: apb_pclk
+      - const: atclk
The question is that a static funnel does not need to program any
registers, so in theory it should only need atclk as the module's core
clock, but not the APB programming clock (apb_pclk).

Maybe I did not get this right when I initially enabled the static
funnel in hi3660-coresight.dtsi. We should probably remove pclk from the
static funnel node.

  clocks:
    minItems: 0
    maxItems: 1

  clock-names:
    minItems: 0
    items:
      - const: atclk

Thanks,
Leo

Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks

From: Rob Herring <robh@kernel.org>
Date: 2026-10-01 12:04:46

On Thu, Oct 01, 2026 at 11:04:55AM +0100, Leo Yan wrote:
Hi Rob,

On Mon, Sep 21, 2026 at 06:28:33PM -0500, Rob Herring (Arm) wrote:
quoted
Some static funnel nodes have APB and AT clocks. Allow one or two
clocks and the apb_pclk and atclk clock-names entries.

Assisted-by: LLM
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>

---
 .../bindings/arm/arm,coresight-static-funnel.yaml      | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
index 9598a3d0a95b..4a3d08f9568c 100644
--- a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
+++ b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
@@ -30,6 +30,16 @@ properties:
   power-domains:
     maxItems: 1
 
+  clocks:
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: apb_pclk
+      - const: atclk
The question is that a static funnel does not need to program any
registers, so in theory it should only need atclk as the module's core
clock, but not the APB programming clock (apb_pclk).

Maybe I did not get this right when I initially enabled the static
funnel in hi3660-coresight.dtsi. We should probably remove pclk from the
static funnel node.
Yes. I suppose in theory it has some clock, but if pclk needed to be 
enabled, it is shared with all the other coresight components and 
enabled anyways. And there's no atclk defined, so 'clocks' can just 
be removed. Can you send a patch to do that, and I'll drop this one.

zynq7000 is even more of a mess I just noticed...

Rob

Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks

From: Leo Yan <leo.yan@arm.com>
Date: 2026-10-01 13:41:25

On Thu, Oct 01, 2026 at 07:04:44AM -0500, Rob Herring wrote:

[...]
quoted
The question is that a static funnel does not need to program any
registers, so in theory it should only need atclk as the module's core
clock, but not the APB programming clock (apb_pclk).

Maybe I did not get this right when I initially enabled the static
funnel in hi3660-coresight.dtsi. We should probably remove pclk from the
static funnel node.
Yes. I suppose in theory it has some clock, but if pclk needed to be 
enabled, it is shared with all the other coresight components and 
enabled anyways. And there's no atclk defined, so 'clocks' can just 
be removed. Can you send a patch to do that, and I'll drop this one.
Sure, I will prepare a patch for hi3660-coresight.dtsi.
zynq7000 is even more of a mess I just noticed...
Agreed. It should bind to "arm,coresight-dynamic-funnel" instead.

However, I'm afraid the "dbg_trc" and "dbg_apb" clocks are never touched
by either the CoreSight driver or the AMBA driver after switching to the
dynamic funnel.  These clocks should therefore be removed from all
CoreSight nodes.

Thanks,
Leo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help