u-boot/arch/arm
Andre Przywara be0d217952 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: 5ff8e54888 ("sunxi: improve throughput
in the sunxi_mmc driver")

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

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Andreas Färber <afaerber@suse.de>
Tested-by: Guillaume Gardet <guillaume.gardet@free.fr>
2018-07-03 22:00:00 +05:30
..
cpu arm: timer: sunxi: add Allwinner timer erratum workaround 2018-07-03 22:00:00 +05:30
dts sun50i: h5: Add initial Orange Pi Zero Plus support 2018-06-16 14:52:42 +05:30
include Merge branch 'master' of git://git.denx.de/u-boot-sunxi 2018-06-04 08:55:00 -04:00
lib arm: print instructions pointed to by pc 2018-05-23 22:06:41 -04:00
mach-aspeed regmap: change regmap_init_mem() to take ofnode instead udevice 2018-05-07 15:49:51 -04:00
mach-at91 at91: Minor tweaks to SPL logic for space savings on smartweb 2018-05-22 22:08:57 -04:00
mach-bcm283x efi_loader: Convert runtime reset from switch to if statements 2018-06-14 10:52:14 +02:00
mach-davinci SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-exynos arm: v7: Kconfig: Rename CPU_V7 as CPU_V7A 2018-05-07 15:53:24 -04:00
mach-highbank SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-imx arm: imx53: Add support for imx53 boards from K+P 2018-05-18 08:29:38 +02:00
mach-integrator env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
mach-keystone SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-kirkwood ARM: add SBx81LIFKW board 2018-06-05 07:29:09 +02:00
mach-meson ARM: meson: rename GXBB to GX 2018-05-08 09:07:34 -04:00
mach-mvebu arm: mvebu: Add Helios4 Armada 38x initial support 2018-06-12 13:17:19 +02:00
mach-omap2 ti: fastboot: Move weak overrides to board files 2018-05-30 11:59:21 +02:00
mach-orion5x ARM: orion5x: fix use of callee-saved registers in lowloevel_init 2018-06-07 09:12:26 -04:00
mach-qemu arm: v7: Kconfig: Rename CPU_V7 as CPU_V7A 2018-05-07 15:53:24 -04:00
mach-rmobile ARM: renesas: Add R8A77990 E3 Ebisu board 2018-06-01 09:47:21 +02:00
mach-rockchip fastboot: Rename fb_set_reboot_flag to fastboot_set_reboot_flag 2018-05-30 11:59:21 +02:00
mach-s5pc1xx SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-snapdragon mach-snapdragon: increase size of malloc pool 2018-05-29 11:01:37 -04:00
mach-socfpga SPDX: Fixup SPDX tags in a few new files 2018-05-20 09:47:45 -04:00
mach-sti board: Add STMicroelectronics STiH410-B2260 support 2017-03-14 20:40:21 -04:00
mach-stm32 mach-stm32: Enable SPL_RESET_SUPPORT flag 2018-06-05 20:19:09 -04:00
mach-stm32mp stm32mp1: use OTP to configure MAC address and serial number 2018-05-26 18:19:18 -04:00
mach-sunxi arm: timer: sunxi: add Allwinner timer erratum workaround 2018-07-03 22:00:00 +05:30
mach-tegra arm: v7: Kconfig: Rename CPU_V7 as CPU_V7A 2018-05-07 15:53:24 -04:00
mach-uniphier ARM: uniphier: rename environment variable fdt_file to fdtfile 2018-05-23 00:32:39 +09:00
mach-versatile SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-zynq arm: zynq: Remove checkboard and enable DISPLAY_CPUINFO 2018-05-11 09:23:43 +02:00
mach-zynqmp-r5 arm: zynqmp: Add ZynqMP minimal R5 support 2018-05-11 09:38:23 +02:00
thumb1/include/asm/proc-armv SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
config.mk SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Kconfig LS1012AFRWY: Add Secure Boot support 2018-06-11 12:34:45 -07:00
Kconfig.debug
Makefile arm: armv7m: Clean up some thumb / compiler flag options 2018-05-23 13:03:42 -04:00