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