diff options
author | Fabio Estevam <fabio.estevam@nxp.com> | 2017-11-03 13:40:09 -0200 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2017-11-07 10:13:00 +0100 |
commit | 5d09c27138bdbb459c2619c4788fe495b405622b (patch) | |
tree | eaabc8801cb3b53ccbd5eab198a7c9eee90b3ec2 /arch | |
parent | 07df697e1410d990930b2c6e483e5123dd987fdd (diff) |
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
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-imx/mx2/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/mx2/Kconfig b/arch/arm/mach-imx/mx2/Kconfig index 5e985a673b..ea308fccab 100644 --- a/arch/arm/mach-imx/mx2/Kconfig +++ b/arch/arm/mach-imx/mx2/Kconfig @@ -3,6 +3,7 @@ if ARCH_MX25 config MX25 bool default y + select SYS_FSL_ERRATUM_ESDHC_A001 choice prompt "MX25 board select" optional |