Reference Platform Build can not boot from SD card

HI ALL,
In past months, I only used the EMMC to boot the system. Today I have installed the RPB v1606 Debian into EMMC flash, and also installed RPB v1606 Debian into SD card. Because I need do some project.

  1. When I do not insert the SD card, I can boot the board from Debian in EMMC. I can also see the SD card content when I insert the SD card after the system boot. That means the SD card can be identified, that means the SD card slot is well.

  2. When I insert the SD card into the HiKey before power on, then for this case, if everything is OK, we should boot the hikey from SD card. But it failed. I can not boot system from SD card.

So I try to install the Ubuntu Core Snappy into SD card, and it dose boot.
And also in my memory, I remembered that before 2016.03, I did use SD card to boot, at that time there was no RPB.

So if someone have tried to install RPB v1606 in EMMC and SD card, and hikey can boot from SD card?
And if nobody install RPB v1606 into SD card, but use some other image can boot SD card, could you tell me you configuration???

Oh, I have tried 5PCS HiKey with 5 different SD card.

Hi @tony_zhang,

We are filing this bug on 16.06 RPB and not fixed at the moment.

https://bugs.96boards.org/show_bug.cgi?id=339

The bootloader containing here fails to boot with certain SD cards.
http://builds.96boards.org/releases/reference-platform/debian/hikey/16.06/bootloader/

I have two different brands of SD cards and one fails to boot but the other boots fine.

I think we need to wait for the bug fix.

Hi Akira,
I have looked over the bugs from you link.
Yes, when I back to the older boot from 2015, the SD card can work.

When I insert the microSD card into the HiKey after the HiKey has been powered on, it does not recognize it. dmesg only shows the following:

[ 741.821643] dwmmc_k3 f723e000.dwmmc1: card not ready: aborting command
[ 741.828188] mmc_host mmc1: Timeout preparing command (cmd 0x202000 arg 0x0 status 0x0)
[ 742.341644] dwmmc_k3 f723e000.dwmmc1: card not ready: aborting command
[ 742.348192] mmc_host mmc1: Timeout preparing command (cmd 0x202000 arg 0x0 status 0x0)
[ 742.861635] dwmmc_k3 f723e000.dwmmc1: card not ready: aborting command
[ 742.868167] mmc_host mmc1: Timeout preparing command (cmd 0x202000 arg 0x0 status 0x0)
[ 3003.401384] dwmmc_k3 f723e000.dwmmc1: card not ready: aborting command
[ 3003.407932] mmc_host mmc1: Timeout preparing command (cmd 0x202000 arg 0x0 status 0x0)

Other portions of dmesg to show versions:

[ 0.000000] Linux version 3.18.0-linaro-hikey (buildslave@x86-64-07) (gcc version 5.1.1 20150608 (Linaro GCC 5.1-2015.08) ) #1 SMP PREEMPT Mon Nov
30 00:11:03 UTC 2015
[ 0.000000] CPU: AArch64 Processor [410fd033] revision 3
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] EFI v2.40 by Linaro HiKey EFI Nov 28 2015 10:50:07
[ 0.000000] efi:

[ 3.184282] device-mapper: ioctl: 4.28.0-ioctl (2014-09-17) initialised: dm-devel@redhat.com
[ 3.186005] sdhci: Secure Digital Host Controller Interface driver
[ 3.186012] sdhci: Copyright(c) Pierre Ossman
[ 3.186052] Synopsys Designware Multimedia Card Interface Driver
[ 3.186535] dwmmc_k3 f723d000.dwmmc0: fifo-depth property not found, using value of FIFOTH register as default
[ 3.186682] dwmmc_k3 f723d000.dwmmc0: Using internal DMA controller.
[ 3.186694] dwmmc_k3 f723d000.dwmmc0: Version ID is 250a
[ 3.186721] dwmmc_k3 f723d000.dwmmc0: DW MMC controller at irq 104, 32 bit host data width, 8 deep fifo
[ 3.186848] dwmmc_k3 f723d000.dwmmc0: No vqmmc regulator found
[ 3.245447] dwmmc_k3 f723d000.dwmmc0: 1 slots initialized
[ 3.246717] dwmmc_k3 f723e000.dwmmc1: fifo-depth property not found, using value of FIFOTH register as default
[ 3.247396] dwmmc_k3 f723e000.dwmmc1: Using internal DMA controller.
[ 3.247453] dwmmc_k3 f723e000.dwmmc1: Version ID is 250a
[ 3.247560] dwmmc_k3 f723e000.dwmmc1: DW MMC controller at irq 105, 32 bit host data width, 128 deep fifo
[ 3.248271] dwmmc_k3 f723e000.dwmmc1: Got CD GPIO
[ 3.298052] dwmmc_k3 f723e000.dwmmc1: 1 slots initialized
[ 3.299374] dwmmc_k3 f723f000.dwmmc2: fifo-depth property not found, using value of FIFOTH register as default
[ 3.300010] dwmmc_k3 f723f000.dwmmc2: Using internal DMA controller.
[ 3.300066] dwmmc_k3 f723f000.dwmmc2: Version ID is 250a
[ 3.300157] dwmmc_k3 f723f000.dwmmc2: DW MMC controller at irq 106, 32 bit host data width, 128 deep fifo
[ 3.300664] platform f723f000.dwmmc2: Driver dwmmc_k3 requests probe deferral

[ 3.332914] mmc0: new high speed MMC card at address 0001
[ 3.333408] mmcblk0: mmc0:0001 H8G1e 7.28 GiB
[ 3.333569] mmcblk0boot0: mmc0:0001 H8G1e partition 1 4.00 MiB
[ 3.333733] mmcblk0boot1: mmc0:0001 H8G1e partition 2 4.00 MiB
[ 3.338419] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9

[ 3.546992] dwmmc_k3 f723f000.dwmmc2: fifo-depth property not found, using value of FIFOTH register as default
[ 3.548191] dwmmc_k3 f723f000.dwmmc2: Using internal DMA controller.
[ 3.548248] dwmmc_k3 f723f000.dwmmc2: Version ID is 250a
[ 3.548353] dwmmc_k3 f723f000.dwmmc2: DW MMC controller at irq 106, 32 bit host data width, 64 deep fifo
[ 3.548917] dwmmc_k3 f723f000.dwmmc2: No vqmmc regulator found
[ 3.676054] dwmmc_k3 f723f000.dwmmc2: 1 slots initialized
[ 3.677472] rtc-pl031 f8003000.rtc: setting system clock to 1970-01-01 00:00:00 UTC (0)
[ 3.685126] dwmmc_k3 f723f000.dwmmc2: card claims to support voltages below defined range

There is talk that the defect is specific to “certain SD cards” but I have yet to find a list of ones that are “supported”