]> bbs.cooldavid.org Git - net-next-2.6.git/blame - arch/arm/include/asm/mach/map.h
ARM: 6222/1: add memory types for the TCMs
[net-next-2.6.git] / arch / arm / include / asm / mach / map.h
CommitLineData
1da177e4 1/*
4baa9922 2 * arch/arm/include/asm/map.h
1da177e4
LT
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 */
3603ab2b
RK
12#include <asm/io.h>
13
1da177e4
LT
14struct map_desc {
15 unsigned long virtual;
9769c246 16 unsigned long pfn;
1da177e4
LT
17 unsigned long length;
18 unsigned int type;
19};
20
db5b7169 21/* types 0-3 are defined in asm/io.h */
ebb4c658
RK
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
e4707dd3 29#define MT_MEMORY_NONCACHED 11
cb9d7707
LW
30#define MT_MEMORY_DTCM 12
31#define MT_MEMORY_ITCM 13
0af92bef 32
092c1952 33#ifdef CONFIG_MMU
1da177e4 34extern void iotable_init(struct map_desc *, int);
69d3a84a
HD
35
36struct mem_type;
37extern const struct mem_type *get_mem_type(unsigned int type);
38/*
39 * external interface to remap single page with appropriate type
40 */
41extern int ioremap_page(unsigned long virt, unsigned long phys,
42 const struct mem_type *mtype);
092c1952
RK
43#else
44#define iotable_init(map,num) do { } while (0)
45#endif