diff options
Diffstat (limited to 'arch/arm/mach-mmp/mmp2.c')
-rw-r--r-- | arch/arm/mach-mmp/mmp2.c | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/arch/arm/mach-mmp/mmp2.c b/arch/arm/mach-mmp/mmp2.c index 72eb9daeea99..7f5eb059bb01 100644 --- a/arch/arm/mach-mmp/mmp2.c +++ b/arch/arm/mach-mmp/mmp2.c | |||
@@ -15,11 +15,14 @@ | |||
15 | #include <linux/init.h> | 15 | #include <linux/init.h> |
16 | #include <linux/io.h> | 16 | #include <linux/io.h> |
17 | 17 | ||
18 | #include <asm/hardware/cache-tauros2.h> | ||
19 | |||
18 | #include <mach/addr-map.h> | 20 | #include <mach/addr-map.h> |
19 | #include <mach/regs-apbc.h> | 21 | #include <mach/regs-apbc.h> |
20 | #include <mach/regs-apmu.h> | 22 | #include <mach/regs-apmu.h> |
21 | #include <mach/cputype.h> | 23 | #include <mach/cputype.h> |
22 | #include <mach/irqs.h> | 24 | #include <mach/irqs.h> |
25 | #include <mach/dma.h> | ||
23 | #include <mach/mfp.h> | 26 | #include <mach/mfp.h> |
24 | #include <mach/gpio.h> | 27 | #include <mach/gpio.h> |
25 | #include <mach/devices.h> | 28 | #include <mach/devices.h> |
@@ -32,7 +35,50 @@ | |||
32 | #define APMASK(i) (GPIO_REGS_VIRT + BANK_OFF(i) + 0x9c) | 35 | #define APMASK(i) (GPIO_REGS_VIRT + BANK_OFF(i) + 0x9c) |
33 | 36 | ||
34 | static struct mfp_addr_map mmp2_addr_map[] __initdata = { | 37 | static struct mfp_addr_map mmp2_addr_map[] __initdata = { |
38 | |||
39 | MFP_ADDR_X(GPIO0, GPIO58, 0x54), | ||
40 | MFP_ADDR_X(GPIO59, GPIO73, 0x280), | ||
41 | MFP_ADDR_X(GPIO74, GPIO101, 0x170), | ||
42 | |||
43 | MFP_ADDR(GPIO102, 0x0), | ||
44 | MFP_ADDR(GPIO103, 0x4), | ||
45 | MFP_ADDR(GPIO104, 0x1fc), | ||
46 | MFP_ADDR(GPIO105, 0x1f8), | ||
47 | MFP_ADDR(GPIO106, 0x1f4), | ||
48 | MFP_ADDR(GPIO107, 0x1f0), | ||
49 | MFP_ADDR(GPIO108, 0x21c), | ||
50 | MFP_ADDR(GPIO109, 0x218), | ||
51 | MFP_ADDR(GPIO110, 0x214), | ||
52 | MFP_ADDR(GPIO111, 0x200), | ||
53 | MFP_ADDR(GPIO112, 0x244), | ||
54 | MFP_ADDR(GPIO113, 0x25c), | ||
55 | MFP_ADDR(GPIO114, 0x164), | ||
56 | MFP_ADDR_X(GPIO115, GPIO122, 0x260), | ||
57 | |||
58 | MFP_ADDR(GPIO123, 0x148), | ||
59 | MFP_ADDR_X(GPIO124, GPIO141, 0xc), | ||
60 | |||
61 | MFP_ADDR(GPIO142, 0x8), | ||
62 | MFP_ADDR_X(GPIO143, GPIO151, 0x220), | ||
63 | MFP_ADDR_X(GPIO152, GPIO153, 0x248), | ||
64 | MFP_ADDR_X(GPIO154, GPIO155, 0x254), | ||
65 | MFP_ADDR_X(GPIO156, GPIO159, 0x14c), | ||
66 | |||
67 | MFP_ADDR(GPIO160, 0x250), | ||
68 | MFP_ADDR(GPIO161, 0x210), | ||
69 | MFP_ADDR(GPIO162, 0x20c), | ||
70 | MFP_ADDR(GPIO163, 0x208), | ||
71 | MFP_ADDR(GPIO164, 0x204), | ||
72 | MFP_ADDR(GPIO165, 0x1ec), | ||
73 | MFP_ADDR(GPIO166, 0x1e8), | ||
74 | MFP_ADDR(GPIO167, 0x1e4), | ||
75 | MFP_ADDR(GPIO168, 0x1e0), | ||
76 | |||
77 | MFP_ADDR_X(TWSI1_SCL, TWSI1_SDA, 0x140), | ||
78 | MFP_ADDR_X(TWSI4_SCL, TWSI4_SDA, 0x2bc), | ||
79 | |||
35 | MFP_ADDR(PMIC_INT, 0x2c4), | 80 | MFP_ADDR(PMIC_INT, 0x2c4), |
81 | MFP_ADDR(CLK_REQ, 0x160), | ||
36 | 82 | ||
37 | MFP_ADDR_END, | 83 | MFP_ADDR_END, |
38 | }; | 84 | }; |
@@ -99,9 +145,13 @@ static struct clk_lookup mmp2_clkregs[] = { | |||
99 | static int __init mmp2_init(void) | 145 | static int __init mmp2_init(void) |
100 | { | 146 | { |
101 | if (cpu_is_mmp2()) { | 147 | if (cpu_is_mmp2()) { |
148 | #ifdef CONFIG_CACHE_TAUROS2 | ||
149 | tauros2_init(); | ||
150 | #endif | ||
102 | mfp_init_base(MFPR_VIRT_BASE); | 151 | mfp_init_base(MFPR_VIRT_BASE); |
103 | mfp_init_addr(mmp2_addr_map); | 152 | mfp_init_addr(mmp2_addr_map); |
104 | clks_register(ARRAY_AND_SIZE(mmp2_clkregs)); | 153 | pxa_init_dma(IRQ_MMP2_DMA_RIQ, 16); |
154 | clkdev_add_table(ARRAY_AND_SIZE(mmp2_clkregs)); | ||
105 | } | 155 | } |
106 | 156 | ||
107 | return 0; | 157 | return 0; |