mmc: fsl_esdhc: make sure delay chain locked for HS400
For eMMC HS400 mode, the DLL reset is a required step for mmc rescan. This step has not been documented in reference manual, but the RM will be fixed sooner or later. In previous commit to support eMMC HS400,db8f936mmc: fsl_esdhc: support eMMC HS400 mode the steps to configure DLL could be found in commit message, 13. Set DLLCFG0[DLL_ENABLE] and DLLCFG0[DLL_FREQ_SEL]. 14. Wait for delay chain to lock. these would be fixed as, 13. Set DLLCFG0[DLL_ENABLE] and DLLCFG0[DLL_FREQ_SEL]. 13.1 Write DLLCFG0[DLL_RESET] to 1 and wait for 1us, then write DLLCFG0[DLL_RESET] 14. Wait for delay chain to lock. This patch is to add the step of DLL reset, and make sure delay chain locked for HS400. Fixes:db8f93672b("mmc: fsl_esdhc: support eMMC HS400 mode") Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
This commit is contained in:
@@ -187,8 +187,12 @@
|
||||
|
||||
/* DLL config 0 register */
|
||||
#define DLL_ENABLE 0x80000000
|
||||
#define DLL_RESET 0x40000000
|
||||
#define DLL_FREQ_SEL 0x08000000
|
||||
|
||||
/* DLL status 0 register */
|
||||
#define DLL_STS_SLV_LOCK 0x08000000
|
||||
|
||||
#define MAX_TUNING_LOOP 40
|
||||
|
||||
#define HOSTVER_VENDOR(x) (((x) >> 8) & 0xff)
|
||||
|
||||
Reference in New Issue
Block a user