1
2
3
4
5
6
7
8
9
10
11
12#ifndef __ASM_MACH_MAP_H
13#define __ASM_MACH_MAP_H
14
15#include <asm/io.h>
16
17struct map_desc {
18 unsigned long virtual;
19 unsigned long pfn;
20 unsigned long length;
21 unsigned int type;
22};
23
24
25#define MT_UNCACHED 4
26#define MT_CACHECLEAN 5
27#define MT_MINICLEAN 6
28#define MT_LOW_VECTORS 7
29#define MT_HIGH_VECTORS 8
30#define MT_MEMORY 9
31#define MT_ROM 10
32#define MT_MEMORY_NONCACHED 11
33#define MT_MEMORY_DTCM 12
34#define MT_MEMORY_ITCM 13
35#define MT_MEMORY_SO 14
36#define MT_MEMORY_DMA_READY 15
37
38#ifdef CONFIG_MMU
39extern void iotable_init(struct map_desc *, int);
40extern void vm_reserve_area_early(unsigned long addr, unsigned long size,
41 void *caller);
42
43#ifdef CONFIG_DEBUG_LL
44extern void debug_ll_addr(unsigned long *paddr, unsigned long *vaddr);
45extern void debug_ll_io_init(void);
46#else
47static inline void debug_ll_io_init(void) {}
48#endif
49
50struct mem_type;
51extern const struct mem_type *get_mem_type(unsigned int type);
52
53
54
55extern int ioremap_page(unsigned long virt, unsigned long phys,
56 const struct mem_type *mtype);
57#else
58#define iotable_init(map,num) do { } while (0)
59#define vm_reserve_area_early(a,s,c) do { } while (0)
60#endif
61
62#endif
63