diff options
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 312ea6b0409..eb36b25450a 100644 --- a/arch/arm/mach-omap1/board-ams-delta.c +++ b/arch/arm/mach-omap1/board-ams-delta.c | |||
@@ -386,7 +386,7 @@ static void __init ams_delta_map_io(void) | |||
386 | 386 | ||
387 | MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)") | 387 | MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)") |
388 | /* Maintainer: Jonathan McDowell <noodles@earth.li> */ | 388 | /* Maintainer: Jonathan McDowell <noodles@earth.li> */ |
389 | .boot_params = 0x10000100, | 389 | .atag_offset = 0x100, |
390 | .map_io = ams_delta_map_io, | 390 | .map_io = ams_delta_map_io, |
391 | .reserve = omap_reserve, | 391 | .reserve = omap_reserve, |
392 | .init_irq = ams_delta_init_irq, | 392 | .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 a6b1bea5037..999789c4811 100644 --- a/arch/arm/mach-omap1/board-fsample.c +++ b/arch/arm/mach-omap1/board-fsample.c | |||
@@ -389,7 +389,7 @@ static void __init omap_fsample_map_io(void) | |||
389 | 389 | ||
390 | MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample") | 390 | MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample") |
391 | /* Maintainer: Brian Swetland <swetland@google.com> */ | 391 | /* Maintainer: Brian Swetland <swetland@google.com> */ |
392 | .boot_params = 0x10000100, | 392 | .atag_offset = 0x100, |
393 | .map_io = omap_fsample_map_io, | 393 | .map_io = omap_fsample_map_io, |
394 | .reserve = omap_reserve, | 394 | .reserve = omap_reserve, |
395 | .init_irq = omap_fsample_init_irq, | 395 | .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 04fc356c40f..23cc9e4ad50 100644 --- a/arch/arm/mach-omap1/board-generic.c +++ b/arch/arm/mach-omap1/board-generic.c | |||
@@ -94,7 +94,7 @@ static void __init omap_generic_map_io(void) | |||
94 | 94 | ||
95 | MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710") | 95 | MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710") |
96 | /* Maintainer: Tony Lindgren <tony@atomide.com> */ | 96 | /* Maintainer: Tony Lindgren <tony@atomide.com> */ |
97 | .boot_params = 0x10000100, | 97 | .atag_offset = 0x100, |
98 | .map_io = omap_generic_map_io, | 98 | .map_io = omap_generic_map_io, |
99 | .reserve = omap_reserve, | 99 | .reserve = omap_reserve, |
100 | .init_irq = omap_generic_init_irq, | 100 | .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 cb7fb1aa3dc..6c70c28d055 100644 --- a/arch/arm/mach-omap1/board-h2.c +++ b/arch/arm/mach-omap1/board-h2.c | |||
@@ -461,7 +461,7 @@ static void __init h2_map_io(void) | |||
461 | 461 | ||
462 | MACHINE_START(OMAP_H2, "TI-H2") | 462 | MACHINE_START(OMAP_H2, "TI-H2") |
463 | /* Maintainer: Imre Deak <imre.deak@nokia.com> */ | 463 | /* Maintainer: Imre Deak <imre.deak@nokia.com> */ |
464 | .boot_params = 0x10000100, | 464 | .atag_offset = 0x100, |
465 | .map_io = h2_map_io, | 465 | .map_io = h2_map_io, |
466 | .reserve = omap_reserve, | 466 | .reserve = omap_reserve, |
467 | .init_irq = h2_init_irq, | 467 | .init_irq = h2_init_irq, |
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c index 31f34875ffa..8e2b64a4692 100644 --- a/arch/arm/mach-omap1/board-h3.c +++ b/arch/arm/mach-omap1/board-h3.c | |||
@@ -449,7 +449,7 @@ static void __init h3_map_io(void) | |||
449 | 449 | ||
450 | MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board") | 450 | MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board") |
451 | /* Maintainer: Texas Instruments, Inc. */ | 451 | /* Maintainer: Texas Instruments, Inc. */ |
452 | .boot_params = 0x10000100, | 452 | .atag_offset = 0x100, |
453 | .map_io = h3_map_io, | 453 | .map_io = h3_map_io, |
454 | .reserve = omap_reserve, | 454 | .reserve = omap_reserve, |
455 | .init_irq = h3_init_irq, | 455 | .init_irq = h3_init_irq, |
diff --git a/arch/arm/mach-omap1/board-htcherald.c b/arch/arm/mach-omap1/board-htcherald.c index 36e06ea7ec6..e81ead1c89e 100644 --- a/arch/arm/mach-omap1/board-htcherald.c +++ b/arch/arm/mach-omap1/board-htcherald.c | |||
@@ -611,7 +611,7 @@ static void __init htcherald_init_irq(void) | |||
611 | MACHINE_START(HERALD, "HTC Herald") | 611 | MACHINE_START(HERALD, "HTC Herald") |
612 | /* Maintainer: Cory Maccarrone <darkstar6262@gmail.com> */ | 612 | /* Maintainer: Cory Maccarrone <darkstar6262@gmail.com> */ |
613 | /* Maintainer: wing-linux.sourceforge.net */ | 613 | /* Maintainer: wing-linux.sourceforge.net */ |
614 | .boot_params = 0x10000100, | 614 | .atag_offset = 0x100, |
615 | .map_io = htcherald_map_io, | 615 | .map_io = htcherald_map_io, |
616 | .reserve = omap_reserve, | 616 | .reserve = omap_reserve, |
617 | .init_irq = htcherald_init_irq, | 617 | .init_irq = htcherald_init_irq, |
diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c index 0b1ba462d38..8b034594fbc 100644 --- a/arch/arm/mach-omap1/board-innovator.c +++ b/arch/arm/mach-omap1/board-innovator.c | |||
@@ -459,7 +459,7 @@ static void __init innovator_map_io(void) | |||
459 | 459 | ||
460 | MACHINE_START(OMAP_INNOVATOR, "TI-Innovator") | 460 | MACHINE_START(OMAP_INNOVATOR, "TI-Innovator") |
461 | /* Maintainer: MontaVista Software, Inc. */ | 461 | /* Maintainer: MontaVista Software, Inc. */ |
462 | .boot_params = 0x10000100, | 462 | .atag_offset = 0x100, |
463 | .map_io = innovator_map_io, | 463 | .map_io = innovator_map_io, |
464 | .reserve = omap_reserve, | 464 | .reserve = omap_reserve, |
465 | .init_irq = innovator_init_irq, | 465 | .init_irq = innovator_init_irq, |
diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c index 5469ce247ff..6825635ac68 100644 --- a/arch/arm/mach-omap1/board-nokia770.c +++ b/arch/arm/mach-omap1/board-nokia770.c | |||
@@ -264,7 +264,7 @@ static void __init omap_nokia770_map_io(void) | |||
264 | } | 264 | } |
265 | 265 | ||
266 | MACHINE_START(NOKIA770, "Nokia 770") | 266 | MACHINE_START(NOKIA770, "Nokia 770") |
267 | .boot_params = 0x10000100, | 267 | .atag_offset = 0x100, |
268 | .map_io = omap_nokia770_map_io, | 268 | .map_io = omap_nokia770_map_io, |
269 | .reserve = omap_reserve, | 269 | .reserve = omap_reserve, |
270 | .init_irq = omap_nokia770_init_irq, | 270 | .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 b08a2138077..44b8e9362bf 100644 --- a/arch/arm/mach-omap1/board-osk.c +++ b/arch/arm/mach-omap1/board-osk.c | |||
@@ -583,7 +583,7 @@ static void __init osk_map_io(void) | |||
583 | 583 | ||
584 | MACHINE_START(OMAP_OSK, "TI-OSK") | 584 | MACHINE_START(OMAP_OSK, "TI-OSK") |
585 | /* Maintainer: Dirk Behme <dirk.behme@de.bosch.com> */ | 585 | /* Maintainer: Dirk Behme <dirk.behme@de.bosch.com> */ |
586 | .boot_params = 0x10000100, | 586 | .atag_offset = 0x100, |
587 | .map_io = osk_map_io, | 587 | .map_io = osk_map_io, |
588 | .reserve = omap_reserve, | 588 | .reserve = omap_reserve, |
589 | .init_irq = osk_init_irq, | 589 | .init_irq = osk_init_irq, |
diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c index 459cb6bfed5..3d8cd90b1db 100644 --- a/arch/arm/mach-omap1/board-palmte.c +++ b/arch/arm/mach-omap1/board-palmte.c | |||
@@ -275,7 +275,7 @@ static void __init omap_palmte_map_io(void) | |||
275 | } | 275 | } |
276 | 276 | ||
277 | MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E") | 277 | MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E") |
278 | .boot_params = 0x10000100, | 278 | .atag_offset = 0x100, |
279 | .map_io = omap_palmte_map_io, | 279 | .map_io = omap_palmte_map_io, |
280 | .reserve = omap_reserve, | 280 | .reserve = omap_reserve, |
281 | .init_irq = omap_palmte_init_irq, | 281 | .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 b214f45f646..d0eefe81cd1 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 9b0ea48d35f..98e79bc0921 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 67acd414263..ad3a1567604 100644 --- a/arch/arm/mach-omap1/board-perseus2.c +++ b/arch/arm/mach-omap1/board-perseus2.c | |||
@@ -350,7 +350,7 @@ static void __init omap_perseus2_map_io(void) | |||
350 | 350 | ||
351 | MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2") | 351 | MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2") |
352 | /* Maintainer: Kevin Hilman <kjh@hilman.org> */ | 352 | /* Maintainer: Kevin Hilman <kjh@hilman.org> */ |
353 | .boot_params = 0x10000100, | 353 | .atag_offset = 0x100, |
354 | .map_io = omap_perseus2_map_io, | 354 | .map_io = omap_perseus2_map_io, |
355 | .reserve = omap_reserve, | 355 | .reserve = omap_reserve, |
356 | .init_irq = omap_perseus2_init_irq, | 356 | .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 9c3b7c52d9c..602b55c39d3 100644 --- a/arch/arm/mach-omap1/board-sx1.c +++ b/arch/arm/mach-omap1/board-sx1.c | |||
@@ -421,7 +421,7 @@ static void __init omap_sx1_map_io(void) | |||
421 | } | 421 | } |
422 | 422 | ||
423 | MACHINE_START(SX1, "OMAP310 based Siemens SX1") | 423 | MACHINE_START(SX1, "OMAP310 based Siemens SX1") |
424 | .boot_params = 0x10000100, | 424 | .atag_offset = 0x100, |
425 | .map_io = omap_sx1_map_io, | 425 | .map_io = omap_sx1_map_io, |
426 | .reserve = omap_reserve, | 426 | .reserve = omap_reserve, |
427 | .init_irq = omap_sx1_init_irq, | 427 | .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 036edc0ee9b..80165154617 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 62856044eb6..2b36a281dc8 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 e9b600c113e..c6337645ba8 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 870886a2959..1cfa1b6bb62 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 | /* |