diff options
Diffstat (limited to 'arch/arm/mach-sa1100')
-rw-r--r-- | arch/arm/mach-sa1100/assabet.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/badge4.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/cerf.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/collie.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/generic.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/generic.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/h3100.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/h3600.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/hackkit.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/include/mach/system.h | 13 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/include/mach/vmalloc.h | 4 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/jornada720.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/lart.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/nanoengine.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/pleb.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/shannon.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/simpad.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/time.c | 28 |
18 files changed, 29 insertions, 42 deletions
diff --git a/arch/arm/mach-sa1100/assabet.c b/arch/arm/mach-sa1100/assabet.c index 3dd133f18415..6b93e200bcac 100644 --- a/arch/arm/mach-sa1100/assabet.c +++ b/arch/arm/mach-sa1100/assabet.c | |||
@@ -455,4 +455,5 @@ MACHINE_START(ASSABET, "Intel-Assabet") | |||
455 | #ifdef CONFIG_SA1111 | 455 | #ifdef CONFIG_SA1111 |
456 | .dma_zone_size = SZ_1M, | 456 | .dma_zone_size = SZ_1M, |
457 | #endif | 457 | #endif |
458 | .restart = sa11x0_restart, | ||
458 | MACHINE_END | 459 | MACHINE_END |
diff --git a/arch/arm/mach-sa1100/badge4.c b/arch/arm/mach-sa1100/badge4.c index bda83e1ab078..b07a2c024cb7 100644 --- a/arch/arm/mach-sa1100/badge4.c +++ b/arch/arm/mach-sa1100/badge4.c | |||
@@ -309,4 +309,5 @@ MACHINE_START(BADGE4, "Hewlett-Packard Laboratories BadgePAD 4") | |||
309 | #ifdef CONFIG_SA1111 | 309 | #ifdef CONFIG_SA1111 |
310 | .dma_zone_size = SZ_1M, | 310 | .dma_zone_size = SZ_1M, |
311 | #endif | 311 | #endif |
312 | .restart = sa11x0_restart, | ||
312 | MACHINE_END | 313 | MACHINE_END |
diff --git a/arch/arm/mach-sa1100/cerf.c b/arch/arm/mach-sa1100/cerf.c index 7f3da4b11ec9..11bb6d0b9be3 100644 --- a/arch/arm/mach-sa1100/cerf.c +++ b/arch/arm/mach-sa1100/cerf.c | |||
@@ -139,4 +139,5 @@ MACHINE_START(CERF, "Intrinsyc CerfBoard/CerfCube") | |||
139 | .init_irq = cerf_init_irq, | 139 | .init_irq = cerf_init_irq, |
140 | .timer = &sa1100_timer, | 140 | .timer = &sa1100_timer, |
141 | .init_machine = cerf_init, | 141 | .init_machine = cerf_init, |
142 | .restart = sa11x0_restart, | ||
142 | MACHINE_END | 143 | MACHINE_END |
diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c index 2965cc9d424e..b9060e236def 100644 --- a/arch/arm/mach-sa1100/collie.c +++ b/arch/arm/mach-sa1100/collie.c | |||
@@ -387,4 +387,5 @@ MACHINE_START(COLLIE, "Sharp-Collie") | |||
387 | .init_irq = sa1100_init_irq, | 387 | .init_irq = sa1100_init_irq, |
388 | .timer = &sa1100_timer, | 388 | .timer = &sa1100_timer, |
389 | .init_machine = collie_init, | 389 | .init_machine = collie_init, |
390 | .restart = sa11x0_restart, | ||
390 | MACHINE_END | 391 | MACHINE_END |
diff --git a/arch/arm/mach-sa1100/generic.c b/arch/arm/mach-sa1100/generic.c index 5fa5ae1f39e1..bb10ee2cb89f 100644 --- a/arch/arm/mach-sa1100/generic.c +++ b/arch/arm/mach-sa1100/generic.c | |||
@@ -126,6 +126,17 @@ static void sa1100_power_off(void) | |||
126 | PMCR = PMCR_SF; | 126 | PMCR = PMCR_SF; |
127 | } | 127 | } |
128 | 128 | ||
129 | void sa11x0_restart(char mode, const char *cmd) | ||
130 | { | ||
131 | if (mode == 's') { | ||
132 | /* Jump into ROM at address 0 */ | ||
133 | soft_restart(0); | ||
134 | } else { | ||
135 | /* Use on-chip reset capability */ | ||
136 | RSRR = RSRR_SWR; | ||
137 | } | ||
138 | } | ||
139 | |||
129 | static void sa11x0_register_device(struct platform_device *dev, void *data) | 140 | static void sa11x0_register_device(struct platform_device *dev, void *data) |
130 | { | 141 | { |
131 | int err; | 142 | int err; |
diff --git a/arch/arm/mach-sa1100/generic.h b/arch/arm/mach-sa1100/generic.h index b7a9a601c2d1..33268cf6be36 100644 --- a/arch/arm/mach-sa1100/generic.h +++ b/arch/arm/mach-sa1100/generic.h | |||
@@ -10,6 +10,7 @@ extern struct sys_timer sa1100_timer; | |||
10 | extern void __init sa1100_map_io(void); | 10 | extern void __init sa1100_map_io(void); |
11 | extern void __init sa1100_init_irq(void); | 11 | extern void __init sa1100_init_irq(void); |
12 | extern void __init sa1100_init_gpio(void); | 12 | extern void __init sa1100_init_gpio(void); |
13 | extern void sa11x0_restart(char, const char *); | ||
13 | 14 | ||
14 | #define SET_BANK(__nr,__start,__size) \ | 15 | #define SET_BANK(__nr,__start,__size) \ |
15 | mi->bank[__nr].start = (__start), \ | 16 | mi->bank[__nr].start = (__start), \ |
diff --git a/arch/arm/mach-sa1100/h3100.c b/arch/arm/mach-sa1100/h3100.c index b30733a2b82e..1e6b3c105ba6 100644 --- a/arch/arm/mach-sa1100/h3100.c +++ b/arch/arm/mach-sa1100/h3100.c | |||
@@ -89,5 +89,6 @@ MACHINE_START(H3100, "Compaq iPAQ H3100") | |||
89 | .init_irq = sa1100_init_irq, | 89 | .init_irq = sa1100_init_irq, |
90 | .timer = &sa1100_timer, | 90 | .timer = &sa1100_timer, |
91 | .init_machine = h3100_mach_init, | 91 | .init_machine = h3100_mach_init, |
92 | .restart = sa11x0_restart, | ||
92 | MACHINE_END | 93 | MACHINE_END |
93 | 94 | ||
diff --git a/arch/arm/mach-sa1100/h3600.c b/arch/arm/mach-sa1100/h3600.c index 6fd324d92389..6b58e7460ecf 100644 --- a/arch/arm/mach-sa1100/h3600.c +++ b/arch/arm/mach-sa1100/h3600.c | |||
@@ -130,5 +130,6 @@ MACHINE_START(H3600, "Compaq iPAQ H3600") | |||
130 | .init_irq = sa1100_init_irq, | 130 | .init_irq = sa1100_init_irq, |
131 | .timer = &sa1100_timer, | 131 | .timer = &sa1100_timer, |
132 | .init_machine = h3600_mach_init, | 132 | .init_machine = h3600_mach_init, |
133 | .restart = sa11x0_restart, | ||
133 | MACHINE_END | 134 | MACHINE_END |
134 | 135 | ||
diff --git a/arch/arm/mach-sa1100/hackkit.c b/arch/arm/mach-sa1100/hackkit.c index 30f4a551b8e5..c01bb36db940 100644 --- a/arch/arm/mach-sa1100/hackkit.c +++ b/arch/arm/mach-sa1100/hackkit.c | |||
@@ -200,4 +200,5 @@ MACHINE_START(HACKKIT, "HackKit Cpu Board") | |||
200 | .init_irq = sa1100_init_irq, | 200 | .init_irq = sa1100_init_irq, |
201 | .timer = &sa1100_timer, | 201 | .timer = &sa1100_timer, |
202 | .init_machine = hackkit_init, | 202 | .init_machine = hackkit_init, |
203 | .restart = sa11x0_restart, | ||
203 | MACHINE_END | 204 | MACHINE_END |
diff --git a/arch/arm/mach-sa1100/include/mach/system.h b/arch/arm/mach-sa1100/include/mach/system.h index ba9da9f7f183..e17b208f76d4 100644 --- a/arch/arm/mach-sa1100/include/mach/system.h +++ b/arch/arm/mach-sa1100/include/mach/system.h | |||
@@ -3,20 +3,7 @@ | |||
3 | * | 3 | * |
4 | * Copyright (c) 1999 Nicolas Pitre <nico@fluxnic.net> | 4 | * Copyright (c) 1999 Nicolas Pitre <nico@fluxnic.net> |
5 | */ | 5 | */ |
6 | #include <mach/hardware.h> | ||
7 | |||
8 | static inline void arch_idle(void) | 6 | static inline void arch_idle(void) |
9 | { | 7 | { |
10 | cpu_do_idle(); | 8 | cpu_do_idle(); |
11 | } | 9 | } |
12 | |||
13 | static inline void arch_reset(char mode, const char *cmd) | ||
14 | { | ||
15 | if (mode == 's') { | ||
16 | /* Jump into ROM at address 0 */ | ||
17 | cpu_reset(0); | ||
18 | } else { | ||
19 | /* Use on-chip reset capability */ | ||
20 | RSRR = RSRR_SWR; | ||
21 | } | ||
22 | } | ||
diff --git a/arch/arm/mach-sa1100/include/mach/vmalloc.h b/arch/arm/mach-sa1100/include/mach/vmalloc.h deleted file mode 100644 index b3d002398480..000000000000 --- a/arch/arm/mach-sa1100/include/mach/vmalloc.h +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-sa1100/include/mach/vmalloc.h | ||
3 | */ | ||
4 | #define VMALLOC_END (0xe8000000UL) | ||
diff --git a/arch/arm/mach-sa1100/jornada720.c b/arch/arm/mach-sa1100/jornada720.c index 77198fe02bc5..ee121d6f0480 100644 --- a/arch/arm/mach-sa1100/jornada720.c +++ b/arch/arm/mach-sa1100/jornada720.c | |||
@@ -373,4 +373,5 @@ MACHINE_START(JORNADA720, "HP Jornada 720") | |||
373 | #ifdef CONFIG_SA1111 | 373 | #ifdef CONFIG_SA1111 |
374 | .dma_zone_size = SZ_1M, | 374 | .dma_zone_size = SZ_1M, |
375 | #endif | 375 | #endif |
376 | .restart = sa11x0_restart, | ||
376 | MACHINE_END | 377 | MACHINE_END |
diff --git a/arch/arm/mach-sa1100/lart.c b/arch/arm/mach-sa1100/lart.c index 5bc59d0947ba..af4e2761f3db 100644 --- a/arch/arm/mach-sa1100/lart.c +++ b/arch/arm/mach-sa1100/lart.c | |||
@@ -66,4 +66,5 @@ MACHINE_START(LART, "LART") | |||
66 | .init_irq = sa1100_init_irq, | 66 | .init_irq = sa1100_init_irq, |
67 | .init_machine = lart_init, | 67 | .init_machine = lart_init, |
68 | .timer = &sa1100_timer, | 68 | .timer = &sa1100_timer, |
69 | .restart = sa11x0_restart, | ||
69 | MACHINE_END | 70 | MACHINE_END |
diff --git a/arch/arm/mach-sa1100/nanoengine.c b/arch/arm/mach-sa1100/nanoengine.c index 032f3881d145..85f6ee672225 100644 --- a/arch/arm/mach-sa1100/nanoengine.c +++ b/arch/arm/mach-sa1100/nanoengine.c | |||
@@ -19,6 +19,7 @@ | |||
19 | 19 | ||
20 | #include <asm/mach-types.h> | 20 | #include <asm/mach-types.h> |
21 | #include <asm/setup.h> | 21 | #include <asm/setup.h> |
22 | #include <asm/page.h> | ||
22 | 23 | ||
23 | #include <asm/mach/arch.h> | 24 | #include <asm/mach/arch.h> |
24 | #include <asm/mach/flash.h> | 25 | #include <asm/mach/flash.h> |
@@ -116,4 +117,5 @@ MACHINE_START(NANOENGINE, "BSE nanoEngine") | |||
116 | .init_irq = sa1100_init_irq, | 117 | .init_irq = sa1100_init_irq, |
117 | .timer = &sa1100_timer, | 118 | .timer = &sa1100_timer, |
118 | .init_machine = nanoengine_init, | 119 | .init_machine = nanoengine_init, |
120 | .restart = sa11x0_restart, | ||
119 | MACHINE_END | 121 | MACHINE_END |
diff --git a/arch/arm/mach-sa1100/pleb.c b/arch/arm/mach-sa1100/pleb.c index 65161f2bea29..9307df053533 100644 --- a/arch/arm/mach-sa1100/pleb.c +++ b/arch/arm/mach-sa1100/pleb.c | |||
@@ -150,4 +150,5 @@ MACHINE_START(PLEB, "PLEB") | |||
150 | .init_irq = sa1100_init_irq, | 150 | .init_irq = sa1100_init_irq, |
151 | .timer = &sa1100_timer, | 151 | .timer = &sa1100_timer, |
152 | .init_machine = pleb_init, | 152 | .init_machine = pleb_init, |
153 | .restart = sa11x0_restart, | ||
153 | MACHINE_END | 154 | MACHINE_END |
diff --git a/arch/arm/mach-sa1100/shannon.c b/arch/arm/mach-sa1100/shannon.c index 1cccbf5b9e9a..318b2b766a0b 100644 --- a/arch/arm/mach-sa1100/shannon.c +++ b/arch/arm/mach-sa1100/shannon.c | |||
@@ -87,4 +87,5 @@ MACHINE_START(SHANNON, "Shannon (AKA: Tuxscreen)") | |||
87 | .init_irq = sa1100_init_irq, | 87 | .init_irq = sa1100_init_irq, |
88 | .timer = &sa1100_timer, | 88 | .timer = &sa1100_timer, |
89 | .init_machine = shannon_init, | 89 | .init_machine = shannon_init, |
90 | .restart = sa11x0_restart, | ||
90 | MACHINE_END | 91 | MACHINE_END |
diff --git a/arch/arm/mach-sa1100/simpad.c b/arch/arm/mach-sa1100/simpad.c index 4790f3f3d008..e17c04d6e324 100644 --- a/arch/arm/mach-sa1100/simpad.c +++ b/arch/arm/mach-sa1100/simpad.c | |||
@@ -396,4 +396,5 @@ MACHINE_START(SIMPAD, "Simpad") | |||
396 | .map_io = simpad_map_io, | 396 | .map_io = simpad_map_io, |
397 | .init_irq = sa1100_init_irq, | 397 | .init_irq = sa1100_init_irq, |
398 | .timer = &sa1100_timer, | 398 | .timer = &sa1100_timer, |
399 | .restart = sa11x0_restart, | ||
399 | MACHINE_END | 400 | MACHINE_END |
diff --git a/arch/arm/mach-sa1100/time.c b/arch/arm/mach-sa1100/time.c index fa6602491d54..69e33535dee6 100644 --- a/arch/arm/mach-sa1100/time.c +++ b/arch/arm/mach-sa1100/time.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/errno.h> | 12 | #include <linux/errno.h> |
13 | #include <linux/interrupt.h> | 13 | #include <linux/interrupt.h> |
14 | #include <linux/irq.h> | 14 | #include <linux/irq.h> |
15 | #include <linux/sched.h> /* just for sched_clock() - funny that */ | ||
16 | #include <linux/timex.h> | 15 | #include <linux/timex.h> |
17 | #include <linux/clockchips.h> | 16 | #include <linux/clockchips.h> |
18 | 17 | ||
@@ -20,29 +19,9 @@ | |||
20 | #include <asm/sched_clock.h> | 19 | #include <asm/sched_clock.h> |
21 | #include <mach/hardware.h> | 20 | #include <mach/hardware.h> |
22 | 21 | ||
23 | /* | 22 | static u32 notrace sa1100_read_sched_clock(void) |
24 | * This is the SA11x0 sched_clock implementation. | ||
25 | */ | ||
26 | static DEFINE_CLOCK_DATA(cd); | ||
27 | |||
28 | /* | ||
29 | * Constants generated by clocks_calc_mult_shift(m, s, 3.6864MHz, | ||
30 | * NSEC_PER_SEC, 60). | ||
31 | * This gives a resolution of about 271ns and a wrap period of about 19min. | ||
32 | */ | ||
33 | #define SC_MULT 2275555556u | ||
34 | #define SC_SHIFT 23 | ||
35 | |||
36 | unsigned long long notrace sched_clock(void) | ||
37 | { | ||
38 | u32 cyc = OSCR; | ||
39 | return cyc_to_fixed_sched_clock(&cd, cyc, (u32)~0, SC_MULT, SC_SHIFT); | ||
40 | } | ||
41 | |||
42 | static void notrace sa1100_update_sched_clock(void) | ||
43 | { | 23 | { |
44 | u32 cyc = OSCR; | 24 | return OSCR; |
45 | update_sched_clock(&cd, cyc, (u32)~0); | ||
46 | } | 25 | } |
47 | 26 | ||
48 | #define MIN_OSCR_DELTA 2 | 27 | #define MIN_OSCR_DELTA 2 |
@@ -109,8 +88,7 @@ static void __init sa1100_timer_init(void) | |||
109 | OIER = 0; | 88 | OIER = 0; |
110 | OSSR = OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3; | 89 | OSSR = OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3; |
111 | 90 | ||
112 | init_fixed_sched_clock(&cd, sa1100_update_sched_clock, 32, | 91 | setup_sched_clock(sa1100_read_sched_clock, 32, 3686400); |
113 | 3686400, SC_MULT, SC_SHIFT); | ||
114 | 92 | ||
115 | clockevents_calc_mult_shift(&ckevt_sa1100_osmr0, 3686400, 4); | 93 | clockevents_calc_mult_shift(&ckevt_sa1100_osmr0, 3686400, 4); |
116 | ckevt_sa1100_osmr0.max_delta_ns = | 94 | ckevt_sa1100_osmr0.max_delta_ns = |