[PATCH 18/18] arm64: apple: Add initial Mac Mini 2020 (M1) devicetree
Marc Zyngier
maz at kernel.org
Mon Feb 8 07:27:44 EST 2021
On 2021-02-04 20:39, Hector Martin wrote:
> This currently supports:
>
> * SMP (via spin-tables)
> * AIC IRQs
> * Serial (with earlycon)
> * Framebuffer
>
> A number of properties are dynamic, and based on system firmware
> decisions that vary from version to version. These are expected
> to be filled in by the loader.
>
> Signed-off-by: Hector Martin <marcan at marcan.st>
> ---
[...]
> + timer {
> + compatible = "arm,armv8-timer";
> + interrupt-parent = <&aic>;
> + interrupts = <AIC_FIQ 0 IRQ_TYPE_LEVEL_HIGH>,
> + <AIC_FIQ 0 IRQ_TYPE_LEVEL_HIGH>,
> + <AIC_FIQ 1 IRQ_TYPE_LEVEL_HIGH>,
> + <AIC_FIQ 0 IRQ_TYPE_LEVEL_HIGH>;
This unfortunately doesn't match the binding, which doesn't cater
for systems without a secure physical timer, nor allows the description
of the EL2 virtual timer.
You should also have *different* interrupts for EL1 and EL2 timers,
although this is all a lie...
Looking at the only similar case, XGene lies about the secure timer
(it doesn't have any), and of course doesn't have an EL2 virtual
timer (ARMv8.0 only).
A sensible course of action could be to update the binding to at least:
- tell the kernel that there is no secure physical timer (and that
the interrupt should be ignored)
- introduce a 5th possible interrupt for the EL2 virtual timer.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
More information about the linux-arm-kernel
mailing list