diff options
author | James Hogan | 2012-10-09 11:54:17 +0200 |
---|---|---|
committer | James Hogan | 2013-03-02 21:09:21 +0100 |
commit | c438b58e65462cfff172b396d03d6bc45c971fca (patch) | |
tree | 3d8ea3cfbe75f4e6b41f5f41f36c889df5b0f7d8 /arch/metag/include/asm/tcm.h | |
parent | metag: Highmem support (diff) | |
download | kernel-qcow2-linux-c438b58e65462cfff172b396d03d6bc45c971fca.tar.gz kernel-qcow2-linux-c438b58e65462cfff172b396d03d6bc45c971fca.tar.xz kernel-qcow2-linux-c438b58e65462cfff172b396d03d6bc45c971fca.zip |
metag: TCM support
Add some TCM support
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Diffstat (limited to 'arch/metag/include/asm/tcm.h')
-rw-r--r-- | arch/metag/include/asm/tcm.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/metag/include/asm/tcm.h b/arch/metag/include/asm/tcm.h new file mode 100644 index 000000000000..7711c317b1d2 --- /dev/null +++ b/arch/metag/include/asm/tcm.h @@ -0,0 +1,30 @@ +#ifndef __ASM_TCM_H__ +#define __ASM_TCM_H__ + +#include <linux/ioport.h> +#include <linux/list.h> + +struct tcm_allocation { + struct list_head list; + unsigned int tag; + unsigned long addr; + unsigned long size; +}; + +/* + * TCM memory region descriptor. + */ +struct tcm_region { + unsigned int tag; + struct resource res; +}; + +#define TCM_INVALID_TAG 0xffffffff + +unsigned long tcm_alloc(unsigned int tag, size_t len); +void tcm_free(unsigned int tag, unsigned long addr, size_t len); +unsigned int tcm_lookup_tag(unsigned long p); + +int tcm_add_region(struct tcm_region *reg); + +#endif |