linux/drivers/clocksource
Marc Zyngier 4891f01527 clocksource/drivers/arm_arch_timer: Add standalone MMIO driver
Add a new driver for the MMIO side of the ARM architected timer.
Most of it has been lifted from the existing arch timer code,
massaged, and finally rewritten.

It supports both DT and ACPI as firmware descriptions.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Tested-by: Sudeep Holla <sudeep.holla@arm.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/r/20250814154622.10193-3-maz@kernel.org
2025-09-23 12:31:15 +02:00
..
acpi_pm.c clocksource: acpi_pm: Add external callback for suspend/resume 2024-09-06 14:49:20 +02:00
arc_timer.c clocksource/drivers/arc_timer: Eliminate redefined macro error 2021-10-16 22:15:01 +02:00
arm_arch_timer.c time/timecounter: Fix the lie that struct cyclecounter is const 2025-07-01 15:38:25 +02:00
arm_arch_timer_mmio.c clocksource/drivers/arm_arch_timer: Add standalone MMIO driver 2025-09-23 12:31:15 +02:00
arm_global_timer.c clocksource/drivers/arm_global_timer: Remove clockevents shutdown call on offlining 2024-10-31 10:41:42 +01:00
armv7m_systick.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
asm9260_timer.c clocksource/drivers/asm9260: Add missing clk_disable_unprepare in asm9260_timer_init 2024-09-06 14:49:21 +02:00
bcm2835_timer.c clocksource: Explicitly include correct DT includes 2023-08-28 13:30:57 -05:00
bcm_kona_timer.c clocksource/drivers/bcm_kona: Convert to SPDX identifier 2022-05-18 11:08:59 +02:00
clksrc-dbx500-prcmu.c timekeeping, clocksource: Fix various typos in comments 2021-03-22 23:06:48 +01:00
clksrc_st_lpc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
clps711x-timer.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dummy_timer.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
dw_apb_timer.c clocksource/drivers/dw_apb: Remove unused dw_apb_clockevent functions 2024-11-13 13:49:33 +01:00
dw_apb_timer_of.c clocksource/drivers/dw_apb_timer_of: Fix probe failure 2021-12-10 17:46:54 +01:00
em_sti.c clocksource: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:51 -07:00
exynos_mct.c clocksource/drivers/exynos_mct: Fixed a spelling error 2025-03-07 17:55:59 +01:00
hyperv_timer.c clocksource: hyper-v: Fix warnings for missing export.h header inclusion 2025-07-09 23:46:06 +00:00
i8253.c clocksource/i8253: Use raw_spinlock_irqsave() in clockevent_i8253_disable() 2025-05-05 15:34:49 +02:00
ingenic-ost.c clocksource/drivers/ingenic: Use devm_clk_get_enabled() helpers 2024-09-06 14:49:20 +02:00
ingenic-sysost.c clocksource/drivers/ingenic: Use bitfield macro helpers 2021-08-14 02:44:35 +02:00
ingenic-timer.c clocksource/drivers/ingenic-timer: Use pm_sleep_ptr() macro 2023-06-19 16:17:42 +02:00
jcore-pit.c irqchip/jcore-aic, clocksource/drivers/jcore: Fix jcore-pit interrupt request 2025-02-17 23:27:49 +01:00
Kconfig clocksource/drivers/vf-pit: Rename the VF PIT to NXP PIT 2025-09-23 12:30:05 +02:00
Makefile clocksource/drivers/vf-pit: Rename the VF PIT to NXP PIT 2025-09-23 12:30:05 +02:00
mips-gic-timer.c clocksource: mips-gic-timer: Enable counter when CPUs start 2025-02-21 10:19:14 +01:00
mmio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mps2-timer.c clocksource/drivers/mps2-timer: Use semicolons rather than commas to separate statements 2020-10-01 10:07:26 +02:00
mxs_timer.c clocksource/drivers/mxs_timer: Add missing semicolon when DEBUG is defined 2021-01-18 22:28:59 +01:00
nomadik-mtu.c clocksource: Explicitly include correct DT includes 2023-08-28 13:30:57 -05:00
numachip.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
renesas-ostm.c clocksource/drivers/renesas-ostm: Unconditionally enable reprobe support 2025-05-16 13:33:11 +02:00
samsung_pwm_timer.c of: remove internal arguments from of_property_for_each_u32() 2024-07-25 06:53:47 -05:00
scx200_hrt.c clocksource/drivers/scx200: Add module owner 2025-09-23 10:21:24 +02:00
sh_cmt.c clocksource/drivers/sh_cmt: Address race condition for clock events 2024-07-12 16:07:05 +02:00
sh_mtu2.c Timekeeping and clocksource/event driver updates the second batch: 2023-04-29 10:24:30 -07:00
sh_tmu.c clocksource: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:51 -07:00
timer-armada-370-xp.c clocksource/drivers/armada-370-xp: Remove clockevents shutdown call on offlining 2024-10-31 10:41:43 +01:00
timer-atmel-pit.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
timer-atmel-st.c clocksource/drivers/atmel-st: Remove useless 'status' 2020-04-15 10:57:15 +02:00
timer-atmel-tcb.c clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware 2023-10-13 12:56:50 +02:00
timer-cadence-ttc.c clocksource/drivers/cadence-ttc: Add missing clk_disable_unprepare in ttc_setup_clockevent 2024-09-06 14:49:21 +02:00
timer-clint.c riscv: Use IPIs for remote cache/TLB flushes by default 2024-04-29 10:49:26 -07:00
timer-cs5535.c clocksource/drivers/cs5535: Add module owner 2025-09-23 10:52:23 +02:00
timer-davinci.c clocksource/drivers/davinci: Fix memory leak in davinci_timer_register when init fails 2023-04-24 16:56:13 +02:00
timer-digicolor.c clocksource/drivers/digicolor: Convert to SPDX identifier 2022-05-18 11:08:59 +02:00
timer-econet-en751221.c clocksource/timer-econet-en751221: Convert comma to semicolon 2025-09-23 10:56:13 +02:00
timer-ep93xx.c clocksource/drivers/ep93xx: Fix error handling during probe 2023-12-27 15:37:11 +01:00
timer-fsl-ftm.c timekeeping, clocksource: Fix various typos in comments 2021-03-22 23:06:48 +01:00
timer-fttmr010.c clocksource/drivers/fttmr010: Pass around less pointers 2021-08-14 10:49:49 +02:00
timer-goldfish.c clocksource/drivers: Add a goldfish-timer clocksource 2022-04-11 11:48:01 +02:00
timer-gx6605s.c clocksource/drivers/timer-gx6605s: Fixup counter reload 2020-08-24 13:01:39 +02:00
timer-gxp.c clocksource/drivers/gpx: Remove redundant casts 2024-11-13 13:49:33 +01:00
timer-imx-gpt.c clocksource/drivers/imx: Fix -Wunused-but-set-variable warning 2024-01-22 13:11:02 +01:00
timer-imx-sysctr.c clocksource/drivers/imx-sysctr: Add i.MX95 support 2024-02-18 10:45:36 +01:00
timer-imx-tpm.c clocksource/drivers/imx-tpm: Fix next event not taking effect sometime 2024-09-02 10:04:15 +02:00
timer-integrator-ap.c clocksource: Explicitly include correct DT includes 2023-08-28 13:30:57 -05:00
timer-ixp4xx.c clocksource/drivers/ixp4xx: Drop boardfile probe path 2022-05-18 11:08:52 +02:00
timer-keystone.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
timer-loongson1-pwm.c clocksource/drivers/loongson1: Set variable ls1x_timer_lock storage-class-specifier to static 2023-08-18 12:13:03 +02:00
timer-lpc32xx.c clocksource/drivers/lpc32xx: Convert to SPDX identifier 2022-05-18 11:08:59 +02:00
timer-mediatek-cpux.c clocksource/drivers/timer-mediatek: Split out CPUXGPT timers 2023-04-24 16:56:13 +02:00
timer-mediatek.c clocksource/drivers/timer-mediatek: Split out CPUXGPT timers 2023-04-24 16:56:13 +02:00
timer-meson6.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-microchip-pit64b.c clocksource/drivers/timer-microchip-pit64b: Add delay timer 2023-02-13 13:10:17 +01:00
timer-milbeaut.c clocksource/drivers/timer-milbeaut: Cleanup common register accesses 2019-05-02 21:55:58 +02:00
timer-mp-csky.c clocksource/drivers/c-sky: fixup ftrace call-graph panic 2018-12-31 23:17:23 +08:00
timer-msc313e.c clocksource/drivers/msc313e: Add support for ssd20xd-based platforms 2021-12-20 13:28:39 +01:00
timer-npcm7xx.c clocksource/drivers/timer-npcm7xx: Enable timer 1 clock before use 2022-12-02 12:48:28 +01:00
timer-nxp-pit.c clocksource/drivers/nxp-pit: Add NXP Automotive s32g2 / s32g3 support 2025-09-23 12:30:19 +02:00
timer-nxp-stm.c clocksource/drivers/stm: Add module owner 2025-09-23 10:52:13 +02:00
timer-of.c clocksource/drivers/timer-of: Remove percpu irq related code 2024-09-02 10:04:15 +02:00
timer-of.h clocksource/drivers/timer-of: Remove percpu irq related code 2024-09-02 10:04:15 +02:00
timer-orion.c arm: Handle KCOV __init vs inline mismatches 2025-07-21 21:43:39 -07:00
timer-owl.c clocksource/drivers/owl: Improve owl_timer_init fail messages 2020-02-27 09:42:00 +01:00
timer-pistachio.c clocksource/drivers/pistachio: Convert to SPDX identifier 2022-05-18 11:08:59 +02:00
timer-probe.c treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
timer-pxa.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-qcom.c clocksource/drivers/qcom: Remove clockevents shutdown call on offlining 2024-10-31 10:41:43 +01:00
timer-ralink.c clocksource/drivers/ralink: Add Ralink System Tick Counter driver 2024-11-13 13:49:33 +01:00
timer-rda.c clocksource/drivers/rda: Add clock driver for RDA8810PL SoC 2018-12-18 22:22:23 +01:00
timer-riscv.c clocksource/drivers/timer-riscv: Stop stimecmp when cpu hotplug 2025-03-18 12:59:03 +00:00
timer-rockchip.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
timer-rtl-otto.c clocksource/drivers/realtek: Add timer driver for rtl-otto platforms 2024-07-12 16:07:06 +02:00
timer-sp.h clocksource/drivers/sp804: Enable Hisilicon sp804 timer 64bit mode 2020-09-24 10:51:04 +02:00
timer-sp804.c clocksource/drivers/sp804: Do not use timer namespace for timer_shutdown() function 2022-11-24 15:09:10 +01:00
timer-sprd.c clocksource/drivers/sprd: Register one always-on timer to compensate suspend time 2018-07-26 11:26:34 +02:00
timer-stm32-lp.c clocksource/drivers/stm32-lp: Add module owner 2025-09-23 10:51:21 +02:00
timer-stm32.c clocksource/drivers/stm32: Fix all kernel-doc warnings 2024-01-22 13:15:38 +01:00
timer-sun4i.c clocksource/drivers/timer-sun4i: Add CLOCK_EVT_FEAT_DYNIRQ 2023-02-13 13:10:17 +01:00
timer-sun5i.c clocksource/drivers/sun5i: Add module owner 2025-09-23 10:51:44 +02:00
timer-tegra.c clocksource/drivers/timer-tegra: Remove clockevents shutdown call on offlining 2024-10-31 10:41:43 +01:00
timer-tegra186.c clocksource/drivers/tegra186: Avoid 64-bit division 2025-09-23 10:55:12 +02:00
timer-ti-32k.c clocksource/drivers/ti-32K: Fix misuse of "/**" comment 2024-01-22 13:16:32 +01:00
timer-ti-dm-systimer.c clocksource/drivers/arm_arch_timer: Use of_property_present() for non-boolean properties 2024-11-13 13:49:33 +01:00
timer-ti-dm.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
timer-versatile.c clocksource/drivers/timer-versatile: Clear OF_POPULATED flag 2020-05-23 00:03:25 +02:00
timer-vt8500.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-zevio.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00