aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap1
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-10-28 15:02:27 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-10-28 15:02:27 -0400
commit1fdb24e969110fafea36d3b393bea438f702c87f (patch)
tree47a1dfef8a259e7922285315f8a02d31b4efe2f1 /arch/arm/mach-omap1
parentf362f98e7c445643d27c610bb7a86b79727b592e (diff)
parent531a6a941745e1e045dd2a6bd09e1dc01247a5f3 (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.c2
-rw-r--r--arch/arm/mach-omap1/board-fsample.c2
-rw-r--r--arch/arm/mach-omap1/board-generic.c2
-rw-r--r--arch/arm/mach-omap1/board-h2.c2
-rw-r--r--arch/arm/mach-omap1/board-h3.c2
-rw-r--r--arch/arm/mach-omap1/board-htcherald.c2
-rw-r--r--arch/arm/mach-omap1/board-innovator.c2
-rw-r--r--arch/arm/mach-omap1/board-nokia770.c2
-rw-r--r--arch/arm/mach-omap1/board-osk.c2
-rw-r--r--arch/arm/mach-omap1/board-palmte.c2
-rw-r--r--arch/arm/mach-omap1/board-palmtt.c2
-rw-r--r--arch/arm/mach-omap1/board-palmz71.c2
-rw-r--r--arch/arm/mach-omap1/board-perseus2.c2
-rw-r--r--arch/arm/mach-omap1/board-sx1.c2
-rw-r--r--arch/arm/mach-omap1/board-voiceblue.c2
-rw-r--r--arch/arm/mach-omap1/include/mach/debug-macro.S48
-rw-r--r--arch/arm/mach-omap1/include/mach/memory.h53
-rw-r--r--arch/arm/mach-omap1/io.c1
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
386MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)") 386MACHINE_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
389MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample") 389MACHINE_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
94MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710") 94MACHINE_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
461MACHINE_START(OMAP_H2, "TI-H2") 461MACHINE_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
449MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board") 449MACHINE_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)
610MACHINE_START(HERALD, "HTC Herald") 610MACHINE_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
459MACHINE_START(OMAP_INNOVATOR, "TI-Innovator") 459MACHINE_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
265MACHINE_START(NOKIA770, "Nokia 770") 265MACHINE_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
583MACHINE_START(OMAP_OSK, "TI-OSK") 583MACHINE_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
276MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E") 276MACHINE_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
323MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T") 323MACHINE_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
343MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71") 343MACHINE_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
350MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2") 350MACHINE_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
422MACHINE_START(SX1, "OMAP310 based Siemens SX1") 422MACHINE_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
302MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910") 302MACHINE_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
24omap_uart_phys: .word 0x0 19omap_uart_phys: .word 0x0
25omap_uart_virt: .word 0x0 20omap_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 */
379: mrc p15, 0, \rp, c1, c0 329: 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 */
5610: cmp \rp, #0 @ no port configured? 4910: 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 */
7698: add \rp, \rp, #0xff000000 @ phys base 6998: 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
8799: 75
76 .align
7799: .word .
78 .word omap_uart_phys
79 .ltorg
80
81100:
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/*