summaryrefslogtreecommitdiff
path: root/arch/nds32
diff options
context:
space:
mode:
authorken kuo <ken.kuoky@gmail.com>2013-08-06 01:00:53 +0800
committerAndes <uboot@andestech.com>2013-08-09 01:51:11 +0800
commit9f128bcc0728e421c067b4f3f11dd36fa6b9e9ee (patch)
treec51b80c6bbd3abcb9e59fe070541424312127068 /arch/nds32
parent5c440813a7b8f1062bfb2ea3525b29f513be13ae (diff)
downloadu-boot-imx-9f128bcc0728e421c067b4f3f11dd36fa6b9e9ee.zip
u-boot-imx-9f128bcc0728e421c067b4f3f11dd36fa6b9e9ee.tar.gz
u-boot-imx-9f128bcc0728e421c067b4f3f11dd36fa6b9e9ee.tar.bz2
nds32: introduce DMA allocation API
U-Boot does not compile for the adp-ag101 boards since commit a8f9cd1893bef05b92f63242228607b45821c4a7 (net: update FTGMAC100 for MMU/D-cache support) The driver assumes that the DMA allocation API are provided by all architectures. This is not the case for nds32 and it causes a build error. This patch adds DMA allocation API to avoid the errors. Signed-off-by: Kuan-Yu Kuo <ken.kuoky@gmail.com> Cc: Macpaul Lin <macpaul@gmail.com> Cc: Andes <uboot@andestech.com> Signed-off-by: Andes <uboot@andestech.com>
Diffstat (limited to 'arch/nds32')
-rw-r--r--arch/nds32/include/asm/dma-mapping.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/nds32/include/asm/dma-mapping.h b/arch/nds32/include/asm/dma-mapping.h
new file mode 100644
index 0000000..25e5a1b
--- /dev/null
+++ b/arch/nds32/include/asm/dma-mapping.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2013 Andes Technology Corporation
+ * Ken Kuo, Andes Technology Corporation <ken_kuo@andestech.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+#ifndef __ASM_NDS_DMA_MAPPING_H
+#define __ASM_NDS_DMA_MAPPING_H
+
+enum dma_data_direction {
+ DMA_BIDIRECTIONAL = 0,
+ DMA_TO_DEVICE = 1,
+ DMA_FROM_DEVICE = 2,
+};
+
+static void *dma_alloc_coherent(size_t len, unsigned long *handle)
+{
+ *handle = (unsigned long)memalign(ARCH_DMA_MINALIGN, len);
+ return (void *)*handle;
+}
+
+static inline unsigned long dma_map_single(volatile void *vaddr, size_t len,
+ enum dma_data_direction dir)
+{
+ return (unsigned long)vaddr;
+}
+
+static inline void dma_unmap_single(volatile void *vaddr, size_t len,
+ unsigned long paddr)
+{
+}
+
+#endif /* __ASM_NDS_DMA_MAPPING_H */