* [PATCH] dt-bindings: arm: coresight: Allow funnel clocks
@ 2026-09-21 23:28 Rob Herring (Arm)
2026-09-21 23:37 ` sashiko-bot
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Rob Herring (Arm) @ 2026-09-21 23:28 UTC (permalink / raw)
To: Suzuki K Poulose, Mike Leach, James Clark, Leo Yan,
Krzysztof Kozlowski, Conor Dooley, Mathieu Poirier
Cc: Leo Yan, coresight, linux-arm-kernel, devicetree, linux-kernel
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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks
2026-09-21 23:28 [PATCH] dt-bindings: arm: coresight: Allow funnel clocks Rob Herring (Arm)
@ 2026-09-21 23:37 ` sashiko-bot
2026-09-23 16:05 ` Rob Herring
2026-09-30 20:41 ` Rob Herring (Arm)
2026-10-01 10:04 ` Leo Yan
2 siblings, 1 reply; 8+ messages in thread
From: sashiko-bot @ 2026-09-21 23:37 UTC (permalink / raw)
To: Rob Herring (Arm); +Cc: robh, conor+dt, devicetree
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) <robh@kernel.org>
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.
> 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks
2026-09-21 23:37 ` sashiko-bot
@ 2026-09-23 16:05 ` Rob Herring
2026-09-23 18:15 ` Rob Herring
0 siblings, 1 reply; 8+ messages in thread
From: Rob Herring @ 2026-09-23 16:05 UTC (permalink / raw)
To: sashiko-reviews; +Cc: conor+dt, devicetree
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) <robh@kernel.org>
>
> 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.
>
> > 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.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks
2026-09-23 16:05 ` Rob Herring
@ 2026-09-23 18:15 ` Rob Herring
0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring @ 2026-09-23 18:15 UTC (permalink / raw)
To: sashiko-reviews; +Cc: conor+dt, devicetree
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:
> > 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) <robh@kernel.org>
> >
> > 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.
> >
> > > 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks
2026-09-21 23:28 [PATCH] dt-bindings: arm: coresight: Allow funnel clocks Rob Herring (Arm)
2026-09-21 23:37 ` sashiko-bot
@ 2026-09-30 20:41 ` Rob Herring (Arm)
2026-10-01 10:04 ` Leo Yan
2 siblings, 0 replies; 8+ messages in thread
From: Rob Herring (Arm) @ 2026-09-30 20:41 UTC (permalink / raw)
To: Rob Herring (Arm)
Cc: Leo Yan, coresight, James Clark, Krzysztof Kozlowski, Leo Yan,
Mike Leach, Conor Dooley, Suzuki K Poulose, linux-kernel,
linux-arm-kernel, devicetree, Mathieu Poirier
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!
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks
2026-09-21 23:28 [PATCH] dt-bindings: arm: coresight: Allow funnel clocks Rob Herring (Arm)
2026-09-21 23:37 ` sashiko-bot
2026-09-30 20:41 ` Rob Herring (Arm)
@ 2026-10-01 10:04 ` Leo Yan
2026-10-01 12:04 ` Rob Herring
2 siblings, 1 reply; 8+ messages in thread
From: Leo Yan @ 2026-10-01 10:04 UTC (permalink / raw)
To: Rob Herring (Arm)
Cc: Suzuki K Poulose, Mike Leach, James Clark, Krzysztof Kozlowski,
Conor Dooley, Mathieu Poirier, Leo Yan, coresight,
linux-arm-kernel, devicetree, linux-kernel
Hi Rob,
On Mon, Sep 21, 2026 at 06:28:33PM -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(+)
>
> 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks
2026-10-01 10:04 ` Leo Yan
@ 2026-10-01 12:04 ` Rob Herring
2026-10-01 13:41 ` Leo Yan
0 siblings, 1 reply; 8+ messages in thread
From: Rob Herring @ 2026-10-01 12:04 UTC (permalink / raw)
To: Leo Yan
Cc: Suzuki K Poulose, Mike Leach, James Clark, Krzysztof Kozlowski,
Conor Dooley, Mathieu Poirier, Leo Yan, coresight,
linux-arm-kernel, devicetree, linux-kernel
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:
> > 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] dt-bindings: arm: coresight: Allow funnel clocks
2026-10-01 12:04 ` Rob Herring
@ 2026-10-01 13:41 ` Leo Yan
0 siblings, 0 replies; 8+ messages in thread
From: Leo Yan @ 2026-10-01 13:41 UTC (permalink / raw)
To: Rob Herring
Cc: Suzuki K Poulose, Mike Leach, James Clark, Krzysztof Kozlowski,
Conor Dooley, Mathieu Poirier, Leo Yan, coresight,
linux-arm-kernel, devicetree, linux-kernel
On Thu, Oct 01, 2026 at 07:04:44AM -0500, Rob Herring wrote:
[...]
> > 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
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-10-01 13:41 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-21 23:28 [PATCH] dt-bindings: arm: coresight: Allow funnel clocks Rob Herring (Arm)
2026-09-21 23:37 ` sashiko-bot
2026-09-23 16:05 ` Rob Herring
2026-09-23 18:15 ` Rob Herring
2026-09-30 20:41 ` Rob Herring (Arm)
2026-10-01 10:04 ` Leo Yan
2026-10-01 12:04 ` Rob Herring
2026-10-01 13:41 ` Leo Yan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox