blob: 0c72886030ef0f3555a2fe78a488b1e0109fae81 [file] [log] [blame]
Leo Yan3c7241b2011-08-15 11:09:52 +08001/*
Leo Yan3c7241b2011-08-15 11:09:52 +08002 * SRAM Memory Management
3 *
4 * Copyright (c) 2011 Marvell Semiconductors Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 */
11
Sachin Kamat61310a32013-12-30 10:46:31 +053012#ifndef __DMA_MMP_TDMA_H
13#define __DMA_MMP_TDMA_H
Leo Yan3c7241b2011-08-15 11:09:52 +080014
15#include <linux/genalloc.h>
16
17/* ARBITRARY: SRAM allocations are multiples of this 2^N size */
18#define SRAM_GRANULARITY 512
19
20enum sram_type {
21 MMP_SRAM_UNDEFINED = 0,
22 MMP_ASRAM,
23 MMP_ISRAM,
24};
25
26struct sram_platdata {
27 char *pool_name;
28 int granularity;
29};
30
Rob Herring09aa8ac2015-02-03 17:07:35 -060031#ifdef CONFIG_ARM
Leo Yan3c7241b2011-08-15 11:09:52 +080032extern struct gen_pool *sram_get_gpool(char *pool_name);
Rob Herring09aa8ac2015-02-03 17:07:35 -060033#else
34static inline struct gen_pool *sram_get_gpool(char *pool_name)
35{
36 return NULL;
37}
38#endif
Leo Yan3c7241b2011-08-15 11:09:52 +080039
Sachin Kamat61310a32013-12-30 10:46:31 +053040#endif /* __DMA_MMP_TDMA_H */