Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
mm.c
Go to the documentation of this file.
1 /*
2  * Static mappings for Gemini
3  *
4  * Copyright (C) 2001-2006 Storlink, Corp.
5  * Copyright (C) 2008-2009 Paulius Zaleckas <[email protected]>
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  */
12 #include <linux/mm.h>
13 #include <linux/init.h>
14 
15 #include <asm/mach/map.h>
16 
17 #include <mach/hardware.h>
18 
19 /* Page table mapping for I/O region */
20 static struct map_desc gemini_io_desc[] __initdata = {
21  {
22  .virtual = IO_ADDRESS(GEMINI_GLOBAL_BASE),
24  .length = SZ_512K,
25  .type = MT_DEVICE,
26  }, {
27  .virtual = IO_ADDRESS(GEMINI_UART_BASE),
29  .length = SZ_512K,
30  .type = MT_DEVICE,
31  }, {
32  .virtual = IO_ADDRESS(GEMINI_TIMER_BASE),
34  .length = SZ_512K,
35  .type = MT_DEVICE,
36  }, {
39  .length = SZ_512K,
40  .type = MT_DEVICE,
41  }, {
44  .length = SZ_512K,
45  .type = MT_DEVICE,
46  }, {
47  .virtual = IO_ADDRESS(GEMINI_GPIO_BASE(0)),
49  .length = SZ_512K,
50  .type = MT_DEVICE,
51  }, {
52  .virtual = IO_ADDRESS(GEMINI_GPIO_BASE(1)),
54  .length = SZ_512K,
55  .type = MT_DEVICE,
56  }, {
57  .virtual = IO_ADDRESS(GEMINI_GPIO_BASE(2)),
59  .length = SZ_512K,
60  .type = MT_DEVICE,
61  }, {
64  .length = SZ_512K,
65  .type = MT_DEVICE,
66  }, {
69  .length = SZ_512K,
70  .type = MT_DEVICE,
71  }, {
74  .length = SZ_512K,
75  .type = MT_DEVICE,
76  },
77 };
78 
80 {
81  iotable_init(gemini_io_desc, ARRAY_SIZE(gemini_io_desc));
82 }