IMX8MM SD UHS support

Jaehoon Chung jh80.chung at samsung.com
Wed Dec 30 00:43:42 CET 2020


Hi,

On 12/30/20 8:21 AM, Tim Harvey wrote:
> Greetings,
> 
> In 50b1a69cee0d ("ARM: dts: imx8m: add UHS or HS400/HS400ES
> properties") u-boot dt props were added to enable UHS and HS400 on a
> couple of IMX8MM boards including the imx8mm-evk and in the subsequent
> patch enabled the config items.
> 
> While I see this making a huge difference for eMMC performance in
> U-Boot I find it doesn't do anything for microSD performance.
> 
> The issue appears to be that sd_get_capabilities() is not
> appropriately detecting UHS speeds on cards that appropriately detect
> as SDR104/DDR50 in Linux:
> 
> u-boot=> mmc info
> Device: FSL_SDHC
> Manufacturer ID: 1b
> OEM: 534d
> Name: 00000
> Bus Speed: 50000000
> Mode: SD High Speed (50MHz)
> card capabilities: widths [4, 1] modes [MMC legacy, SD High Speed (50MHz)]
> ^^^^ no SDR104 detected for this card

Did you enable MMC_UHS_SUPPORT?

> host capabilities: widths [4, 1] modes [MMC legacy, MMC High Speed
> (26MHz), SD High Speed (50MHz), MMC High Speed (52MHz), UHS DDR50
> (50MHz), UHS SDR104 (208MHz)]
> Rd Block Len: 512
> SD version 3.0
> High Capacity: Yes
> Capacity: 14.9 GiB
> Bus Width: 4-bit
> Erase Group Size: 512 Bytes
> 
> The same card in Linux shows the following upon insertion and
> performance tests show that it is operating at SDR104 speeds:
> mmc1: new ultra high speed SDR104 SDHC card at address 0001
> 
> I haven't found very good documentation on the SD switch settings to
> understand if something is wrong in the U-Boot implementation of of
> sd_get_capabilities() and I suppose it also could be an issue in
> sdhci-esdhc-imx.c.
> 
> Any ideas where to look?
> 
> Anyone see SDR104 cards being detected properly for other platforms?

I remembered that SDR104 was working fine before. 
Will check whether it's working or not with my other targets.

Best Regards,
Jaehoon Chung

> 
> Best regards,
> 
> Tim
> 



More information about the U-Boot mailing list