From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fabio Estevam Date: Fri, 3 Nov 2017 13:40:09 -0200 Subject: [U-Boot] [PATCH v3 2/3] mx25: Select the ESDHC_A001 erratum In-Reply-To: <1509723610-27434-1-git-send-email-festevam@gmail.com> References: <1509723610-27434-1-git-send-email-festevam@gmail.com> Message-ID: <1509723610-27434-2-git-send-email-festevam@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de From: Fabio Estevam 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 Signed-off-by: Fabio Estevam Acked-by: Sebastien Bourdelin --- Changes since v2: - Put the U-Boot list on Cc. Changes since v1: - Remove duplicated paragraph. arch/arm/mach-imx/mx2/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/mach-imx/mx2/Kconfig b/arch/arm/mach-imx/mx2/Kconfig index 5e985a6..ea308fc 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 -- 2.7.4