[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <fbe8b18d-4934-404a-a699-9a13ce8f145d@linaro.org>
Date: Wed, 24 Dec 2025 11:31:41 +0100
From: Daniel Lezcano <daniel.lezcano@...aro.org>
To: wbg@...nel.org
Cc: s32@....com, devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-iio@...r.kernel.org, krzk+dt@...nel.org, conor+dt@...nel.org,
robh@...nel.org
Subject: Re: [PATCH v3 0/3] Add the System Timer Module counter
Hi William,
just a heads up about these changes.
Thanks
-- Daniel
On 12/17/25 08:49, Daniel Lezcano wrote:
> 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
>
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
Powered by blists - more mailing lists