omap2/3: Fix DEBUG_LL for omap zoom2/3
Subsystems (3)
Tony Lindgren
maintainerPATCH 1/1 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 <[email protected]>
Cc Vikram Pandita <[email protected]>
Signed-off-by Tony Lindgren <[email protected]>
arch/arm/mach-omap2/board-zoom-debugboard.c +1 -1
@@ -82,7 +82,7 @@ static inline void __init zoom_init_smsc911x(void)static struct plat_serial8250_port serial_platform_data[] = { { - .mapbase =0x10000000 , + .mapbase =ZOOM_UART_BASE , .irq =OMAP_GPIO_IRQ (102 ), .flags =UPF_BOOT_AUTOCONF |UPF_IOREMAP |UPF_SHARE_IRQ , .irqflags =IRQF_SHARED |IRQF_TRIGGER_RISING ,
arch/arm/mach-omap2/board-zoom2.c +2 -2
@@ -91,8 +91,8 @@ static void __init omap_zoom2_map_io(void) }MACHINE_START (OMAP_ZOOM2 ,"OMAP Zoom2 board" ) - .phys_io = 0x48000000, - .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, + .phys_io = ZOOM_UART_BASE, + .io_pg_offst = (ZOOM_UART_VIRT >> 18) & 0xfffc, .boot_params = 0x80000100, .map_io = omap_zoom2_map_io, .init_irq = omap_zoom2_init_irq,
arch/arm/mach-omap2/board-zoom3.c +2 -2
@@ -73,8 +73,8 @@ static void __init omap_zoom_init(void) }MACHINE_START (OMAP_ZOOM3 ,"OMAP Zoom3 board" ) - .phys_io = 0x48000000, - .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, + .phys_io = ZOOM_UART_BASE, + .io_pg_offst = (ZOOM_UART_VIRT >> 18) & 0xfffc, .boot_params = 0x80000100, .map_io = omap_zoom_map_io, .init_irq = omap_zoom_init_irq,
arch/arm/mach-omap2/include/mach/debug-macro.S +2 -2
@@ -88,10 +88,10 @@ omap_uart_lsr: .word 0 b 98f 44: mov \rx, #UART_OFFSET(OMAP4_UART4_BASE) b 98f -95: mov \rx, #ZOOM_UART_BASE +95: ldr \rx, =ZOOM_UART_BASE ldr \tmp, =omap_uart_phys str \rx, [\tmp, #0] - mov \rx, #ZOOM_UART_VIRT + ldr \rx, =ZOOM_UART_VIRT ldr \tmp, =omap_uart_virt str \rx, [\tmp, #0] mov \rx, #(UART_LSR << ZOOM_PORT_SHIFT)
arch/arm/mach-omap2/io.c +9 -0
@@ -166,6 +166,15 @@ static struct map_desc omap34xx_io_desc[] __initdata = { .length = L4_EMU_34XX_SIZE, .type = MT_DEVICE }, +#if defined(CONFIG_DEBUG_LL ) && \ + (defined(CONFIG_MACH_OMAP_ZOOM2 ) || defined(CONFIG_MACH_OMAP_ZOOM3 )) + { + .virtual = ZOOM_UART_VIRT, + .pfn = __phys_to_pfn(ZOOM_UART_BASE), + .length = SZ_1M, + .type = MT_DEVICE + }, +#endif };#endif #ifdef CONFIG_ARCH_OMAP4
arch/arm/plat-omap/include/plat/serial.h +1 -1
@@ -53,7 +53,7 @@/* External port on Zoom2/3 */ #define ZOOM_UART_BASE 0x10000000 -#define ZOOM_UART_VIRT 0xfb000000 +#define ZOOM_UART_VIRT 0xfa400000#define OMAP_PORT_SHIFT 2#define OMAP7XX_PORT_SHIFT 0
--bpVaumkpfGNUagdU--