diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-28 15:02:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-28 15:02:27 -0400 |
commit | 1fdb24e969110fafea36d3b393bea438f702c87f (patch) | |
tree | 47a1dfef8a259e7922285315f8a02d31b4efe2f1 /arch/arm/mach-omap1 | |
parent | f362f98e7c445643d27c610bb7a86b79727b592e (diff) | |
parent | 531a6a941745e1e045dd2a6bd09e1dc01247a5f3 (diff) |
Merge branch 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm
* 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (178 commits)
ARM: 7139/1: fix compilation with CONFIG_ARM_ATAG_DTB_COMPAT and large TEXT_OFFSET
ARM: gic, local timers: use the request_percpu_irq() interface
ARM: gic: consolidate PPI handling
ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H
ARM: mach-s5p64x0: remove mach/memory.h
ARM: mach-s3c64xx: remove mach/memory.h
ARM: plat-mxc: remove mach/memory.h
ARM: mach-prima2: remove mach/memory.h
ARM: mach-zynq: remove mach/memory.h
ARM: mach-bcmring: remove mach/memory.h
ARM: mach-davinci: remove mach/memory.h
ARM: mach-pxa: remove mach/memory.h
ARM: mach-ixp4xx: remove mach/memory.h
ARM: mach-h720x: remove mach/memory.h
ARM: mach-vt8500: remove mach/memory.h
ARM: mach-s5pc100: remove mach/memory.h
ARM: mach-tegra: remove mach/memory.h
ARM: plat-tcc: remove mach/memory.h
ARM: mach-mmp: remove mach/memory.h
ARM: mach-cns3xxx: remove mach/memory.h
...
Fix up mostly pretty trivial conflicts in:
- arch/arm/Kconfig
- arch/arm/include/asm/localtimer.h
- arch/arm/kernel/Makefile
- arch/arm/mach-shmobile/board-ap4evb.c
- arch/arm/mach-u300/core.c
- arch/arm/mm/dma-mapping.c
- arch/arm/mm/proc-v7.S
- arch/arm/plat-omap/Kconfig
largely due to some CONFIG option renaming (ie CONFIG_PM_SLEEP ->
CONFIG_ARM_CPU_SUSPEND for the arm-specific suspend code etc) and
addition of NEED_MACH_MEMORY_H next to HAVE_IDE.
Diffstat (limited to 'arch/arm/mach-omap1')
-rw-r--r-- | arch/arm/mach-omap1/board-ams-delta.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-fsample.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-generic.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-h2.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-h3.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-htcherald.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-innovator.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-nokia770.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-osk.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-palmte.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-palmtt.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-palmz71.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-perseus2.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-sx1.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-voiceblue.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/include/mach/debug-macro.S | 48 | ||||
-rw-r--r-- | arch/arm/mach-omap1/include/mach/memory.h | 53 | ||||
-rw-r--r-- | arch/arm/mach-omap1/io.c | 1 |
18 files changed, 89 insertions, 43 deletions
diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c index d86e9af2822b..4ea60e2038ea 100644 --- a/arch/arm/mach-omap1/board-ams-delta.c +++ b/arch/arm/mach-omap1/board-ams-delta.c | |||
@@ -385,7 +385,7 @@ static void __init ams_delta_map_io(void) | |||
385 | 385 | ||
386 | MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)") | 386 | MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)") |
387 | /* Maintainer: Jonathan McDowell <noodles@earth.li> */ | 387 | /* Maintainer: Jonathan McDowell <noodles@earth.li> */ |
388 | .boot_params = 0x10000100, | 388 | .atag_offset = 0x100, |
389 | .map_io = ams_delta_map_io, | 389 | .map_io = ams_delta_map_io, |
390 | .reserve = omap_reserve, | 390 | .reserve = omap_reserve, |
391 | .init_irq = ams_delta_init_irq, | 391 | .init_irq = ams_delta_init_irq, |
diff --git a/arch/arm/mach-omap1/board-fsample.c b/arch/arm/mach-omap1/board-fsample.c index dd814b33cdd5..31e089b6f03f 100644 --- a/arch/arm/mach-omap1/board-fsample.c +++ b/arch/arm/mach-omap1/board-fsample.c | |||
@@ -388,7 +388,7 @@ static void __init omap_fsample_map_io(void) | |||
388 | 388 | ||
389 | MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample") | 389 | MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample") |
390 | /* Maintainer: Brian Swetland <swetland@google.com> */ | 390 | /* Maintainer: Brian Swetland <swetland@google.com> */ |
391 | .boot_params = 0x10000100, | 391 | .atag_offset = 0x100, |
392 | .map_io = omap_fsample_map_io, | 392 | .map_io = omap_fsample_map_io, |
393 | .reserve = omap_reserve, | 393 | .reserve = omap_reserve, |
394 | .init_irq = omap_fsample_init_irq, | 394 | .init_irq = omap_fsample_init_irq, |
diff --git a/arch/arm/mach-omap1/board-generic.c b/arch/arm/mach-omap1/board-generic.c index 8f7d11581482..05c6e9d858f3 100644 --- a/arch/arm/mach-omap1/board-generic.c +++ b/arch/arm/mach-omap1/board-generic.c | |||
@@ -93,7 +93,7 @@ static void __init omap_generic_map_io(void) | |||
93 | 93 | ||
94 | MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710") | 94 | MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710") |
95 | /* Maintainer: Tony Lindgren <tony@atomide.com> */ | 95 | /* Maintainer: Tony Lindgren <tony@atomide.com> */ |
96 | .boot_params = 0x10000100, | 96 | .atag_offset = 0x100, |
97 | .map_io = omap_generic_map_io, | 97 | .map_io = omap_generic_map_io, |
98 | .reserve = omap_reserve, | 98 | .reserve = omap_reserve, |
99 | .init_irq = omap_generic_init_irq, | 99 | .init_irq = omap_generic_init_irq, |
diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c index 0796ad7e24b5..c2e279173d42 100644 --- a/arch/arm/mach-omap1/board-h2.c +++ b/arch/arm/mach-omap1/board-h2.c | |||
@@ -460,7 +460,7 @@ static void __init h2_map_io(void) | |||
460 | 460 | ||
461 | MACHINE_START(OMAP_H2, "TI-H2") | 461 | MACHINE_START(OMAP_H2, "TI-H2") |
462 | /* Maintainer: Imre Deak <imre.deak@nokia.com> */ | 462 | /* Maintainer: Imre Deak <imre.deak@nokia.com> */ |
463 | .boot_params = 0x10000100, | 463 | .atag_offset = 0x100, |
464 | .map_io = h2_map_io, | 464 | .map_io = h2_map_io, |
465 | .reserve = omap_reserve, | 465 | .reserve = omap_reserve, |
466 | .init_irq = h2_init_irq, | 466 | .init_irq = h2_init_irq, |
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c index fe1814c5e748..8f5b6af7ed59 100644 --- a/arch/arm/mach-omap1/board-h3.c +++ b/arch/arm/mach-omap1/board-h3.c | |||
@@ -448,7 +448,7 @@ static void __init h3_map_io(void) | |||
448 | 448 | ||
449 | MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board") | 449 | MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board") |
450 | /* Maintainer: Texas Instruments, Inc. */ | 450 | /* Maintainer: Texas Instruments, Inc. */ |
451 | .boot_params = 0x10000100, | 451 | .atag_offset = 0x100, |
452 | .map_io = h3_map_io, | 452 | .map_io = h3_map_io, |
453 | .reserve = omap_reserve, | 453 | .reserve = omap_reserve, |
454 | .init_irq = h3_init_irq, | 454 | .init_irq = h3_init_irq, |
diff --git a/arch/arm/mach-omap1/board-htcherald.c b/arch/arm/mach-omap1/board-htcherald.c index 4af7bfa40e4a..fcd1a3c31896 100644 --- a/arch/arm/mach-omap1/board-htcherald.c +++ b/arch/arm/mach-omap1/board-htcherald.c | |||
@@ -610,7 +610,7 @@ static void __init htcherald_init_irq(void) | |||
610 | MACHINE_START(HERALD, "HTC Herald") | 610 | MACHINE_START(HERALD, "HTC Herald") |
611 | /* Maintainer: Cory Maccarrone <darkstar6262@gmail.com> */ | 611 | /* Maintainer: Cory Maccarrone <darkstar6262@gmail.com> */ |
612 | /* Maintainer: wing-linux.sourceforge.net */ | 612 | /* Maintainer: wing-linux.sourceforge.net */ |
613 | .boot_params = 0x10000100, | 613 | .atag_offset = 0x100, |
614 | .map_io = htcherald_map_io, | 614 | .map_io = htcherald_map_io, |
615 | .reserve = omap_reserve, | 615 | .reserve = omap_reserve, |
616 | .init_irq = htcherald_init_irq, | 616 | .init_irq = htcherald_init_irq, |
diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c index e603e5eb32a8..c2234caf8a7a 100644 --- a/arch/arm/mach-omap1/board-innovator.c +++ b/arch/arm/mach-omap1/board-innovator.c | |||
@@ -458,7 +458,7 @@ static void __init innovator_map_io(void) | |||
458 | 458 | ||
459 | MACHINE_START(OMAP_INNOVATOR, "TI-Innovator") | 459 | MACHINE_START(OMAP_INNOVATOR, "TI-Innovator") |
460 | /* Maintainer: MontaVista Software, Inc. */ | 460 | /* Maintainer: MontaVista Software, Inc. */ |
461 | .boot_params = 0x10000100, | 461 | .atag_offset = 0x100, |
462 | .map_io = innovator_map_io, | 462 | .map_io = innovator_map_io, |
463 | .reserve = omap_reserve, | 463 | .reserve = omap_reserve, |
464 | .init_irq = innovator_init_irq, | 464 | .init_irq = innovator_init_irq, |
diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c index 8420535fe51d..02789c5d3703 100644 --- a/arch/arm/mach-omap1/board-nokia770.c +++ b/arch/arm/mach-omap1/board-nokia770.c | |||
@@ -263,7 +263,7 @@ static void __init omap_nokia770_map_io(void) | |||
263 | } | 263 | } |
264 | 264 | ||
265 | MACHINE_START(NOKIA770, "Nokia 770") | 265 | MACHINE_START(NOKIA770, "Nokia 770") |
266 | .boot_params = 0x10000100, | 266 | .atag_offset = 0x100, |
267 | .map_io = omap_nokia770_map_io, | 267 | .map_io = omap_nokia770_map_io, |
268 | .reserve = omap_reserve, | 268 | .reserve = omap_reserve, |
269 | .init_irq = omap_nokia770_init_irq, | 269 | .init_irq = omap_nokia770_init_irq, |
diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c index bf1ebe5b2442..e4dca1deebb4 100644 --- a/arch/arm/mach-omap1/board-osk.c +++ b/arch/arm/mach-omap1/board-osk.c | |||
@@ -582,7 +582,7 @@ static void __init osk_map_io(void) | |||
582 | 582 | ||
583 | MACHINE_START(OMAP_OSK, "TI-OSK") | 583 | MACHINE_START(OMAP_OSK, "TI-OSK") |
584 | /* Maintainer: Dirk Behme <dirk.behme@de.bosch.com> */ | 584 | /* Maintainer: Dirk Behme <dirk.behme@de.bosch.com> */ |
585 | .boot_params = 0x10000100, | 585 | .atag_offset = 0x100, |
586 | .map_io = osk_map_io, | 586 | .map_io = osk_map_io, |
587 | .reserve = omap_reserve, | 587 | .reserve = omap_reserve, |
588 | .init_irq = osk_init_irq, | 588 | .init_irq = osk_init_irq, |
diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c index 45596b5acf09..50c4e398bcc8 100644 --- a/arch/arm/mach-omap1/board-palmte.c +++ b/arch/arm/mach-omap1/board-palmte.c | |||
@@ -274,7 +274,7 @@ static void __init omap_palmte_map_io(void) | |||
274 | } | 274 | } |
275 | 275 | ||
276 | MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E") | 276 | MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E") |
277 | .boot_params = 0x10000100, | 277 | .atag_offset = 0x100, |
278 | .map_io = omap_palmte_map_io, | 278 | .map_io = omap_palmte_map_io, |
279 | .reserve = omap_reserve, | 279 | .reserve = omap_reserve, |
280 | .init_irq = omap_palmte_init_irq, | 280 | .init_irq = omap_palmte_init_irq, |
diff --git a/arch/arm/mach-omap1/board-palmtt.c b/arch/arm/mach-omap1/board-palmtt.c index f942221f6e71..273771cb1b61 100644 --- a/arch/arm/mach-omap1/board-palmtt.c +++ b/arch/arm/mach-omap1/board-palmtt.c | |||
@@ -321,7 +321,7 @@ static void __init omap_palmtt_map_io(void) | |||
321 | } | 321 | } |
322 | 322 | ||
323 | MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T") | 323 | MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T") |
324 | .boot_params = 0x10000100, | 324 | .atag_offset = 0x100, |
325 | .map_io = omap_palmtt_map_io, | 325 | .map_io = omap_palmtt_map_io, |
326 | .reserve = omap_reserve, | 326 | .reserve = omap_reserve, |
327 | .init_irq = omap_palmtt_init_irq, | 327 | .init_irq = omap_palmtt_init_irq, |
diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c index 2b912d46ceec..de36ade38ef7 100644 --- a/arch/arm/mach-omap1/board-palmz71.c +++ b/arch/arm/mach-omap1/board-palmz71.c | |||
@@ -341,7 +341,7 @@ omap_palmz71_map_io(void) | |||
341 | } | 341 | } |
342 | 342 | ||
343 | MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71") | 343 | MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71") |
344 | .boot_params = 0x10000100, | 344 | .atag_offset = 0x100, |
345 | .map_io = omap_palmz71_map_io, | 345 | .map_io = omap_palmz71_map_io, |
346 | .reserve = omap_reserve, | 346 | .reserve = omap_reserve, |
347 | .init_irq = omap_palmz71_init_irq, | 347 | .init_irq = omap_palmz71_init_irq, |
diff --git a/arch/arm/mach-omap1/board-perseus2.c b/arch/arm/mach-omap1/board-perseus2.c index 7e2efe52cc35..04b1befaced6 100644 --- a/arch/arm/mach-omap1/board-perseus2.c +++ b/arch/arm/mach-omap1/board-perseus2.c | |||
@@ -349,7 +349,7 @@ static void __init omap_perseus2_map_io(void) | |||
349 | 349 | ||
350 | MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2") | 350 | MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2") |
351 | /* Maintainer: Kevin Hilman <kjh@hilman.org> */ | 351 | /* Maintainer: Kevin Hilman <kjh@hilman.org> */ |
352 | .boot_params = 0x10000100, | 352 | .atag_offset = 0x100, |
353 | .map_io = omap_perseus2_map_io, | 353 | .map_io = omap_perseus2_map_io, |
354 | .reserve = omap_reserve, | 354 | .reserve = omap_reserve, |
355 | .init_irq = omap_perseus2_init_irq, | 355 | .init_irq = omap_perseus2_init_irq, |
diff --git a/arch/arm/mach-omap1/board-sx1.c b/arch/arm/mach-omap1/board-sx1.c index 172a28f9a344..2bea941741d5 100644 --- a/arch/arm/mach-omap1/board-sx1.c +++ b/arch/arm/mach-omap1/board-sx1.c | |||
@@ -420,7 +420,7 @@ static void __init omap_sx1_map_io(void) | |||
420 | } | 420 | } |
421 | 421 | ||
422 | MACHINE_START(SX1, "OMAP310 based Siemens SX1") | 422 | MACHINE_START(SX1, "OMAP310 based Siemens SX1") |
423 | .boot_params = 0x10000100, | 423 | .atag_offset = 0x100, |
424 | .map_io = omap_sx1_map_io, | 424 | .map_io = omap_sx1_map_io, |
425 | .reserve = omap_reserve, | 425 | .reserve = omap_reserve, |
426 | .init_irq = omap_sx1_init_irq, | 426 | .init_irq = omap_sx1_init_irq, |
diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c index 236b7ded0cf8..940faed82be2 100644 --- a/arch/arm/mach-omap1/board-voiceblue.c +++ b/arch/arm/mach-omap1/board-voiceblue.c | |||
@@ -301,7 +301,7 @@ static void __init voiceblue_init(void) | |||
301 | 301 | ||
302 | MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910") | 302 | MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910") |
303 | /* Maintainer: Ladislav Michl <michl@2n.cz> */ | 303 | /* Maintainer: Ladislav Michl <michl@2n.cz> */ |
304 | .boot_params = 0x10000100, | 304 | .atag_offset = 0x100, |
305 | .map_io = voiceblue_map_io, | 305 | .map_io = voiceblue_map_io, |
306 | .reserve = omap_reserve, | 306 | .reserve = omap_reserve, |
307 | .init_irq = voiceblue_init_irq, | 307 | .init_irq = voiceblue_init_irq, |
diff --git a/arch/arm/mach-omap1/include/mach/debug-macro.S b/arch/arm/mach-omap1/include/mach/debug-macro.S index 62856044eb63..2b36a281dc84 100644 --- a/arch/arm/mach-omap1/include/mach/debug-macro.S +++ b/arch/arm/mach-omap1/include/mach/debug-macro.S | |||
@@ -13,13 +13,8 @@ | |||
13 | 13 | ||
14 | #include <linux/serial_reg.h> | 14 | #include <linux/serial_reg.h> |
15 | 15 | ||
16 | #include <asm/memory.h> | ||
17 | |||
18 | #include <plat/serial.h> | 16 | #include <plat/serial.h> |
19 | 17 | ||
20 | #define omap_uart_v2p(x) ((x) - PAGE_OFFSET + PLAT_PHYS_OFFSET) | ||
21 | #define omap_uart_p2v(x) ((x) - PLAT_PHYS_OFFSET + PAGE_OFFSET) | ||
22 | |||
23 | .pushsection .data | 18 | .pushsection .data |
24 | omap_uart_phys: .word 0x0 | 19 | omap_uart_phys: .word 0x0 |
25 | omap_uart_virt: .word 0x0 | 20 | omap_uart_virt: .word 0x0 |
@@ -31,26 +26,24 @@ omap_uart_virt: .word 0x0 | |||
31 | * the desired UART phys and virt addresses temporarily into | 26 | * the desired UART phys and virt addresses temporarily into |
32 | * the omap_uart_phys and omap_uart_virt above. | 27 | * the omap_uart_phys and omap_uart_virt above. |
33 | */ | 28 | */ |
34 | .macro addruart, rp, rv | 29 | .macro addruart, rp, rv, tmp |
35 | 30 | ||
36 | /* Use omap_uart_phys/virt if already configured */ | 31 | /* Use omap_uart_phys/virt if already configured */ |
37 | 9: mrc p15, 0, \rp, c1, c0 | 32 | 9: adr \rp, 99f @ get effective addr of 99f |
38 | tst \rp, #1 @ MMU enabled? | 33 | ldr \rv, [\rp] @ get absolute addr of 99f |
39 | ldreq \rp, =omap_uart_v2p(omap_uart_phys) @ MMU disabled | 34 | sub \rv, \rv, \rp @ offset between the two |
40 | ldrne \rp, =omap_uart_phys @ MMU enabled | 35 | ldr \rp, [\rp, #4] @ abs addr of omap_uart_phys |
41 | add \rv, \rp, #4 @ omap_uart_virt | 36 | sub \tmp, \rp, \rv @ make it effective |
42 | ldr \rp, [\rp, #0] | 37 | ldr \rp, [\tmp, #0] @ omap_uart_phys |
43 | ldr \rv, [\rv, #0] | 38 | ldr \rv, [\tmp, #4] @ omap_uart_virt |
44 | cmp \rp, #0 @ is port configured? | 39 | cmp \rp, #0 @ is port configured? |
45 | cmpne \rv, #0 | 40 | cmpne \rv, #0 |
46 | bne 99f @ already configured | 41 | bne 100f @ already configured |
47 | 42 | ||
48 | /* Check the debug UART configuration set in uncompress.h */ | 43 | /* Check the debug UART configuration set in uncompress.h */ |
49 | mrc p15, 0, \rp, c1, c0 | 44 | and \rp, pc, #0xff000000 |
50 | tst \rp, #1 @ MMU enabled? | 45 | ldr \rv, =OMAP_UART_INFO_OFS |
51 | ldreq \rp, =OMAP_UART_INFO @ MMU not enabled | 46 | ldr \rp, [\rp, \rv] |
52 | ldrne \rp, =omap_uart_p2v(OMAP_UART_INFO) @ MMU enabled | ||
53 | ldr \rp, [\rp, #0] | ||
54 | 47 | ||
55 | /* Select the UART to use based on the UART1 scratchpad value */ | 48 | /* Select the UART to use based on the UART1 scratchpad value */ |
56 | 10: cmp \rp, #0 @ no port configured? | 49 | 10: cmp \rp, #0 @ no port configured? |
@@ -74,17 +67,18 @@ omap_uart_virt: .word 0x0 | |||
74 | 67 | ||
75 | /* Store both phys and virt address for the uart */ | 68 | /* Store both phys and virt address for the uart */ |
76 | 98: add \rp, \rp, #0xff000000 @ phys base | 69 | 98: add \rp, \rp, #0xff000000 @ phys base |
77 | mrc p15, 0, \rv, c1, c0 | 70 | str \rp, [\tmp, #0] @ omap_uart_phys |
78 | tst \rv, #1 @ MMU enabled? | ||
79 | ldreq \rv, =omap_uart_v2p(omap_uart_phys) @ MMU disabled | ||
80 | ldrne \rv, =omap_uart_phys @ MMU enabled | ||
81 | str \rp, [\rv, #0] | ||
82 | sub \rp, \rp, #0xff000000 @ phys base | 71 | sub \rp, \rp, #0xff000000 @ phys base |
83 | add \rp, \rp, #0xfe000000 @ virt base | 72 | add \rp, \rp, #0xfe000000 @ virt base |
84 | add \rv, \rv, #4 @ omap_uart_lsr | 73 | str \rp, [\tmp, #4] @ omap_uart_virt |
85 | str \rp, [\rv, #0] | ||
86 | b 9b | 74 | b 9b |
87 | 99: | 75 | |
76 | .align | ||
77 | 99: .word . | ||
78 | .word omap_uart_phys | ||
79 | .ltorg | ||
80 | |||
81 | 100: | ||
88 | .endm | 82 | .endm |
89 | 83 | ||
90 | .macro senduart,rd,rx | 84 | .macro senduart,rd,rx |
diff --git a/arch/arm/mach-omap1/include/mach/memory.h b/arch/arm/mach-omap1/include/mach/memory.h index e9b600c113ef..c6337645ba8a 100644 --- a/arch/arm/mach-omap1/include/mach/memory.h +++ b/arch/arm/mach-omap1/include/mach/memory.h | |||
@@ -2,4 +2,55 @@ | |||
2 | * arch/arm/mach-omap1/include/mach/memory.h | 2 | * arch/arm/mach-omap1/include/mach/memory.h |
3 | */ | 3 | */ |
4 | 4 | ||
5 | #include <plat/memory.h> | 5 | #ifndef __ASM_ARCH_MEMORY_H |
6 | #define __ASM_ARCH_MEMORY_H | ||
7 | |||
8 | /* | ||
9 | * Physical DRAM offset. | ||
10 | */ | ||
11 | #define PLAT_PHYS_OFFSET UL(0x10000000) | ||
12 | |||
13 | /* | ||
14 | * Bus address is physical address, except for OMAP-1510 Local Bus. | ||
15 | * OMAP-1510 bus address is translated into a Local Bus address if the | ||
16 | * OMAP bus type is lbus. We do the address translation based on the | ||
17 | * device overriding the defaults used in the dma-mapping API. | ||
18 | * Note that the is_lbus_device() test is not very efficient on 1510 | ||
19 | * because of the strncmp(). | ||
20 | */ | ||
21 | #ifdef CONFIG_ARCH_OMAP15XX | ||
22 | |||
23 | /* | ||
24 | * OMAP-1510 Local Bus address offset | ||
25 | */ | ||
26 | #define OMAP1510_LB_OFFSET UL(0x30000000) | ||
27 | |||
28 | #define virt_to_lbus(x) ((x) - PAGE_OFFSET + OMAP1510_LB_OFFSET) | ||
29 | #define lbus_to_virt(x) ((x) - OMAP1510_LB_OFFSET + PAGE_OFFSET) | ||
30 | #define is_lbus_device(dev) (cpu_is_omap15xx() && dev && (strncmp(dev_name(dev), "ohci", 4) == 0)) | ||
31 | |||
32 | #define __arch_pfn_to_dma(dev, pfn) \ | ||
33 | ({ dma_addr_t __dma = __pfn_to_phys(pfn); \ | ||
34 | if (is_lbus_device(dev)) \ | ||
35 | __dma = __dma - PHYS_OFFSET + OMAP1510_LB_OFFSET; \ | ||
36 | __dma; }) | ||
37 | |||
38 | #define __arch_dma_to_pfn(dev, addr) \ | ||
39 | ({ dma_addr_t __dma = addr; \ | ||
40 | if (is_lbus_device(dev)) \ | ||
41 | __dma += PHYS_OFFSET - OMAP1510_LB_OFFSET; \ | ||
42 | __phys_to_pfn(__dma); \ | ||
43 | }) | ||
44 | |||
45 | #define __arch_dma_to_virt(dev, addr) ({ (void *) (is_lbus_device(dev) ? \ | ||
46 | lbus_to_virt(addr) : \ | ||
47 | __phys_to_virt(addr)); }) | ||
48 | |||
49 | #define __arch_virt_to_dma(dev, addr) ({ unsigned long __addr = (unsigned long)(addr); \ | ||
50 | (dma_addr_t) (is_lbus_device(dev) ? \ | ||
51 | virt_to_lbus(__addr) : \ | ||
52 | __virt_to_phys(__addr)); }) | ||
53 | |||
54 | #endif /* CONFIG_ARCH_OMAP15XX */ | ||
55 | |||
56 | #endif | ||
diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c index 870886a29594..1cfa1b6bb62b 100644 --- a/arch/arm/mach-omap1/io.c +++ b/arch/arm/mach-omap1/io.c | |||
@@ -121,6 +121,7 @@ void __init omap1_map_common_io(void) | |||
121 | #endif | 121 | #endif |
122 | 122 | ||
123 | omap_sram_init(); | 123 | omap_sram_init(); |
124 | omap_init_consistent_dma_size(); | ||
124 | } | 125 | } |
125 | 126 | ||
126 | /* | 127 | /* |