From: Florian Fainelli <florian.fainelli@broadcom.com>
To: Marc Zyngier <maz@kernel.org>, Daniel Drake <dan@reactivated.net>
Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
bcm-kernel-feedback-list@broadcom.com,
devicetree@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, m.szyprowski@samsung.com,
andrea.porta@suse.com
Subject: Re: [PATCH] arm64: dts: broadcom: bcm2712: Remove non-functional EL2 virtual timer
Date: Sun, 21 Jun 2026 21:03:03 +0100 [thread overview]
Message-ID: <223cd514-41b3-45b9-8617-b54d379d5091@broadcom.com> (raw)
In-Reply-To: <878q898ulx.wl-maz@kernel.org>
On 6/20/2026 9:49 AM, Marc Zyngier wrote:
> Hi Daniel,
>
> Thanks for posting this.
>
> On Fri, 19 Jun 2026 21:48:32 +0100,
> Daniel Drake <dan@reactivated.net> wrote:
>>
>> Commit d87773de9efe1 ("clocksource/drivers/arm_arch_timer: Default to
>> EL2 virtual timer when running VHE") causes boot to hang on
>> Raspberry Pi 5. The newly-selected EL2 virtual timer does not generate
>> any interrupts, even though the GIC_DIST_ENABLE_SET flag has been
>> confirmed set via readback.
>>
>> The reasons for this failure are unknown, however it is likely that
>> this timer was never tested. Raspberry Pi's original devicetree did
>
> The timer is part of the CPU, and there are enough A76 implementations
> around to prove that it actually works. The same can be said for the
> GIC400 this is (supposedly) attached to.
> >> not include this timer interrupt; it was only introduced via a
>> suggestion[1] made in code review as part of the upstreaming process.
>> (Current RPi firmware versions do include this timer, but only because
>> they rebased on top of the upstreamed devicetree starting with
>> Linux 6.12)
>>
>> Until more is known about this non-firing timer interrupt, remove
>> the devicetree entry to enable RPi5 devices to boot.
>
> I'd like to understand the reason why the timer interrupt isn't being
> delivered *before* we paper over it, and not the other way
> around. Each of the CPUs definitely have an EL2 virtual timer, the GIC
> has a per-CPU interrupt, but somehow the two don't seem to be linked.
>
> Since DT is supposed to describe the HW, I'd expect someone from
> Broadcom or RPi to shine a light on this issue. Integration mistakes
> happen, and we work around them (see the handful of Samsung SoCs where
> the timer interrupt was simply not wired). But we absolutely need to
> know what we are dealing with beforehand.
>
> Finally, just hacking the DT is not enough. Assuming that the timer is
> indeed unusable, we need to cope with the fact that there are DTs
> describing it in the wild, as nobody should be forced to upgrade their
> DT in lockstep with the kernel. For that, you'd also need something
> like the patch below (untested, and in need of a proper commit
> message, which I expect the SoC vendor to provide).
Daniel, do you happen to know which 2712 SoC revision you have, whether
this is a C0 or D0 stepping?
We have an internal bug tracker item pertaining exactly to the virtual
timer interrupt connection however it affected a sister chip (77122) and
not 2712 AFAICT, now checking with the design team whether the same
happened on 2712.
Thanks!
--
Florian
next prev parent reply other threads:[~2026-06-21 20:03 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20260619204921eucas1p1c4a9fe8e8a41f552d4637dee2b26f4e4@eucas1p1.samsung.com>
2026-06-19 20:48 ` [PATCH] arm64: dts: broadcom: bcm2712: Remove non-functional EL2 virtual timer Daniel Drake
2026-06-19 21:04 ` Marek Szyprowski
2026-06-20 8:49 ` Marc Zyngier
2026-06-21 20:03 ` Florian Fainelli [this message]
2026-06-21 20:58 ` Daniel Drake
2026-06-22 6:20 ` Marek Szyprowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=223cd514-41b3-45b9-8617-b54d379d5091@broadcom.com \
--to=florian.fainelli@broadcom.com \
--cc=andrea.porta@suse.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=conor+dt@kernel.org \
--cc=dan@reactivated.net \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=m.szyprowski@samsung.com \
--cc=maz@kernel.org \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox