1 #ifndef __ASM_TCM_H__ 2 #define __ASM_TCM_H__ 3 4 #include <linux/ioport.h> 5 #include <linux/list.h> 6 7 struct 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 */ 17 struct tcm_region { 18 unsigned int tag; 19 struct resource res; 20 }; 21 22 #define TCM_INVALID_TAG 0xffffffff 23 24 unsigned long tcm_alloc(unsigned int tag, size_t len); 25 void tcm_free(unsigned int tag, unsigned long addr, size_t len); 26 unsigned int tcm_lookup_tag(unsigned long p); 27 28 int tcm_add_region(struct tcm_region *reg); 29 30 #endif 31