omap2/3/4: Multi-omap updates to boot test with omap3_defconfig
Subsystems (3)
Tony Lindgren
maintainercover omap2/3/4: Multi-omap updates to boot test with omap3_defconfig
Hi all,
This series makes the omap3_defconfig bootable on most mach-omap2 boards. So far I've boot tested omap3_defconfig on:
BOARD OMAP ARM NOTES
n800 2420 ARMv6 Userspace won't boot because of TLS and VFP issues
n900 3430 ARMV7
zoom3 3630 ARMV7
blaze 4430 ARMV7 CONFIG_SMP disabled
I've pushed these into multi-omap branch in the linux omap tree, would like to hear status of other boards booting with omap3_defconfig with these patches.
CONFIG_FB_OMAP is now disabled until some weirdness on at least zoom3 is sorted out. And, you need to disable CONFIG_KPROBES on 2.6.34-rc6 until that fix is in mainline.
Anyways, let's use omap3_defconfing from now on to compile and boot test every patch as a sanity test.
Regards,
Tony
---
Tony Lindgren (11):
omap2/3/4: Fix multi.h when omap3 and omap4 are selected without omap2 omap2/3: Fix DEBUG_LL for omap zoom2/3
omap3: Fix compile for board-cm-t35
omap3: Remove non-muxable ball entries for 3630
omap4: Fix multiboot with CONFIG_PM and CONFIG_ARCH_OMAP3 selected
omap4: Fix omap_l2_cache_init not to run for other omaps omap2/3/4: Add new boards to omap3_defconfig
omap2/3/4: Make omap3_defconfig usable on Nokia boards omap2/3/4: Update PMIC options for TWL and Menelaus chips omap2/3/4: Dissable CONFIG_PM_VERBOSE in omap3_defconfig omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
arch/arm/configs/omap3_defconfig | 34 ++++----- arch/arm/kernel/head.S | 10 +++ arch/arm/mach-omap2/board-4430sdp.c | 3 + arch/arm/mach-omap2/board-cm-t35.c | 1 arch/arm/mach-omap2/board-zoom-debugboard.c | 2 - arch/arm/mach-omap2/include/mach/debug-macro.S | 4 + arch/arm/mach-omap2/io.c | 9 +++ arch/arm/mach-omap2/mux34xx.c | 86 ------------------------ arch/arm/plat-omap/include/plat/multi.h | 16 +++- arch/arm/plat-omap/include/plat/serial.h | 2 - arch/arm/plat-omap/sram.c | 16 ++++ 11 files changed, 68 insertions(+), 115 deletions(-)
Signature · 1 line
Signature
Tony Lindgren
maintainerPATCH 1/11 omap2/3/4: Fix multi.h when omap3 and omap4 are selected without omap2
Otherwise we'll get an error about get_irqnr_and_base being defined twice. Add an entry for omap4, and use ARCH_OMAP3 for omap3 instead of ARCH_OMAP3430.
Also fix the check for omap1 to use ARCH_OMAP2PLUS to avoid having to add ARCH_OMAP4 separately there.
--- arch/arm/plat-omap/include/plat/multi.h | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-)
arch/arm/plat-omap/include/plat/multi.h +12 -4
@@ -61,9 +61,9 @@# define OMAP_NAME omap16xx# endif #endif -#if (defined(CONFIG_ARCH_OMAP2 ) || defined(CONFIG_ARCH_OMAP3 )) +#ifdef CONFIG_ARCH_OMAP2PLUS # if (defined(OMAP_NAME ) || defined(MULTI_OMAP1 )) -# error "OMAP1 and OMAP2 can't be selected at the same time" +# error "OMAP1 and OMAP2PLUS can't be selected at the same time"# endif #endif #ifdef CONFIG_ARCH_OMAP2420
@@ -82,12 +82,20 @@# define OMAP_NAME omap2430# endif #endif -#ifdef CONFIG_ARCH_OMAP3430 +#ifdef CONFIG_ARCH_OMAP3 # ifdef OMAP_NAME # undef MULTI_OMAP2# define MULTI_OMAP2 # else -# define OMAP_NAME omap3430 +# define OMAP_NAME omap3 +# endif +#endif +#ifdef CONFIG_ARCH_OMAP4 +# ifdef OMAP_NAME +# undef MULTI_OMAP2 +# define MULTI_OMAP2 +# else +# define OMAP_NAME omap4# endif #endif
Tony Lindgren
maintainerPATCH 2/11 omap2/3: Fix DEBUG_LL for omap zoom2/3
In reply to Tony LindgrenZoom2 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.
--- arch/arm/kernel/head.S | 10 ++++++++++ arch/arm/mach-omap2/board-zoom-debugboard.c | 2 +- arch/arm/mach-omap2/include/mach/debug-macro.S | 4 ++-- arch/arm/mach-omap2/io.c | 9 +++++++++ arch/arm/plat-omap/include/plat/serial.h | 2 +- 5 files changed, 23 insertions(+), 4 deletions(-)
arch/arm/kernel/head.S +10 -0
@@ -328,6 +328,16 @@ __create_page_tables: add r0, r4, #0xd8000000 >> 18 str r3, [r0] #endif +#if defined(CONFIG_MACH_OMAP_ZOOM2) || defined(CONFIG_MACH_OMAP_ZOOM3) + /* + * Zoom2 and Zoom3 have UARTs only on the debug board. + * The debug board is connected to the GPMC. + */ + add r0, r4, #0xfa000000 >> 18 + orr r0, r0, #0x00400000 >> 18 @ ZOOM_UART_VIRT + orr r3, r7, #0x10000000 @ ZOOM_UART_BASE + str r3, [r0] +#endif #endif mov pc, lr ENDPROC(__create_page_tables)
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/include/mach/debug-macro.S +2 -2
@@ -87,10 +87,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
@@ -39,7 +39,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
PATCH 2/11 omap2/3: Fix DEBUG_LL for omap zoom2/3
Quoted 30 lines · Tony Lindgren
Zoom2 and 3 have UARTs only on the external debug board. GPMC needs to be mapped early to use it for
DEBUG_LL.Additionally,
0xfb000000overlaps with other areas, so use0xfa400000for the virtual address instead.Note that with the pending
serial.cpatches you need to set console=ttyS0,115200n8 as it will be the only UART mapped. To useDEBUG_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/kernel/head.S | 10 ++++++++++ arch/arm/mach-omap2/board-zoom-debugboard.c | 2 +- arch/arm/mach-omap2/include/mach/debug-macro.S | 4 ++-- arch/arm/mach-omap2/io.c | 9 +++++++++ arch/arm/plat-omap/include/plat/serial.h | 2 +- 5 files changed, 23 insertions(+), 4 deletions(-)arch/arm/kernel/head.S +0
-0@@ -328,6 +328,16 @@ __create_page_tables: add r0, r4, #0xd8000000 >> 18 str r3, [r0] #endif
arch/arm/kernel/head.S __create_page_tables: · line 340
Quoted 10 lines
arch/arm/kernel/head.S +10
-0+#if defined(CONFIG_MACH_OMAP_ZOOM2) || defined(CONFIG_MACH_OMAP_ZOOM3) + /* + * Zoom2 and Zoom3 have UARTs only on the debug board. + * The debug board is connected to the GPMC. + */ + add r0, r4, #0xfa000000 >> 18 + orr r0, r0, #0x00400000 >> 18 @ ZOOM_UART_VIRT + orr r3, r7, #0x10000000 @ ZOOM_UART_BASE + str r3, [r0] +#endif
I don't see why this part is needed. The same mapping is done using the .io_pg_offset in the machine description which is done just before this in head.S
Kevin
Tony Lindgren
maintainerPATCH 2/11 omap2/3: Fix DEBUG_LL for omap zoom2/3
Quoted 38 lines · Kevin Hilman
Quoted 36 lines · Tony Lindgren
Zoom2 and 3 have UARTs only on the external debug board. GPMC needs to be mapped early to use it for
DEBUG_LL.Additionally,
0xfb000000overlaps with other areas, so use0xfa400000for the virtual address instead.Note that with the pending
serial.cpatches you need to set console=ttyS0,115200n8 as it will be the only UART mapped. To useDEBUG_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/kernel/head.S | 10 ++++++++++ arch/arm/mach-omap2/board-zoom-debugboard.c | 2 +- arch/arm/mach-omap2/include/mach/debug-macro.S | 4 ++-- arch/arm/mach-omap2/io.c | 9 +++++++++ arch/arm/plat-omap/include/plat/serial.h | 2 +- 5 files changed, 23 insertions(+), 4 deletions(-)arch/arm/kernel/head.S +6
-0@@ -328,6 +328,16 @@ __create_page_tables: add r0, r4, #0xd8000000 >> 18 str r3, [r0] #endif +#if defined(CONFIG_MACH_OMAP_ZOOM2) || defined(CONFIG_MACH_OMAP_ZOOM3) + /* + * Zoom2 and Zoom3 have UARTs only on the debug board. + * The debug board is connected to the GPMC. + */ + add r0, r4, #0xfa000000 >> 18
Quoted 8 lines
arch/arm/kernel/head.S __create_page_tables: · line 340
Quoted 4 lines
arch/arm/kernel/head.S +4
-0+ orr r0, r0, #0x00400000 >> 18 @ ZOOM_UART_VIRT + orr r3, r7, #0x10000000 @ ZOOM_UART_BASE + str r3, [r0] +#endifI don't see why this part is needed. The same mapping is done using the .io_pg_offset in the machine description which is done just before this in
head.S
That mapping does not cover the GPMC area where this UART is.
Tony
PATCH 2/11 omap2/3: Fix DEBUG_LL for omap zoom2/3
Quoted 48 lines · Tony Lindgren
Quoted 38 lines · Kevin Hilman
Quoted 36 lines · Tony Lindgren
Zoom2 and 3 have UARTs only on the external debug board. GPMC needs to be mapped early to use it for
DEBUG_LL.Additionally,
0xfb000000overlaps with other areas, so use0xfa400000for the virtual address instead.Note that with the pending
serial.cpatches you need to set console=ttyS0,115200n8 as it will be the only UART mapped. To useDEBUG_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/kernel/head.S | 10 ++++++++++ arch/arm/mach-omap2/board-zoom-debugboard.c | 2 +- arch/arm/mach-omap2/include/mach/debug-macro.S | 4 ++-- arch/arm/mach-omap2/io.c | 9 +++++++++ arch/arm/plat-omap/include/plat/serial.h | 2 +- 5 files changed, 23 insertions(+), 4 deletions(-)arch/arm/kernel/head.S +6
-0@@ -328,6 +328,16 @@ __create_page_tables: add r0, r4, #0xd8000000 >> 18 str r3, [r0] #endif +#if defined(CONFIG_MACH_OMAP_ZOOM2) || defined(CONFIG_MACH_OMAP_ZOOM3) + /* + * Zoom2 and Zoom3 have UARTs only on the debug board. + * The debug board is connected to the GPMC. + */ + add r0, r4, #0xfa000000 >> 18Quoted 8 lines
arch/arm/kernel/head.S __create_page_tables: · line 340
Quoted 4 lines
arch/arm/kernel/head.S +4
-0+ orr r0, r0, #0x00400000 >> 18 @ ZOOM_UART_VIRT + orr r3, r7, #0x10000000 @ ZOOM_UART_BASE + str r3, [r0] +#endifI don't see why this part is needed. The same mapping is done using the .io_pg_offset in the machine description which is done just before this in
head.S
Quoted 1 line
That mapping does not cover the GPMC area where this UART is.
Hmm, then shouldn't that be fixed? I understood the .phys_io and and .io_pg_offset fields of the mach_desc to be specifically for mapping the early UART, and nothing else.
Kevin
PATCH 2/11 omap2/3: Fix DEBUG_LL for omap zoom2/3
Quoted 61 lines
-----Original Message-----
From: Kevin Hilman [mailto:khilman at deeprootsystems.com]
Sent: Friday, April 30, 2010 4:21 PM
To: Tony Lindgren
Cc: linux-arm-kernel at lists.infradead.org; Pandita, Vikram; linux- omap at vger.kernel.org; Pais, Allen
Subject: Re: [PATCH 02/11] omap2/3: FixDEBUG_LLfor omap zoom2/3Quoted 25 lines · Tony Lindgren
Quoted 24 lines · Kevin Hilman
Quoted 22 lines · Tony Lindgren
Zoom2 and 3 have UARTs only on the external debug board. GPMC needs to be mapped early to use it for
DEBUG_LL.Additionally,
0xfb000000overlaps with other areas, so use0xfa400000for the virtual address instead.Note that with the pending
serial.cpatches you need to set console=ttyS0,115200n8 as it will be the only UART mapped. To useDEBUG_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/kernel/head.S | 10 ++++++++++ arch/arm/mach-omap2/board-zoom-debugboard.c | 2 +- arch/arm/mach-omap2/include/mach/debug-macro.S | 4 ++-- arch/arm/mach-omap2/io.c | 9 +++++++++ arch/arm/plat-omap/include/plat/serial.h | 2 +- 5 files changed, 23 insertions(+), 4 deletions(-)Quoted 9 lines
Quoted 9 lines
arch/arm/kernel/head.S __create_page_tables: · line 331
Quoted 9 lines
arch/arm/kernel/head.S +1
-0@@ -328,6 +328,16 @@ __create_page_tables: add r0, r4, #0xd8000000 >> 18 str r3, [r0] #endif +#if defined(CONFIG_MACH_OMAP_ZOOM2) ||
defined(CONFIG_MACH_OMAP_ZOOM3)Quoted 14 lines
Quoted 13 lines
arch/arm/kernel/head.S __create_page_tables: · line 340
Quoted 9 lines
arch/arm/kernel/head.S +9
-0+ /* + * Zoom2 and Zoom3 have UARTs only on the debug board. + * The debug board is connected to the GPMC. + */ + add r0, r4, #0xfa000000 >> 18 + orr r0, r0, #0x00400000 >> 18 @ ZOOM_UART_VIRT + orr r3, r7, #0x10000000 @ ZOOM_UART_BASE + str r3, [r0] +#endifI don't see why this part is needed. The same mapping is done using the .io_pg_offset in the machine description which is done just before this in
head.S
Quoted 5 lines
Quoted 1 line
That mapping does not cover the GPMC area where this UART is.
Hmm, then shouldn't that be fixed? I understood the .phys_io and and .io_pg_offset fields of the
mach_descto be specifically for mapping the early UART, and nothing else.
Here is the problem -
with current approach we need two mappings to happen and the MACHINE_START() code allows for only one via .io_pg_offset and .phys_io
Why:
Tony's approach is to pass the information about the debug uart number from the UART1 Scratchpad register.
this introduces a dependency that
UART1 registers also be mapped (virt<->phy).
So for Tony's approach to work, .phys_io/.io_pg_offset continued to have 0x4800000 based mapping and for external uart zoom3 port, create this extra mapping.
So find a better way from compressed.S to pass the uart number to kernel, and we can solve the problem.
Quoted 3 lines
Kevin
PATCH 2/11 omap2/3: Fix DEBUG_LL for omap zoom2/3
Quoted 3 lines
-----Original Message-----
From: [email protected] [mailto:linux-omap-
Quoted 85 lines
owner at vger.kernel.org] On Behalf Of Pandita, Vikram
Sent: Friday, April 30, 2010 4:37 PM
To: Kevin Hilman; Tony Lindgren
Cc: linux-arm-kernel at lists.infradead.org; linux-omap at vger.kernel.org; Pais, Allen
Subject: RE: [PATCH 02/11] omap2/3: FixDEBUG_LLfor omap zoom2/3Quoted 59 lines
-----Original Message-----
From: Kevin Hilman [mailto:khilman at deeprootsystems.com]
Sent: Friday, April 30, 2010 4:21 PM
To: Tony Lindgren
Cc: linux-arm-kernel at lists.infradead.org; Pandita, Vikram; linux- omap at vger.kernel.org; Pais, Allen
Subject: Re: [PATCH 02/11] omap2/3: FixDEBUG_LLfor omap zoom2/3Quoted 25 lines · Tony Lindgren
Quoted 24 lines · Kevin Hilman
Quoted 22 lines · Tony Lindgren
Zoom2 and 3 have UARTs only on the external debug board. GPMC needs to be mapped early to use it for
DEBUG_LL.Additionally,
0xfb000000overlaps with other areas, so use0xfa400000for the virtual address instead.Note that with the pending
serial.cpatches you need to set console=ttyS0,115200n8 as it will be the only UART mapped. To useDEBUG_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/kernel/head.S | 10 ++++++++++ arch/arm/mach-omap2/board-zoom-debugboard.c | 2 +- arch/arm/mach-omap2/include/mach/debug-macro.S | 4 ++-- arch/arm/mach-omap2/io.c | 9 +++++++++ arch/arm/plat-omap/include/plat/serial.h | 2 +- 5 files changed, 23 insertions(+), 4 deletions(-)Quoted 9 lines
Quoted 9 lines
arch/arm/kernel/head.S __create_page_tables: · line 331
Quoted 9 lines
arch/arm/kernel/head.S +1
-0@@ -328,6 +328,16 @@ __create_page_tables: add r0, r4, #0xd8000000 >> 18 str r3, [r0] #endif +#if defined(CONFIG_MACH_OMAP_ZOOM2) ||
defined(CONFIG_MACH_OMAP_ZOOM3)Quoted 14 lines
Quoted 13 lines
arch/arm/kernel/head.S __create_page_tables: · line 340
Quoted 9 lines
arch/arm/kernel/head.S +9
-0+ /* + * Zoom2 and Zoom3 have UARTs only on the debug board. + * The debug board is connected to the GPMC. + */ + add r0, r4, #0xfa000000 >> 18 + orr r0, r0, #0x00400000 >> 18 @ ZOOM_UART_VIRT + orr r3, r7, #0x10000000 @ ZOOM_UART_BASE + str r3, [r0] +#endifI don't see why this part is needed. The same mapping is done using the .io_pg_offset in the machine description which is done just before this in
head.SQuoted 5 lines
Quoted 1 line
That mapping does not cover the GPMC area where this UART is.
Hmm, then shouldn't that be fixed? I understood the .phys_io and and .io_pg_offset fields of the
mach_descto be specifically for mapping the early UART, and nothing else.Here is the problem -
with current approach we need two mappings to happen and theMACHINE_START()code allows for only one via .io_pg_offset and .phys_ioWhy:
Tony's approach is to pass the information about the debug uart number from the UART1 Scratchpad register.this introduces a dependency that
UART1 registers also be mapped (virt<->phy).
Quoted 6 lines
So for Tony's approach to work, .phys_io/.io_pg_offset continued to have
0x4800000based mapping and for external uart zoom3 port, create this extra mapping.So find a better way from
compressed.Sto pass the uart number to kernel, and we can solve the problem.
Reference to that dependency:
Commit: 0c8219f0
<snip/start>
+/*
+ * Store the DEBUG_LL uart number into UART1 scratchpad register.
+ * See also debug-macro.S, and serial.c for related code.
+ *
+ * Please note that we currently assume that:
+ * - UART1 clocks are enabled for register access
+ * - UART1 scratchpad register can be used
+ */
+static void set_uart1_scratchpad(unsigned char port) <snip/end>
Quoted 9 lines
Quoted 4 lines
Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH 2/11 omap2/3: Fix DEBUG_LL for omap zoom2/3
In reply to Pandita, Vikram"Pandita, Vikram" <[email protected]> writes:
[...]
Quoted 40 lines
Quoted 22 lines
Quoted 7 lines
Quoted 7 lines
arch/arm/kernel/head.S __create_page_tables: · line 331
Quoted 7 lines
arch/arm/kernel/head.S +1
-0@@ -328,6 +328,16 @@ __create_page_tables: add r0, r4, #0xd8000000 >> 18 str r3, [r0] #endif +#if defined(CONFIG_MACH_OMAP_ZOOM2) ||
defined(CONFIG_MACH_OMAP_ZOOM3)Quoted 14 lines
Quoted 13 lines
arch/arm/kernel/head.S __create_page_tables: · line 340
Quoted 9 lines
arch/arm/kernel/head.S +9
-0+ /* + * Zoom2 and Zoom3 have UARTs only on the debug board. + * The debug board is connected to the GPMC. + */ + add r0, r4, #0xfa000000 >> 18 + orr r0, r0, #0x00400000 >> 18 @ ZOOM_UART_VIRT + orr r3, r7, #0x10000000 @ ZOOM_UART_BASE + str r3, [r0] +#endifI don't see why this part is needed. The same mapping is done using the .io_pg_offset in the machine description which is done just before this in
head.SQuoted 5 lines
Quoted 1 line
That mapping does not cover the GPMC area where this UART is.
Hmm, then shouldn't that be fixed? I understood the .phys_io and and .io_pg_offset fields of the
mach_descto be specifically for mapping the early UART, and nothing else.Here is the problem - with current approach we need two mappings to happen and the
MACHINE_START()code allows for only one via .io_pg_offset and .phys_ioWhy:
Tony's approach is to pass the information about the debug uart number from the UART1 Scratchpad register.
this introduces a dependency that
UART1 registers also be mapped (virt<->phy).
Quoted 6 lines
So for Tony's approach to work, .phys_io/.io_pg_offset continued to have
0x4800000based mapping and for external uart zoom3 port, create this extra mapping.So find a better way from
compressed.Sto pass the uart number to kernel, and we can solve the problem.
Ah, yet another reason to use a memory location instead of UART1 SCR to pass the UART info (c.f. [1])
Kevin
Tony Lindgren
maintainerPATCH 2/11 omap2/3: Fix DEBUG_LL for omap zoom2/3
Quoted 48 lines · Kevin Hilman
"Pandita, Vikram" <[email protected]> writes:
[...]
Quoted 44 lines
Quoted 22 lines
Quoted 7 lines
Quoted 7 lines
arch/arm/kernel/head.S __create_page_tables: · line 331
Quoted 7 lines
arch/arm/kernel/head.S +1
-0@@ -328,6 +328,16 @@ __create_page_tables: add r0, r4, #0xd8000000 >> 18 str r3, [r0] #endif +#if defined(CONFIG_MACH_OMAP_ZOOM2) ||
defined(CONFIG_MACH_OMAP_ZOOM3)Quoted 14 lines
Quoted 13 lines
arch/arm/kernel/head.S __create_page_tables: · line 340
Quoted 9 lines
arch/arm/kernel/head.S +9
-0+ /* + * Zoom2 and Zoom3 have UARTs only on the debug board. + * The debug board is connected to the GPMC. + */ + add r0, r4, #0xfa000000 >> 18 + orr r0, r0, #0x00400000 >> 18 @ ZOOM_UART_VIRT + orr r3, r7, #0x10000000 @ ZOOM_UART_BASE + str r3, [r0] +#endifI don't see why this part is needed. The same mapping is done using the .io_pg_offset in the machine description which is done just before this in
head.SQuoted 5 lines
Quoted 1 line
That mapping does not cover the GPMC area where this UART is.
Hmm, then shouldn't that be fixed? I understood the .phys_io and and .io_pg_offset fields of the
mach_descto be specifically for mapping the early UART, and nothing else.Here is the problem - with current approach we need two mappings to happen and the
MACHINE_START()code allows for only one via .io_pg_offset and .phys_ioWhy:
Tony's approach is to pass the information about the debug uart number from the UART1 Scratchpad register.
this introduces a dependency that
UART1 registers also be mapped (virt<->phy).So for Tony's approach to work, .phys_io/.io_pg_offset continued to have
0x4800000based mapping and for external uart zoom3 port, create this extra mapping.
Quoted 5 lines
Quoted 2 lines
So find a better way from
compressed.Sto pass the uart number to kernel, and we can solve the problem.Ah, yet another reason to use a memory location instead of UART1 SCR to pass the UART info (c.f. [1])
That should work if we don't need to access any L4 registers early on before .map_io.
Regards,
Tony
Quoted 3 lines
Kevin
PATCH 2/11 omap2/3: Fix DEBUG_LL for omap zoom2/3
Quoted 49 lines · Tony Lindgren
Quoted 48 lines · Kevin Hilman
"Pandita, Vikram" <[email protected]> writes:
[...]
Quoted 44 lines
Quoted 22 lines
Quoted 7 lines
Quoted 7 lines
arch/arm/kernel/head.S __create_page_tables: · line 331
Quoted 7 lines
arch/arm/kernel/head.S +1
-0@@ -328,6 +328,16 @@ __create_page_tables: add r0, r4, #0xd8000000 >> 18 str r3, [r0] #endif +#if defined(CONFIG_MACH_OMAP_ZOOM2) ||
defined(CONFIG_MACH_OMAP_ZOOM3)Quoted 14 lines
Quoted 13 lines
arch/arm/kernel/head.S __create_page_tables: · line 340
Quoted 9 lines
arch/arm/kernel/head.S +9
-0+ /* + * Zoom2 and Zoom3 have UARTs only on the debug board. + * The debug board is connected to the GPMC. + */ + add r0, r4, #0xfa000000 >> 18 + orr r0, r0, #0x00400000 >> 18 @ ZOOM_UART_VIRT + orr r3, r7, #0x10000000 @ ZOOM_UART_BASE + str r3, [r0] +#endifI don't see why this part is needed. The same mapping is done using the .io_pg_offset in the machine description which is done just before this in
head.SQuoted 5 lines
Quoted 1 line
That mapping does not cover the GPMC area where this UART is.
Hmm, then shouldn't that be fixed? I understood the .phys_io and and .io_pg_offset fields of the
mach_descto be specifically for mapping the early UART, and nothing else.Here is the problem - with current approach we need two mappings to happen and the
MACHINE_START()code allows for only one via .io_pg_offset and .phys_ioWhy:
Tony's approach is to pass the information about the debug uart number from the UART1 Scratchpad register.
this introduces a dependency that
UART1 registers also be mapped (virt<->phy).So for Tony's approach to work, .phys_io/.io_pg_offset continued to have
0x4800000based mapping and for external uart zoom3 port, create this extra mapping.
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
So find a better way from
compressed.Sto pass the uart number to kernel, and we can solve the problem.Ah, yet another reason to use a memory location instead of UART1 SCR to pass the UART info (c.f. [1])
That should work if we don't need to access any L4 registers early on before .map_io.
I'd say if we're accessing L4 regs before .map_io, it's a bug that needs to be fixed, but I don't think we are. If we were, we'd notice a hang when !CONFIG_DEBUG_LL since the .phys_io and .io_pg_offst are only mapped in when CONFIG_DEBUG_LL=y.
I think we've been using .phys_io/.io_pg_offset incorrectly in OMAP as an early mapping of all the IO space, when it is intended just for use as early UART access, indicated by the comments in head.S and the fact that it's only used when CONFIG_DEBUG_LL=y
Kevin
Tony Lindgren
maintainerPATCH 2/11 omap2/3: Fix DEBUG_LL for omap zoom2/3
Quoted 15 lines · Kevin Hilman
Quoted 13 lines · Tony Lindgren
Quoted 11 lines · Kevin Hilman
Quoted 7 lines · Vikram
So for Tony's approach to work, .phys_io/.io_pg_offset continued to have
0x4800000based mapping and for external uart zoom3 port, create this extra mapping.So find a better way from
compressed.Sto pass the uart number to kernel, and we can solve the problem.Ah, yet another reason to use a memory location instead of UART1 SCR to pass the UART info (c.f. [1])
Quoted 7 lines
Quoted 2 lines
That should work if we don't need to access any L4 registers early on before .map_io.
I'd say if we're accessing L4 regs before .map_io, it's a bug that needs to be fixed, but I don't think we are. If we were, we'd notice a hang when !CONFIG_DEBUG_LL since the .phys_io and .io_pg_offst are only mapped in when
CONFIG_DEBUG_LL=y.
Yeah the current approach uses both, but only when CONFIG_DEBUG_LL=y as you noted.
Quoted 4 lines
I think we've been using .phys_io/.io_pg_offset incorrectly in OMAP as an early mapping of all the IO space, when it is intended just for use as early UART access, indicated by the comments in
head.Sand the fact that it's only used whenCONFIG_DEBUG_LL=y
That's probably just a left over from when we could map L3 and L4 with one mapping..
Anyways, here's an experimental patch for using a memory address instead of UART1 for storing the debug port configuration in uncompress.h.
So far only tested on n900, will give it a try also on zoom3 after updating the zoom3 related patch.
Now the real question is: Is it safe to use the fixed memory address?
#define OMAP_UART_INFO (PHYS_OFFSET + 0x3ff8)
Also, another thing that needs to be checked is what happens if nothing calls printk early and the debug port address configuration is not set early.. Needs to be tested by adding printascii call only later on.
Regards,
Tony
Tony Lindgren
maintainerPATCH 2/11 omap2/3: Fix DEBUG_LL for omap zoom2/3
Quoted 3 lines · Tony Lindgren
So far only tested on n900, will give it a try also on zoom3 after updating the zoom3 related patch.
And here's the updated zoom debug_ll patch, seems to work.
arch/arm/plat-omap/include/plat/uncompress.h line 27
Quoted 11 lines
arch/arm/plat-omap/include/plat/uncompress.h +2
-0@@ -20,27 +20,22 @@#include <linux/types.h> #include <linux/serial_reg.h> +#include <asm/memory.h> +#include <asm/io.h> #include <asm/mach-types.h> #include <plat/serial.h>
BTW, the include of asm/io.h is not needed, I'll remove that.
Regards,
Tony
PATCH 2/11 omap2/3: Fix DEBUG_LL for omap zoom2/3
Quoted 10 lines
-----Original Message-----
From: Tony Lindgren [mailto:tony at atomide.com]
Sent: Friday, April 30, 2010 8:51 PM
To: Kevin Hilman
Cc: Pandita, Vikram; linux-arm-kernel at lists.infradead.org; linux- omap at vger.kernel.org; Pais, Allen
Subject: Re: [PATCH 02/11] omap2/3: FixDEBUG_LLfor omap zoom2/3
Quoted 6 lines
Quoted 3 lines · Tony Lindgren
So far only tested on n900, will give it a try also on zoom3 after updating the zoom3 related patch.
And here's the updated zoom
debug_llpatch, seems to work.
For testing if I put this printk hack (the good old days patch), Zoom3 does not boot after applying your patch.
So looks like we are still missing something for zoom2/3 to work. Can debug tomorrow.
Quoted 11 lines
Quoted 11 lines
arch/arm/plat-omap/include/plat/uncompress.h +2
-0@@ -20,27 +20,22 @@#include <linux/types.h> #include <linux/serial_reg.h> +#include <asm/memory.h> +#include <asm/io.h> #include <asm/mach-types.h>
Quoted 7 lines
arch/arm/plat-omap/include/plat/uncompress.h line 27
Quoted 1 line
arch/arm/plat-omap/include/plat/uncompress.h +0
-0#include <plat/serial.h> BTW, the include of
asm/io.his not needed, I'll remove that.Regards,
Tony
-------------- next part --------------
A non-text attachment was scrubbed...
Name: printk-dbg.patch
Type: application/octet-stream
Size: 570 bytes
Desc: printk-dbg.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100504/5065861b/attachment.obj>
Tony Lindgren
maintainerPATCH 2/11 omap2/3: Fix DEBUG_LL for omap zoom2/3
Quoted 12 lines · Pandita, Vikram
Quoted 12 lines
-----Original Message-----
From: Tony Lindgren [mailto:tony at atomide.com]
Sent: Friday, April 30, 2010 8:51 PM
To: Kevin Hilman
Cc: Pandita, Vikram; linux-arm-kernel at lists.infradead.org; linux- omap at vger.kernel.org; Pais, Allen
Subject: Re: [PATCH 02/11] omap2/3: FixDEBUG_LLfor omap zoom2/3Quoted 1 line · Tony Lindgren
Quoted 7 lines
Quoted 4 lines
Quoted 2 lines
So far only tested on n900, will give it a try also on zoom3 after updating the zoom3 related patch.
And here's the updated zoom
debug_llpatch, seems to work.For testing if I put this printk hack (the good old days patch), Zoom3 does not boot after applying your patch.
You should not need that any longer if you have set CONFIG_DEBUG_LL and CONFIG_EARLY_PRINTK and have earlyprintk in the kernel cmdline.
Quoted 2 lines
So looks like we are still missing something for zoom2/3 to work. Can debug tomorrow.
Hmm works just fine for me. Sounds like you only applied one of the two patches needed to make DEBUG_LL work on zoom?
Anyways, I'll repost both patches needed for zoom as a reply to this mail.
Regards,
Tony
Tony Lindgren
maintainerPATCH 1/1 omap: Use a memory address for storing the debug port info instead of UART1 scratchpad
Here's this patch one more time. I updated the comments for what I think the new shortcomings are.
I also changed #define OMAP_UART_INFO (PHYS_OFFSET + 0x3ffc) instead of 0x3ff8 as it's set as u32.
Regards,
Tony
Tony Lindgren
maintainerPATCH 1/1 omap2/3: Fix DEBUG_LL for omap zoom2/3
In reply to Tony LindgrenAnd here's this patch one more time. Both 2a and 2b are needed for zoom debug uart to work.
Regards,
Tony
PATCH 1/1 omap2/3: Fix DEBUG_LL for omap zoom2/3
Tony
Quoted 10 lines
-----Original Message-----
From: Tony Lindgren [mailto:tony at atomide.com]
Sent: Monday, May 03, 2010 7:59 PM
To: Pandita, Vikram
Cc: Kevin Hilman; linux-arm-kernel at lists.infradead.org; linux- omap at vger.kernel.org; Pais, Allen
Subject: [PATCH 02b/11] omap2/3: FixDEBUG_LLfor omap zoom2/3And here's this patch one more time. Both 2a and 2b are needed for zoom debug uart to work.
Test 1:
Tested on Zoom3 with 02a and 02b applied. Enabled DEBUG_LL. Booted fine.
Test 2:
Applied Hack printk.patch (attached)
Booted fine and duplicate logs can be seen on console => printascii is working.
Quoted 4 lines
Regards,
Tony
-------------- next part --------------
A non-text attachment was scrubbed...
Name: printk.patch
Type: application/octet-stream
Size: 570 bytes
Desc: printk.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100504/023b8b66/attachment-0001.obj>
Tony Lindgren
maintainerPATCH 1/1 omap2/3: Fix DEBUG_LL for omap zoom2/3
Quoted 18 lines · Pandita, Vikram
Tony
Quoted 10 lines
-----Original Message-----
From: Tony Lindgren [mailto:tony at atomide.com]
Sent: Monday, May 03, 2010 7:59 PM
To: Pandita, Vikram
Cc: Kevin Hilman; linux-arm-kernel at lists.infradead.org; linux- omap at vger.kernel.org; Pais, Allen
Subject: [PATCH 02b/11] omap2/3: FixDEBUG_LLfor omap zoom2/3And here's this patch one more time. Both 2a and 2b are needed for zoom debug uart to work.
Test 1:
Tested on Zoom3 with 02a and 02b applied. EnabledDEBUG_LL. Booted fine.
Quoted 5 lines
Test 2:
Applied Hack printk.patch (attached)
Booted fine and duplicate logs can be seen on console => printascii is working.
Good to hear it works for you now, thanks for testing.
Tony
Tony Lindgren
maintainerPATCH 3/11 omap3: Fix compile for board-cm-t35
In reply to Tony LindgrenOtherwise we can get the following error:
error: variable 'tdo24m_mcspi_config' has initializer but incomplete type
...
--- arch/arm/mach-omap2/board-cm-t35.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/board-cm-t35.c +1 -0
@@ -45,6 +45,7 @@#include <plat/gpmc.h> #include <plat/usb.h> #include <plat/display.h> +#include <plat/mcspi.h> #include <mach/hardware.h>
Tony Lindgren
maintainerPATCH 4/11 omap3: Remove non-muxable ball entries for 3630
In reply to Tony LindgrenThese are currently non-muxable, so let's save some memory and remove them. Otherwise we get the following warnings:
mux: Unknown ball offset 0x5e
mux: Unknown ball offset 0x60
mux: Unknown ball offset 0x62
...
--- arch/arm/mach-omap2/mux34xx.c | 86 ----------------------------------------- 1 files changed, 0 insertions(+), 86 deletions(-)
arch/arm/mach-omap2/mux34xx.c +0 -86
@@ -1901,26 +1901,15 @@ struct omap_ball __initdata omap36xx_cbp_ball[] = {_OMAP3_BALLENTRY (GPMC_A8 ,"m3" ,"ab18" ),_OMAP3_BALLENTRY (GPMC_A9 ,"l3" ,"ac19" ),_OMAP3_BALLENTRY (GPMC_CLK ,"t4" ,"w2" ), -_OMAP3_BALLENTRY (GPMC_D0 ,"k1" ,"m2" ), -_OMAP3_BALLENTRY (GPMC_D1 ,"l1" ,"m1" ),_OMAP3_BALLENTRY (GPMC_D10 ,"p1" ,"ab4" ),_OMAP3_BALLENTRY (GPMC_D11 ,"r1" ,"ac4" ),_OMAP3_BALLENTRY (GPMC_D12 ,"r2" ,"ab6" ),_OMAP3_BALLENTRY (GPMC_D13 ,"t2" ,"ac6" ),_OMAP3_BALLENTRY (GPMC_D14 ,"w1" ,"ab7" ),_OMAP3_BALLENTRY (GPMC_D15 ,"y1" ,"ac7" ), -_OMAP3_BALLENTRY (GPMC_D2 ,"l2" ,"n2" ), -_OMAP3_BALLENTRY (GPMC_D3 ,"p2" ,"n1" ), -_OMAP3_BALLENTRY (GPMC_D4 ,"t1" ,"r2" ), -_OMAP3_BALLENTRY (GPMC_D5 ,"v1" ,"r1" ), -_OMAP3_BALLENTRY (GPMC_D6 ,"v2" ,"t2" ), -_OMAP3_BALLENTRY (GPMC_D7 ,"w2" ,"t1" ), -_OMAP3_BALLENTRY (GPMC_D8 ,"h2" ,"ab3" ),_OMAP3_BALLENTRY (GPMC_D9 ,"k2" ,"ac3" ), -_OMAP3_BALLENTRY (GPMC_NADV_ALE ,"f3" ,"w1" ),_OMAP3_BALLENTRY (GPMC_NBE0_CLE ,"g3" ,"ac12" ),_OMAP3_BALLENTRY (GPMC_NBE1 ,"u3" ,NULL ), -_OMAP3_BALLENTRY (GPMC_NCS0 ,"g4" ,"y2" ),_OMAP3_BALLENTRY (GPMC_NCS1 ,"h3" ,"y1" ),_OMAP3_BALLENTRY (GPMC_NCS2 ,"v8" ,NULL ), _OMAP3_BALLENTRY(GPMC_NCS3, "u8", NULL),
@@ -1928,10 +1917,7 @@ struct omap_ball __initdata omap36xx_cbp_ball[] = {_OMAP3_BALLENTRY (GPMC_NCS5 ,"r8" ,NULL ),_OMAP3_BALLENTRY (GPMC_NCS6 ,"p8" ,NULL ),_OMAP3_BALLENTRY (GPMC_NCS7 ,"n8" ,NULL ), -_OMAP3_BALLENTRY (GPMC_NOE ,"g2" ,"v2" ), -_OMAP3_BALLENTRY (GPMC_NWE ,"f4" ,"v1" ),_OMAP3_BALLENTRY (GPMC_NWP ,"h1" ,"ab10" ), -_OMAP3_BALLENTRY (GPMC_WAIT0 ,"m8" ,"ab12" ),_OMAP3_BALLENTRY (GPMC_WAIT1 ,"l8" ,"ac10" ),_OMAP3_BALLENTRY (GPMC_WAIT2 ,"k8" ,NULL ), _OMAP3_BALLENTRY(GPMC_WAIT3, "j8", NULL),
@@ -1948,8 +1934,6 @@ struct omap_ball __initdata omap36xx_cbp_ball[] = {_OMAP3_BALLENTRY (HSUSB0_DIR ,"r28" ,NULL ),_OMAP3_BALLENTRY (HSUSB0_NXT ,"t26" ,NULL ),_OMAP3_BALLENTRY (HSUSB0_STP ,"t25" ,NULL ), -_OMAP3_BALLENTRY (I2C1_SCL ,"k21" ,NULL ), -_OMAP3_BALLENTRY (I2C1_SDA ,"j21" ,NULL ),_OMAP3_BALLENTRY (I2C2_SCL ,"af15" ,NULL ),_OMAP3_BALLENTRY (I2C2_SDA ,"ae15" ,NULL ), _OMAP3_BALLENTRY(I2C3_SCL, "af14", NULL),
@@ -1958,11 +1942,6 @@ struct omap_ball __initdata omap36xx_cbp_ball[] = {_OMAP3_BALLENTRY (I2C4_SDA ,"ae26" ,NULL ),_OMAP3_BALLENTRY (JTAG_EMU0 ,"aa11" ,NULL ),_OMAP3_BALLENTRY (JTAG_EMU1 ,"aa10" ,NULL ), -_OMAP3_BALLENTRY (JTAG_RTCK ,"aa12" ,NULL ), -_OMAP3_BALLENTRY (JTAG_TCK ,"aa13" ,NULL ), -_OMAP3_BALLENTRY (JTAG_TDI ,"aa20" ,NULL ), -_OMAP3_BALLENTRY (JTAG_TDO ,"aa19" ,NULL ), -_OMAP3_BALLENTRY (JTAG_TMS_TMSC ,"aa18" ,NULL ),_OMAP3_BALLENTRY (MCBSP1_CLKR ,"y21" ,NULL ),_OMAP3_BALLENTRY (MCBSP1_CLKX ,"w21" ,NULL ), _OMAP3_BALLENTRY(MCBSP1_DR, "u21", NULL),
@@ -2010,77 +1989,12 @@ struct omap_ball __initdata omap36xx_cbp_ball[] = {_OMAP3_BALLENTRY (SDMMC2_DAT5 ,"ah3" ,NULL ),_OMAP3_BALLENTRY (SDMMC2_DAT6 ,"af3" ,NULL ),_OMAP3_BALLENTRY (SDMMC2_DAT7 ,"ae3" ,NULL ), -_OMAP3_BALLENTRY (SDRC_A0 ,NULL ,"n22" ), -_OMAP3_BALLENTRY (SDRC_A1 ,NULL ,"n23" ), -_OMAP3_BALLENTRY (SDRC_A10 ,NULL ,"v22" ), -_OMAP3_BALLENTRY (SDRC_A11 ,NULL ,"v23" ), -_OMAP3_BALLENTRY (SDRC_A12 ,NULL ,"w22" ), -_OMAP3_BALLENTRY (SDRC_A13 ,NULL ,"w23" ), -_OMAP3_BALLENTRY (SDRC_A14 ,NULL ,"y22" ), -_OMAP3_BALLENTRY (SDRC_A2 ,NULL ,"p22" ), -_OMAP3_BALLENTRY (SDRC_A3 ,NULL ,"p23" ), -_OMAP3_BALLENTRY (SDRC_A4 ,NULL ,"r22" ), -_OMAP3_BALLENTRY (SDRC_A5 ,NULL ,"r23" ), -_OMAP3_BALLENTRY (SDRC_A6 ,NULL ,"t22" ), -_OMAP3_BALLENTRY (SDRC_A7 ,NULL ,"t23" ), -_OMAP3_BALLENTRY (SDRC_A8 ,NULL ,"u22" ), -_OMAP3_BALLENTRY (SDRC_A9 ,NULL ,"u23" ), -_OMAP3_BALLENTRY (SDRC_BA0 ,"h9" ,"ab21" ), -_OMAP3_BALLENTRY (SDRC_BA1 ,"h10" ,"ac21" ),_OMAP3_BALLENTRY (SDRC_CKE0 ,"h16" ,"j22" ),_OMAP3_BALLENTRY (SDRC_CKE1 ,"h17" ,"j23" ), -_OMAP3_BALLENTRY (SDRC_CLK ,"a13" ,"a11" ), -_OMAP3_BALLENTRY (SDRC_D0 ,NULL ,"j2" ), -_OMAP3_BALLENTRY (SDRC_D1 ,NULL ,"j1" ), -_OMAP3_BALLENTRY (SDRC_D10 ,"c15" ,"b14" ), -_OMAP3_BALLENTRY (SDRC_D11 ,"b16" ,"a14" ), -_OMAP3_BALLENTRY (SDRC_D12 ,"d17" ,"b16" ), -_OMAP3_BALLENTRY (SDRC_D13 ,"c17" ,"a16" ), -_OMAP3_BALLENTRY (SDRC_D14 ,"b17" ,"b19" ), -_OMAP3_BALLENTRY (SDRC_D15 ,"d18" ,"a19" ), -_OMAP3_BALLENTRY (SDRC_D16 ,NULL ,"b3" ), -_OMAP3_BALLENTRY (SDRC_D17 ,NULL ,"a3" ), -_OMAP3_BALLENTRY (SDRC_D18 ,NULL ,"b5" ), -_OMAP3_BALLENTRY (SDRC_D19 ,NULL ,"a5" ), -_OMAP3_BALLENTRY (SDRC_D2 ,NULL ,"g2" ), -_OMAP3_BALLENTRY (SDRC_D20 ,NULL ,"b8" ), -_OMAP3_BALLENTRY (SDRC_D21 ,NULL ,"a8" ), -_OMAP3_BALLENTRY (SDRC_D22 ,NULL ,"b9" ), -_OMAP3_BALLENTRY (SDRC_D23 ,NULL ,"a9" ), -_OMAP3_BALLENTRY (SDRC_D24 ,NULL ,"b21" ), -_OMAP3_BALLENTRY (SDRC_D25 ,NULL ,"a21" ), -_OMAP3_BALLENTRY (SDRC_D26 ,NULL ,"d22" ), -_OMAP3_BALLENTRY (SDRC_D27 ,NULL ,"d23" ), -_OMAP3_BALLENTRY (SDRC_D28 ,NULL ,"e22" ), -_OMAP3_BALLENTRY (SDRC_D29 ,NULL ,"e23" ), -_OMAP3_BALLENTRY (SDRC_D3 ,NULL ,"g1" ), -_OMAP3_BALLENTRY (SDRC_D30 ,NULL ,"g22" ), -_OMAP3_BALLENTRY (SDRC_D31 ,NULL ,"g23" ), -_OMAP3_BALLENTRY (SDRC_D4 ,NULL ,"f2" ), -_OMAP3_BALLENTRY (SDRC_D5 ,NULL ,"f1" ), -_OMAP3_BALLENTRY (SDRC_D6 ,NULL ,"d2" ), -_OMAP3_BALLENTRY (SDRC_D7 ,NULL ,"d1" ), -_OMAP3_BALLENTRY (SDRC_D8 ,"c14" ,"b13" ), -_OMAP3_BALLENTRY (SDRC_D9 ,"b14" ,"a13" ), -_OMAP3_BALLENTRY (SDRC_DM0 ,NULL ,"c1" ), -_OMAP3_BALLENTRY (SDRC_DM1 ,"a16" ,"a17" ), -_OMAP3_BALLENTRY (SDRC_DM2 ,NULL ,"a6" ), -_OMAP3_BALLENTRY (SDRC_DM3 ,NULL ,"a20" ), -_OMAP3_BALLENTRY (SDRC_DQS0 ,NULL ,"c2" ), -_OMAP3_BALLENTRY (SDRC_DQS1 ,"a17" ,"b17" ), -_OMAP3_BALLENTRY (SDRC_DQS2 ,NULL ,"b6" ), -_OMAP3_BALLENTRY (SDRC_DQS3 ,NULL ,"b20" ), -_OMAP3_BALLENTRY (SDRC_NCAS ,"h13" ,"l22" ), -_OMAP3_BALLENTRY (SDRC_NCLK ,"a14" ,"b11" ), -_OMAP3_BALLENTRY (SDRC_NCS0 ,"h11" ,"m22" ), -_OMAP3_BALLENTRY (SDRC_NCS1 ,"h12" ,"m23" ), -_OMAP3_BALLENTRY (SDRC_NRAS ,"h14" ,"l23" ), -_OMAP3_BALLENTRY (SDRC_NWE ,"h15" ,"k23" ),_OMAP3_BALLENTRY (SIM_CLK ,"p26" ,NULL ),_OMAP3_BALLENTRY (SIM_IO ,"p27" ,NULL ),_OMAP3_BALLENTRY (SIM_PWRCTRL ,"r27" ,NULL ),_OMAP3_BALLENTRY (SIM_RST ,"r25" ,NULL ), -_OMAP3_BALLENTRY (SYS_32K ,"ae25" ,NULL ),_OMAP3_BALLENTRY (SYS_BOOT0 ,"ah26" ,NULL ),_OMAP3_BALLENTRY (SYS_BOOT1 ,"ag26" ,NULL ), _OMAP3_BALLENTRY(SYS_BOOT2, "ae14", NULL),
Tony Lindgren
maintainerPATCH 5/11 omap4: Fix multiboot with CONFIG_PM and CONFIG_ARCH_OMAP3 selected
In reply to Tony LindgrenWe cannot use the omap34xx_sram_init(). It needs to be implemented for omap4. Otherwise we get an error and the system won't boot:
Unhandled fault: imprecise external abort (0x1406) at 0xea963e94
...
Fix this by adding a dummy omap44xx_sram_init().
--- arch/arm/plat-omap/sram.c | 16 +++++++++++++++- 1 files changed, 15 insertions(+), 1 deletions(-)
arch/arm/plat-omap/sram.c +15 -1
@@ -437,6 +437,20 @@ static inline int omap34xx_sram_init(void) }#endif +#ifdef CONFIG_ARCH_OMAP4 +int __init omap44xx_sram_init (void ) +{ +printk (KERN_ERR "FIXME: %s not implemented\n" , __func__); + +return -ENODEV ; +} +#else +static inline int omap44xx_sram_init (void ) +{ +return 0 ; +} +#endif +int __init omap_sram_init (void ) {omap_detect_sram ();
@@ -451,7 +465,7 @@ int __init omap_sram_init(void)else if (cpu_is_omap34xx ())omap34xx_sram_init ();else if (cpu_is_omap44xx ()) -omap34xx_sram_init ();/* FIXME: */ +omap44xx_sram_init ();return 0 ; }
Tony Lindgren
maintainerPATCH 6/11 omap4: Fix omap_l2_cache_init not to run for other omaps
In reply to Tony LindgrenIn multi-omap configuration all the initcalls run. To avoid bad things from happening with 44xx specific initcalls on other omaps, we need to check that the booted system is omap4 before running.
--- arch/arm/mach-omap2/board-4430sdp.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/board-4430sdp.c +3 -0
@@ -55,6 +55,9 @@ static int __init omap_l2_cache_init(void)extern void omap_smc1 (u32 fn,u32 arg);void __iomem *l2cache_base; +if (!cpu_is_omap44xx ()) +return -ENODEV ; +/* To avoid code running on other OMAPs in * multi-omap builds */
PATCH 6/11 omap4: Fix omap_l2_cache_init not to run for other omaps
Tony,
Quoted 23 lines
-----Original Message-----
From: linux-arm-kernel-bounces at lists.infradead.org [mailto:linux-arm-kernel- bounces at lists.infradead.org] On Behalf Of Tony Lindgren
Sent: Saturday, May 01, 2010 2:04 AM
To: linux-arm-kernel at lists.infradead.org
Cc: linux-omap at vger.kernel.org
Subject: [PATCH 06/11] omap4: Fixomap_l2_cache_initnot to run for other omapsIn multi-omap configuration all the initcalls run. To avoid bad things from happening with 44xx specific initcalls on other omaps, we need to check that the booted system is omap4 before running.
Signed-off-by Tony Lindgren <[email protected]>--- arch/arm/mach-omap2/board-4430sdp.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)arch/arm/mach-omap2/board-4430sdp.c +0
-0
arch/arm/mach-omap2/board-4430sdp.c static int __init omap_l2_cache_init(void) · line 60
Quoted 6 lines
arch/arm/mach-omap2/board-4430sdp.c +3
-0@@ -55,6 +55,9 @@ static int __init omap_l2_cache_init(void)extern void omap_smc1 (u32 fn,u32 arg);void __iomem *l2cache_base; +if (!cpu_is_omap44xx ()) +return -ENODEV ; +
This check is already present just 3 lines below.
Quoted 9 lines
arch/arm/mach-omap2/board-4430sdp.c +0
-0/* To avoid code running on other OMAPs in * multi-omap builds */ _______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Tony Lindgren
maintainerPATCH 6/11 omap4: Fix omap_l2_cache_init not to run for other omaps
Quoted 28 lines · Shilimkar, Santosh
Tony,
Quoted 26 lines
-----Original Message-----
From: linux-arm-kernel-bounces at lists.infradead.org [mailto:linux-arm-kernel- bounces at lists.infradead.org] On Behalf Of Tony Lindgren
Sent: Saturday, May 01, 2010 2:04 AM
To: linux-arm-kernel at lists.infradead.org
Cc: linux-omap at vger.kernel.org
Subject: [PATCH 06/11] omap4: Fixomap_l2_cache_initnot to run for other omapsIn multi-omap configuration all the initcalls run. To avoid bad things from happening with 44xx specific initcalls on other omaps, we need to check that the booted system is omap4 before running.
Signed-off-by Tony Lindgren <[email protected]>--- arch/arm/mach-omap2/board-4430sdp.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)arch/arm/mach-omap2/board-4430sdp.c +0
-0@@ -55,6 +55,9 @@ static int __init omap_l2_cache_init(void)extern void omap_smc1 (u32 fn,u32 arg);void __iomem *l2cache_base;
Quoted 5 lines
arch/arm/mach-omap2/board-4430sdp.c static int __init omap_l2_cache_init(void) · line 60
Quoted 3 lines
arch/arm/mach-omap2/board-4430sdp.c +3
-0+if (!cpu_is_omap44xx ()) +return -ENODEV ; +This check is already present just 3 lines below.
Oops. Thanks for pointing that out, dropping this patch.
Tony
Tony Lindgren
maintainerPATCH 7/11 omap2/3/4: Add new boards to omap3_defconfig
In reply to Tony LindgrenEnable 2430 omaps and the missing boards.
--- arch/arm/configs/omap3_defconfig | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
arch/arm/configs/omap3_defconfig +3 -2
@@ -264,7 +264,7 @@ CONFIG_MACH_OMAP_GENERIC=y # OMAP Core Type # CONFIG_ARCH_OMAP2420=y -# CONFIG_ARCH_OMAP2430 is not set +CONFIG_ARCH_OMAP2430=y CONFIG_ARCH_OMAP3430=y CONFIG_OMAP_PACKAGE_CBB=y CONFIG_OMAP_PACKAGE_CUS=y
@@ -276,8 +276,9 @@ CONFIG_OMAP_PACKAGE_CBP=y CONFIG_MACH_OMAP2_TUSB6010=y CONFIG_MACH_OMAP_H4=y CONFIG_MACH_OMAP_APOLLON=y -# CONFIG_MACH_OMAP_2430SDP is not set +CONFIG_MACH_OMAP_2430SDP=y CONFIG_MACH_OMAP3_BEAGLE=y +CONFIG_MACH_DEVKIT8000=y CONFIG_MACH_OMAP_LDP=y CONFIG_MACH_OVERO=y CONFIG_MACH_OMAP3EVM=y
Tony Lindgren
maintainerPATCH 8/11 omap2/3/4: Make omap3_defconfig usable on Nokia boards
In reply to Tony LindgrenThe bootloader on Nokia boards does not support updating the kernel cmdline. For the other boards, the bootloader provided cmdline will be used instead.
To mount root on n8x0, compile in also the MMC_OMAP. It seems that the best way to mount root with the new kernels on Nokia boards is to mount root on mmcblk0p2.
Note that n8x0 current has several issues booting withomap3_defconfig: The bootloader has a 2MB limit for loading kernels, so you may want to use kexec. Also ARMv6 does not currently work with ARMv7 for VFP and TLS.
--- arch/arm/configs/omap3_defconfig | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
arch/arm/configs/omap3_defconfig +2 -2
@@ -391,7 +391,7 @@ CONFIG_ALIGNMENT_TRAP=y # CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8" +CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyS2,115200" # CONFIG_XIP_KERNEL is not set CONFIG_KEXEC=y CONFIG_ATAGS_PROC=y
@@ -1687,7 +1687,7 @@ CONFIG_SDIO_UART=y # MMC/SD/SDIO Host Controller Drivers # # CONFIG_MMC_SDHCI is not set -# CONFIG_MMC_OMAP is not set +CONFIG_MMC_OMAP=y CONFIG_MMC_OMAP_HS=y # CONFIG_MMC_AT91 is not set # CONFIG_MMC_ATMELMCI is not set
Tony Lindgren
maintainerPATCH 9/11 omap2/3/4: Update PMIC options for TWL and Menelaus chips
In reply to Tony LindgrenThese are needed for mounting root on MMC on many boards. Also disable CONFIG_WATCHDOG_NOWAYOUT, that can keep the system from running with external watchdogs.
--- arch/arm/configs/omap3_defconfig | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-)
arch/arm/configs/omap3_defconfig +7 -6
@@ -1263,7 +1263,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_LIS3_I2C is not set # CONFIG_THERMAL is not set CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_NOWAYOUT=y +# CONFIG_WATCHDOG_NOWAYOUT is not set # # Watchdog Device Drivers
@@ -1292,9 +1292,9 @@ CONFIG_MFD_CORE=y # CONFIG_HTC_EGPIO is not set # CONFIG_HTC_PASIC3 is not set # CONFIG_TPS65010 is not set -# CONFIG_MENELAUS is not set +CONFIG_MENELAUS=y CONFIG_TWL4030_CORE=y -# CONFIG_TWL4030_POWER is not set +CONFIG_TWL4030_POWER=y CONFIG_TWL4030_CODEC=y # CONFIG_MFD_TMIO is not set # CONFIG_MFD_T7L66XB is not set
@@ -1313,7 +1313,7 @@ CONFIG_TWL4030_CODEC=y # CONFIG_AB4500_CORE is not set CONFIG_REGULATOR=y # CONFIG_REGULATOR_DEBUG is not set -CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set # CONFIG_REGULATOR_BQ24022 is not set
@@ -1321,8 +1321,8 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y # CONFIG_REGULATOR_MAX8660 is not set CONFIG_REGULATOR_TWL4030=y # CONFIG_REGULATOR_LP3971 is not set -# CONFIG_REGULATOR_TPS65023 is not set -# CONFIG_REGULATOR_TPS6507X is not set +CONFIG_REGULATOR_TPS65023=y +CONFIG_REGULATOR_TPS6507X=y # CONFIG_MEDIA_SUPPORT is not set #
@@ -1752,6 +1752,7 @@ CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_DRV_PCF8583 is not set # CONFIG_RTC_DRV_M41T80 is not set # CONFIG_RTC_DRV_BQ32K is not set +CONFIG_RTC_DRV_TWL92330=y CONFIG_RTC_DRV_TWL4030=y # CONFIG_RTC_DRV_S35390A is not set # CONFIG_RTC_DRV_FM3130 is not set
Tony Lindgren
maintainerPATCH 10/11 omap2/3/4: Dissable CONFIG_PM_VERBOSE in omap3_defconfig
In reply to Tony LindgrenIt's too noisy.
--- arch/arm/configs/omap3_defconfig | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/configs/omap3_defconfig +1 -1
@@ -444,7 +444,7 @@ CONFIG_BINFMT_MISC=y # CONFIG_PM=y CONFIG_PM_DEBUG=y -CONFIG_PM_VERBOSE=y +# CONFIG_PM_VERBOSE is not set CONFIG_CAN_PM_TRACE=y CONFIG_PM_SLEEP=y CONFIG_SUSPEND=y
Tony Lindgren
maintainerPATCH 11/11 omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
In reply to Tony LindgrenLooks like CONFIG_FB_OMAP prevents somehow mounting root on MMC at least on zoom3 for multi-omap. Disable CONFIG_FB until the omap FB code is fixed.
This allows booting omap3_defconfig on various omaps. Tested on 2420-n8x0, 3430-n900, 3630-zoom3 and 4430-blaze. Note that n8x0 still has issues with starting user space because of TLS and VFP.
--- arch/arm/configs/omap3_defconfig | 10 +--------- 1 files changed, 1 insertions(+), 9 deletions(-)
arch/arm/configs/omap3_defconfig +1 -9
@@ -1359,16 +1359,8 @@ CONFIG_FB_TILEBLITTING=y # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set # CONFIG_FB_BROADSHEET is not set -CONFIG_FB_OMAP=y +# CONFIG_FB_OMAP is not set CONFIG_FB_OMAP_LCD_VGA=y -# CONFIG_FB_OMAP_031M3R is not set -# CONFIG_FB_OMAP_048M3R is not set -CONFIG_FB_OMAP_079M3R=y -# CONFIG_FB_OMAP_092M9R is not set -# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set -# CONFIG_FB_OMAP_LCD_MIPID is not set -# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set -CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2 # CONFIG_OMAP2_DSS is not set CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_LCD_CLASS_DEVICE=y
Tony Lindgren
maintainerPATCH 11/11 omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
Quoted 3 lines · Tony Lindgren
Looks like
CONFIG_FB_OMAPprevents somehow mounting root on MMC at least on zoom3 for multi-omap. DisableCONFIG_FBuntil the omap FB code is fixed.
This one I'll drop as soon as the problem is sorted out with CONFIG_FB_OMAP.
Tony
Tony Lindgren
maintainerPATCH 11/11 omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
Quoted 7 lines · Tony Lindgren
Quoted 3 lines · Tony Lindgren
Looks like
CONFIG_FB_OMAPprevents somehow mounting root on MMC at least on zoom3 for multi-omap. DisableCONFIG_FBuntil the omap FB code is fixed.This one I'll drop as soon as the problem is sorted out with
CONFIG_FB_OMAP.
This one seems to be something under drivers/video/omap, so I'll change CONFIG_FB_OMAP to be a module now. Updated patch below.
I'll update omap for-next accordingly, then Tomi can figure it out :)
Regards,
Tony
PATCH 11/11 omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
Hi,
Quoted 9 lines · ext Tony Lindgren
Quoted 7 lines · Tony Lindgren
Quoted 3 lines · Tony Lindgren
Looks like
CONFIG_FB_OMAPprevents somehow mounting root on MMC at least on zoom3 for multi-omap. DisableCONFIG_FBuntil the omap FB code is fixed.This one I'll drop as soon as the problem is sorted out with
CONFIG_FB_OMAP.
Quoted 6 lines
This one seems to be something under
drivers/video/omap, so I'll changeCONFIG_FB_OMAPto be a module now. Updated patch below.I'll update omap for-next accordingly, then Tomi can figure it out :)
This sounds... interesting... =) Any more info on what happens? Does it also affect new omapfb driver?
Tomi
Tony Lindgren
maintainerPATCH 11/11 omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
Quoted 16 lines · Tomi Valkeinen
Hi,
Quoted 13 lines · ext Tony Lindgren
Quoted 7 lines · Tony Lindgren
Quoted 3 lines · Tony Lindgren
Looks like
CONFIG_FB_OMAPprevents somehow mounting root on MMC at least on zoom3 for multi-omap. DisableCONFIG_FBuntil the omap FB code is fixed.This one I'll drop as soon as the problem is sorted out with
CONFIG_FB_OMAP.This one seems to be something under
drivers/video/omap, so I'll changeCONFIG_FB_OMAPto be a module now. Updated patch below.
Quoted 5 lines
Quoted 2 lines
I'll update omap for-next accordingly, then Tomi can figure it out :)
This sounds... interesting... =) Any more info on what happens? Does it also affect new omapfb driver?
Yeah this is interesting, it seems like the kernel cmdline gets somehow corrupted for zoom3 with the omap3_defconfig if CONFIG_FB_OMAP=y. Some options seem to be there, but for example rootwait option is ignored and the root on MMC never mounts. This is in the current omap for-next branch.
Hmm, what do you mean with "new omapfb" driver, the stuff you have queued up?
Regards,
Tony
PATCH 11/11 omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
Quoted 20 lines · ext Tony Lindgren
Quoted 19 lines · Tomi Valkeinen
Hi,
Quoted 15 lines · ext Tony Lindgren
Quoted 7 lines · Tony Lindgren
Quoted 3 lines · Tony Lindgren
Looks like
CONFIG_FB_OMAPprevents somehow mounting root on MMC at least on zoom3 for multi-omap. DisableCONFIG_FBuntil the omap FB code is fixed.This one I'll drop as soon as the problem is sorted out with
CONFIG_FB_OMAP.This one seems to be something under
drivers/video/omap, so I'll changeCONFIG_FB_OMAPto be a module now. Updated patch below.I'll update omap for-next accordingly, then Tomi can figure it out :)
Quoted 8 lines
Quoted 2 lines
This sounds... interesting... =) Any more info on what happens? Does it also affect new omapfb driver?
Yeah this is interesting, it seems like the kernel cmdline gets somehow corrupted for zoom3 with the
omap3_defconfigifCONFIG_FB_OMAP=y. Some options seem to be there, but for example rootwait option is ignored and the root on MMC never mounts. This is in the current omap for-next branch.
Ok, so the cmdline parsing in omapfb could be broken. I'll check it out.
Quoted 2 lines
Hmm, what do you mean with "new omapfb" driver, the stuff you have queued up?
No, I mean the DSS2 version. drivers/video/omap is the old one, written mostly by Imre, and drivers/video/omap2 is the new one, written mostly by me.
I guess most boards are still using the old omapfb driver.
Tomi
Tony Lindgren
maintainerPATCH 11/11 omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
Quoted 24 lines · Tomi Valkeinen
Quoted 23 lines · ext Tony Lindgren
Quoted 21 lines · Tomi Valkeinen
Hi,
Quoted 9 lines · ext Tony Lindgren
Quoted 7 lines · Tony Lindgren
Quoted 3 lines · Tony Lindgren
Looks like
CONFIG_FB_OMAPprevents somehow mounting root on MMC at least on zoom3 for multi-omap. DisableCONFIG_FBuntil the omap FB code is fixed.This one I'll drop as soon as the problem is sorted out with
CONFIG_FB_OMAP.Quoted 6 lines
This one seems to be something under
drivers/video/omap, so I'll changeCONFIG_FB_OMAPto be a module now. Updated patch below.I'll update omap for-next accordingly, then Tomi can figure it out :)
This sounds... interesting... =) Any more info on what happens? Does it also affect new omapfb driver?
Quoted 7 lines
Quoted 5 lines
Yeah this is interesting, it seems like the kernel cmdline gets somehow corrupted for zoom3 with the
omap3_defconfigifCONFIG_FB_OMAP=y. Some options seem to be there, but for example rootwait option is ignored and the root on MMC never mounts. This is in the current omap for-next branch.Ok, so the cmdline parsing in omapfb could be broken. I'll check it out.
OK thanks. Hmm, it could be that it works on n8x0 and n900 because they are using the kernel built in cmdline.
Quoted 8 lines
Quoted 2 lines
Hmm, what do you mean with "new omapfb" driver, the stuff you have queued up?
No, I mean the DSS2 version.
drivers/video/omapis the old one, written mostly by Imre, anddrivers/video/omap2is the new one, written mostly by me.I guess most boards are still using the old omapfb driver.
Ah I see, it does not have CONFIG_FB_OMAP2 set. I did a quick test with that and the bootloader passed cmdline on zoom3 works just fine. I used the options below.
Nothing on the LCD panel on zoom or n900 though, I guess some updates are still needed for that.
Regards,
Tony
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fb-omap2.patch
Type: text/x-diff
Size: 1388 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100504/cf575178/attachment.bin>
Old DSS code broken as module (was "RE: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig")
In reply to Tony LindgrenTony,
Quoted 9 lines
-----Original Message-----
From: linux-omap-owner at vger.kernel.org [mailto:linux-omap- owner at vger.kernel.org] On Behalf Of Tony Lindgren
Sent: Friday, April 30, 2010 3:34 PM
To: linux-arm-kernel at lists.infradead.org
Cc: linux-omap at vger.kernel.org
Subject: [PATCH 11/11] omap2/3/4: DisableCONFIG_FB_OMAPinomap3_defconfig
Quoted 8 lines
Looks like
CONFIG_FB_OMAPprevents somehow mounting root on MMC at least on zoom3 for multi-omap. DisableCONFIG_FBuntil the omap FB code is fixed.This allows booting
omap3_defconfigon various omaps. Tested on 2420-n8x0, 3430-n900, 3630-zoom3 and 4430-blaze. Note that n8x0 still has issues with starting user space because of TLS and VFP.
(Looping Tomi)
Unfortunately, your patch is uncovering an issue with old DSS code to compile it as module, which I think is caused by this:
A single omapfb.ko is attempted to be created in drivers/video/omap/ folder, but the included source files (DSS code + lcd drivers), results in multiple module_init entries added in a single module, and therefore giving errors of duplicate init_module entries between omapfb_main.c and the lcd_*.c files.
So, either you disable old DSS driver completely, or you have it as built-in.
Regards,
Sergio
Tony Lindgren
maintainerOld DSS code broken as module (was "RE: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig")
Quoted 25 lines · Aguirre, Sergio
Tony,
Quoted 9 lines
-----Original Message-----
From: linux-omap-owner at vger.kernel.org [mailto:linux-omap- owner at vger.kernel.org] On Behalf Of Tony Lindgren
Sent: Friday, April 30, 2010 3:34 PM
To: linux-arm-kernel at lists.infradead.org
Cc: linux-omap at vger.kernel.org
Subject: [PATCH 11/11] omap2/3/4: DisableCONFIG_FB_OMAPinomap3_defconfigQuoted 8 lines
Looks like
CONFIG_FB_OMAPprevents somehow mounting root on MMC at least on zoom3 for multi-omap. DisableCONFIG_FBuntil the omap FB code is fixed.This allows booting
omap3_defconfigon various omaps. Tested on 2420-n8x0, 3430-n900, 3630-zoom3 and 4430-blaze. Note that n8x0 still has issues with starting user space because of TLS and VFP.(Looping Tomi)
Unfortunately, your patch is uncovering an issue with old DSS code to compile it as module, which I think is caused by this:
Quoted 7 lines
A single omapfb.ko is attempted to be created in
drivers/video/omap/folder, but the included source files (DSS code + lcd drivers), results in multiplemodule_initentries added in a single module, and therefore giving errors of duplicateinit_moduleentries betweenomapfb_main.cand the lcd_*.c files.So, either you disable old DSS driver completely, or you have it as built-in.
OK thanks for pointing that out. I'll disable it so we have a booting omap3_defconfig (with the modules compiling).
Regards,
Tony
Old DSS code broken as module (was "RE: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig")
From: Tony Lindgren [mailto:tony at atomide.com]
Sent: Wednesday, May 05, 2010 12:44 PM
Quoted 32 lines · Aguirre, Sergio
Quoted 20 lines
Tony,
Quoted 9 lines
-----Original Message-----
From: linux-omap-owner at vger.kernel.org [mailto:linux-omap- owner at vger.kernel.org] On Behalf Of Tony Lindgren
Sent: Friday, April 30, 2010 3:34 PM
To: linux-arm-kernel at lists.infradead.org
Cc: linux-omap at vger.kernel.org
Subject: [PATCH 11/11] omap2/3/4: DisableCONFIG_FB_OMAPinomap3_defconfigQuoted 8 lines
Looks like
CONFIG_FB_OMAPprevents somehow mounting root on MMC at least on zoom3 for multi-omap. DisableCONFIG_FBuntil the omap FB code is fixed.This allows booting
omap3_defconfigon various omaps. Tested on 2420-n8x0, 3430-n900, 3630-zoom3 and 4430-blaze. Note that n8x0 still has issues with starting user space because of TLS and VFP.Quoted 6 lines
(Looping Tomi)
Unfortunately, your patch is uncovering an issue with old DSS code to compile it as module, which I think is caused by this:
A single omapfb.ko is attempted to be created in
drivers/video/omap/folder,
Quoted 1 line
but the included source files (DSS code + lcd drivers), results in
multiple
Quoted 1 line
module_initentries added in a single module, and therefore givingerrors of
Quoted 8 lines
Quoted 1 line
duplicate
init_moduleentries betweenomapfb_main.cand the lcd_*.cfiles.
Quoted 3 lines
So, either you disable old DSS driver completely, or you have it as built-in.
OK thanks for pointing that out. I'll disable it so we have a booting
omap3_defconfig(with the modules compiling).
In my local tree, I just have created this simple change, which could be reverted IF old DSS is intended to be used as a module in the future.
I don't know how acceptable is to have it officially applied though.
Regards,
Sergio
Quoted 4 lines
Regards,
Tony
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-omapfb-Remove-tristate-option-in-Kconfig.patch
Type: application/octet-stream
Size: 836 bytes
Desc: 0001-omapfb-Remove-tristate-option-in-Kconfig.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100505/36154020/attachment.obj>
Old DSS code broken as module (was "RE: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig")
In reply to Aguirre, SergioQuoted 25 lines · Sergio
Tony,
Quoted 9 lines
-----Original Message-----
From: linux-omap-owner at vger.kernel.org [mailto:linux-omap- owner at vger.kernel.org] On Behalf Of Tony Lindgren
Sent: Friday, April 30, 2010 3:34 PM
To: linux-arm-kernel at lists.infradead.org
Cc: linux-omap at vger.kernel.org
Subject: [PATCH 11/11] omap2/3/4: DisableCONFIG_FB_OMAPinomap3_defconfigQuoted 8 lines
Looks like
CONFIG_FB_OMAPprevents somehow mounting root on MMC at least on zoom3 for multi-omap. DisableCONFIG_FBuntil the omap FB code is fixed.This allows booting
omap3_defconfigon various omaps. Tested on 2420-n8x0, 3430-n900, 3630-zoom3 and 4430-blaze. Note that n8x0 still has issues with starting user space because of TLS and VFP.(Looping Tomi)
Unfortunately, your patch is uncovering an issue with old DSS code to compile it as module, which I think is caused by this:
Quoted 7 lines
A single omapfb.ko is attempted to be created in
drivers/video/omap/folder, but the included source files (DSS code + lcd drivers), results in multiplemodule_initentries added in a single module, and therefore giving errors of duplicateinit_moduleentries betweenomapfb_main.cand the lcd_*.c files.So, either you disable old DSS driver completely, or you have it as built-in.
Ah, yes. I'm not sure if the older omapfb was ever really designed to be used as module... If this is the problem, then my suggestion is to either use it built-in, or use the new DSS2 which works well as modules.
I guess the option to compile the older omapfb as a module should be removed? Or if some brave soul wants to start fixing omapfb, that's ok too =).
Tomi