diff options
author | Tony Lindgren <tony@atomide.com> | 2010-04-30 15:57:14 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-05-03 20:53:08 -0400 |
commit | a4f57b81385b7793b83cd5ec9efc24db0bb62404 (patch) | |
tree | db83f519138ef730541d8523d0d91045e9f879fd /arch/arm/mach-omap2 | |
parent | 96554d70775e936e870f61d9523c9bab3fd54ad6 (diff) |
omap2/3: Fix DEBUG_LL for omap zoom2/3
Zoom2 and 3 have UARTs only on the external debug board.
GPMC needs to be mapped early to use it for DEBUG_LL.
Additionally, 0xfb000000 overlaps with other areas, so
use 0xfa400000 for the virtual address instead.
Note that with the pending serial.c patches you need to
set console=ttyS0,115200n8 as it will be the only UART
mapped. To use DEBUG_LL, you need to pass also earlyprintk
in cmdline.
Cc: Allen Pais <allen.pais@ti.com>
Acked-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/board-zoom-debugboard.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-zoom2.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-zoom3.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/include/mach/debug-macro.S | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/io.c | 9 |
5 files changed, 16 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c index e15d2e87cfc1..1d7f827b0408 100644 --- a/arch/arm/mach-omap2/board-zoom-debugboard.c +++ b/arch/arm/mach-omap2/board-zoom-debugboard.c | |||
@@ -82,7 +82,7 @@ static inline void __init zoom_init_smsc911x(void) | |||
82 | 82 | ||
83 | static struct plat_serial8250_port serial_platform_data[] = { | 83 | static struct plat_serial8250_port serial_platform_data[] = { |
84 | { | 84 | { |
85 | .mapbase = 0x10000000, | 85 | .mapbase = ZOOM_UART_BASE, |
86 | .irq = OMAP_GPIO_IRQ(102), | 86 | .irq = OMAP_GPIO_IRQ(102), |
87 | .flags = UPF_BOOT_AUTOCONF|UPF_IOREMAP|UPF_SHARE_IRQ, | 87 | .flags = UPF_BOOT_AUTOCONF|UPF_IOREMAP|UPF_SHARE_IRQ, |
88 | .irqflags = IRQF_SHARED | IRQF_TRIGGER_RISING, | 88 | .irqflags = IRQF_SHARED | IRQF_TRIGGER_RISING, |
diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c index 9a26f84b1141..803ef14cbf2d 100644 --- a/arch/arm/mach-omap2/board-zoom2.c +++ b/arch/arm/mach-omap2/board-zoom2.c | |||
@@ -91,8 +91,8 @@ static void __init omap_zoom2_map_io(void) | |||
91 | } | 91 | } |
92 | 92 | ||
93 | MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board") | 93 | MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board") |
94 | .phys_io = 0x48000000, | 94 | .phys_io = ZOOM_UART_BASE, |
95 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | 95 | .io_pg_offst = (ZOOM_UART_VIRT >> 18) & 0xfffc, |
96 | .boot_params = 0x80000100, | 96 | .boot_params = 0x80000100, |
97 | .map_io = omap_zoom2_map_io, | 97 | .map_io = omap_zoom2_map_io, |
98 | .init_irq = omap_zoom2_init_irq, | 98 | .init_irq = omap_zoom2_init_irq, |
diff --git a/arch/arm/mach-omap2/board-zoom3.c b/arch/arm/mach-omap2/board-zoom3.c index cd3e40cf3ac1..33147042485f 100644 --- a/arch/arm/mach-omap2/board-zoom3.c +++ b/arch/arm/mach-omap2/board-zoom3.c | |||
@@ -73,8 +73,8 @@ static void __init omap_zoom_init(void) | |||
73 | } | 73 | } |
74 | 74 | ||
75 | MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board") | 75 | MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board") |
76 | .phys_io = 0x48000000, | 76 | .phys_io = ZOOM_UART_BASE, |
77 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | 77 | .io_pg_offst = (ZOOM_UART_VIRT >> 18) & 0xfffc, |
78 | .boot_params = 0x80000100, | 78 | .boot_params = 0x80000100, |
79 | .map_io = omap_zoom_map_io, | 79 | .map_io = omap_zoom_map_io, |
80 | .init_irq = omap_zoom_init_irq, | 80 | .init_irq = omap_zoom_init_irq, |
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S index 4976169d9f36..35b24409a0c8 100644 --- a/arch/arm/mach-omap2/include/mach/debug-macro.S +++ b/arch/arm/mach-omap2/include/mach/debug-macro.S | |||
@@ -88,10 +88,10 @@ omap_uart_lsr: .word 0 | |||
88 | b 98f | 88 | b 98f |
89 | 44: mov \rx, #UART_OFFSET(OMAP4_UART4_BASE) | 89 | 44: mov \rx, #UART_OFFSET(OMAP4_UART4_BASE) |
90 | b 98f | 90 | b 98f |
91 | 95: mov \rx, #ZOOM_UART_BASE | 91 | 95: ldr \rx, =ZOOM_UART_BASE |
92 | ldr \tmp, =omap_uart_phys | 92 | ldr \tmp, =omap_uart_phys |
93 | str \rx, [\tmp, #0] | 93 | str \rx, [\tmp, #0] |
94 | mov \rx, #ZOOM_UART_VIRT | 94 | ldr \rx, =ZOOM_UART_VIRT |
95 | ldr \tmp, =omap_uart_virt | 95 | ldr \tmp, =omap_uart_virt |
96 | str \rx, [\tmp, #0] | 96 | str \rx, [\tmp, #0] |
97 | mov \rx, #(UART_LSR << ZOOM_PORT_SHIFT) | 97 | mov \rx, #(UART_LSR << ZOOM_PORT_SHIFT) |
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 87f676acf61d..3cfb425ea67e 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -166,6 +166,15 @@ static struct map_desc omap34xx_io_desc[] __initdata = { | |||
166 | .length = L4_EMU_34XX_SIZE, | 166 | .length = L4_EMU_34XX_SIZE, |
167 | .type = MT_DEVICE | 167 | .type = MT_DEVICE |
168 | }, | 168 | }, |
169 | #if defined(CONFIG_DEBUG_LL) && \ | ||
170 | (defined(CONFIG_MACH_OMAP_ZOOM2) || defined(CONFIG_MACH_OMAP_ZOOM3)) | ||
171 | { | ||
172 | .virtual = ZOOM_UART_VIRT, | ||
173 | .pfn = __phys_to_pfn(ZOOM_UART_BASE), | ||
174 | .length = SZ_1M, | ||
175 | .type = MT_DEVICE | ||
176 | }, | ||
177 | #endif | ||
169 | }; | 178 | }; |
170 | #endif | 179 | #endif |
171 | #ifdef CONFIG_ARCH_OMAP4 | 180 | #ifdef CONFIG_ARCH_OMAP4 |