diff options
author | Tony Lindgren <tony@atomide.com> | 2010-08-04 07:43:45 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-08-04 07:43:45 -0400 |
commit | 7590d1defdc720a97a9e186f45f529c4ae1b40f7 (patch) | |
tree | e7ffdc043a2847f410d654d8e99e001f3138937a /arch/arm/mach-integrator | |
parent | 7e788b4289bb025a96e327c604cb2db92e17108f (diff) | |
parent | 869fef41547db95df8523bf67845a21313709428 (diff) |
Merge branch 'devel-map-io' into omap-for-linus
Diffstat (limited to 'arch/arm/mach-integrator')
-rw-r--r-- | arch/arm/mach-integrator/common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-integrator/core.c | 19 | ||||
-rw-r--r-- | arch/arm/mach-integrator/integrator_ap.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-integrator/integrator_cp.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-integrator/pci_v3.c | 8 |
5 files changed, 29 insertions, 5 deletions
diff --git a/arch/arm/mach-integrator/common.h b/arch/arm/mach-integrator/common.h new file mode 100644 index 000000000000..5f96e1518aa9 --- /dev/null +++ b/arch/arm/mach-integrator/common.h | |||
@@ -0,0 +1 @@ | |||
void integrator_reserve(void); | |||
diff --git a/arch/arm/mach-integrator/core.c b/arch/arm/mach-integrator/core.c index b02cfc06e0ae..8f4fb6d638f7 100644 --- a/arch/arm/mach-integrator/core.c +++ b/arch/arm/mach-integrator/core.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/spinlock.h> | 14 | #include <linux/spinlock.h> |
15 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
16 | #include <linux/irq.h> | 16 | #include <linux/irq.h> |
17 | #include <linux/memblock.h> | ||
17 | #include <linux/sched.h> | 18 | #include <linux/sched.h> |
18 | #include <linux/smp.h> | 19 | #include <linux/smp.h> |
19 | #include <linux/termios.h> | 20 | #include <linux/termios.h> |
@@ -30,6 +31,7 @@ | |||
30 | #include <asm/system.h> | 31 | #include <asm/system.h> |
31 | #include <asm/leds.h> | 32 | #include <asm/leds.h> |
32 | #include <asm/mach/time.h> | 33 | #include <asm/mach/time.h> |
34 | #include <asm/pgtable.h> | ||
33 | 35 | ||
34 | static struct amba_pl010_data integrator_uart_data; | 36 | static struct amba_pl010_data integrator_uart_data; |
35 | 37 | ||
@@ -119,8 +121,13 @@ static struct clk uartclk = { | |||
119 | .rate = 14745600, | 121 | .rate = 14745600, |
120 | }; | 122 | }; |
121 | 123 | ||
124 | static struct clk dummy_apb_pclk; | ||
125 | |||
122 | static struct clk_lookup lookups[] = { | 126 | static struct clk_lookup lookups[] = { |
123 | { /* UART0 */ | 127 | { /* Bus clock */ |
128 | .con_id = "apb_pclk", | ||
129 | .clk = &dummy_apb_pclk, | ||
130 | }, { /* UART0 */ | ||
124 | .dev_id = "mb:16", | 131 | .dev_id = "mb:16", |
125 | .clk = &uartclk, | 132 | .clk = &uartclk, |
126 | }, { /* UART1 */ | 133 | }, { /* UART1 */ |
@@ -215,3 +222,13 @@ void cm_control(u32 mask, u32 set) | |||
215 | } | 222 | } |
216 | 223 | ||
217 | EXPORT_SYMBOL(cm_control); | 224 | EXPORT_SYMBOL(cm_control); |
225 | |||
226 | /* | ||
227 | * We need to stop things allocating the low memory; ideally we need a | ||
228 | * better implementation of GFP_DMA which does not assume that DMA-able | ||
229 | * memory starts at zero. | ||
230 | */ | ||
231 | void __init integrator_reserve(void) | ||
232 | { | ||
233 | memblock_reserve(PHYS_OFFSET, __pa(swapper_pg_dir) - PHYS_OFFSET); | ||
234 | } | ||
diff --git a/arch/arm/mach-integrator/integrator_ap.c b/arch/arm/mach-integrator/integrator_ap.c index 227cf4d05088..6ab5a03ab9d8 100644 --- a/arch/arm/mach-integrator/integrator_ap.c +++ b/arch/arm/mach-integrator/integrator_ap.c | |||
@@ -48,6 +48,8 @@ | |||
48 | #include <asm/mach/map.h> | 48 | #include <asm/mach/map.h> |
49 | #include <asm/mach/time.h> | 49 | #include <asm/mach/time.h> |
50 | 50 | ||
51 | #include "common.h" | ||
52 | |||
51 | /* | 53 | /* |
52 | * All IO addresses are mapped onto VA 0xFFFx.xxxx, where x.xxxx | 54 | * All IO addresses are mapped onto VA 0xFFFx.xxxx, where x.xxxx |
53 | * is the (PA >> 12). | 55 | * is the (PA >> 12). |
@@ -502,6 +504,7 @@ MACHINE_START(INTEGRATOR, "ARM-Integrator") | |||
502 | .io_pg_offst = ((0xf1600000) >> 18) & 0xfffc, | 504 | .io_pg_offst = ((0xf1600000) >> 18) & 0xfffc, |
503 | .boot_params = 0x00000100, | 505 | .boot_params = 0x00000100, |
504 | .map_io = ap_map_io, | 506 | .map_io = ap_map_io, |
507 | .reserve = integrator_reserve, | ||
505 | .init_irq = ap_init_irq, | 508 | .init_irq = ap_init_irq, |
506 | .timer = &ap_timer, | 509 | .timer = &ap_timer, |
507 | .init_machine = ap_init, | 510 | .init_machine = ap_init, |
diff --git a/arch/arm/mach-integrator/integrator_cp.c b/arch/arm/mach-integrator/integrator_cp.c index cde57b2b83b5..05db40e3c4f7 100644 --- a/arch/arm/mach-integrator/integrator_cp.c +++ b/arch/arm/mach-integrator/integrator_cp.c | |||
@@ -43,6 +43,8 @@ | |||
43 | 43 | ||
44 | #include <plat/timer-sp.h> | 44 | #include <plat/timer-sp.h> |
45 | 45 | ||
46 | #include "common.h" | ||
47 | |||
46 | #define INTCP_PA_FLASH_BASE 0x24000000 | 48 | #define INTCP_PA_FLASH_BASE 0x24000000 |
47 | #define INTCP_FLASH_SIZE SZ_32M | 49 | #define INTCP_FLASH_SIZE SZ_32M |
48 | 50 | ||
@@ -601,6 +603,7 @@ MACHINE_START(CINTEGRATOR, "ARM-IntegratorCP") | |||
601 | .io_pg_offst = ((0xf1600000) >> 18) & 0xfffc, | 603 | .io_pg_offst = ((0xf1600000) >> 18) & 0xfffc, |
602 | .boot_params = 0x00000100, | 604 | .boot_params = 0x00000100, |
603 | .map_io = intcp_map_io, | 605 | .map_io = intcp_map_io, |
606 | .reserve = integrator_reserve, | ||
604 | .init_irq = intcp_init_irq, | 607 | .init_irq = intcp_init_irq, |
605 | .timer = &cp_timer, | 608 | .timer = &cp_timer, |
606 | .init_machine = intcp_init, | 609 | .init_machine = intcp_init, |
diff --git a/arch/arm/mach-integrator/pci_v3.c b/arch/arm/mach-integrator/pci_v3.c index 9cef0590d5aa..6467d99fa2ee 100644 --- a/arch/arm/mach-integrator/pci_v3.c +++ b/arch/arm/mach-integrator/pci_v3.c | |||
@@ -505,10 +505,10 @@ void __init pci_v3_preinit(void) | |||
505 | /* | 505 | /* |
506 | * Hook in our fault handler for PCI errors | 506 | * Hook in our fault handler for PCI errors |
507 | */ | 507 | */ |
508 | hook_fault_code(4, v3_pci_fault, SIGBUS, "external abort on linefetch"); | 508 | hook_fault_code(4, v3_pci_fault, SIGBUS, 0, "external abort on linefetch"); |
509 | hook_fault_code(6, v3_pci_fault, SIGBUS, "external abort on linefetch"); | 509 | hook_fault_code(6, v3_pci_fault, SIGBUS, 0, "external abort on linefetch"); |
510 | hook_fault_code(8, v3_pci_fault, SIGBUS, "external abort on non-linefetch"); | 510 | hook_fault_code(8, v3_pci_fault, SIGBUS, 0, "external abort on non-linefetch"); |
511 | hook_fault_code(10, v3_pci_fault, SIGBUS, "external abort on non-linefetch"); | 511 | hook_fault_code(10, v3_pci_fault, SIGBUS, 0, "external abort on non-linefetch"); |
512 | 512 | ||
513 | spin_lock_irqsave(&v3_lock, flags); | 513 | spin_lock_irqsave(&v3_lock, flags); |
514 | 514 | ||