[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260114-debug_bus-v2-0-5475c7841569@foss.st.com>
Date: Wed, 14 Jan 2026 11:29:14 +0100
From: Gatien Chevallier <gatien.chevallier@...s.st.com>
To: Suzuki K Poulose <suzuki.poulose@....com>,
Mike Leach
<mike.leach@...aro.org>,
James Clark <james.clark@...aro.org>, Rob Herring
<robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley
<conor+dt@...nel.org>,
Mathieu Poirier <mathieu.poirier@...aro.org>,
Leo Yan
<leo.yan@...ux.dev>,
Clément Le Goffic
<legoffic.clement@...il.com>,
Linus Walleij <linusw@...nel.org>,
"Maxime
Coquelin" <mcoquelin.stm32@...il.com>,
Alexandre Torgue
<alexandre.torgue@...s.st.com>,
<jens.wiklander@...aro.org>
CC: <coresight@...ts.linaro.org>, <linux-arm-kernel@...ts.infradead.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-gpio@...r.kernel.org>,
<linux-stm32@...md-mailman.stormreply.com>,
Gatien Chevallier <gatien.chevallier@...s.st.com>,
Antonio Borneo
<antonio.borneo@...s.st.com>
Subject: [PATCH v2 00/11] bus: add stm32 debug bus and coresight support
for stm32mp1x platforms
Stm32 SoCs embed debug peripherals such as Coresight. These peripherals
can monitor the activity of the cores. Because of that, they can be
used only if some features in the debug configuration are enabled.
Else, errors or firewall exceptions can be observed. Similarly to
the ETZPC(on stm32mp1x platforms) or the RIFSC(on stm32mp2x platforms),
debug-related peripherals access can be assessed at bus level to
prevent these issues from happening.
The debug configuration can only be accessed by the secure world.
That means that a service must be implemented in the secure world for
the kernel to check the firewall configuration. On OpenSTLinux, it is
done through a Debug access PTA in OP-TEE [1].
To represent the debug peripherals present on a dedicated debug bus,
create a debug bus node in the device tree and the associated driver
that will interact with this PTA.
[1]: https://github.com/OP-TEE/optee_os/pull/7673
Signed-off-by: Gatien Chevallier <gatien.chevallier@...s.st.com>
---
Changes in v2:
- Fix kernel robot error by documenting the access-controllers property
in the missing coresight peripheral binding files.
- List the access controller items for HDP
- Various minor fixes in the debug bus binding file.
- Remove clock documentation and its presence in the DT node and driver.
Bus clock will be handled by the child nodes' drivers.
- stm32 debug bus driver:
- Depopulate the bus when .remove() is called
- Remove trace when error on devm_kzalloc() as the trace
function does nothing in case of ENOMEM.
- Remove use of of_match_ptr()
- Use tee bus callbacks
- Link to v1: https://lore.kernel.org/r/20260109-debug_bus-v1-0-8f2142b5a738@foss.st.com
---
Gatien Chevallier (11):
dt-bindings: document access-controllers property for coresight peripherals
dt-bindings: pinctrl: document access-controllers property for stm32 HDP
dt-bindings: bus: document the stm32 debug bus
bus: stm32_firewall: allow check on different firewall controllers
drivers: bus: add the stm32 debug bus driver
arm: dts: stm32: introduce the debug bus for stm32mp1x platforms
arm: dts: stm32: enable the debug bus on stm32mp1x boards
arm: dts: stm32: enable CoreSight on stm32mp15xx-dkx boards
arm: dts: stm32: enable CoreSight on the stm32mp157c-ev1 board
arm: dts: stm32: enable CoreSight on the stm32mp135f-dk board
pinctrl: stm32: add firewall checks before probing the HDP driver
.../devicetree/bindings/arm/arm,coresight-cti.yaml | 3 +
.../bindings/arm/arm,coresight-dynamic-funnel.yaml | 3 +
.../devicetree/bindings/arm/arm,coresight-etm.yaml | 3 +
.../devicetree/bindings/arm/arm,coresight-stm.yaml | 3 +
.../devicetree/bindings/arm/arm,coresight-tmc.yaml | 3 +
.../bindings/arm/arm,coresight-tpiu.yaml | 3 +
.../bindings/bus/st,stm32mp131-dbg-bus.yaml | 79 +++++++
.../devicetree/bindings/pinctrl/st,stm32-hdp.yaml | 6 +
MAINTAINERS | 1 +
arch/arm/boot/dts/st/stm32mp131.dtsi | 118 +++++++++++
arch/arm/boot/dts/st/stm32mp135f-dk.dts | 24 +++
arch/arm/boot/dts/st/stm32mp151.dtsi | 172 +++++++++++++++
arch/arm/boot/dts/st/stm32mp153.dtsi | 68 ++++++
arch/arm/boot/dts/st/stm32mp157c-ev1.dts | 40 ++++
arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi | 40 ++++
drivers/bus/Kconfig | 10 +
drivers/bus/Makefile | 1 +
drivers/bus/stm32_dbg_bus.c | 236 +++++++++++++++++++++
drivers/bus/stm32_firewall.c | 2 +-
drivers/pinctrl/stm32/pinctrl-stm32-hdp.c | 41 ++++
20 files changed, 855 insertions(+), 1 deletion(-)
---
base-commit: 92fad96aea24fc19abe1eae2249402b61de3a3e2
change-id: 20260108-debug_bus-392666c7a3aa
Best regards,
--
Gatien Chevallier <gatien.chevallier@...s.st.com>
Powered by blists - more mailing lists