[BUG] U-boot does not detect emmc card in odroid-c2 for newer U-boot as 2020.04

Anand Moon linux.amoon at gmail.com
Thu Nov 19 18:53:08 CET 2020


Hi Otto,

On Thu, 19 Nov 2020 at 21:23, Otto Meier <gf435 at gmx.net> wrote:
>
> Hi,
>
> I have extended the previous post.
>
>
>
> with these modifications i get:
>
> U-Boot 2021.01-rc2-00047-g9324c9a823-dirty (Nov 19 2020 - 15:33:00
> +0100) odroid-c2
>
> Model: Hardkernel ODROID-C2
> SoC:   Amlogic Meson GXBB (S905) Revision 1f:c (0:1)
> DRAM:  2 GiB
> MMC:   mmc at 72000: 0, mmc at 74000: 1
> In:    serial
> Out:   serial
> Err:   serial
> Net:   Could not get PHY for ethernet at c9410000: addr -1
> No ethernet found.
>
> Hit any key to stop autoboot:  0
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = cdff0000
> MESON EMMC status = 01ff2800
> meson_dm_mmc_send_cmd[226]
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2800
> meson_dm_mmc_send_cmd[226]
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = cdff0000
> MESON EMMC status = 01ff2800
> meson_dm_mmc_send_cmd[226]
> Card did not respond to voltage select! : -110
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = cdff0000
> MESON EMMC status = 01ff2800
> meson_dm_mmc_send_cmd[226]
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2800
> meson_dm_mmc_send_cmd[226]
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 00ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2800
> meson_dm_mmc_send_cmd[226]
> Card did not respond to voltage select! : -110
> MMC Device 2 not found
> no mmc device at slot 2
> starting USB...
>
> Hope this shed more light on the issue.
>
> Following you find the output of 2020.04 with this mod.
>
> and working reading off mmc info of the emmc
>
> => mmc dev 1
> MESON EMMC status = c5ff0000
> MESON EMMC status = c5ff0000
> MESON EMMC status = c8ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = cdff0000
> MESON EMMC status = 01ff2800
> meson_dm_mmc_send_cmd[206]
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2800
> meson_dm_mmc_send_cmd[206]
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = d9fe0000
> MESON EMMC status = d9fe0000
> MESON EMMC status = d9fe0000
> MESON EMMC status = d9fe0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> MESON EMMC status = c5ff0000
> MESON EMMC status = 01ff2000
> switch to partitions #0, OK
> mmc1(part 0) is current device
> => mmc info
> Device: mmc at 74000
> Manufacturer ID: 15
> OEM: 100
> Name: CJTD4
> Bus Speed: 52000000
> Mode: MMC High Speed (52MHz)
> Rd Block Len: 512
> MMC version 5.1
> High Capacity: Yes
> Capacity: 58.2 GiB
> Bus Width: 8-bit
> Erase Group Size: 512 KiB
> HC WP Group Size: 8 MiB
> User Capacity: 58.2 GiB WRREL
> Boot Capacity: 4 MiB ENH
> RPMB Capacity: 4 MiB ENH
>
>
> Best regards
>
[...]

At my end u-boot 2020.04 was long broken for emmc,
hope latest emmc changes should fix them all as of now.

Following information for flashing u-boot images for eMMC and sd_card.
# Binaries should be available in fip directory :
fip/
 | ...
 |------ u-boot.bin (for eMMC)
 |------ u-boot.bin.sd.bin (for SDCard)

[0] https://github.com/BayLibre/u-boot/tree/readme#install-on-emmc

There are two images in fip dir, hope you are flashing the correct
image to emmc.
I do the flash of u-boot images using the script below.

$ cat flash.sh
FILEB=/dev/mmcblk0boot0
DEV=/dev/mmcblk0

if [ -b "$FILEB" ]; then
        echo "eMMC module flashing........."
        sudo dd if=fip/u-boot.bin of=$DEV conv=fsync,notrunc bs=512 seek=1
else
        echo "microSD module flashing........."
        sudo dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc
bs=512 skip=1 seek=1
        sudo dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc
bs=1 count=444
fi

Best Regards
-Anand


More information about the U-Boot mailing list