1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  *  SRAM Memory Management
4  *
5  *  Copyright (c) 2011 Marvell Semiconductors Inc.
6  */
7 
8 #ifndef __DMA_MMP_TDMA_H
9 #define __DMA_MMP_TDMA_H
10 
11 #include <linux/genalloc.h>
12 
13 /* ARBITRARY:  SRAM allocations are multiples of this 2^N size */
14 #define SRAM_GRANULARITY	512
15 
16 enum sram_type {
17 	MMP_SRAM_UNDEFINED = 0,
18 	MMP_ASRAM,
19 	MMP_ISRAM,
20 };
21 
22 struct sram_platdata {
23 	char *pool_name;
24 	int granularity;
25 };
26 
27 #ifdef CONFIG_MMP_SRAM
28 extern struct gen_pool *sram_get_gpool(char *pool_name);
29 #else
sram_get_gpool(char * pool_name)30 static inline struct gen_pool *sram_get_gpool(char *pool_name)
31 {
32 	return NULL;
33 }
34 #endif
35 
36 #endif /* __DMA_MMP_TDMA_H */
37