"mmc fail to send stop cmd" in uboot-2020-04 on Linux 5.4.47_2.2.0

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

"mmc fail to send stop cmd" in uboot-2020-04 on Linux 5.4.47_2.2.0

Jump to solution
4,012 Views
r_veens
Contributor III

Hi,

We try to upgrade our product to the new Linux 5.4.47_2.2.0 release, starting with uboot.

MMC is not working in uboot, we get these errors:

 

U-Boot 2020.04-5.4.47-2.2.0+gffc3fbe (Oct 20 2020 - 17:30:17 +0000)

CPU: i.MX6Q rev1.3 996 MHz (running at 792 MHz)
CPU: Extended Commercial temperature grade (-20C to 105C) at 37C
Reset cause: POR
Model: Freescale i.MX6 Quad AME V2GCC
Board: MX6Q_V2GCC ()
Hardware PN: 6015-1800-4602 SN: 19-24-001-072
DRAM: 1 GiB
PMIC: PFUZE100! DEV_ID=0x10 REV_ID=0x21
MMC: No max bus width provided. Assume 8-bit supported.
FSL_SDHC: 0, FSL_SDHC: 1
Warning: i.MX Power-on reset. Kernel did not load! Rootfs did not load!
Booting from USDHC-4, MMC device 1
Normal Boot
Autoboot in 1 seconds.
## Error: "checkLogo" not defined
switch to partitions #0, OK
mmc1(part 0) is current device
mmc fail to send stop cmd
*** ERROR: Can't read GPT Entries ***
GPT: Failed to allocate memory for PTE
mmc fail to send stop cmd
*** ERROR: Can't read GPT Entries ***
GPT: Failed to allocate memory for PTE
find_valid_gpt: *** ERROR: Invalid Backup GPT ***
** Invalid partition 1 **
=>

 

It was working fine on Yocto sumo, uboot 2018.

We do not use CONFIG_DM_MMC but configure it via code.

When i look through the uboot code, i found out that the ESDHC driver is now split.

I tried both CONFIG_FSL_ESDHC_IMX=y and CONFIG_FSL_ESDHC=y

What i found that both do not seem to work, but with CONFIG_FSL_ESDHC=y my mmc info prints output.

With FSL_ESDHC_IMX, the system just hangs when it tries to read from mmc, or access it at all.

 

I was wondering if this is perhaps a known issue for the release, or if somebody else has encountered this.

 

Best regards,

Rick Veens

 

 

0 Kudos
Reply
1 Solution
4,004 Views
r_veens
Contributor III

Hi guys i have solved the problem.

if someone else would stumble on this problem in the future, you need to define the following:

#define CONFIG_SYS_FSL_ERRATUM_ESDHC111

With some digging i found the function esdhc_send_cmd_common in drivers/mmc/fsl_esdhc.c .

I looked into the IMX6 refrence manual and printed the CMD codes. I noticed that it failed on CMD 12.

For this CMD i noticed there is a ifdef block in the code, with CONFIG_SYS_FSL_ERRATUM_ESDHC111 .

View solution in original post

0 Kudos
Reply
2 Replies
4,005 Views
r_veens
Contributor III

Hi guys i have solved the problem.

if someone else would stumble on this problem in the future, you need to define the following:

#define CONFIG_SYS_FSL_ERRATUM_ESDHC111

With some digging i found the function esdhc_send_cmd_common in drivers/mmc/fsl_esdhc.c .

I looked into the IMX6 refrence manual and printed the CMD codes. I noticed that it failed on CMD 12.

For this CMD i noticed there is a ifdef block in the code, with CONFIG_SYS_FSL_ERRATUM_ESDHC111 .

0 Kudos
Reply
3,150 Views
vishnu_motghare
Contributor III

Hi @r_veens ,

I'm getting the same error with 2020.04 u-boot. As you mentioned, I've enabled "CONFIG_FSL_ESDHC=y" and added "#define CONFIG_SYS_FSL_ERRATUM_ESDHC111" "in include/configs/board.h" file. But I'm still getting the error. Is there anything else I need to enable it to fix the issue?

Tags (2)
0 Kudos
Reply