[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aBCTtiAHyJzJPaVh@mai.linaro.org>
Date: Tue, 29 Apr 2025 10:54:14 +0200
From: Daniel Lezcano <daniel.lezcano@...aro.org>
To: tglx@...utronix.de
Cc: linux-kernel@...r.kernel.org, thomas.fossati@...aro.org,
Larisa.Grigore@....com, ghennadi.procopciuc@....com,
krzysztof.kozlowski@...aro.org, S32@....com
Subject: Re: [PATCH v5 0/2] Add the System Timer Module for the NXP S32
architecture
On Thu, Apr 17, 2025 at 05:16:17PM +0200, Daniel Lezcano wrote:
> These couple of changes bring the System Timer Module - STM which is
> part of the NXP S32 architecture.
>
> The timer module has one counter and four comparators, an interrupt
> line when one of the comparator matches the counter. That means the
> interrupt is shared across the comparator.
>
> The number of STM is equal to the number of core available on the
> system. For the s32g2 variant, there are three Cortex-M3 and four
> Cortex-A53, consequently there are seven STM modules dedicated to
> those.
>
> In addition, there is a STM variant which is read-only, so the counter
> can not be set because it is tied to another STM module dedicated to
> timestamp. These special STM modules are apart and will be handled
> differently as they can not be used as a clockevent. They are not part
> of these changes.
>
> The choice is to have one STM instance, aka one STM description in the
> device tree, which initialize a clocksource and a clockevent per
> CPU. The latter is assigned to a CPU given the order of their
> description. First is CPU0, second is CPU1, etc ...
>
> Changelog:
>
> - v5
> - Fixed typos in the comments (Ghennadi Procopciuc)
> - Added clocks bindings for the module and the register (Ghennadi Procopciuc)
> - Fixed help in the Kconfig option (Ghennadi Procopciuc)
> - Changed max_ticks to ULONG_MAX when registering the clockevent
> - Removed Reviewed-by tag from Krzysztof Kozlowski as the binding changed
>
> - v4
> - Removed useless compatible string (Krzysztof Kozlowski)
> - Dropped of_match_ptr() (Krzysztof Kozlowski)
>
> - v3
> - Fixed bindings, compatible description and name (Krzysztof Kozlowski)
> - Fixed bindings filename to fit the compatible (Krzysztof Kozlowski)
> - Fixed a couple of typos in the driver changelog (Ghennadi Procopciuc)
> - Enclosed macro into parenthesis (Ghennadi Procopciuc)
> - Replaced irq_of_parse_and_map() by platform_get_irq() (Ghennadi Procopciuc)
> - Fixed checkpatch --script reports
> - Removed debugfs as the driver is not considered complex enough (Arnd Bergmann)
>
> - v2:
> - Fixed errors reported by 'make dt_binding_check' (Rob Herring)
> - Removed unneeded '|' symbol (Rob Herring)
> - Removed 'clocks' description (Rob Herring)
> - Removed 'clock-names' because there is only one description (Rob Herring)
> - Renamed 'stm@' to 'timer@' in the DT binding example (Rob Herring)
> - Fixed dt bindings patch subject (Krzysztof Kozlowski)
> - Dropped 'OneOf' in the DT bindings (Krzysztof Kozlowski)
> - Dropped the STM instances structure
> - Use the dev_err_probe() helper (Krzysztof Kozlowski)
> - Use the dev_err_probe() helper (Krzysztof Kozlowski)
> - Use devm_clk_get_enabled() (Krzysztof Kozlowski)
> - Removed unneeded headers (Ghennadi Procopciuc)
> - Removed unused macro (Ghennadi Procopciuc)
> - Replaced 'int' by 'unsigned int' (Ghennadi Procopciuc)
> - Removed dev_set_drvdata() (Ghennadi Procopciuc)
> - Prevent disabling the entire module and set min delta (Ghennadi Procopciuc)
> - Factored out the clocksource / clockevent init routine (Ghennadi Procopciuc)
> - Use devm_request_irq() (Ghennadi Procopciuc.)
> - Use irq_dispose_mapping() for error rollbacking (Ghennadi Procopciuc)
>
> - v1: initial post
>
> Daniel Lezcano (2):
> dt-bindings: timer: Add NXP System Timer Module
> clocksource/drivers/nxp-timer: Add the System Timer Module for the
> s32gx platforms
>
> .../bindings/timer/nxp,s32g2-stm.yaml | 64 +++
> drivers/clocksource/Kconfig | 8 +
> drivers/clocksource/Makefile | 2 +
> drivers/clocksource/timer-nxp-stm.c | 495 ++++++++++++++++++
> 4 files changed, 569 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/timer/nxp,s32g2-stm.yaml
> create mode 100644 drivers/clocksource/timer-nxp-stm.c
Applied, thanks
--
<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