Hi Mylène, On 19/02/18 08:18, Mylène Josserand wrote: > The ARM architected timers use an offset between their physical and > virtual counters. That offset should be configured by the bootloader > in CNTVOFF. > > However, the A83t bootloader fails to do so, and we end up with an > undefined offset (which in our case is random), meaning that each CPU > will have a different time, which isn't working very well. > > Fix that by setting the arm,cpu-registers-not-fw-configured that will > make Linux use the physical timers instead of the virtual ones. One > possible side effect would be that the virtualization features would > be disabled. However, due to the way the GIC has been integrated in > the system, it is already unusable so we're effectively not losing any > feature. > > Signed-off-by: Mylène Josserand <mylene.josserand@xxxxxxxxxxx> > --- > arch/arm/boot/dts/sun8i-a83t.dtsi | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi > index e97a6d17b8d0..b9bdb891cf2f 100644 > --- a/arch/arm/boot/dts/sun8i-a83t.dtsi > +++ b/arch/arm/boot/dts/sun8i-a83t.dtsi > @@ -123,6 +123,7 @@ > <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, > <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, > <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; > + arm,cpu-registers-not-fw-configured; > }; > > clocks { > Is the firmware dropping you in the kernel in secure or non-secure mode? If the later, what you have is the only solution. If the former, that I'd suggest you adopt what we already have for the Renesas stuff (see arch/arm/mach-shmobile/headsmp-apmu.S and commit 3fd45a136ff6). It would allow you to use the virtual timer as intended. Thanks, M. -- Jazz is not dead. It just smells funny... -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html