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)34static 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