Commit | Line | Data |
---|---|---|
49cbe786 EM |
1 | /* |
2 | * linux/arch/arm/mach-mmp/common.c | |
3 | * | |
4 | * Code common to PXA168 processor lines | |
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/init.h> | |
12 | #include <linux/kernel.h> | |
f090c74b | 13 | #include <linux/module.h> |
49cbe786 EM |
14 | |
15 | #include <asm/page.h> | |
16 | #include <asm/mach/map.h> | |
9f97da78 | 17 | #include <asm/system_misc.h> |
b501fd7b AB |
18 | #include "addr-map.h" |
19 | #include "cputype.h" | |
49cbe786 EM |
20 | |
21 | #include "common.h" | |
22 | ||
f090c74b HZ |
23 | #define MMP_CHIPID (AXI_VIRT_BASE + 0x82c00) |
24 | ||
25 | unsigned int mmp_chip_id; | |
26 | EXPORT_SYMBOL(mmp_chip_id); | |
27 | ||
49cbe786 EM |
28 | static struct map_desc standard_io_desc[] __initdata = { |
29 | { | |
30 | .pfn = __phys_to_pfn(APB_PHYS_BASE), | |
97b09da4 | 31 | .virtual = (unsigned long)APB_VIRT_BASE, |
49cbe786 EM |
32 | .length = APB_PHYS_SIZE, |
33 | .type = MT_DEVICE, | |
34 | }, { | |
35 | .pfn = __phys_to_pfn(AXI_PHYS_BASE), | |
97b09da4 | 36 | .virtual = (unsigned long)AXI_VIRT_BASE, |
49cbe786 EM |
37 | .length = AXI_PHYS_SIZE, |
38 | .type = MT_DEVICE, | |
39 | }, | |
40 | }; | |
41 | ||
8022887c | 42 | void __init mmp_map_io(void) |
49cbe786 EM |
43 | { |
44 | iotable_init(standard_io_desc, ARRAY_SIZE(standard_io_desc)); | |
f090c74b HZ |
45 | |
46 | /* this is early, initialize mmp_chip_id here */ | |
47 | mmp_chip_id = __raw_readl(MMP_CHIPID); | |
49cbe786 | 48 | } |
9854a38e | 49 | |
7b6d864b | 50 | void mmp_restart(enum reboot_mode mode, const char *cmd) |
9854a38e RK |
51 | { |
52 | soft_restart(0); | |
53 | } |