summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-davinci/sram.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-davinci/sram.h')
-rw-r--r--arch/arm/mach-davinci/sram.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/sram.h b/arch/arm/mach-davinci/sram.h
new file mode 100644
index 0000000000..7ef8d1d3c3
--- /dev/null
+++ b/arch/arm/mach-davinci/sram.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * mach/sram.h - DaVinci simple SRAM allocator
+ *
+ * Copyright (C) 2009 David Brownell
+ */
+#ifndef __MACH_SRAM_H
+#define __MACH_SRAM_H
+
+/* ARBITRARY: SRAM allocations are multiples of this 2^N size */
+#define SRAM_GRANULARITY 512
+
+/*
+ * SRAM allocations return a CPU virtual address, or NULL on error.
+ * If a DMA address is requested and the SRAM supports DMA, its
+ * mapped address is also returned.
+ *
+ * Errors include SRAM memory not being available, and requesting
+ * DMA mapped SRAM on systems which don't allow that.
+ */
+extern void *sram_alloc(size_t len, dma_addr_t *dma);
+extern void sram_free(void *addr, size_t len);
+
+/* Get the struct gen_pool * for use in platform data */
+extern struct gen_pool *sram_get_gen_pool(void);
+
+#endif /* __MACH_SRAM_H */