diff options
Diffstat (limited to 'arch/arm/mach-davinci')
20 files changed, 53 insertions, 90 deletions
diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c index 84fd78684868..26d94c0b555c 100644 --- a/arch/arm/mach-davinci/board-da830-evm.c +++ b/arch/arm/mach-davinci/board-da830-evm.c | |||
@@ -676,7 +676,7 @@ static void __init da830_evm_map_io(void) | |||
676 | } | 676 | } |
677 | 677 | ||
678 | MACHINE_START(DAVINCI_DA830_EVM, "DaVinci DA830/OMAP-L137/AM17x EVM") | 678 | MACHINE_START(DAVINCI_DA830_EVM, "DaVinci DA830/OMAP-L137/AM17x EVM") |
679 | .boot_params = (DA8XX_DDR_BASE + 0x100), | 679 | .atag_offset = 0x100, |
680 | .map_io = da830_evm_map_io, | 680 | .map_io = da830_evm_map_io, |
681 | .init_irq = cp_intc_init, | 681 | .init_irq = cp_intc_init, |
682 | .timer = &davinci_timer, | 682 | .timer = &davinci_timer, |
diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index 008d51407cd7..6e41cb5baeb4 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c | |||
@@ -1291,7 +1291,7 @@ static void __init da850_evm_map_io(void) | |||
1291 | } | 1291 | } |
1292 | 1292 | ||
1293 | MACHINE_START(DAVINCI_DA850_EVM, "DaVinci DA850/OMAP-L138/AM18x EVM") | 1293 | MACHINE_START(DAVINCI_DA850_EVM, "DaVinci DA850/OMAP-L138/AM18x EVM") |
1294 | .boot_params = (DA8XX_DDR_BASE + 0x100), | 1294 | .atag_offset = 0x100, |
1295 | .map_io = da850_evm_map_io, | 1295 | .map_io = da850_evm_map_io, |
1296 | .init_irq = cp_intc_init, | 1296 | .init_irq = cp_intc_init, |
1297 | .timer = &davinci_timer, | 1297 | .timer = &davinci_timer, |
diff --git a/arch/arm/mach-davinci/board-dm355-evm.c b/arch/arm/mach-davinci/board-dm355-evm.c index 241a6bd67408..65566280b7c9 100644 --- a/arch/arm/mach-davinci/board-dm355-evm.c +++ b/arch/arm/mach-davinci/board-dm355-evm.c | |||
@@ -351,7 +351,7 @@ static __init void dm355_evm_init(void) | |||
351 | } | 351 | } |
352 | 352 | ||
353 | MACHINE_START(DAVINCI_DM355_EVM, "DaVinci DM355 EVM") | 353 | MACHINE_START(DAVINCI_DM355_EVM, "DaVinci DM355 EVM") |
354 | .boot_params = (0x80000100), | 354 | .atag_offset = 0x100, |
355 | .map_io = dm355_evm_map_io, | 355 | .map_io = dm355_evm_map_io, |
356 | .init_irq = davinci_irq_init, | 356 | .init_irq = davinci_irq_init, |
357 | .timer = &davinci_timer, | 357 | .timer = &davinci_timer, |
diff --git a/arch/arm/mach-davinci/board-dm355-leopard.c b/arch/arm/mach-davinci/board-dm355-leopard.c index bee284ca7fd6..b307470b071d 100644 --- a/arch/arm/mach-davinci/board-dm355-leopard.c +++ b/arch/arm/mach-davinci/board-dm355-leopard.c | |||
@@ -270,7 +270,7 @@ static __init void dm355_leopard_init(void) | |||
270 | } | 270 | } |
271 | 271 | ||
272 | MACHINE_START(DM355_LEOPARD, "DaVinci DM355 leopard") | 272 | MACHINE_START(DM355_LEOPARD, "DaVinci DM355 leopard") |
273 | .boot_params = (0x80000100), | 273 | .atag_offset = 0x100, |
274 | .map_io = dm355_leopard_map_io, | 274 | .map_io = dm355_leopard_map_io, |
275 | .init_irq = davinci_irq_init, | 275 | .init_irq = davinci_irq_init, |
276 | .timer = &davinci_timer, | 276 | .timer = &davinci_timer, |
diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c index 9818f214d4f0..04c43abcca66 100644 --- a/arch/arm/mach-davinci/board-dm365-evm.c +++ b/arch/arm/mach-davinci/board-dm365-evm.c | |||
@@ -612,7 +612,7 @@ static __init void dm365_evm_init(void) | |||
612 | } | 612 | } |
613 | 613 | ||
614 | MACHINE_START(DAVINCI_DM365_EVM, "DaVinci DM365 EVM") | 614 | MACHINE_START(DAVINCI_DM365_EVM, "DaVinci DM365 EVM") |
615 | .boot_params = (0x80000100), | 615 | .atag_offset = 0x100, |
616 | .map_io = dm365_evm_map_io, | 616 | .map_io = dm365_evm_map_io, |
617 | .init_irq = davinci_irq_init, | 617 | .init_irq = davinci_irq_init, |
618 | .timer = &davinci_timer, | 618 | .timer = &davinci_timer, |
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index 95607a191e03..a005e7691ddd 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c | |||
@@ -712,7 +712,7 @@ static __init void davinci_evm_init(void) | |||
712 | 712 | ||
713 | MACHINE_START(DAVINCI_EVM, "DaVinci DM644x EVM") | 713 | MACHINE_START(DAVINCI_EVM, "DaVinci DM644x EVM") |
714 | /* Maintainer: MontaVista Software <source@mvista.com> */ | 714 | /* Maintainer: MontaVista Software <source@mvista.com> */ |
715 | .boot_params = (DAVINCI_DDR_BASE + 0x100), | 715 | .atag_offset = 0x100, |
716 | .map_io = davinci_evm_map_io, | 716 | .map_io = davinci_evm_map_io, |
717 | .init_irq = davinci_irq_init, | 717 | .init_irq = davinci_irq_init, |
718 | .timer = &davinci_timer, | 718 | .timer = &davinci_timer, |
diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c index 993a3146fd35..337c45e3e44d 100644 --- a/arch/arm/mach-davinci/board-dm646x-evm.c +++ b/arch/arm/mach-davinci/board-dm646x-evm.c | |||
@@ -792,7 +792,7 @@ static __init void evm_init(void) | |||
792 | } | 792 | } |
793 | 793 | ||
794 | MACHINE_START(DAVINCI_DM6467_EVM, "DaVinci DM646x EVM") | 794 | MACHINE_START(DAVINCI_DM6467_EVM, "DaVinci DM646x EVM") |
795 | .boot_params = (0x80000100), | 795 | .atag_offset = 0x100, |
796 | .map_io = davinci_map_io, | 796 | .map_io = davinci_map_io, |
797 | .init_irq = davinci_irq_init, | 797 | .init_irq = davinci_irq_init, |
798 | .timer = &davinci_timer, | 798 | .timer = &davinci_timer, |
@@ -801,7 +801,7 @@ MACHINE_START(DAVINCI_DM6467_EVM, "DaVinci DM646x EVM") | |||
801 | MACHINE_END | 801 | MACHINE_END |
802 | 802 | ||
803 | MACHINE_START(DAVINCI_DM6467TEVM, "DaVinci DM6467T EVM") | 803 | MACHINE_START(DAVINCI_DM6467TEVM, "DaVinci DM6467T EVM") |
804 | .boot_params = (0x80000100), | 804 | .atag_offset = 0x100, |
805 | .map_io = davinci_map_io, | 805 | .map_io = davinci_map_io, |
806 | .init_irq = davinci_irq_init, | 806 | .init_irq = davinci_irq_init, |
807 | .timer = &davinci_timer, | 807 | .timer = &davinci_timer, |
diff --git a/arch/arm/mach-davinci/board-mityomapl138.c b/arch/arm/mach-davinci/board-mityomapl138.c index c278226627ad..6efc84cceca0 100644 --- a/arch/arm/mach-davinci/board-mityomapl138.c +++ b/arch/arm/mach-davinci/board-mityomapl138.c | |||
@@ -566,7 +566,7 @@ static void __init mityomapl138_map_io(void) | |||
566 | } | 566 | } |
567 | 567 | ||
568 | MACHINE_START(MITYOMAPL138, "MityDSP-L138/MityARM-1808") | 568 | MACHINE_START(MITYOMAPL138, "MityDSP-L138/MityARM-1808") |
569 | .boot_params = (DA8XX_DDR_BASE + 0x100), | 569 | .atag_offset = 0x100, |
570 | .map_io = mityomapl138_map_io, | 570 | .map_io = mityomapl138_map_io, |
571 | .init_irq = cp_intc_init, | 571 | .init_irq = cp_intc_init, |
572 | .timer = &davinci_timer, | 572 | .timer = &davinci_timer, |
diff --git a/arch/arm/mach-davinci/board-neuros-osd2.c b/arch/arm/mach-davinci/board-neuros-osd2.c index d60a80028ba3..38d6f644d8b9 100644 --- a/arch/arm/mach-davinci/board-neuros-osd2.c +++ b/arch/arm/mach-davinci/board-neuros-osd2.c | |||
@@ -272,7 +272,7 @@ static __init void davinci_ntosd2_init(void) | |||
272 | 272 | ||
273 | MACHINE_START(NEUROS_OSD2, "Neuros OSD2") | 273 | MACHINE_START(NEUROS_OSD2, "Neuros OSD2") |
274 | /* Maintainer: Neuros Technologies <neuros@groups.google.com> */ | 274 | /* Maintainer: Neuros Technologies <neuros@groups.google.com> */ |
275 | .boot_params = (DAVINCI_DDR_BASE + 0x100), | 275 | .atag_offset = 0x100, |
276 | .map_io = davinci_ntosd2_map_io, | 276 | .map_io = davinci_ntosd2_map_io, |
277 | .init_irq = davinci_irq_init, | 277 | .init_irq = davinci_irq_init, |
278 | .timer = &davinci_timer, | 278 | .timer = &davinci_timer, |
diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c b/arch/arm/mach-davinci/board-omapl138-hawk.c index 237332a11421..c6701e4a795c 100644 --- a/arch/arm/mach-davinci/board-omapl138-hawk.c +++ b/arch/arm/mach-davinci/board-omapl138-hawk.c | |||
@@ -338,7 +338,7 @@ static void __init omapl138_hawk_map_io(void) | |||
338 | } | 338 | } |
339 | 339 | ||
340 | MACHINE_START(OMAPL138_HAWKBOARD, "AM18x/OMAP-L138 Hawkboard") | 340 | MACHINE_START(OMAPL138_HAWKBOARD, "AM18x/OMAP-L138 Hawkboard") |
341 | .boot_params = (DA8XX_DDR_BASE + 0x100), | 341 | .atag_offset = 0x100, |
342 | .map_io = omapl138_hawk_map_io, | 342 | .map_io = omapl138_hawk_map_io, |
343 | .init_irq = cp_intc_init, | 343 | .init_irq = cp_intc_init, |
344 | .timer = &davinci_timer, | 344 | .timer = &davinci_timer, |
diff --git a/arch/arm/mach-davinci/board-sffsdr.c b/arch/arm/mach-davinci/board-sffsdr.c index 5f4385c0a089..5dd4da9d2308 100644 --- a/arch/arm/mach-davinci/board-sffsdr.c +++ b/arch/arm/mach-davinci/board-sffsdr.c | |||
@@ -151,7 +151,7 @@ static __init void davinci_sffsdr_init(void) | |||
151 | 151 | ||
152 | MACHINE_START(SFFSDR, "Lyrtech SFFSDR") | 152 | MACHINE_START(SFFSDR, "Lyrtech SFFSDR") |
153 | /* Maintainer: Hugo Villeneuve hugo.villeneuve@lyrtech.com */ | 153 | /* Maintainer: Hugo Villeneuve hugo.villeneuve@lyrtech.com */ |
154 | .boot_params = (DAVINCI_DDR_BASE + 0x100), | 154 | .atag_offset = 0x100, |
155 | .map_io = davinci_sffsdr_map_io, | 155 | .map_io = davinci_sffsdr_map_io, |
156 | .init_irq = davinci_irq_init, | 156 | .init_irq = davinci_irq_init, |
157 | .timer = &davinci_timer, | 157 | .timer = &davinci_timer, |
diff --git a/arch/arm/mach-davinci/board-tnetv107x-evm.c b/arch/arm/mach-davinci/board-tnetv107x-evm.c index 782892065682..90ee7b5aabdc 100644 --- a/arch/arm/mach-davinci/board-tnetv107x-evm.c +++ b/arch/arm/mach-davinci/board-tnetv107x-evm.c | |||
@@ -277,7 +277,7 @@ console_initcall(tnetv107x_evm_console_init); | |||
277 | #endif | 277 | #endif |
278 | 278 | ||
279 | MACHINE_START(TNETV107X, "TNETV107X EVM") | 279 | MACHINE_START(TNETV107X, "TNETV107X EVM") |
280 | .boot_params = (TNETV107X_DDR_BASE + 0x100), | 280 | .atag_offset = 0x100, |
281 | .map_io = tnetv107x_init, | 281 | .map_io = tnetv107x_init, |
282 | .init_irq = cp_intc_init, | 282 | .init_irq = cp_intc_init, |
283 | .timer = &davinci_timer, | 283 | .timer = &davinci_timer, |
diff --git a/arch/arm/mach-davinci/common.c b/arch/arm/mach-davinci/common.c index 1d2557394235..865ffe5899ac 100644 --- a/arch/arm/mach-davinci/common.c +++ b/arch/arm/mach-davinci/common.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/io.h> | 12 | #include <linux/io.h> |
13 | #include <linux/etherdevice.h> | 13 | #include <linux/etherdevice.h> |
14 | #include <linux/davinci_emac.h> | 14 | #include <linux/davinci_emac.h> |
15 | #include <linux/dma-mapping.h> | ||
15 | 16 | ||
16 | #include <asm/tlb.h> | 17 | #include <asm/tlb.h> |
17 | #include <asm/mach/map.h> | 18 | #include <asm/mach/map.h> |
@@ -86,6 +87,8 @@ void __init davinci_common_init(struct davinci_soc_info *soc_info) | |||
86 | iotable_init(davinci_soc_info.io_desc, | 87 | iotable_init(davinci_soc_info.io_desc, |
87 | davinci_soc_info.io_desc_num); | 88 | davinci_soc_info.io_desc_num); |
88 | 89 | ||
90 | init_consistent_dma_size(14 << 20); | ||
91 | |||
89 | /* | 92 | /* |
90 | * Normally devicemaps_init() would flush caches and tlb after | 93 | * Normally devicemaps_init() would flush caches and tlb after |
91 | * mdesc->map_io(), but we must also do it here because of the CPU | 94 | * mdesc->map_io(), but we must also do it here because of the CPU |
diff --git a/arch/arm/mach-davinci/cpuidle.c b/arch/arm/mach-davinci/cpuidle.c index bd59f31b8a95..0b314bf16f7f 100644 --- a/arch/arm/mach-davinci/cpuidle.c +++ b/arch/arm/mach-davinci/cpuidle.c | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <asm/proc-fns.h> | 19 | #include <asm/proc-fns.h> |
20 | 20 | ||
21 | #include <mach/cpuidle.h> | 21 | #include <mach/cpuidle.h> |
22 | #include <mach/memory.h> | 22 | #include <mach/ddr2.h> |
23 | 23 | ||
24 | #define DAVINCI_CPUIDLE_MAX_STATES 2 | 24 | #define DAVINCI_CPUIDLE_MAX_STATES 2 |
25 | 25 | ||
diff --git a/arch/arm/mach-davinci/include/mach/ddr2.h b/arch/arm/mach-davinci/include/mach/ddr2.h new file mode 100644 index 000000000000..c19e047d0e6a --- /dev/null +++ b/arch/arm/mach-davinci/include/mach/ddr2.h | |||
@@ -0,0 +1,4 @@ | |||
1 | #define DDR2_SDRCR_OFFSET 0xc | ||
2 | #define DDR2_SRPD_BIT (1 << 23) | ||
3 | #define DDR2_MCLKSTOPEN_BIT (1 << 30) | ||
4 | #define DDR2_LPMODEN_BIT (1 << 31) | ||
diff --git a/arch/arm/mach-davinci/include/mach/debug-macro.S b/arch/arm/mach-davinci/include/mach/debug-macro.S index f8b7ea4f6235..cf94552d5274 100644 --- a/arch/arm/mach-davinci/include/mach/debug-macro.S +++ b/arch/arm/mach-davinci/include/mach/debug-macro.S | |||
@@ -18,56 +18,50 @@ | |||
18 | 18 | ||
19 | #include <linux/serial_reg.h> | 19 | #include <linux/serial_reg.h> |
20 | 20 | ||
21 | #include <asm/memory.h> | ||
22 | |||
23 | #include <mach/serial.h> | 21 | #include <mach/serial.h> |
24 | 22 | ||
25 | #define UART_SHIFT 2 | 23 | #define UART_SHIFT 2 |
26 | 24 | ||
27 | #define davinci_uart_v2p(x) ((x) - PAGE_OFFSET + PLAT_PHYS_OFFSET) | ||
28 | #define davinci_uart_p2v(x) ((x) - PLAT_PHYS_OFFSET + PAGE_OFFSET) | ||
29 | |||
30 | .pushsection .data | 25 | .pushsection .data |
31 | davinci_uart_phys: .word 0 | 26 | davinci_uart_phys: .word 0 |
32 | davinci_uart_virt: .word 0 | 27 | davinci_uart_virt: .word 0 |
33 | .popsection | 28 | .popsection |
34 | 29 | ||
35 | .macro addruart, rp, rv | 30 | .macro addruart, rp, rv, tmp |
36 | 31 | ||
37 | /* Use davinci_uart_phys/virt if already configured */ | 32 | /* Use davinci_uart_phys/virt if already configured */ |
38 | 10: mrc p15, 0, \rp, c1, c0 | 33 | 10: adr \rp, 99f @ get effective addr of 99f |
39 | tst \rp, #1 @ MMU enabled? | 34 | ldr \rv, [\rp] @ get absolute addr of 99f |
40 | ldreq \rp, =davinci_uart_v2p(davinci_uart_phys) | 35 | sub \rv, \rv, \rp @ offset between the two |
41 | ldrne \rp, =davinci_uart_phys | 36 | ldr \rp, [\rp, #4] @ abs addr of omap_uart_phys |
42 | add \rv, \rp, #4 @ davinci_uart_virt | 37 | sub \tmp, \rp, \rv @ make it effective |
43 | ldr \rp, [\rp, #0] | 38 | ldr \rp, [\tmp, #0] @ davinci_uart_phys |
44 | ldr \rv, [\rv, #0] | 39 | ldr \rv, [\tmp, #4] @ davinci_uart_virt |
45 | cmp \rp, #0 @ is port configured? | 40 | cmp \rp, #0 @ is port configured? |
46 | cmpne \rv, #0 | 41 | cmpne \rv, #0 |
47 | bne 99f @ already configured | 42 | bne 100f @ already configured |
48 | 43 | ||
49 | /* Check the debug UART address set in uncompress.h */ | 44 | /* Check the debug UART address set in uncompress.h */ |
50 | mrc p15, 0, \rp, c1, c0 | 45 | and \rp, pc, #0xff000000 |
51 | tst \rp, #1 @ MMU enabled? | 46 | ldr \rv, =DAVINCI_UART_INFO_OFS |
47 | add \rp, \rp, \rv | ||
52 | 48 | ||
53 | /* Copy uart phys address from decompressor uart info */ | 49 | /* Copy uart phys address from decompressor uart info */ |
54 | ldreq \rv, =davinci_uart_v2p(davinci_uart_phys) | 50 | ldr \rv, [\rp, #0] |
55 | ldrne \rv, =davinci_uart_phys | 51 | str \rv, [\tmp, #0] |
56 | ldreq \rp, =DAVINCI_UART_INFO | ||
57 | ldrne \rp, =davinci_uart_p2v(DAVINCI_UART_INFO) | ||
58 | ldr \rp, [\rp, #0] | ||
59 | str \rp, [\rv] | ||
60 | 52 | ||
61 | /* Copy uart virt address from decompressor uart info */ | 53 | /* Copy uart virt address from decompressor uart info */ |
62 | ldreq \rv, =davinci_uart_v2p(davinci_uart_virt) | 54 | ldr \rv, [\rp, #4] |
63 | ldrne \rv, =davinci_uart_virt | 55 | str \rv, [\tmp, #4] |
64 | ldreq \rp, =DAVINCI_UART_INFO | ||
65 | ldrne \rp, =davinci_uart_p2v(DAVINCI_UART_INFO) | ||
66 | ldr \rp, [\rp, #4] | ||
67 | str \rp, [\rv] | ||
68 | 56 | ||
69 | b 10b | 57 | b 10b |
70 | 99: | 58 | |
59 | .align | ||
60 | 99: .word . | ||
61 | .word davinci_uart_phys | ||
62 | .ltorg | ||
63 | |||
64 | 100: | ||
71 | .endm | 65 | .endm |
72 | 66 | ||
73 | .macro senduart,rd,rx | 67 | .macro senduart,rd,rx |
diff --git a/arch/arm/mach-davinci/include/mach/memory.h b/arch/arm/mach-davinci/include/mach/memory.h deleted file mode 100644 index 78731944a70c..000000000000 --- a/arch/arm/mach-davinci/include/mach/memory.h +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | /* | ||
2 | * DaVinci memory space definitions | ||
3 | * | ||
4 | * Author: Kevin Hilman, MontaVista Software, Inc. <source@mvista.com> | ||
5 | * | ||
6 | * 2007 (c) MontaVista Software, Inc. This file is licensed under | ||
7 | * the terms of the GNU General Public License version 2. This program | ||
8 | * is licensed "as is" without any warranty of any kind, whether express | ||
9 | * or implied. | ||
10 | */ | ||
11 | #ifndef __ASM_ARCH_MEMORY_H | ||
12 | #define __ASM_ARCH_MEMORY_H | ||
13 | |||
14 | /************************************************************************** | ||
15 | * Included Files | ||
16 | **************************************************************************/ | ||
17 | #include <asm/page.h> | ||
18 | #include <asm/sizes.h> | ||
19 | |||
20 | /************************************************************************** | ||
21 | * Definitions | ||
22 | **************************************************************************/ | ||
23 | #define DAVINCI_DDR_BASE 0x80000000 | ||
24 | #define DA8XX_DDR_BASE 0xc0000000 | ||
25 | |||
26 | #if defined(CONFIG_ARCH_DAVINCI_DA8XX) && defined(CONFIG_ARCH_DAVINCI_DMx) | ||
27 | #error Cannot enable DaVinci and DA8XX platforms concurrently | ||
28 | #elif defined(CONFIG_ARCH_DAVINCI_DA8XX) | ||
29 | #define PLAT_PHYS_OFFSET DA8XX_DDR_BASE | ||
30 | #else | ||
31 | #define PLAT_PHYS_OFFSET DAVINCI_DDR_BASE | ||
32 | #endif | ||
33 | |||
34 | #define DDR2_SDRCR_OFFSET 0xc | ||
35 | #define DDR2_SRPD_BIT BIT(23) | ||
36 | #define DDR2_MCLKSTOPEN_BIT BIT(30) | ||
37 | #define DDR2_LPMODEN_BIT BIT(31) | ||
38 | |||
39 | /* | ||
40 | * Increase size of DMA-consistent memory region | ||
41 | */ | ||
42 | #define CONSISTENT_DMA_SIZE (14<<20) | ||
43 | |||
44 | #endif /* __ASM_ARCH_MEMORY_H */ | ||
diff --git a/arch/arm/mach-davinci/include/mach/serial.h b/arch/arm/mach-davinci/include/mach/serial.h index c9e6ce185a66..e347d88fef91 100644 --- a/arch/arm/mach-davinci/include/mach/serial.h +++ b/arch/arm/mach-davinci/include/mach/serial.h | |||
@@ -21,8 +21,9 @@ | |||
21 | * macros in debug-macro.S. | 21 | * macros in debug-macro.S. |
22 | * | 22 | * |
23 | * This area sits just below the page tables (see arch/arm/kernel/head.S). | 23 | * This area sits just below the page tables (see arch/arm/kernel/head.S). |
24 | * We define it as a relative offset from start of usable RAM. | ||
24 | */ | 25 | */ |
25 | #define DAVINCI_UART_INFO (PLAT_PHYS_OFFSET + 0x3ff8) | 26 | #define DAVINCI_UART_INFO_OFS 0x3ff8 |
26 | 27 | ||
27 | #define DAVINCI_UART0_BASE (IO_PHYS + 0x20000) | 28 | #define DAVINCI_UART0_BASE (IO_PHYS + 0x20000) |
28 | #define DAVINCI_UART1_BASE (IO_PHYS + 0x20400) | 29 | #define DAVINCI_UART1_BASE (IO_PHYS + 0x20400) |
diff --git a/arch/arm/mach-davinci/include/mach/uncompress.h b/arch/arm/mach-davinci/include/mach/uncompress.h index 78d80683cdc2..9dc7cf9664fe 100644 --- a/arch/arm/mach-davinci/include/mach/uncompress.h +++ b/arch/arm/mach-davinci/include/mach/uncompress.h | |||
@@ -43,7 +43,12 @@ static inline void flush(void) | |||
43 | 43 | ||
44 | static inline void set_uart_info(u32 phys, void * __iomem virt) | 44 | static inline void set_uart_info(u32 phys, void * __iomem virt) |
45 | { | 45 | { |
46 | u32 *uart_info = (u32 *)(DAVINCI_UART_INFO); | 46 | /* |
47 | * Get address of some.bss variable and round it down | ||
48 | * a la CONFIG_AUTO_ZRELADDR. | ||
49 | */ | ||
50 | u32 ram_start = (u32)&uart & 0xf8000000; | ||
51 | u32 *uart_info = (u32 *)(ram_start + DAVINCI_UART_INFO_OFS); | ||
47 | 52 | ||
48 | uart = (u32 *)phys; | 53 | uart = (u32 *)phys; |
49 | uart_info[0] = phys; | 54 | uart_info[0] = phys; |
diff --git a/arch/arm/mach-davinci/sleep.S b/arch/arm/mach-davinci/sleep.S index 5f1e045a3ad1..d4e9316ecacb 100644 --- a/arch/arm/mach-davinci/sleep.S +++ b/arch/arm/mach-davinci/sleep.S | |||
@@ -22,7 +22,7 @@ | |||
22 | #include <linux/linkage.h> | 22 | #include <linux/linkage.h> |
23 | #include <asm/assembler.h> | 23 | #include <asm/assembler.h> |
24 | #include <mach/psc.h> | 24 | #include <mach/psc.h> |
25 | #include <mach/memory.h> | 25 | #include <mach/ddr2.h> |
26 | 26 | ||
27 | #include "clock.h" | 27 | #include "clock.h" |
28 | 28 | ||