ARM: uniphier: enable CONFIG_MMC_SDHCI_SDMA for ARMv8 SoCs
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Sat, 6 Jan 2018 13:59:25 +0000 (22:59 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 9 Jan 2018 12:58:18 +0000 (21:58 +0900)
I did not enable SDMA when I added sdhci-cadence support because LD20
boards are equipped with a large amount memory beyond 32 bit address
range, but SDMA does not support the 64bit address.  U-Boot relocates
itself to the end of effectively available RAM.  This would make the
MMC enumeration fail because the buffer for EXT_CSD allocated in the
stack would go too high, then SDMA would fail to transfer data.

Recent SDHCI-compatible controllers support ADMA, but unfortunately
U-Boot does not support ADMA.

In the previous commit, I hided the DRAM area that exceeds the 32 bit
address range.  Now, I can enable CONFIG_MMC_SDHCI_SDMA.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
configs/uniphier_v8_defconfig

index bbcf3b09686ab27854fd202299132ab60519fc68..2edc3a953719956fb9ac1b466136fdc5a4c21fdf 100644 (file)
@@ -34,6 +34,7 @@ CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=10
 CONFIG_MMC_UNIPHIER=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_CADENCE=y
+CONFIG_MMC_SDHCI_SDMA=y
 CONFIG_NAND=y
 CONFIG_NAND_DENALI_DT=y
 CONFIG_NAND_DENALI_SPARE_AREA_SKIP_BYTES=8