ts4800: add CONFIG_SYS_FSL_ERRATUM_ESDHC_A001
PATCH 1/1 ts4800: add CONFIG_SYS_FSL_ERRATUM_ESDHC_A001
This commit fixes the MMC data transactions timeout problem on the TS4800.
The changes introduced in the commit e978a31 on the timeout calculation for the MMC data transactions has revealed there is something wrong with the timeout setting of the eSDHC controller used in the IMX51.
The IMX51 seems to be concerned by this erratum and without this change the MMC driver is unable to do any transactions.
--- include/configs/ts4800.h | 2 ++ 1 file changed, 2 insertions(+)
include/configs/ts4800.h +2 -0
@@ -63,6 +63,8 @@#define CONFIG_FSL_ESDHC #define CONFIG_SYS_FSL_ESDHC_ADDR MMC_SDHC1_BASE_ADDR +#define CONFIG_SYS_FSL_ERRATUM_ESDHC_A001 +#define CONFIG_MMC #define CONFIG_CMD_MMC
Signature · 1 line
2.8.0
PATCH 1/1 ts4800: add CONFIG_SYS_FSL_ERRATUM_ESDHC_A001
Hi,
I add Fabio Estevam in the loop as suggested by Marek Vasut on IRC.
Quoted 20 lines · Sebastien Bourdelin
This commit fixes the MMC data transactions timeout problem on the TS4800.
The changes introduced in the commit e978a31 on the timeout calculation for the MMC data transactions has revealed there is something wrong with the timeout setting of the eSDHC controller used in the IMX51.
The IMX51 seems to be concerned by this erratum and without this change the MMC driver is unable to do any transactions.
Signed-off-by Sebastien Bourdelin <[email protected]>--- include/configs/ts4800.h | 2 ++ 1 file changed, 2 insertions(+)include/configs/ts4800.h +0
-0
include/configs/ts4800.h line 70
Quoted 8 lines
include/configs/ts4800.h +2
-0@@ -63,6 +63,8 @@#define CONFIG_FSL_ESDHC #define CONFIG_SYS_FSL_ESDHC_ADDR MMC_SDHC1_BASE_ADDR +#define CONFIG_SYS_FSL_ERRATUM_ESDHC_A001 +#define CONFIG_MMC #define CONFIG_CMD_MMC
The problem we found is related to the DTOCV field in the system control register of the IMX51's eSDHC controller. If we set the value 4, 8 or 12 in this DTOCV field the MMC driver is unable to do any data transactions, we have a timeout (i.e: the DTOE field in the Interrupt status register of the eSDHC controller is set to 1).
It works with other values, at least i tried with 5, 9, 11, 13 without having any timeout.
Our guess and because we didn't find any errata related to this issue for the IMX51 is that this device is impacted by the same problem then devices MPC83XX and MPC85XX (see the ESDHC-A001 errata in the datasheet:
http://pdf.datasheetarchive.com/indexerfiles/Datasheets-SW1/DSASW0012367.pdf)
Perhaps someone from Freescale can give us more informations.
Regards,
Sebastien.
PATCH 1/1 ts4800: add CONFIG_SYS_FSL_ERRATUM_ESDHC_A001
Hi,
Quoted 45 lines · Sebastien Bourdelin
Hi,
I add Fabio Estevam in the loop as suggested by Marek Vasut on IRC.Quoted 20 lines · Sebastien Bourdelin
This commit fixes the MMC data transactions timeout problem on the TS4800.
The changes introduced in the commit e978a31 on the timeout calculation for the MMC data transactions has revealed there is something wrong with the timeout setting of the eSDHC controller used in the IMX51.
The IMX51 seems to be concerned by this erratum and without this change the MMC driver is unable to do any transactions.
Signed-off-by Sebastien Bourdelin <[email protected]>--- include/configs/ts4800.h | 2 ++ 1 file changed, 2 insertions(+)include/configs/ts4800.h +0
-0include/configs/ts4800.h line 70
Quoted 8 lines
include/configs/ts4800.h +2
-0@@ -63,6 +63,8 @@#define CONFIG_FSL_ESDHC #define CONFIG_SYS_FSL_ESDHC_ADDR MMC_SDHC1_BASE_ADDR +#define CONFIG_SYS_FSL_ERRATUM_ESDHC_A001 +#define CONFIG_MMC #define CONFIG_CMD_MMC The problem we found is related to the DTOCV field in the system control register of the IMX51's eSDHC controller. If we set the value 4, 8 or 12 in this DTOCV field the MMC driver is unable to do any data transactions, we have a timeout (i.e: the DTOE field in the Interrupt status register of the eSDHC controller is set to 1).
It works with other values, at least i tried with 5, 9, 11, 13 without having any timeout.Our guess and because we didn't find any errata related to this issue for the IMX51 is that this device is impacted by the same problem then devices MPC83XX and MPC85XX (see the ESDHC-A001 errata in the datasheet:
http://pdf.datasheetarchive.com/indexerfiles/Datasheets-SW1/DSASW0012367.pdf)
Quoted 4 lines
Perhaps someone from Freescale can give us more informations.
Regards,
Sebastien.
Did someone from Freescale had the time to take a look at this patch and can give us more information?
We still need it to boot the TS4800.
Regards,
Sebastien.
PATCH 1/1 ts4800: add CONFIG_SYS_FSL_ERRATUM_ESDHC_A001
Quoted 48 lines · Sebastien Bourdelin
Hi,
Quoted 45 lines · Sebastien Bourdelin
Hi,
I add Fabio Estevam in the loop as suggested by Marek Vasut on IRC.Quoted 20 lines · Sebastien Bourdelin
This commit fixes the MMC data transactions timeout problem on the TS4800.
The changes introduced in the commit e978a31 on the timeout calculation for the MMC data transactions has revealed there is something wrong with the timeout setting of the eSDHC controller used in the IMX51.
The IMX51 seems to be concerned by this erratum and without this change the MMC driver is unable to do any transactions.
Signed-off-by Sebastien Bourdelin <[email protected]>--- include/configs/ts4800.h | 2 ++ 1 file changed, 2 insertions(+)include/configs/ts4800.h +0
-0include/configs/ts4800.h line 70
Quoted 8 lines
include/configs/ts4800.h +2
-0@@ -63,6 +63,8 @@#define CONFIG_FSL_ESDHC #define CONFIG_SYS_FSL_ESDHC_ADDR MMC_SDHC1_BASE_ADDR +#define CONFIG_SYS_FSL_ERRATUM_ESDHC_A001 +#define CONFIG_MMC #define CONFIG_CMD_MMC The problem we found is related to the DTOCV field in the system control register of the IMX51's eSDHC controller. If we set the value 4, 8 or 12 in this DTOCV field the MMC driver is unable to do any data transactions, we have a timeout (i.e: the DTOE field in the Interrupt status register of the eSDHC controller is set to 1).
It works with other values, at least i tried with 5, 9, 11, 13 without having any timeout.Our guess and because we didn't find any errata related to this issue for the IMX51 is that this device is impacted by the same problem then devices MPC83XX and MPC85XX (see the ESDHC-A001 errata in the datasheet:
http://pdf.datasheetarchive.com/indexerfiles/Datasheets-SW1/DSASW0012367.pdf)
Quoted 8 lines
Quoted 4 lines
Perhaps someone from Freescale can give us more informations.
Regards,
Sebastien.Did someone from Freescale had the time to take a look at this patch and can give us more information?
We still need it to boot the TS4800.
Checking the thread, it looks looks like that there is no progress on it. Anyway, the patch is just related to ts4800 without any effects to other boards. I am merging it.
Best regards,
Stefano Babic
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================
PATCH 1/1 ts4800: add CONFIG_SYS_FSL_ERRATUM_ESDHC_A001
In reply to Sebastien BourdelinHi Sebastien,
Quoted 11 lines · Sebastien Bourdelin
This commit fixes the MMC data transactions timeout problem on the TS4800.
The changes introduced in the commit e978a31 on the timeout calculation for the MMC data transactions has revealed there is something wrong with the timeout setting of the eSDHC controller used in the IMX51.
The IMX51 seems to be concerned by this erratum and without this change the MMC driver is unable to do any transactions.
Signed-off-by Sebastien Bourdelin <[email protected]>
Does this issue only happen with eMMC and not with SD card? mx51evk boots fine without this config option.
As this change affects only ts4800.h I think it is safer to apply for this release:
PATCH 1/1 ts4800: add CONFIG_SYS_FSL_ERRATUM_ESDHC_A001
Hi Fabio,
Quoted 11 lines · Fabio Estevam
Hi Sebastien,
Quoted 7 lines · Sebastien Bourdelin
This commit fixes the MMC data transactions timeout problem on the TS4800.
The changes introduced in the commit e978a31 on the timeout calculation for the MMC data transactions has revealed there is something wrong with the timeout setting of the eSDHC controller used in the IMX51.
Quoted 6 lines
Quoted 4 lines
The IMX51 seems to be concerned by this erratum and without this change the MMC driver is unable to do any transactions.
Signed-off-by Sebastien Bourdelin <[email protected]>Does this issue only happen with eMMC and not with SD card? mx51evk boots fine without this config option.
This issue happen with the SD card, i currently didn't found the time to try with eMMC.
Best Regards,
Sebastien.
Quoted 4 lines
As this change affects only
ts4800.hI think it is safer to apply for this release:Reviewed-by Fabio Estevam <[email protected]>
PATCH 1/1 ts4800: add CONFIG_SYS_FSL_ERRATUM_ESDHC_A001
Hi Sebastien,
Quoted 2 lines · Sebastien Bourdelin
This issue happen with the SD card, i currently didn't found the time to try with eMMC.
Ok, we also boot from SD card on the mx51evk and never observed this issue there.
What is the MX51 silicon version you have on your board?
PATCH 1/1 ts4800: add CONFIG_SYS_FSL_ERRATUM_ESDHC_A001
Hi Fabio,
Quoted 11 lines · Fabio Estevam
Hi Sebastien,
Quoted 2 lines · Sebastien Bourdelin
This issue happen with the SD card, i currently didn't found the time to try with eMMC.
Ok, we also boot from SD card on the mx51evk and never observed this issue there.
What is the MX51 silicon version you have on your board?
It's an MX51 rev 3.0,
if you need more information, feel free to ask.
Regards,
Sebastien.