History log of /linux/drivers/clocksource/timer-nxp-pit.c (Results 1 – 4 of 4)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 70de5572 01-Oct-2025 Linus Torvalds <torvalds@linux-foundation.org>

Merge tag 'timers-clocksource-2025-09-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull clocksource updates from Thomas Gleixner:

- Further preparations for modular clocksource/eve

Merge tag 'timers-clocksource-2025-09-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull clocksource updates from Thomas Gleixner:

- Further preparations for modular clocksource/event drivers

- The usual device tree updates to support new chip variants and the
related changes to thise drivers

- Avoid a 64-bit division in the TEGRA186 driver, which caused a build
fail on 32-bit machines.

- Small fixes, improvements and cleanups all over the place

* tag 'timers-clocksource-2025-09-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (52 commits)
dt-bindings: timer: exynos4210-mct: Add compatible for ARTPEC-9 SoC
clocksource/drivers/sh_cmt: Split start/stop of clock source and events
clocksource/drivers/clps711x: Fix resource leaks in error paths
clocksource/drivers/arm_global_timer: Add auto-detection for initial prescaler values
clocksource/drivers/ingenic-sysost: Convert from round_rate() to determine_rate()
clocksource/drivers/timer-tegra186: Don't print superfluous errors
clocksource/drivers/timer-rtl-otto: Simplify documentation
clocksource/drivers/timer-rtl-otto: Do not interfere with interrupts
clocksource/drivers/timer-rtl-otto: Drop set_counter function
clocksource/drivers/timer-rtl-otto: Work around dying timers
clocksource/drivers/timer-ti-dm : Capture functionality for OMAP DM timer
clocksource/drivers/arm_arch_timer_mmio: Add MMIO clocksource
clocksource/drivers/arm_arch_timer_mmio: Switch over to standalone driver
clocksource/drivers/arm_arch_timer: Add standalone MMIO driver
ACPI: GTDT: Generate platform devices for MMIO timers
clocksource/drivers/nxp-pit: Add NXP Automotive s32g2 / s32g3 support
dt: bindings: fsl,vf610-pit: Add compatible for s32g2 and s32g3
clocksource/drivers/vf-pit: Rename the VF PIT to NXP PIT
clocksource/drivers/vf-pit: Unify the function name for irq ack
clocksource/drivers/vf-pit: Consolidate calls to pit_*_disable/enable
...

show more ...


Revision tags: v6.17
# 749b61c2 25-Sep-2025 Thomas Gleixner <tglx@linutronix.de>

Merge tag 'timers-v6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/daniel.lezcano/linux into timers/clocksource

Pull clocksource/events driver updates from Daniel Lezcano:

- Add the m

Merge tag 'timers-v6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/daniel.lezcano/linux into timers/clocksource

Pull clocksource/events driver updates from Daniel Lezcano:

- Add the module owner to all the drivers which can be converted into
modules in order to have the core time framework to take the
refcount and prevent wild module removal. In addition export the
symbols for the sched_clock_register() function to allow the drivers
to be converted into modules (Daniel Lezcano)

- Convert the faraday,fttmr010 DT bindings to yaml schema (Rob
Herring)

- Add the DT bindings compatible string for the MT6572 (Max
Shevchenko)

- Fix the fsl,ftm-timer bindings by using the items to describe a
register (Frank Li)

- Add the DT binding documentation for Andes machine timer (Ben
Zong-You Xie)

- Avoid 64-bit divide operation which fails on xtensa and simplify the
timeleft computation with 32 bits operations on Tegra186 (Guenter
Roeck)

- Add the fsl,timrot.yaml DT bindings for i.MX23/i.MX28 timer (Frank
Li)

- Replace comma by semicolon which were introduced when moving the
static structure initialization (Chen Ni)

- Add a new compatible for the MediaTek MT8196 SoC, fully compatible
with MT6765 (AngeloGioacchino Del Regno)

- Add the support for the s32g2 and s32g3 platforms in the PIT timer
after cleaning up the code to support multiple instances (Daniel
Lezcano)

- Generate platform devices for MMIO timers with ACPI and integrate it
with the arch ARM timer (Marc Zyngier)

- Fix RTL OTTO timer by working around dying timers (Markus Stockhausen)

- Remove extra error message in the tegra186 timer (Wolfram Sang)

- Convert from round_rate() to determine_rate() in the Ingenic sysost
driver (Brian Masney)

- Add PWM capture functionality in the OMAP DM driver (Gokul Praveen)

- Autodetect the clock rate to initialize a prescaler value compatible
with the frequency changes on the ARM global timer (Markus
Schneider-Pargmann)

- Fix rollbacks missing resource deallocation in case of error on the
clps711x (Zhen Ni)

- Reorganize the code to split the start and the stop routine on the
sh_cmt driver (Niklas Söderlund)

- Add the compatible definition for ARTPEC-9 on exynos MCT (SungMin Park)

show more ...


Revision tags: v6.17-rc7, v6.17-rc6, v6.17-rc5, v6.17-rc4, v6.17-rc3, v6.17-rc2, v6.17-rc1
# bee33f22 04-Aug-2025 Daniel Lezcano <daniel.lezcano@linaro.org>

clocksource/drivers/nxp-pit: Add NXP Automotive s32g2 / s32g3 support

The previous changes put in place the encapsulation of the code in
order to allow multiple instances of the driver.

The S32G pl

clocksource/drivers/nxp-pit: Add NXP Automotive s32g2 / s32g3 support

The previous changes put in place the encapsulation of the code in
order to allow multiple instances of the driver.

The S32G platform has two Periodic Interrupt Timer (PIT). The IP is
exactly the same as the VF platform.

Each PIT has four channels which are 32 bits wide and counting
down. The two first channels can be chained to implement a 64 bits
counter. The channel usage is kept unchanged with the original driver,
channel 2 is used as a clocksource, channel 3 is used as a
clockevent. Other channels are unused.

In order to support the S32G platform which has two PIT, we initialize
the timer and bind it to a CPU. The S32G platforms can have 2, 4 or 8
CPUs and this kind of configuration can appear unusual as we may endup
with two PIT used as a clockevent for the two first CPUs while the
other CPUs use the architected timers. However, in the context of the
automotive, the platform can be partioned to assign 2 CPUs for Linux
and the others CPUs to third party OS. The PIT is then used with their
specifities like the ability to freeze the time which is needed for
instance for debugging purpose.

The setup found for this platform is each timer instance is bound to
CPU0 and CPU1.

A counter is incremented when a timer is successfully initialized and
assigned to a CPU. This counter is used as an index for the CPU number
and to detect when we reach the maximum possible instances for the
platform. That in turn triggers the CPU hotplug callbacks to achieve
the per CPU setup. It is the exact same mechanism found in the NXP STM
driver.

If the timers must be bound to different CPUs, it would require an
additionnal mechanism which is not part of these changes.

Tested on a s32g274a-rdb2.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20250804152344.1109310-21-daniel.lezcano@linaro.org

show more ...


# fc346a15 04-Aug-2025 Daniel Lezcano <daniel.lezcano@linaro.org>

clocksource/drivers/vf-pit: Rename the VF PIT to NXP PIT

The PIT acronym stands for Periodic Interrupt Timer which is found on
different NXP platforms not only on the Vybrid Family. Change the name

clocksource/drivers/vf-pit: Rename the VF PIT to NXP PIT

The PIT acronym stands for Periodic Interrupt Timer which is found on
different NXP platforms not only on the Vybrid Family. Change the name
to be more generic for the NXP platforms in general. That will be
consistent with the NXP STM driver naming convention.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20250804152344.1109310-19-daniel.lezcano@linaro.org

show more ...