1 /*
2  *  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 
12 #ifndef __DMA_MMP_TDMA_H
13 #define __DMA_MMP_TDMA_H
14 
15 #include <linux/genalloc.h>
16 
17 /* ARBITRARY:  SRAM allocations are multiples of this 2^N size */
18 #define SRAM_GRANULARITY	512
19 
20 enum sram_type {
21 	MMP_SRAM_UNDEFINED = 0,
22 	MMP_ASRAM,
23 	MMP_ISRAM,
24 };
25 
26 struct sram_platdata {
27 	char *pool_name;
28 	int granularity;
29 };
30 
31 #ifdef CONFIG_MMP_SRAM
32 extern struct gen_pool *sram_get_gpool(char *pool_name);
33 #else
sram_get_gpool(char * pool_name)34 static inline struct gen_pool *sram_get_gpool(char *pool_name)
35 {
36 	return NULL;
37 }
38 #endif
39 
40 #endif /* __DMA_MMP_TDMA_H */
41