aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mmp
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2010-08-06 13:10:25 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-08-06 13:10:25 -0400
commitf165eb77f49cb6f6e86e2f2f09183904b2965d19 (patch)
treedb166579758930f52a1a625eb872bd96bd7ff88e /arch/arm/mach-mmp
parentfc1caf6eafb30ea185720e29f7f5eccca61ecd60 (diff)
parenta6cd7eb374647b572ae9e7dbfe49871e6996e8e0 (diff)
Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel-stable
Conflicts: arch/arm/mach-pxa/palmt5.c arch/arm/mach-pxa/palmtreo.c
Diffstat (limited to 'arch/arm/mach-mmp')
-rw-r--r--arch/arm/mach-mmp/aspenite.c6
-rw-r--r--arch/arm/mach-mmp/avengers_lite.c3
-rw-r--r--arch/arm/mach-mmp/common.c2
-rw-r--r--arch/arm/mach-mmp/common.h11
-rw-r--r--arch/arm/mach-mmp/flint.c3
-rw-r--r--arch/arm/mach-mmp/include/mach/devices.h4
-rw-r--r--arch/arm/mach-mmp/include/mach/mmp2.h7
-rw-r--r--arch/arm/mach-mmp/include/mach/pxa168.h5
-rw-r--r--arch/arm/mach-mmp/include/mach/pxa910.h5
-rw-r--r--arch/arm/mach-mmp/irq-mmp2.c1
-rw-r--r--arch/arm/mach-mmp/jasper.c3
-rw-r--r--arch/arm/mach-mmp/mmp2.c22
-rw-r--r--arch/arm/mach-mmp/tavorevb.c3
-rw-r--r--arch/arm/mach-mmp/time.c21
-rw-r--r--arch/arm/mach-mmp/ttc_dkb.c3
15 files changed, 53 insertions, 46 deletions
diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c
index 244655d323ea..0629394a5fb9 100644
--- a/arch/arm/mach-mmp/aspenite.c
+++ b/arch/arm/mach-mmp/aspenite.c
@@ -150,9 +150,8 @@ static void __init common_init(void)
150 150
151MACHINE_START(ASPENITE, "PXA168-based Aspenite Development Platform") 151MACHINE_START(ASPENITE, "PXA168-based Aspenite Development Platform")
152 .phys_io = APB_PHYS_BASE, 152 .phys_io = APB_PHYS_BASE,
153 .boot_params = 0x00000100,
154 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc, 153 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc,
155 .map_io = pxa_map_io, 154 .map_io = mmp_map_io,
156 .init_irq = pxa168_init_irq, 155 .init_irq = pxa168_init_irq,
157 .timer = &pxa168_timer, 156 .timer = &pxa168_timer,
158 .init_machine = common_init, 157 .init_machine = common_init,
@@ -160,9 +159,8 @@ MACHINE_END
160 159
161MACHINE_START(ZYLONITE2, "PXA168-based Zylonite2 Development Platform") 160MACHINE_START(ZYLONITE2, "PXA168-based Zylonite2 Development Platform")
162 .phys_io = APB_PHYS_BASE, 161 .phys_io = APB_PHYS_BASE,
163 .boot_params = 0x00000100,
164 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc, 162 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc,
165 .map_io = pxa_map_io, 163 .map_io = mmp_map_io,
166 .init_irq = pxa168_init_irq, 164 .init_irq = pxa168_init_irq,
167 .timer = &pxa168_timer, 165 .timer = &pxa168_timer,
168 .init_machine = common_init, 166 .init_machine = common_init,
diff --git a/arch/arm/mach-mmp/avengers_lite.c b/arch/arm/mach-mmp/avengers_lite.c
index 8c3fa5d14f4b..69bcba11f53f 100644
--- a/arch/arm/mach-mmp/avengers_lite.c
+++ b/arch/arm/mach-mmp/avengers_lite.c
@@ -42,9 +42,8 @@ static void __init avengers_lite_init(void)
42 42
43MACHINE_START(AVENGERS_LITE, "PXA168 Avengers lite Development Platform") 43MACHINE_START(AVENGERS_LITE, "PXA168 Avengers lite Development Platform")
44 .phys_io = APB_PHYS_BASE, 44 .phys_io = APB_PHYS_BASE,
45 .boot_params = 0x00000100,
46 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc, 45 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc,
47 .map_io = pxa_map_io, 46 .map_io = mmp_map_io,
48 .init_irq = pxa168_init_irq, 47 .init_irq = pxa168_init_irq,
49 .timer = &pxa168_timer, 48 .timer = &pxa168_timer,
50 .init_machine = avengers_lite_init, 49 .init_machine = avengers_lite_init,
diff --git a/arch/arm/mach-mmp/common.c b/arch/arm/mach-mmp/common.c
index e1e66c18b446..3b29fa7e9b08 100644
--- a/arch/arm/mach-mmp/common.c
+++ b/arch/arm/mach-mmp/common.c
@@ -31,7 +31,7 @@ static struct map_desc standard_io_desc[] __initdata = {
31 }, 31 },
32}; 32};
33 33
34void __init pxa_map_io(void) 34void __init mmp_map_io(void)
35{ 35{
36 iotable_init(standard_io_desc, ARRAY_SIZE(standard_io_desc)); 36 iotable_init(standard_io_desc, ARRAY_SIZE(standard_io_desc));
37} 37}
diff --git a/arch/arm/mach-mmp/common.h b/arch/arm/mach-mmp/common.h
index b4a0ba05a0f4..ec8d65ded25c 100644
--- a/arch/arm/mach-mmp/common.h
+++ b/arch/arm/mach-mmp/common.h
@@ -3,15 +3,6 @@
3struct sys_timer; 3struct sys_timer;
4 4
5extern void timer_init(int irq); 5extern void timer_init(int irq);
6extern void mmp2_clear_pmic_int(void);
7
8extern struct sys_timer pxa168_timer;
9extern struct sys_timer pxa910_timer;
10extern struct sys_timer mmp2_timer;
11extern void __init pxa168_init_irq(void);
12extern void __init pxa910_init_irq(void);
13extern void __init mmp2_init_icu(void);
14extern void __init mmp2_init_irq(void);
15 6
16extern void __init icu_init_irq(void); 7extern void __init icu_init_irq(void);
17extern void __init pxa_map_io(void); 8extern void __init mmp_map_io(void);
diff --git a/arch/arm/mach-mmp/flint.c b/arch/arm/mach-mmp/flint.c
index 4ec7709a3462..e4312d238eae 100644
--- a/arch/arm/mach-mmp/flint.c
+++ b/arch/arm/mach-mmp/flint.c
@@ -114,9 +114,8 @@ static void __init flint_init(void)
114 114
115MACHINE_START(FLINT, "Flint Development Platform") 115MACHINE_START(FLINT, "Flint Development Platform")
116 .phys_io = APB_PHYS_BASE, 116 .phys_io = APB_PHYS_BASE,
117 .boot_params = 0x00000100,
118 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc, 117 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc,
119 .map_io = pxa_map_io, 118 .map_io = mmp_map_io,
120 .init_irq = mmp2_init_irq, 119 .init_irq = mmp2_init_irq,
121 .timer = &mmp2_timer, 120 .timer = &mmp2_timer,
122 .init_machine = flint_init, 121 .init_machine = flint_init,
diff --git a/arch/arm/mach-mmp/include/mach/devices.h b/arch/arm/mach-mmp/include/mach/devices.h
index 1fa0a492454a..d0ec7dae88e4 100644
--- a/arch/arm/mach-mmp/include/mach/devices.h
+++ b/arch/arm/mach-mmp/include/mach/devices.h
@@ -1,3 +1,6 @@
1#ifndef __MACH_DEVICE_H
2#define __MACH_DEVICE_H
3
1#include <linux/types.h> 4#include <linux/types.h>
2 5
3#define MAX_RESOURCE_DMA 2 6#define MAX_RESOURCE_DMA 2
@@ -47,3 +50,4 @@ struct pxa_device_desc mmp2_device_##_name __initdata = { \
47} 50}
48 51
49extern int pxa_register_device(struct pxa_device_desc *, void *, size_t); 52extern int pxa_register_device(struct pxa_device_desc *, void *, size_t);
53#endif /* __MACH_DEVICE_H */
diff --git a/arch/arm/mach-mmp/include/mach/mmp2.h b/arch/arm/mach-mmp/include/mach/mmp2.h
index fec220bd5046..dbba6e8a60c4 100644
--- a/arch/arm/mach-mmp/include/mach/mmp2.h
+++ b/arch/arm/mach-mmp/include/mach/mmp2.h
@@ -1,6 +1,13 @@
1#ifndef __ASM_MACH_MMP2_H 1#ifndef __ASM_MACH_MMP2_H
2#define __ASM_MACH_MMP2_H 2#define __ASM_MACH_MMP2_H
3 3
4struct sys_timer;
5
6extern struct sys_timer mmp2_timer;
7extern void __init mmp2_init_icu(void);
8extern void __init mmp2_init_irq(void);
9extern void mmp2_clear_pmic_int(void);
10
4#include <linux/i2c.h> 11#include <linux/i2c.h>
5#include <mach/devices.h> 12#include <mach/devices.h>
6#include <plat/i2c.h> 13#include <plat/i2c.h>
diff --git a/arch/arm/mach-mmp/include/mach/pxa168.h b/arch/arm/mach-mmp/include/mach/pxa168.h
index 3b2bd5d5eb05..27e1bc758623 100644
--- a/arch/arm/mach-mmp/include/mach/pxa168.h
+++ b/arch/arm/mach-mmp/include/mach/pxa168.h
@@ -1,6 +1,11 @@
1#ifndef __ASM_MACH_PXA168_H 1#ifndef __ASM_MACH_PXA168_H
2#define __ASM_MACH_PXA168_H 2#define __ASM_MACH_PXA168_H
3 3
4struct sys_timer;
5
6extern struct sys_timer pxa168_timer;
7extern void __init pxa168_init_irq(void);
8
4#include <linux/i2c.h> 9#include <linux/i2c.h>
5#include <mach/devices.h> 10#include <mach/devices.h>
6#include <plat/i2c.h> 11#include <plat/i2c.h>
diff --git a/arch/arm/mach-mmp/include/mach/pxa910.h b/arch/arm/mach-mmp/include/mach/pxa910.h
index 4f0b4ec6f5d0..f13c49d6f8dc 100644
--- a/arch/arm/mach-mmp/include/mach/pxa910.h
+++ b/arch/arm/mach-mmp/include/mach/pxa910.h
@@ -1,6 +1,11 @@
1#ifndef __ASM_MACH_PXA910_H 1#ifndef __ASM_MACH_PXA910_H
2#define __ASM_MACH_PXA910_H 2#define __ASM_MACH_PXA910_H
3 3
4struct sys_timer;
5
6extern struct sys_timer pxa910_timer;
7extern void __init pxa910_init_irq(void);
8
4#include <linux/i2c.h> 9#include <linux/i2c.h>
5#include <mach/devices.h> 10#include <mach/devices.h>
6#include <plat/i2c.h> 11#include <plat/i2c.h>
diff --git a/arch/arm/mach-mmp/irq-mmp2.c b/arch/arm/mach-mmp/irq-mmp2.c
index cb18221c0af3..01342be91c3c 100644
--- a/arch/arm/mach-mmp/irq-mmp2.c
+++ b/arch/arm/mach-mmp/irq-mmp2.c
@@ -16,6 +16,7 @@
16#include <linux/io.h> 16#include <linux/io.h>
17 17
18#include <mach/regs-icu.h> 18#include <mach/regs-icu.h>
19#include <mach/mmp2.h>
19 20
20#include "common.h" 21#include "common.h"
21 22
diff --git a/arch/arm/mach-mmp/jasper.c b/arch/arm/mach-mmp/jasper.c
index d77dd41d60e1..80c3e7ab1e17 100644
--- a/arch/arm/mach-mmp/jasper.c
+++ b/arch/arm/mach-mmp/jasper.c
@@ -135,9 +135,8 @@ static void __init jasper_init(void)
135 135
136MACHINE_START(MARVELL_JASPER, "Jasper Development Platform") 136MACHINE_START(MARVELL_JASPER, "Jasper Development Platform")
137 .phys_io = APB_PHYS_BASE, 137 .phys_io = APB_PHYS_BASE,
138 .boot_params = 0x00000100,
139 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc, 138 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc,
140 .map_io = pxa_map_io, 139 .map_io = mmp_map_io,
141 .init_irq = mmp2_init_irq, 140 .init_irq = mmp2_init_irq,
142 .timer = &mmp2_timer, 141 .timer = &mmp2_timer,
143 .init_machine = jasper_init, 142 .init_machine = jasper_init,
diff --git a/arch/arm/mach-mmp/mmp2.c b/arch/arm/mach-mmp/mmp2.c
index 7f5eb059bb01..daf3993349f8 100644
--- a/arch/arm/mach-mmp/mmp2.c
+++ b/arch/arm/mach-mmp/mmp2.c
@@ -17,6 +17,7 @@
17 17
18#include <asm/hardware/cache-tauros2.h> 18#include <asm/hardware/cache-tauros2.h>
19 19
20#include <asm/mach/time.h>
20#include <mach/addr-map.h> 21#include <mach/addr-map.h>
21#include <mach/regs-apbc.h> 22#include <mach/regs-apbc.h>
22#include <mach/regs-apmu.h> 23#include <mach/regs-apmu.h>
@@ -26,6 +27,7 @@
26#include <mach/mfp.h> 27#include <mach/mfp.h>
27#include <mach/gpio.h> 28#include <mach/gpio.h>
28#include <mach/devices.h> 29#include <mach/devices.h>
30#include <mach/mmp2.h>
29 31
30#include "common.h" 32#include "common.h"
31#include "clock.h" 33#include "clock.h"
@@ -158,6 +160,26 @@ static int __init mmp2_init(void)
158} 160}
159postcore_initcall(mmp2_init); 161postcore_initcall(mmp2_init);
160 162
163static void __init mmp2_timer_init(void)
164{
165 unsigned long clk_rst;
166
167 __raw_writel(APBC_APBCLK | APBC_RST, APBC_MMP2_TIMERS);
168
169 /*
170 * enable bus/functional clock, enable 6.5MHz (divider 4),
171 * release reset
172 */
173 clk_rst = APBC_APBCLK | APBC_FNCLK | APBC_FNCLKSEL(1);
174 __raw_writel(clk_rst, APBC_MMP2_TIMERS);
175
176 timer_init(IRQ_MMP2_TIMER1);
177}
178
179struct sys_timer mmp2_timer = {
180 .init = mmp2_timer_init,
181};
182
161/* on-chip devices */ 183/* on-chip devices */
162MMP2_DEVICE(uart1, "pxa2xx-uart", 0, UART1, 0xd4030000, 0x30, 4, 5); 184MMP2_DEVICE(uart1, "pxa2xx-uart", 0, UART1, 0xd4030000, 0x30, 4, 5);
163MMP2_DEVICE(uart2, "pxa2xx-uart", 1, UART2, 0xd4017000, 0x30, 20, 21); 185MMP2_DEVICE(uart2, "pxa2xx-uart", 1, UART2, 0xd4017000, 0x30, 20, 21);
diff --git a/arch/arm/mach-mmp/tavorevb.c b/arch/arm/mach-mmp/tavorevb.c
index 0e0c9220eaba..e81db7428215 100644
--- a/arch/arm/mach-mmp/tavorevb.c
+++ b/arch/arm/mach-mmp/tavorevb.c
@@ -100,9 +100,8 @@ static void __init tavorevb_init(void)
100 100
101MACHINE_START(TAVOREVB, "PXA910 Evaluation Board (aka TavorEVB)") 101MACHINE_START(TAVOREVB, "PXA910 Evaluation Board (aka TavorEVB)")
102 .phys_io = APB_PHYS_BASE, 102 .phys_io = APB_PHYS_BASE,
103 .boot_params = 0x00000100,
104 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc, 103 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc,
105 .map_io = pxa_map_io, 104 .map_io = mmp_map_io,
106 .init_irq = pxa910_init_irq, 105 .init_irq = pxa910_init_irq,
107 .timer = &pxa910_timer, 106 .timer = &pxa910_timer,
108 .init_machine = tavorevb_init, 107 .init_machine = tavorevb_init,
diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c
index cf75694e9687..66528193f939 100644
--- a/arch/arm/mach-mmp/time.c
+++ b/arch/arm/mach-mmp/time.c
@@ -200,24 +200,3 @@ void __init timer_init(int irq)
200 clocksource_register(&cksrc); 200 clocksource_register(&cksrc);
201 clockevents_register_device(&ckevt); 201 clockevents_register_device(&ckevt);
202} 202}
203
204static void __init mmp2_timer_init(void)
205{
206 unsigned long clk_rst;
207
208 __raw_writel(APBC_APBCLK | APBC_RST, APBC_MMP2_TIMERS);
209
210 /*
211 * enable bus/functional clock, enable 6.5MHz (divider 4),
212 * release reset
213 */
214 clk_rst = APBC_APBCLK | APBC_FNCLK | APBC_FNCLKSEL(1);
215 __raw_writel(clk_rst, APBC_MMP2_TIMERS);
216
217 timer_init(IRQ_MMP2_TIMER1);
218}
219
220struct sys_timer mmp2_timer = {
221 .init = mmp2_timer_init,
222};
223
diff --git a/arch/arm/mach-mmp/ttc_dkb.c b/arch/arm/mach-mmp/ttc_dkb.c
index b22dec4abf78..ee65e05f0cf1 100644
--- a/arch/arm/mach-mmp/ttc_dkb.c
+++ b/arch/arm/mach-mmp/ttc_dkb.c
@@ -123,9 +123,8 @@ static void __init ttc_dkb_init(void)
123 123
124MACHINE_START(TTC_DKB, "PXA910-based TTC_DKB Development Platform") 124MACHINE_START(TTC_DKB, "PXA910-based TTC_DKB Development Platform")
125 .phys_io = APB_PHYS_BASE, 125 .phys_io = APB_PHYS_BASE,
126 .boot_params = 0x00000100,
127 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc, 126 .io_pg_offst = (APB_VIRT_BASE >> 18) & 0xfffc,
128 .map_io = pxa_map_io, 127 .map_io = mmp_map_io,
129 .init_irq = pxa910_init_irq, 128 .init_irq = pxa910_init_irq,
130 .timer = &pxa910_timer, 129 .timer = &pxa910_timer,
131 .init_machine = ttc_dkb_init, 130 .init_machine = ttc_dkb_init,