Skip to content
Commit be0d2179 authored by André Przywara's avatar André Przywara Committed by Jagan Teki
Browse files

arm: timer: sunxi: add Allwinner timer erratum workaround

The Allwinner A64 SoCs suffers from an arch timer implementation erratum,
where sometimes the lower 11 bits of the counter value erroneously
become all 0's or all 1's [1]. This leads to sudden jumps, both forwards and
backwards, with the latter one often showing weird behaviour.
Port the workaround proposed for Linux to U-Boot and activate it for all
A64 boards.
This fixes crashes when accessing MMC devices (SD cards), caused by a
recent change to actually use the counter value for timeout checks.

Fixes: 5ff8e548 ("sunxi: improve throughput
in the sunxi_mmc driver")

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2018-May/576886.html



Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
Reviewed-by: Philipp Tomsich's avatarPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: default avatarJagan Teki <jagan@amarulasolutions.com>
Tested-by: default avatarAndreas Färber <afaerber@suse.de>
Tested-by: default avatarGuillaume Gardet <guillaume.gardet@free.fr>
parent 38651588
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment