[U-Boot] HS200 for SDHCI is broken

Michal Simek michal.simek at xilinx.com
Tue Jun 12 09:04:22 UTC 2018


On 12.6.2018 07:31, Masahiro Yamada wrote:
> 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
> 

DP: Please look at it ASAP.

Thanks,
Michal




More information about the U-Boot mailing list