diff options
Diffstat (limited to 'arch/arm/mach-at91')
-rw-r--r-- | arch/arm/mach-at91/at91cap9.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91rm9200.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9260.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9261.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9263.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9_alt_reset.S | 9 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9g45.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9rl.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/generic.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-at91/include/mach/io.h | 8 | ||||
-rw-r--r-- | arch/arm/mach-at91/include/mach/system.h | 9 | ||||
-rw-r--r-- | arch/arm/mach-at91/include/mach/vmalloc.h | 28 | ||||
-rw-r--r-- | arch/arm/mach-at91/setup.c | 18 |
13 files changed, 13 insertions, 82 deletions
diff --git a/arch/arm/mach-at91/at91cap9.c b/arch/arm/mach-at91/at91cap9.c index ecdd54dd68c6..29373397d2df 100644 --- a/arch/arm/mach-at91/at91cap9.c +++ b/arch/arm/mach-at91/at91cap9.c | |||
@@ -313,7 +313,7 @@ static struct at91_gpio_bank at91cap9_gpio[] = { | |||
313 | } | 313 | } |
314 | }; | 314 | }; |
315 | 315 | ||
316 | static void at91cap9_reset(void) | 316 | static void at91cap9_restart(char mode, const char *cmd) |
317 | { | 317 | { |
318 | at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); | 318 | at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); |
319 | } | 319 | } |
@@ -335,7 +335,7 @@ static void __init at91cap9_map_io(void) | |||
335 | 335 | ||
336 | static void __init at91cap9_initialize(void) | 336 | static void __init at91cap9_initialize(void) |
337 | { | 337 | { |
338 | at91_arch_reset = at91cap9_reset; | 338 | arm_pm_restart = at91cap9_restart; |
339 | pm_power_off = at91cap9_poweroff; | 339 | pm_power_off = at91cap9_poweroff; |
340 | at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1); | 340 | at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1); |
341 | 341 | ||
diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c index 713d3bdbd284..430a9fdc3dbf 100644 --- a/arch/arm/mach-at91/at91rm9200.c +++ b/arch/arm/mach-at91/at91rm9200.c | |||
@@ -288,7 +288,7 @@ static struct at91_gpio_bank at91rm9200_gpio[] = { | |||
288 | } | 288 | } |
289 | }; | 289 | }; |
290 | 290 | ||
291 | static void at91rm9200_reset(void) | 291 | static void at91rm9200_restart(char mode, const char *cmd) |
292 | { | 292 | { |
293 | /* | 293 | /* |
294 | * Perform a hardware reset with the use of the Watchdog timer. | 294 | * Perform a hardware reset with the use of the Watchdog timer. |
@@ -309,7 +309,7 @@ static void __init at91rm9200_map_io(void) | |||
309 | 309 | ||
310 | static void __init at91rm9200_initialize(void) | 310 | static void __init at91rm9200_initialize(void) |
311 | { | 311 | { |
312 | at91_arch_reset = at91rm9200_reset; | 312 | arm_pm_restart = at91rm9200_restart; |
313 | at91_extern_irq = (1 << AT91RM9200_ID_IRQ0) | (1 << AT91RM9200_ID_IRQ1) | 313 | at91_extern_irq = (1 << AT91RM9200_ID_IRQ0) | (1 << AT91RM9200_ID_IRQ1) |
314 | | (1 << AT91RM9200_ID_IRQ2) | (1 << AT91RM9200_ID_IRQ3) | 314 | | (1 << AT91RM9200_ID_IRQ2) | (1 << AT91RM9200_ID_IRQ3) |
315 | | (1 << AT91RM9200_ID_IRQ4) | (1 << AT91RM9200_ID_IRQ5) | 315 | | (1 << AT91RM9200_ID_IRQ4) | (1 << AT91RM9200_ID_IRQ5) |
diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c index 0d20677fbef0..e76cd49ebc9e 100644 --- a/arch/arm/mach-at91/at91sam9260.c +++ b/arch/arm/mach-at91/at91sam9260.c | |||
@@ -327,7 +327,7 @@ static void __init at91sam9260_map_io(void) | |||
327 | 327 | ||
328 | static void __init at91sam9260_initialize(void) | 328 | static void __init at91sam9260_initialize(void) |
329 | { | 329 | { |
330 | at91_arch_reset = at91sam9_alt_reset; | 330 | arm_pm_restart = at91sam9_alt_restart; |
331 | pm_power_off = at91sam9260_poweroff; | 331 | pm_power_off = at91sam9260_poweroff; |
332 | at91_extern_irq = (1 << AT91SAM9260_ID_IRQ0) | (1 << AT91SAM9260_ID_IRQ1) | 332 | at91_extern_irq = (1 << AT91SAM9260_ID_IRQ0) | (1 << AT91SAM9260_ID_IRQ1) |
333 | | (1 << AT91SAM9260_ID_IRQ2); | 333 | | (1 << AT91SAM9260_ID_IRQ2); |
diff --git a/arch/arm/mach-at91/at91sam9261.c b/arch/arm/mach-at91/at91sam9261.c index 658a5185abfd..19ac7c0729a0 100644 --- a/arch/arm/mach-at91/at91sam9261.c +++ b/arch/arm/mach-at91/at91sam9261.c | |||
@@ -287,7 +287,7 @@ static void __init at91sam9261_map_io(void) | |||
287 | 287 | ||
288 | static void __init at91sam9261_initialize(void) | 288 | static void __init at91sam9261_initialize(void) |
289 | { | 289 | { |
290 | at91_arch_reset = at91sam9_alt_reset; | 290 | arm_pm_restart = at91sam9_alt_restart; |
291 | pm_power_off = at91sam9261_poweroff; | 291 | pm_power_off = at91sam9261_poweroff; |
292 | at91_extern_irq = (1 << AT91SAM9261_ID_IRQ0) | (1 << AT91SAM9261_ID_IRQ1) | 292 | at91_extern_irq = (1 << AT91SAM9261_ID_IRQ0) | (1 << AT91SAM9261_ID_IRQ1) |
293 | | (1 << AT91SAM9261_ID_IRQ2); | 293 | | (1 << AT91SAM9261_ID_IRQ2); |
diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c index f83fbb0ee0c5..50d016310031 100644 --- a/arch/arm/mach-at91/at91sam9263.c +++ b/arch/arm/mach-at91/at91sam9263.c | |||
@@ -305,7 +305,7 @@ static void __init at91sam9263_map_io(void) | |||
305 | 305 | ||
306 | static void __init at91sam9263_initialize(void) | 306 | static void __init at91sam9263_initialize(void) |
307 | { | 307 | { |
308 | at91_arch_reset = at91sam9_alt_reset; | 308 | arm_pm_restart = at91sam9_alt_restart; |
309 | pm_power_off = at91sam9263_poweroff; | 309 | pm_power_off = at91sam9263_poweroff; |
310 | at91_extern_irq = (1 << AT91SAM9263_ID_IRQ0) | (1 << AT91SAM9263_ID_IRQ1); | 310 | at91_extern_irq = (1 << AT91SAM9263_ID_IRQ0) | (1 << AT91SAM9263_ID_IRQ1); |
311 | 311 | ||
diff --git a/arch/arm/mach-at91/at91sam9_alt_reset.S b/arch/arm/mach-at91/at91sam9_alt_reset.S index e0256deb91fb..d3f931c5942e 100644 --- a/arch/arm/mach-at91/at91sam9_alt_reset.S +++ b/arch/arm/mach-at91/at91sam9_alt_reset.S | |||
@@ -14,20 +14,15 @@ | |||
14 | */ | 14 | */ |
15 | 15 | ||
16 | #include <linux/linkage.h> | 16 | #include <linux/linkage.h> |
17 | #include <asm/system.h> | ||
18 | #include <mach/hardware.h> | 17 | #include <mach/hardware.h> |
19 | #include <mach/at91sam9_sdramc.h> | 18 | #include <mach/at91sam9_sdramc.h> |
20 | #include <mach/at91_rstc.h> | 19 | #include <mach/at91_rstc.h> |
21 | 20 | ||
22 | .arm | 21 | .arm |
23 | 22 | ||
24 | .globl at91sam9_alt_reset | 23 | .globl at91sam9_alt_restart |
25 | 24 | ||
26 | at91sam9_alt_reset: mrc p15, 0, r0, c1, c0, 0 | 25 | at91sam9_alt_restart: ldr r0, .at91_va_base_sdramc @ preload constants |
27 | orr r0, r0, #CR_I | ||
28 | mcr p15, 0, r0, c1, c0, 0 @ enable I-cache | ||
29 | |||
30 | ldr r0, .at91_va_base_sdramc @ preload constants | ||
31 | ldr r1, .at91_va_base_rstc_cr | 26 | ldr r1, .at91_va_base_rstc_cr |
32 | 27 | ||
33 | mov r2, #1 | 28 | mov r2, #1 |
diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c index 318b0407ea04..ff21f7a60c63 100644 --- a/arch/arm/mach-at91/at91sam9g45.c +++ b/arch/arm/mach-at91/at91sam9g45.c | |||
@@ -317,7 +317,7 @@ static struct at91_gpio_bank at91sam9g45_gpio[] = { | |||
317 | } | 317 | } |
318 | }; | 318 | }; |
319 | 319 | ||
320 | static void at91sam9g45_reset(void) | 320 | static void at91sam9g45_restart(char mode, const char *cmd) |
321 | { | 321 | { |
322 | at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); | 322 | at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); |
323 | } | 323 | } |
@@ -340,7 +340,7 @@ static void __init at91sam9g45_map_io(void) | |||
340 | 340 | ||
341 | static void __init at91sam9g45_initialize(void) | 341 | static void __init at91sam9g45_initialize(void) |
342 | { | 342 | { |
343 | at91_arch_reset = at91sam9g45_reset; | 343 | arm_pm_restart = at91sam9g45_restart; |
344 | pm_power_off = at91sam9g45_poweroff; | 344 | pm_power_off = at91sam9g45_poweroff; |
345 | at91_extern_irq = (1 << AT91SAM9G45_ID_IRQ0); | 345 | at91_extern_irq = (1 << AT91SAM9G45_ID_IRQ0); |
346 | 346 | ||
diff --git a/arch/arm/mach-at91/at91sam9rl.c b/arch/arm/mach-at91/at91sam9rl.c index a238105d2c11..61cbb46f5b0e 100644 --- a/arch/arm/mach-at91/at91sam9rl.c +++ b/arch/arm/mach-at91/at91sam9rl.c | |||
@@ -292,7 +292,7 @@ static void __init at91sam9rl_map_io(void) | |||
292 | 292 | ||
293 | static void __init at91sam9rl_initialize(void) | 293 | static void __init at91sam9rl_initialize(void) |
294 | { | 294 | { |
295 | at91_arch_reset = at91sam9_alt_reset; | 295 | arm_pm_restart = at91sam9_alt_restart; |
296 | pm_power_off = at91sam9rl_poweroff; | 296 | pm_power_off = at91sam9rl_poweroff; |
297 | at91_extern_irq = (1 << AT91SAM9RL_ID_IRQ0); | 297 | at91_extern_irq = (1 << AT91SAM9RL_ID_IRQ0); |
298 | 298 | ||
diff --git a/arch/arm/mach-at91/generic.h b/arch/arm/mach-at91/generic.h index 938b34f57741..7f4503bc4cbb 100644 --- a/arch/arm/mach-at91/generic.h +++ b/arch/arm/mach-at91/generic.h | |||
@@ -57,7 +57,7 @@ extern void at91_irq_suspend(void); | |||
57 | extern void at91_irq_resume(void); | 57 | extern void at91_irq_resume(void); |
58 | 58 | ||
59 | /* reset */ | 59 | /* reset */ |
60 | extern void at91sam9_alt_reset(void); | 60 | extern void at91sam9_alt_restart(char, const char *); |
61 | 61 | ||
62 | /* GPIO */ | 62 | /* GPIO */ |
63 | #define AT91RM9200_PQFP 3 /* AT91RM9200 PQFP package has 3 banks */ | 63 | #define AT91RM9200_PQFP 3 /* AT91RM9200 PQFP package has 3 banks */ |
@@ -71,5 +71,4 @@ struct at91_gpio_bank { | |||
71 | extern void __init at91_gpio_init(struct at91_gpio_bank *, int nr_banks); | 71 | extern void __init at91_gpio_init(struct at91_gpio_bank *, int nr_banks); |
72 | extern void __init at91_gpio_irq_setup(void); | 72 | extern void __init at91_gpio_irq_setup(void); |
73 | 73 | ||
74 | extern void (*at91_arch_reset)(void); | ||
75 | extern int at91_extern_irq; | 74 | extern int at91_extern_irq; |
diff --git a/arch/arm/mach-at91/include/mach/io.h b/arch/arm/mach-at91/include/mach/io.h index 4298e7806c76..4ca09ef7ca29 100644 --- a/arch/arm/mach-at91/include/mach/io.h +++ b/arch/arm/mach-at91/include/mach/io.h | |||
@@ -30,14 +30,6 @@ | |||
30 | 30 | ||
31 | #ifndef __ASSEMBLY__ | 31 | #ifndef __ASSEMBLY__ |
32 | 32 | ||
33 | #ifndef CONFIG_ARCH_AT91X40 | ||
34 | #define __arch_ioremap at91_ioremap | ||
35 | #define __arch_iounmap at91_iounmap | ||
36 | #endif | ||
37 | |||
38 | void __iomem *at91_ioremap(unsigned long phys, size_t size, unsigned int type); | ||
39 | void at91_iounmap(volatile void __iomem *addr); | ||
40 | |||
41 | static inline unsigned int at91_sys_read(unsigned int reg_offset) | 33 | static inline unsigned int at91_sys_read(unsigned int reg_offset) |
42 | { | 34 | { |
43 | void __iomem *addr = (void __iomem *)AT91_VA_BASE_SYS; | 35 | void __iomem *addr = (void __iomem *)AT91_VA_BASE_SYS; |
diff --git a/arch/arm/mach-at91/include/mach/system.h b/arch/arm/mach-at91/include/mach/system.h index 36af14bc13bb..cbd64f3bcecd 100644 --- a/arch/arm/mach-at91/include/mach/system.h +++ b/arch/arm/mach-at91/include/mach/system.h | |||
@@ -47,13 +47,4 @@ static inline void arch_idle(void) | |||
47 | #endif | 47 | #endif |
48 | } | 48 | } |
49 | 49 | ||
50 | void (*at91_arch_reset)(void); | ||
51 | |||
52 | static inline void arch_reset(char mode, const char *cmd) | ||
53 | { | ||
54 | /* call the CPU-specific reset function */ | ||
55 | if (at91_arch_reset) | ||
56 | (at91_arch_reset)(); | ||
57 | } | ||
58 | |||
59 | #endif | 50 | #endif |
diff --git a/arch/arm/mach-at91/include/mach/vmalloc.h b/arch/arm/mach-at91/include/mach/vmalloc.h deleted file mode 100644 index 8e4a1bd0ab1d..000000000000 --- a/arch/arm/mach-at91/include/mach/vmalloc.h +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-at91/include/mach/vmalloc.h | ||
3 | * | ||
4 | * Copyright (C) 2003 SAN People | ||
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 as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | ||
20 | |||
21 | #ifndef __ASM_ARCH_VMALLOC_H | ||
22 | #define __ASM_ARCH_VMALLOC_H | ||
23 | |||
24 | #include <mach/hardware.h> | ||
25 | |||
26 | #define VMALLOC_END (AT91_VIRT_BASE & PGDIR_MASK) | ||
27 | |||
28 | #endif | ||
diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c index aa64294c7db3..cf98a8f94dc5 100644 --- a/arch/arm/mach-at91/setup.c +++ b/arch/arm/mach-at91/setup.c | |||
@@ -73,24 +73,6 @@ static struct map_desc at91_io_desc __initdata = { | |||
73 | .type = MT_DEVICE, | 73 | .type = MT_DEVICE, |
74 | }; | 74 | }; |
75 | 75 | ||
76 | void __iomem *at91_ioremap(unsigned long p, size_t size, unsigned int type) | ||
77 | { | ||
78 | if (p >= AT91_BASE_SYS && p <= (AT91_BASE_SYS + SZ_16K - 1)) | ||
79 | return (void __iomem *)AT91_IO_P2V(p); | ||
80 | |||
81 | return __arm_ioremap_caller(p, size, type, __builtin_return_address(0)); | ||
82 | } | ||
83 | EXPORT_SYMBOL(at91_ioremap); | ||
84 | |||
85 | void at91_iounmap(volatile void __iomem *addr) | ||
86 | { | ||
87 | unsigned long virt = (unsigned long)addr; | ||
88 | |||
89 | if (virt >= VMALLOC_START && virt < VMALLOC_END) | ||
90 | __iounmap(addr); | ||
91 | } | ||
92 | EXPORT_SYMBOL(at91_iounmap); | ||
93 | |||
94 | #define AT91_DBGU0 0xfffff200 | 76 | #define AT91_DBGU0 0xfffff200 |
95 | #define AT91_DBGU1 0xffffee00 | 77 | #define AT91_DBGU1 0xffffee00 |
96 | 78 | ||