u-boot/arch/arm/mach-imx
Fabio Estevam b2e6ad451b mx51: Select the ESDHC_A001 erratum
When a high speed card is connected to mx51evk the following error is seen:

U-Boot 2017.11-rc2 (Oct 18 2017 - 13:49:26 -0200)

CPU:   Freescale i.MX51 rev3.0 at 800 MHz
Reset cause: POR
Board: MX51EVK
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
*** 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

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.MX51 errata document,
I have confirmed with the NXP design team that this erratum does affect
i.MX51, so fix the problem by selecting SYS_FSL_ERRATUM_ESDHC_A001
at SoC level.

The i.MX51 ts4800 board already selects this option, but it is better
to move this selection to the i.MX51 SoC level instead.

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

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Acked-by: Sebastien Bourdelin <sebastien.bourdelin@savoirfairelinux.com>
2017-11-07 10:13:11 +01:00
..
mx2 mx25: Select the ESDHC_A001 erratum 2017-11-07 10:13:00 +01:00
mx5 mx51: Select the ESDHC_A001 erratum 2017-11-07 10:13:11 +01:00
mx6 ARM: imx6: Add DHCOM i.MX6 PDK board support 2017-10-12 18:01:06 +02:00
mx7 arm: imx7d: add support for Compulab cl-som-imx7 2017-10-12 17:31:16 +02:00
mx7ulp imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
cache.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
cmd_bmode.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
cmd_dek.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
cmd_hdmidet.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
cpu.c imx6: disable clock command and print_cpuinfo code in SPL 2017-10-12 17:30:32 +02:00
ddrmc-vf610.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
hab.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
i2c-mxv7.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
imx_bootaux.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
init.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
iomux-v3.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
Kconfig imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
Makefile imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
misc.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
rdc-sema.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
sata.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
speed.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
spl_sd.cfg imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
spl.c imx: mx7: SPL support for i.MX7 2017-10-12 17:31:16 +02:00
syscounter.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
timer.c imx: timer: don't clear the GPT control register multiple times 2017-08-29 09:47:28 +02:00
video.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00