[U-Boot] HS200 for SDHCI is broken

Masahiro Yamada yamada.masahiro at socionext.com
Tue Jun 12 05:31:27 UTC 2018


2018-06-12 14:26 GMT+09:00 Masahiro Yamada <yamada.masahiro at socionext.com>:
> Hi Siva, Michal.
>
>
> I noticed drivers/mmc/sdhci-cadence.c
> not working for my boards.
>
>
> git-bisect points the following commit:
>
>
>
> commit 434f9d454eb1a17bb7f5cdb21167ccbe7e41da39
> Author: Siva Durga Prasad Paladugu <siva.durga.paladugu at xilinx.com>
> Date:   Tue May 29 20:03:10 2018 +0530
>
>     mmc: sdhci: Update sdhci_send_command() to handle HS200
>
>     This patch updates sdhci_send_command() to handle MMC
>     HS200 tuning command.
>
>     Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu at xilinx.com>
>     Signed-off-by: Michal Simek <michal.simek at xilinx.com>
>
>
>
>
>
> By reverting it, I can get the MMC on my boards working again.
>
> Any idea to fix it?



BTW, 'mmc info' looks like follows on the bad commit:




U-Boot 2018.05-00471-g434f9d4 (Jun 12 2018 - 14:08:39 +0900)

SoC:   LD20 (model 1, revision 1)
Model: UniPhier LD20 Reference Board
DRAM:  3 GiB
SC:    Micro Support Card (CPLD version 3.6)
NAND:  0 MiB
MMC:   sdhc at 5a000000: 0
In:    serial at 54006800
Out:   serial at 54006800
Err:   serial at 54006800
MODE:  NOR Boot (STM: OFF)
Net:   smc911x-0
Warning: smc911x-0 (eth0) using random MAC address - fe:7e:f8:eb:45:1d

Hit any key to stop autoboot:  0
=> mmc info
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
no tuning point found
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
sdhci_send_command: Timeout for status update!
no tuning point found
Device: sdhc at 5a000000
Manufacturer ID: 11
OEM: 100
Name: 004G6
Bus Speed: 52000000
Mode : MMC DDR52 (52MHz)
Rd Block Len: 512
MMC version 5.0
High Capacity: Yes
Capacity: 3.7 GiB
Bus Width: 8-bit DDR
Erase Group Size: 512 KiB
HC WP Group Size: 4 MiB
User Capacity: 3.7 GiB WRREL
Boot Capacity: 2 MiB ENH
RPMB Capacity: 512 KiB ENH





-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list