Skip to content
Snippets Groups Projects
Commit be0d2179 authored by Andre Przywara's avatar Andre 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: default 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
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment