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 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 | /* |
