Merge branch 'for-linus' of git://opensource.wolfsonmicro.com/regulator
[pandora-kernel.git] / arch / arm / include / asm / mach / map.h
1 /*
2  *  arch/arm/include/asm/map.h
3  *
4  *  Copyright (C) 1999-2000 Russell King
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  *  Page table mapping constructs and function prototypes
11  */
12 #include <asm/io.h>
13
14 struct map_desc {
15         unsigned long virtual;
16         unsigned long pfn;
17         unsigned long length;
18         unsigned int type;
19 };
20
21 /* types 0-3 are defined in asm/io.h */
22 #define MT_UNCACHED             4
23 #define MT_CACHECLEAN           5
24 #define MT_MINICLEAN            6
25 #define MT_LOW_VECTORS          7
26 #define MT_HIGH_VECTORS         8
27 #define MT_MEMORY               9
28 #define MT_ROM                  10
29 #define MT_MEMORY_NONCACHED     11
30 #define MT_MEMORY_DTCM          12
31 #define MT_MEMORY_ITCM          13
32 #define MT_MEMORY_SO            14
33
34 #ifdef CONFIG_MMU
35 extern void iotable_init(struct map_desc *, int);
36
37 struct mem_type;
38 extern const struct mem_type *get_mem_type(unsigned int type);
39 /*
40  * external interface to remap single page with appropriate type
41  */
42 extern int ioremap_page(unsigned long virt, unsigned long phys,
43                         const struct mem_type *mtype);
44 #else
45 #define iotable_init(map,num)   do { } while (0)
46 #endif