]>
Commit | Line | Data |
---|---|---|
7c6337e2 KH |
1 | /* |
2 | * DaVinci I/O mapping code | |
3 | * | |
4 | * Copyright (C) 2005-2006 Texas Instruments | |
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 | ||
11 | #include <linux/module.h> | |
12 | #include <linux/kernel.h> | |
13 | #include <linux/init.h> | |
fced80c7 | 14 | #include <linux/io.h> |
7c6337e2 KH |
15 | |
16 | #include <asm/tlb.h> | |
7c6337e2 KH |
17 | #include <asm/memory.h> |
18 | ||
19 | #include <asm/mach/map.h> | |
a09e64fb | 20 | #include <mach/clock.h> |
7c6337e2 KH |
21 | |
22 | extern void davinci_check_revision(void); | |
23 | ||
24 | /* | |
25 | * The machine specific code may provide the extra mapping besides the | |
26 | * default mapping provided here. | |
27 | */ | |
28 | static struct map_desc davinci_io_desc[] __initdata = { | |
29 | { | |
30 | .virtual = IO_VIRT, | |
31 | .pfn = __phys_to_pfn(IO_PHYS), | |
32 | .length = IO_SIZE, | |
33 | .type = MT_DEVICE | |
34 | }, | |
35 | }; | |
36 | ||
37 | void __init davinci_map_common_io(void) | |
38 | { | |
39 | iotable_init(davinci_io_desc, ARRAY_SIZE(davinci_io_desc)); | |
40 | ||
41 | /* Normally devicemaps_init() would flush caches and tlb after | |
42 | * mdesc->map_io(), but we must also do it here because of the CPU | |
43 | * revision check below. | |
44 | */ | |
45 | local_flush_tlb_all(); | |
46 | flush_cache_all(); | |
47 | ||
48 | /* We want to check CPU revision early for cpu_is_xxxx() macros. | |
49 | * IO space mapping must be initialized before we can do that. | |
50 | */ | |
51 | davinci_check_revision(); | |
52 | } | |
3e062b07 VB |
53 | |
54 | void __init davinci_init_common_hw(void) | |
55 | { | |
56 | davinci_clk_init(); | |
57 | } |