]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
clocksource/drivers/arm_arch_timer: Workaround bcm2712 broken EL2 virtual timer
authorMarc Zyngier <maz@kernel.org>
Fri, 10 Jul 2026 08:09:58 +0000 (09:09 +0100)
committerThomas Gleixner <tglx@kernel.org>
Wed, 12 Aug 2026 15:09:29 +0000 (17:09 +0200)
commit94f39e4c017e66130e476268bdaa0bf61e914fa2
tree680b4062f3176c3205f71efeff48f4dae564d5a1
parent45f8dffc0714c3ef49c83e5bba4c56a4499bd5fc
clocksource/drivers/arm_arch_timer: Workaround bcm2712 broken EL2 virtual timer

It appears that the bcm2712 SoC found in the relatively popular RPi5 has a
broken EL2 virtual timer.

Tthe reason why the timer isn't working is unknown (the timer is ticking,
but the interrupt never fires), and the SoC vendor doesn't communicate on
the reason why this isn't working, leaving users and maintainers in the
dark.

Paper over the issue by detecting the broken HW, falling back to the
physical timer instead, and let the user know about it.  Also taint the
kernel as the machine is definitely not compliant with the spec, and it's
unknown what else is wrong with it.

Reported-by: John <therealgraysky@proton.me>
Reported-by: Daniel Drake <dan@reactivated.net>
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Tested-by: Gary Guo <gary@garyguo.net>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Cc: Daniel Lezcano <daniel.lezcano@kernel.org>
Link: https://patch.msgid.link/20260710080958.491620-1-maz@kernel.org
drivers/clocksource/arm_arch_timer.c