There is a limitation on AC5 SoC that mmc controller can't have DMA access over 2G memory, so use SDMA with a bounce buffer. Swiotlb can't help because on arm64 arch it reserves memblock's at the end of the memory. Additionally set mask to 34 bit since on AC5 SoC RAM starts at 0x2_00000000. Also add compatible string for AC5 SoC. v2: #1 Add compatible string for dt-bindings #2 Use SDMA with a bounce buffer instead of PIO. Vadym Kochan (3): dt-bindings: mmc: xenon: Add compatible string for AC5 SoC mmc: sdhci: Export sdhci_set_dma_mask to be used by the drivers mmc: xenon: Fix 2G limitation on AC5 SoC .../bindings/mmc/marvell,xenon-sdhci.yaml | 1 + drivers/mmc/host/sdhci-xenon.c | 38 +++++++++++++++++++ drivers/mmc/host/sdhci-xenon.h | 3 +- drivers/mmc/host/sdhci.c | 2 +- drivers/mmc/host/sdhci.h | 2 + 5 files changed, 44 insertions(+), 2 deletions(-) -- 2.25.1