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
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
31#ifdef CONFIG_ARM
32extern struct gen_pool *sram_get_gpool(char *pool_name);
33#else
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