Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
io.c
Go to the documentation of this file.
1 /*
2  * arch/arm/mach-tegra/io.c
3  *
4  * Copyright (C) 2010 Google, Inc.
5  *
6  * Author:
7  * Colin Cross <[email protected]>
8  * Erik Gilling <[email protected]>
9  *
10  * This software is licensed under the terms of the GNU General Public
11  * License version 2, as published by the Free Software Foundation, and
12  * may be copied, distributed, and modified under those terms.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  */
20 
21 #include <linux/kernel.h>
22 #include <linux/module.h>
23 #include <linux/init.h>
24 #include <linux/mm.h>
25 #include <linux/io.h>
26 
27 #include <asm/page.h>
28 #include <asm/mach/map.h>
29 #include <mach/iomap.h>
30 
31 #include "board.h"
32 
33 static struct map_desc tegra_io_desc[] __initdata = {
34  {
35  .virtual = (unsigned long)IO_PPSB_VIRT,
37  .length = IO_PPSB_SIZE,
38  .type = MT_DEVICE,
39  },
40  {
41  .virtual = (unsigned long)IO_APB_VIRT,
43  .length = IO_APB_SIZE,
44  .type = MT_DEVICE,
45  },
46  {
47  .virtual = (unsigned long)IO_CPU_VIRT,
49  .length = IO_CPU_SIZE,
50  .type = MT_DEVICE,
51  },
52  {
53  .virtual = (unsigned long)IO_IRAM_VIRT,
55  .length = IO_IRAM_SIZE,
56  .type = MT_DEVICE,
57  },
58 };
59 
61 {
62  iotable_init(tegra_io_desc, ARRAY_SIZE(tegra_io_desc));
63 }