summaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorMarek Vasut <marek.vasut+renesas@gmail.com>2018-10-03 00:46:24 +0200
committerMarek Vasut <marex@denx.de>2018-10-09 17:21:44 +0200
commitbeced53a74a32087651150b0c2a8a95eaddd53c2 (patch)
tree70ef89623d35116eef8ffc32f5a182237f53d870 /drivers/mmc
parent92bde154ec91222c4d9a766052ab6dcdbf0cf410 (diff)
downloadu-boot-beced53a74a32087651150b0c2a8a95eaddd53c2.tar.gz
u-boot-beced53a74a32087651150b0c2a8a95eaddd53c2.tar.bz2
u-boot-beced53a74a32087651150b0c2a8a95eaddd53c2.zip
mmc: tmio: Limit DMA to 32bit on R-Car Gen3
The internal DMAC on Gen3 is 32bit only, limit the DMA address range to 32bit. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/tmio-common.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mmc/tmio-common.c b/drivers/mmc/tmio-common.c
index 6b21941991..138de59470 100644
--- a/drivers/mmc/tmio-common.c
+++ b/drivers/mmc/tmio-common.c
@@ -379,6 +379,12 @@ static bool tmio_sd_addr_is_dmaable(const char *src)
if (!IS_ALIGNED(addr, TMIO_SD_DMA_MINALIGN))
return false;
+#if defined(CONFIG_RCAR_GEN3)
+ /* Gen3 DMA has 32bit limit */
+ if (addr >> 32)
+ return false;
+#endif
+
#if defined(CONFIG_ARCH_UNIPHIER) && !defined(CONFIG_ARM64) && \
defined(CONFIG_SPL_BUILD)
/*