Hi, Liming
The subject line is miss-leading. :)
Kernel 4.4 based hikey-mainline-rebase is full featured. MMC/SD card is supported. One of the possible reason should be related to mmc host controller not reset completely.
There is no such issue in UEFI. But since you are using uboot, maybe it lacks some initialization codes for mmc controller.
How about you try this patch? Modify the usleep_range() value if (100, 200) doesn't work. The spec said several clk period is enough.
Let me know your result. Thanks.
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index 7e7f25b..22af896 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -3028,8 +3028,11 @@ int dw_mci_probe(struct dw_mci *host) } }
- if (host->pdata->rstc != NULL) + if (host->pdata->rstc != NULL) { + reset_control_assert(host->pdata->rstc); + usleep_range(100, 200); reset_control_deassert(host->pdata->rstc); + }
setup_timer(&host->cmd11_timer, dw_mci_cmd11_timer, (unsigned long)host);
-Guodong
On 21 April 2016 at 00:10, Liming Wang liming.wang@canonical.com wrote:
hi Leo,
My 4.4 kernel can't detect any sd card on hikey board but 3.18 kernel can. I run the kernel from u-boot bootloader.
3.18 kernel log:
[ 3.370348] mmc_host mmc1: Bus speed (slot 0) = 99200000Hz (slot req 100000000Hz, actual 99200000HZ div = 0) [ 3.370365] mmc1: new ultra high speed SDR50 SDHC card at address aaaa [ 3.371147] mmcblk1: mmc1:aaaa SS08G 7.40 GiB [ 3.372995] mmcblk1: p1 p2 p3 p4
4.4 kernel log:
4.4 kernel from: git://github.com/96boards-hikey/linux.git hikey-mainline-rebase and config is defconfig.
# uname -a Linux linaro-alip 4.4.0+ #2 SMP PREEMPT Sun Apr 10 21:40:33 CST 2016 aarch64 GNU/Linux # dmesg|grep mmc1 [ 0.247672] dwmmc_k3 f723e000.dwmmc1: fifo-depth property not found, using value of FIFOTH register as default [ 0.247728] dwmmc_k3 f723e000.dwmmc1: IDMAC supports 32-bit address mode. [ 0.247808] dwmmc_k3 f723e000.dwmmc1: Using internal DMA controller. [ 0.247818] dwmmc_k3 f723e000.dwmmc1: Version ID is 250a [ 0.247850] dwmmc_k3 f723e000.dwmmc1: DW MMC controller at irq 40,32 bit host data width,64 deep fifo [ 0.248038] dwmmc_k3 f723e000.dwmmc1: Got CD GPIO [ 0.263396] mmc_host mmc1: Bus speed (slot 0) = 25000000Hz (slot req 400000Hz, actual 390625HZ div = 32) [ 0.280453] dwmmc_k3 f723e000.dwmmc1: 1 slots initialized [ 0.376089] mmc1: error -110 whilst initialising SD card
Does 4.4 kernel still not support SD card?
As said, supported.
-Guodong
BR, Liming Wang _______________________________________________ Dev mailing list Dev@lists.96boards.org https://lists.96boards.org/mailman/listinfo/dev