1#ifndef __ASM_TCM_H__
2#define __ASM_TCM_H__
3
4#include <linux/ioport.h>
5#include <linux/list.h>
6
7struct tcm_allocation {
8	struct list_head list;
9	unsigned int tag;
10	unsigned long addr;
11	unsigned long size;
12};
13
14/*
15 * TCM memory region descriptor.
16 */
17struct tcm_region {
18	unsigned int tag;
19	struct resource res;
20};
21
22#define TCM_INVALID_TAG	0xffffffff
23
24unsigned long tcm_alloc(unsigned int tag, size_t len);
25void tcm_free(unsigned int tag, unsigned long addr, size_t len);
26unsigned int tcm_lookup_tag(unsigned long p);
27
28int tcm_add_region(struct tcm_region *reg);
29
30#endif
31