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(+)
@@ -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.
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.
[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
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.
[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.
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.
[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
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(+)
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(+)
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
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(+)
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
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