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 #define MT_MEMORY_DMA_READY 15 34 35 #ifdef CONFIG_MMU 36 extern void iotable_init(struct map_desc *, int); 37 38 struct mem_type; 39 extern const struct mem_type *get_mem_type(unsigned int type); 40 /* 41 * external interface to remap single page with appropriate type 42 */ 43 extern int ioremap_page(unsigned long virt, unsigned long phys, 44 const struct mem_type *mtype); 45 #else 46 #define iotable_init(map,num) do { } while (0) 47 #endif 48