[U-Boot] eMMC issue with dcache ON

Hi all,
I am facing an issue in detecting eMMC device when the dcache was enabled on zynq board. When I entered command "mmcinfo". I am getting an error as shown in below log. The same thing works fine if I disable the dcache.
Timeout for status update! Device: zynq_sdhci Manufacturer ID: fe OEM: 14e Name: MMC04 Tran Speed: 25000000 Rd Block Len: 512 MMC version 4.41 High Capacity: Yes Capacity: 3.6 GiB Bus Width: 1-bit
When I debugged, I found that it was timing out, while sending command MMC_CMD_SWITCH from mmc_switch(). The same thing working fine if I just disable the cache before sending this command and enabling it after. The same thing also works fine for SD with dcache enabled I tried by making the below changes but nothing worked. 1. Added data synchronization barrier in arch/arm/include/asm/io.h by thinking that that sdhci is using sdhci_readl/writel functions which has no barriers. 2. Enabled the config CONFIG_MMC_SDMA.
Please suggest what else could be done to solve this issue.
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
participants (1)
-
Siva Durga Prasad Paladugu