All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] Add the System Timer Module counter
@ 2025-12-17  7:49 Daniel Lezcano
  2025-12-17  7:49 ` [PATCH v3 1/3] counters: Reorder the Makefile Daniel Lezcano
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Daniel Lezcano @ 2025-12-17  7:49 UTC (permalink / raw)
  To: wbg, robh, conor+dt, krzk+dt; +Cc: s32, devicetree, linux-kernel, linux-iio

The NXP S32 family provides a System Timer Module (STM), a 32-bit
free-running counter clocked from a peripheral clock. The STM includes
a prescaler and one or more compare channels generating optional
interrupts. When used as a generic hardware counter, only the main
free-running counter is required, while the compare channels are
typically unused.

On S32G2 devices, the STM is exposed as a simple counter block that
can operate continuously and be shared across subsystems such as the
Linux kernel, firmware components running on Cortex-M7 cores, or other
co-processors. The counter can be read atomically and provides a
stable timestamp source to correlate events occurring in different
execution contexts.

The Linux kernel controls the STM through a memory-mapped interface,
configuring the prescaler, enabling or disabling the counter, and
accounting for wrap-arounds. Other subsystems access the counter in
read-only mode, making it a shared timestamp reference across the
platform.

This driver adds support for the STM when used as a counter on S32G2
platforms. The device is described in the device tree using the
following compatible:

compatible = "nxp,s32g2-stm-cnt";

The driver exposes basic counter functionality: start, stop, reset,
prescaler configuration, and overflow handling.

Changelog:
	* v3
	  - Fixed compatible typo "nxp,s32g2-stm" to "nxp,s32g2-stm-cnt"

	* v2
	  - Added Rob's tag
	  ** kbuild
	  - Reordered alphabetically the headers
	  - Added bitfield.h header
	  - Use DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()

Daniel Lezcano (3):
  counters: Reorder the Makefile
  dt-bindings: counter: Add NXP System Timer Module Counter
  counter: Add STM based counter

 .../bindings/counter/nxp,s32g2-stm-cnt.yaml   |  64 +++
 drivers/counter/Kconfig                       |  10 +
 drivers/counter/Makefile                      |  21 +-
 drivers/counter/nxp-stm-cnt.c                 | 386 ++++++++++++++++++
 4 files changed, 472 insertions(+), 9 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/counter/nxp,s32g2-stm-cnt.yaml
 create mode 100644 drivers/counter/nxp-stm-cnt.c

-- 
2.43.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-12-29 13:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-17  7:49 [PATCH v3 0/3] Add the System Timer Module counter Daniel Lezcano
2025-12-17  7:49 ` [PATCH v3 1/3] counters: Reorder the Makefile Daniel Lezcano
2025-12-17  7:49 ` [PATCH v3 2/3] dt-bindings: counter: Add NXP System Timer Module Counter Daniel Lezcano
2025-12-17  7:49 ` [PATCH v3 3/3] counter: Add STM based counter Daniel Lezcano
2025-12-28  6:52   ` William Breathitt Gray
2025-12-28 17:37     ` Daniel Lezcano
2025-12-29 13:50       ` William Breathitt Gray
2025-12-24 10:31 ` [PATCH v3 0/3] Add the System Timer Module counter Daniel Lezcano

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.