11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 24baa9922430662431231ac637adedddbb0cfb2d7Russell King * arch/arm/include/asm/map.h 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Copyright (C) 1999-2000 Russell King 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * This program is free software; you can redistribute it and/or modify 71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * it under the terms of the GNU General Public License version 2 as 81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * published by the Free Software Foundation. 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Page table mapping constructs and function prototypes 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 123603ab2b62ad8372fc93816b080b370dd55d7cecRussell King#include <asm/io.h> 133603ab2b62ad8372fc93816b080b370dd55d7cecRussell King 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsstruct map_desc { 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds unsigned long virtual; 169769c2468d423a1562dd59a5db250bd0a5533ec9Deepak Saxena unsigned long pfn; 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds unsigned long length; 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds unsigned int type; 191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}; 201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 21db5b7169474882fabbd811a4cf5c1bae3157e677Russell King/* types 0-3 are defined in asm/io.h */ 22ebb4c65869db7213280ad9c510637683939b5ff8Russell King#define MT_UNCACHED 4 23ebb4c65869db7213280ad9c510637683939b5ff8Russell King#define MT_CACHECLEAN 5 24ebb4c65869db7213280ad9c510637683939b5ff8Russell King#define MT_MINICLEAN 6 25ebb4c65869db7213280ad9c510637683939b5ff8Russell King#define MT_LOW_VECTORS 7 26ebb4c65869db7213280ad9c510637683939b5ff8Russell King#define MT_HIGH_VECTORS 8 27ebb4c65869db7213280ad9c510637683939b5ff8Russell King#define MT_MEMORY 9 28ebb4c65869db7213280ad9c510637683939b5ff8Russell King#define MT_ROM 10 29e4707dd3e9d0cb57597b6568a5e51fea5d6fca41Paul Walmsley#define MT_MEMORY_NONCACHED 11 30cb9d7707cd9be57830f31616233f6a872ca8416dLinus Walleij#define MT_MEMORY_DTCM 12 31cb9d7707cd9be57830f31616233f6a872ca8416dLinus Walleij#define MT_MEMORY_ITCM 13 328fb54284ba6aa1f0d832ec015fde64ecf4bb0f4fSantosh Shilimkar#define MT_MEMORY_SO 14 330af92befeb4b330c46cce6b520b2cc775cd6931fRussell King 34092c1952e18fec06f3a951113fe1d87492d6e840Russell King#ifdef CONFIG_MMU 351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void iotable_init(struct map_desc *, int); 3669d3a84a646d6ad6cd693a7a3d5b9af414113d2cHiroshi DOYU 3769d3a84a646d6ad6cd693a7a3d5b9af414113d2cHiroshi DOYUstruct mem_type; 3869d3a84a646d6ad6cd693a7a3d5b9af414113d2cHiroshi DOYUextern const struct mem_type *get_mem_type(unsigned int type); 3969d3a84a646d6ad6cd693a7a3d5b9af414113d2cHiroshi DOYU/* 4069d3a84a646d6ad6cd693a7a3d5b9af414113d2cHiroshi DOYU * external interface to remap single page with appropriate type 4169d3a84a646d6ad6cd693a7a3d5b9af414113d2cHiroshi DOYU */ 4269d3a84a646d6ad6cd693a7a3d5b9af414113d2cHiroshi DOYUextern int ioremap_page(unsigned long virt, unsigned long phys, 4369d3a84a646d6ad6cd693a7a3d5b9af414113d2cHiroshi DOYU const struct mem_type *mtype); 44092c1952e18fec06f3a951113fe1d87492d6e840Russell King#else 45092c1952e18fec06f3a951113fe1d87492d6e840Russell King#define iotable_init(map,num) do { } while (0) 46092c1952e18fec06f3a951113fe1d87492d6e840Russell King#endif 47