u-boot/arch/arm
Fabio Estevam 5d09c27138 mx25: Select the ESDHC_A001 erratum
When a high speed card is connected to mx25 the following error is seen:

U-Boot 2017.11-rc2-00104-gb79372a (Oct 31 2017 - 11:02:22 -0200)

CPU:   Freescale i.MX25 rev1.2 at 399 MHz
Reset cause: POR
Board: MX25PDK
I2C:   ready
DRAM:  64 MiB
No arch specific invalidate_icache_all available!
MMC:   FSL_SDHC: 0
*** Warning - read failed, using default environment
In:    serial
Out:   serial
Err:   serial
Net:   FEC
Hit any key to stop autoboot:  0
=> saveenv
Saving Environment to MMC...
Writing to MMC(0)... failed

, which prevents any usage of the SD card.

The root cause for the failure is the eSDHC-A001 erratum:

"eSDHC-A001 : Data timeout counter (SYSCTL[DTOCV]) is not reliable for
values of 0x4,0x8, and 0xC" that is listed
on some PowerArchitecture chips:
https://www.nxp.com/files-static/32bit/doc/errata/MPC8379ECE.pdf

Even though eSDHC-A001 is not documented on the i.MX25 errata document,
I have confirmed with the NXP design team that this erratum does affect
i.MX25, so fix the problem by selecting SYS_FSL_ERRATUM_ESDHC_A001
at SoC level.

Successfully tested with a high speed SD card on a mx25pdk board.

Suggested-by: Benoît Thébaudeau <benoit@wsystem.com>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Acked-by: Sebastien Bourdelin <sebastien.bourdelin@savoirfairelinux.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Tested-by: Otavio Salvador <otavio@ossystems.com.br> # mx25pdk
2017-11-07 10:13:00 +01:00
..
cpu stv0991: fix STMicroelectronics copyright 2017-11-06 09:51:01 -05:00
dts ARM: dts: exynos: fix property values of LDO15/17 for ODROID-XU3/4 2017-11-06 16:59:32 +09:00
include spear: fix STMicroelectronics copyright 2017-11-06 09:51:01 -05:00
lib Merge git://git.denx.de/u-boot-fsl-qoriq 2017-10-12 13:36:58 -04:00
mach-aspeed aspeed: Refactor SCU to use consistent mask & shift 2017-05-08 11:57:35 -04:00
mach-at91 Drop CONFIG_HAS_DATAFLASH 2017-10-16 09:42:51 -04:00
mach-bcm283x bcm2835_wdt: support for the BCM2835/2836 watchdog 2017-05-09 20:30:08 -04:00
mach-davinci ARM: davinci: Remove CONFIG_SOC_DA830 2017-09-15 12:35:48 -04:00
mach-exynos usb: net: migrate USB Ethernet adapters to Kconfig 2017-09-08 10:23:00 -04:00
mach-highbank ARM: highbank: move SoC sources to mach-highbank 2015-02-21 08:23:51 -05:00
mach-imx mx25: Select the ESDHC_A001 erratum 2017-11-07 10:13:00 +01:00
mach-integrator env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
mach-keystone env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
mach-kirkwood env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
mach-meson meson-gx: reserved memory regions 2017-07-22 15:36:18 -04:00
mach-mvebu arm: mvebu: fix boot from UART on ClearFog Base 2017-09-26 06:53:18 +02:00
mach-omap2 Convert CONFIG_NAND_OMAP_GPMC et al and CONFIG_NAND_MXC to Kconfig 2017-10-20 16:44:07 -04:00
mach-orion5x spl: add hierarchical defaults for SPL_LDSCRIPT 2017-08-13 17:12:37 +02:00
mach-qemu ARM: Add a new arch + board for QEMU's 'virt' machine 2017-10-06 11:28:16 -04:00
mach-rmobile cosmetic: rmobile: renesas spelled wrong 2017-11-06 09:59:03 -05:00
mach-rockchip rockchip: rk3328: fix rockchip_get_cru api 2017-11-01 11:21:32 +01:00
mach-s5pc1xx arm: s5pc1xx: move SoC to mach-s5pc1xx 2015-11-30 17:17:01 +09:00
mach-snapdragon dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
mach-socfpga treewide: replace with error() with pr_err() 2017-10-04 11:59:44 -04:00
mach-sti board: Add STMicroelectronics STiH410-B2260 support 2017-03-14 20:40:21 -04:00
mach-stm32 stm32: fix STMicroelectronics copyright 2017-11-06 09:51:01 -05:00
mach-sunxi sunxi: video: add LCD support to DE2 driver 2017-10-27 09:44:48 +02:00
mach-tegra treewide: replace with error() with pr_err() 2017-10-04 11:59:44 -04:00
mach-uniphier ARM: uniphier: use pr_*() more where appropriate 2017-10-23 01:09:22 +09:00
mach-versatile arm: Remove versatileab board 2015-09-11 15:01:25 -04:00
mach-zynq spl: add hierarchical defaults for SPL_LDSCRIPT 2017-08-13 17:12:37 +02:00
thumb1/include/asm/proc-armv arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
config.mk arm: Always keep the dtb section on objcopy 2017-06-05 14:13:11 -04:00
Kconfig mx25: Move MX25 selection to Kconfig 2017-11-07 10:12:50 +01:00
Kconfig.debug arm: debug: add Kconfig entries for lowlevel debug 2014-10-26 22:23:12 +01:00
Makefile imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00