All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] omap2/3/4: Multi-omap updates to boot test with omap3_defconfig
@ 2010-04-30 20:33 ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap

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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 00/11] omap2/3/4: Multi-omap updates to boot test with omap3_defconfig
@ 2010-04-30 20:33 ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 01/11] omap2/3/4: Fix multi.h when omap3 and omap4 are selected without omap2
  2010-04-30 20:33 ` Tony Lindgren
@ 2010-04-30 20:33   ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap

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.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/plat-omap/include/plat/multi.h |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/arch/arm/plat-omap/include/plat/multi.h b/arch/arm/plat-omap/include/plat/multi.h
index f235d32..ffd909f 100644
--- a/arch/arm/plat-omap/include/plat/multi.h
+++ b/arch/arm/plat-omap/include/plat/multi.h
@@ -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
 


^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 01/11] omap2/3/4: Fix multi.h when omap3 and omap4 are selected without omap2
@ 2010-04-30 20:33   ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel

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.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/plat-omap/include/plat/multi.h |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/arch/arm/plat-omap/include/plat/multi.h b/arch/arm/plat-omap/include/plat/multi.h
index f235d32..ffd909f 100644
--- a/arch/arm/plat-omap/include/plat/multi.h
+++ b/arch/arm/plat-omap/include/plat/multi.h
@@ -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
 

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-04-30 20:33 ` Tony Lindgren
@ 2010-04-30 20:33   ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: Vikram Pandita, linux-omap, Allen Pais

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>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 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(-)

diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index eb62bf9..fd870e1 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -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)
diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c
index e15d2e8..1d7f827 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)
 
 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,
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S
index 4a63a2e..231ea27 100644
--- a/arch/arm/mach-omap2/include/mach/debug-macro.S
+++ b/arch/arm/mach-omap2/include/mach/debug-macro.S
@@ -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)
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 87f676a..3cfb425 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 = {
 		.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
diff --git a/arch/arm/plat-omap/include/plat/serial.h b/arch/arm/plat-omap/include/plat/serial.h
index 83dce4c..9ec7eab 100644
--- a/arch/arm/plat-omap/include/plat/serial.h
+++ b/arch/arm/plat-omap/include/plat/serial.h
@@ -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


^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-04-30 20:33   ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel

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>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 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(-)

diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index eb62bf9..fd870e1 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -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)
diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c
index e15d2e8..1d7f827 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)
 
 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,
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S
index 4a63a2e..231ea27 100644
--- a/arch/arm/mach-omap2/include/mach/debug-macro.S
+++ b/arch/arm/mach-omap2/include/mach/debug-macro.S
@@ -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)
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 87f676a..3cfb425 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 = {
 		.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
diff --git a/arch/arm/plat-omap/include/plat/serial.h b/arch/arm/plat-omap/include/plat/serial.h
index 83dce4c..9ec7eab 100644
--- a/arch/arm/plat-omap/include/plat/serial.h
+++ b/arch/arm/plat-omap/include/plat/serial.h
@@ -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

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 03/11] omap3: Fix compile for board-cm-t35
  2010-04-30 20:33 ` Tony Lindgren
@ 2010-04-30 20:33   ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap

Otherwise we can get the following error:

error: variable 'tdo24m_mcspi_config' has initializer but incomplete type
...

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/board-cm-t35.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 2de4f79..e679a2c 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -45,6 +45,7 @@
 #include <plat/gpmc.h>
 #include <plat/usb.h>
 #include <plat/display.h>
+#include <plat/mcspi.h>
 
 #include <mach/hardware.h>
 


^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 03/11] omap3: Fix compile for board-cm-t35
@ 2010-04-30 20:33   ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel

Otherwise we can get the following error:

error: variable 'tdo24m_mcspi_config' has initializer but incomplete type
...

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/board-cm-t35.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 2de4f79..e679a2c 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -45,6 +45,7 @@
 #include <plat/gpmc.h>
 #include <plat/usb.h>
 #include <plat/display.h>
+#include <plat/mcspi.h>
 
 #include <mach/hardware.h>
 

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 04/11] omap3: Remove non-muxable ball entries for 3630
  2010-04-30 20:33 ` Tony Lindgren
@ 2010-04-30 20:33   ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap

These 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
...

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/mux34xx.c |   86 -----------------------------------------
 1 files changed, 0 insertions(+), 86 deletions(-)

diff --git a/arch/arm/mach-omap2/mux34xx.c b/arch/arm/mach-omap2/mux34xx.c
index 07aa7b3..2ff4dce 100644
--- a/arch/arm/mach-omap2/mux34xx.c
+++ b/arch/arm/mach-omap2/mux34xx.c
@@ -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),


^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 04/11] omap3: Remove non-muxable ball entries for 3630
@ 2010-04-30 20:33   ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel

These 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
...

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/mux34xx.c |   86 -----------------------------------------
 1 files changed, 0 insertions(+), 86 deletions(-)

diff --git a/arch/arm/mach-omap2/mux34xx.c b/arch/arm/mach-omap2/mux34xx.c
index 07aa7b3..2ff4dce 100644
--- a/arch/arm/mach-omap2/mux34xx.c
+++ b/arch/arm/mach-omap2/mux34xx.c
@@ -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),

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 05/11] omap4: Fix multiboot with CONFIG_PM and CONFIG_ARCH_OMAP3 selected
  2010-04-30 20:33 ` Tony Lindgren
@ 2010-04-30 20:33   ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap

We 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().

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/plat-omap/sram.c |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c
index 51f4dfb..226b2e8 100644
--- a/arch/arm/plat-omap/sram.c
+++ b/arch/arm/plat-omap/sram.c
@@ -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;
 }


^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 05/11] omap4: Fix multiboot with CONFIG_PM and CONFIG_ARCH_OMAP3 selected
@ 2010-04-30 20:33   ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel

We 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().

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/plat-omap/sram.c |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c
index 51f4dfb..226b2e8 100644
--- a/arch/arm/plat-omap/sram.c
+++ b/arch/arm/plat-omap/sram.c
@@ -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;
 }

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 06/11] omap4: Fix omap_l2_cache_init not to run for other omaps
  2010-04-30 20:33 ` Tony Lindgren
@ 2010-04-30 20:33   ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap

In 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 <tony@atomide.com>
---
 arch/arm/mach-omap2/board-4430sdp.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index b88f28c..e603b00 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -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
 	 */


^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 06/11] omap4: Fix omap_l2_cache_init not to run for other omaps
@ 2010-04-30 20:33   ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:33 UTC (permalink / raw)
  To: linux-arm-kernel

In 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 <tony@atomide.com>
---
 arch/arm/mach-omap2/board-4430sdp.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index b88f28c..e603b00 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -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
 	 */

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 07/11] omap2/3/4: Add new boards to omap3_defconfig
  2010-04-30 20:33 ` Tony Lindgren
@ 2010-04-30 20:34   ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:34 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap

Enable 2430 omaps and the missing boards.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/configs/omap3_defconfig |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig
index d6ad921..01e5986 100644
--- a/arch/arm/configs/omap3_defconfig
+++ b/arch/arm/configs/omap3_defconfig
@@ -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


^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 07/11] omap2/3/4: Add new boards to omap3_defconfig
@ 2010-04-30 20:34   ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:34 UTC (permalink / raw)
  To: linux-arm-kernel

Enable 2430 omaps and the missing boards.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/configs/omap3_defconfig |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig
index d6ad921..01e5986 100644
--- a/arch/arm/configs/omap3_defconfig
+++ b/arch/arm/configs/omap3_defconfig
@@ -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

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 08/11] omap2/3/4: Make omap3_defconfig usable on Nokia boards
  2010-04-30 20:33 ` Tony Lindgren
@ 2010-04-30 20:34   ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:34 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap

The 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 with
omap3_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.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/configs/omap3_defconfig |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig
index 01e5986..d2ab492 100644
--- a/arch/arm/configs/omap3_defconfig
+++ b/arch/arm/configs/omap3_defconfig
@@ -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


^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 08/11] omap2/3/4: Make omap3_defconfig usable on Nokia boards
@ 2010-04-30 20:34   ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:34 UTC (permalink / raw)
  To: linux-arm-kernel

The 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 with
omap3_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.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/configs/omap3_defconfig |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig
index 01e5986..d2ab492 100644
--- a/arch/arm/configs/omap3_defconfig
+++ b/arch/arm/configs/omap3_defconfig
@@ -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

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 09/11] omap2/3/4: Update PMIC options for TWL and Menelaus chips
  2010-04-30 20:33 ` Tony Lindgren
@ 2010-04-30 20:34   ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:34 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap

These 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.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/configs/omap3_defconfig |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig
index d2ab492..a846836 100644
--- a/arch/arm/configs/omap3_defconfig
+++ b/arch/arm/configs/omap3_defconfig
@@ -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


^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 09/11] omap2/3/4: Update PMIC options for TWL and Menelaus chips
@ 2010-04-30 20:34   ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:34 UTC (permalink / raw)
  To: linux-arm-kernel

These 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.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/configs/omap3_defconfig |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig
index d2ab492..a846836 100644
--- a/arch/arm/configs/omap3_defconfig
+++ b/arch/arm/configs/omap3_defconfig
@@ -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

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 10/11] omap2/3/4: Dissable CONFIG_PM_VERBOSE in omap3_defconfig
  2010-04-30 20:33 ` Tony Lindgren
@ 2010-04-30 20:34   ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:34 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap

It's too noisy.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/configs/omap3_defconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig
index a846836..7855edb 100644
--- a/arch/arm/configs/omap3_defconfig
+++ b/arch/arm/configs/omap3_defconfig
@@ -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


^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 10/11] omap2/3/4: Dissable CONFIG_PM_VERBOSE in omap3_defconfig
@ 2010-04-30 20:34   ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:34 UTC (permalink / raw)
  To: linux-arm-kernel

It's too noisy.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/configs/omap3_defconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig
index a846836..7855edb 100644
--- a/arch/arm/configs/omap3_defconfig
+++ b/arch/arm/configs/omap3_defconfig
@@ -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

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
  2010-04-30 20:33 ` Tony Lindgren
@ 2010-04-30 20:34   ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:34 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap

Looks 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.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/configs/omap3_defconfig |   10 +---------
 1 files changed, 1 insertions(+), 9 deletions(-)

diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig
index 7855edb..1efb833 100644
--- a/arch/arm/configs/omap3_defconfig
+++ b/arch/arm/configs/omap3_defconfig
@@ -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


^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
@ 2010-04-30 20:34   ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:34 UTC (permalink / raw)
  To: linux-arm-kernel

Looks 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.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/configs/omap3_defconfig |   10 +---------
 1 files changed, 1 insertions(+), 9 deletions(-)

diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig
index 7855edb..1efb833 100644
--- a/arch/arm/configs/omap3_defconfig
+++ b/arch/arm/configs/omap3_defconfig
@@ -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

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* Re: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
  2010-04-30 20:34   ` Tony Lindgren
@ 2010-04-30 20:50     ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:50 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap

* Tony Lindgren <tony@atomide.com> [100430 13:32]:
> Looks 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 one I'll drop as soon as the problem is sorted out with
CONFIG_FB_OMAP.

Tony

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
@ 2010-04-30 20:50     ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 20:50 UTC (permalink / raw)
  To: linux-arm-kernel

* Tony Lindgren <tony@atomide.com> [100430 13:32]:
> Looks 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 one I'll drop as soon as the problem is sorted out with
CONFIG_FB_OMAP.

Tony

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-04-30 20:33   ` Tony Lindgren
@ 2010-04-30 20:55     ` Kevin Hilman
  -1 siblings, 0 replies; 80+ messages in thread
From: Kevin Hilman @ 2010-04-30 20:55 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-arm-kernel, Vikram Pandita, linux-omap, Allen Pais

Tony Lindgren <tony@atomide.com> writes:

> 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>
> Cc: Vikram Pandita <vikram.pandita@ti.com>
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
>  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(-)
>
> diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
> index eb62bf9..fd870e1 100644
> --- a/arch/arm/kernel/head.S
> +++ b/arch/arm/kernel/head.S
> @@ -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

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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-04-30 20:55     ` Kevin Hilman
  0 siblings, 0 replies; 80+ messages in thread
From: Kevin Hilman @ 2010-04-30 20:55 UTC (permalink / raw)
  To: linux-arm-kernel

Tony Lindgren <tony@atomide.com> writes:

> 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>
> Cc: Vikram Pandita <vikram.pandita@ti.com>
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
>  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(-)
>
> diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
> index eb62bf9..fd870e1 100644
> --- a/arch/arm/kernel/head.S
> +++ b/arch/arm/kernel/head.S
> @@ -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

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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-04-30 20:55     ` Kevin Hilman
@ 2010-04-30 21:02       ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 21:02 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: linux-arm-kernel, Vikram Pandita, linux-omap, Allen Pais

* Kevin Hilman <khilman@deeprootsystems.com> [100430 13:50]:
> Tony Lindgren <tony@atomide.com> writes:
> 
> > 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>
> > Cc: Vikram Pandita <vikram.pandita@ti.com>
> > Signed-off-by: Tony Lindgren <tony@atomide.com>
> > ---
> >  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(-)
> >
> > diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
> > index eb62bf9..fd870e1 100644
> > --- a/arch/arm/kernel/head.S
> > +++ b/arch/arm/kernel/head.S
> > @@ -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
> 
> 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

That mapping does not cover the GPMC area where this UART is.

Tony

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-04-30 21:02       ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 21:02 UTC (permalink / raw)
  To: linux-arm-kernel

* Kevin Hilman <khilman@deeprootsystems.com> [100430 13:50]:
> Tony Lindgren <tony@atomide.com> writes:
> 
> > 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>
> > Cc: Vikram Pandita <vikram.pandita@ti.com>
> > Signed-off-by: Tony Lindgren <tony@atomide.com>
> > ---
> >  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(-)
> >
> > diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
> > index eb62bf9..fd870e1 100644
> > --- a/arch/arm/kernel/head.S
> > +++ b/arch/arm/kernel/head.S
> > @@ -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
> 
> 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

That mapping does not cover the GPMC area where this UART is.

Tony

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-04-30 21:02       ` Tony Lindgren
@ 2010-04-30 21:20         ` Kevin Hilman
  -1 siblings, 0 replies; 80+ messages in thread
From: Kevin Hilman @ 2010-04-30 21:20 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-arm-kernel, Vikram Pandita, linux-omap, Allen Pais

Tony Lindgren <tony@atomide.com> writes:

> * Kevin Hilman <khilman@deeprootsystems.com> [100430 13:50]:
>> Tony Lindgren <tony@atomide.com> writes:
>> 
>> > 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>
>> > Cc: Vikram Pandita <vikram.pandita@ti.com>
>> > Signed-off-by: Tony Lindgren <tony@atomide.com>
>> > ---
>> >  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(-)
>> >
>> > diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
>> > index eb62bf9..fd870e1 100644
>> > --- a/arch/arm/kernel/head.S
>> > +++ b/arch/arm/kernel/head.S
>> > @@ -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
>> 
>> 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
>
> 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



^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-04-30 21:20         ` Kevin Hilman
  0 siblings, 0 replies; 80+ messages in thread
From: Kevin Hilman @ 2010-04-30 21:20 UTC (permalink / raw)
  To: linux-arm-kernel

Tony Lindgren <tony@atomide.com> writes:

> * Kevin Hilman <khilman@deeprootsystems.com> [100430 13:50]:
>> Tony Lindgren <tony@atomide.com> writes:
>> 
>> > 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>
>> > Cc: Vikram Pandita <vikram.pandita@ti.com>
>> > Signed-off-by: Tony Lindgren <tony@atomide.com>
>> > ---
>> >  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(-)
>> >
>> > diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
>> > index eb62bf9..fd870e1 100644
>> > --- a/arch/arm/kernel/head.S
>> > +++ b/arch/arm/kernel/head.S
>> > @@ -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
>> 
>> 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
>
> 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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* RE: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-04-30 21:20         ` Kevin Hilman
@ 2010-04-30 21:37           ` Pandita, Vikram
  -1 siblings, 0 replies; 80+ messages in thread
From: Pandita, Vikram @ 2010-04-30 21:37 UTC (permalink / raw)
  To: Kevin Hilman, Tony Lindgren; +Cc: linux-arm-kernel, linux-omap, Pais, Allen



>-----Original Message-----
>From: Kevin Hilman [mailto:khilman@deeprootsystems.com]
>Sent: Friday, April 30, 2010 4:21 PM
>To: Tony Lindgren
>Cc: linux-arm-kernel@lists.infradead.org; Pandita, Vikram; linux-
>omap@vger.kernel.org; Pais, Allen
>Subject: Re: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
>
>Tony Lindgren <tony@atomide.com> writes:
>
>> * Kevin Hilman <khilman@deeprootsystems.com> [100430 13:50]:
>>> Tony Lindgren <tony@atomide.com> writes:
>>>
>>> > 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>
>>> > Cc: Vikram Pandita <vikram.pandita@ti.com>
>>> > Signed-off-by: Tony Lindgren <tony@atomide.com>
>>> > ---
>>> >  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(-)
>>> >
>>> > diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
>>> > index eb62bf9..fd870e1 100644
>>> > --- a/arch/arm/kernel/head.S
>>> > +++ b/arch/arm/kernel/head.S
>>> > @@ -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
>>>
>>> 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
>>
>> 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.

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.

>
>Kevin
>


^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-04-30 21:37           ` Pandita, Vikram
  0 siblings, 0 replies; 80+ messages in thread
From: Pandita, Vikram @ 2010-04-30 21:37 UTC (permalink / raw)
  To: linux-arm-kernel



>-----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: Fix DEBUG_LL for omap zoom2/3
>
>Tony Lindgren <tony@atomide.com> writes:
>
>> * Kevin Hilman <khilman@deeprootsystems.com> [100430 13:50]:
>>> Tony Lindgren <tony@atomide.com> writes:
>>>
>>> > 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>
>>> > Cc: Vikram Pandita <vikram.pandita@ti.com>
>>> > Signed-off-by: Tony Lindgren <tony@atomide.com>
>>> > ---
>>> >  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(-)
>>> >
>>> > diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
>>> > index eb62bf9..fd870e1 100644
>>> > --- a/arch/arm/kernel/head.S
>>> > +++ b/arch/arm/kernel/head.S
>>> > @@ -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
>>>
>>> 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
>>
>> 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.

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.

>
>Kevin
>

^ permalink raw reply	[flat|nested] 80+ messages in thread

* RE: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-04-30 21:37           ` Pandita, Vikram
@ 2010-04-30 21:53             ` Pandita, Vikram
  -1 siblings, 0 replies; 80+ messages in thread
From: Pandita, Vikram @ 2010-04-30 21:53 UTC (permalink / raw)
  To: Pandita, Vikram, Kevin Hilman, Tony Lindgren
  Cc: linux-arm-kernel, linux-omap, Pais, Allen



>-----Original Message-----
>From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
>owner@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@lists.infradead.org; linux-omap@vger.kernel.org; Pais,
>Allen
>Subject: RE: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
>
>
>
>>-----Original Message-----
>>From: Kevin Hilman [mailto:khilman@deeprootsystems.com]
>>Sent: Friday, April 30, 2010 4:21 PM
>>To: Tony Lindgren
>>Cc: linux-arm-kernel@lists.infradead.org; Pandita, Vikram; linux-
>>omap@vger.kernel.org; Pais, Allen
>>Subject: Re: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
>>
>>Tony Lindgren <tony@atomide.com> writes:
>>
>>> * Kevin Hilman <khilman@deeprootsystems.com> [100430 13:50]:
>>>> Tony Lindgren <tony@atomide.com> writes:
>>>>
>>>> > 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>
>>>> > Cc: Vikram Pandita <vikram.pandita@ti.com>
>>>> > Signed-off-by: Tony Lindgren <tony@atomide.com>
>>>> > ---
>>>> >  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(-)
>>>> >
>>>> > diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
>>>> > index eb62bf9..fd870e1 100644
>>>> > --- a/arch/arm/kernel/head.S
>>>> > +++ b/arch/arm/kernel/head.S
>>>> > @@ -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
>>>>
>>>> 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
>>>
>>> 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.
>
>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.

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>

>
>>
>>Kevin
>>
>
>--
>To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-04-30 21:53             ` Pandita, Vikram
  0 siblings, 0 replies; 80+ messages in thread
From: Pandita, Vikram @ 2010-04-30 21:53 UTC (permalink / raw)
  To: linux-arm-kernel



>-----Original Message-----
From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
>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: Fix DEBUG_LL for omap zoom2/3
>
>
>
>>-----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: Fix DEBUG_LL for omap zoom2/3
>>
>>Tony Lindgren <tony@atomide.com> writes:
>>
>>> * Kevin Hilman <khilman@deeprootsystems.com> [100430 13:50]:
>>>> Tony Lindgren <tony@atomide.com> writes:
>>>>
>>>> > 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>
>>>> > Cc: Vikram Pandita <vikram.pandita@ti.com>
>>>> > Signed-off-by: Tony Lindgren <tony@atomide.com>
>>>> > ---
>>>> >  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(-)
>>>> >
>>>> > diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
>>>> > index eb62bf9..fd870e1 100644
>>>> > --- a/arch/arm/kernel/head.S
>>>> > +++ b/arch/arm/kernel/head.S
>>>> > @@ -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
>>>>
>>>> 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
>>>
>>> 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.
>
>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.

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>

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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-04-30 21:37           ` Pandita, Vikram
@ 2010-04-30 22:00             ` Kevin Hilman
  -1 siblings, 0 replies; 80+ messages in thread
From: Kevin Hilman @ 2010-04-30 22:00 UTC (permalink / raw)
  To: Pandita, Vikram; +Cc: Tony Lindgren, linux-arm-kernel, linux-omap, Pais, Allen

"Pandita, Vikram" <vikram.pandita@ti.com> writes:

[...]

>>>> > --- a/arch/arm/kernel/head.S
>>>> > +++ b/arch/arm/kernel/head.S
>>>> > @@ -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
>>>>
>>>> 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
>>>
>>> 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.
>
> 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.

Ah, yet another reason to use a memory location instead of UART1 SCR
to pass the UART info (c.f. [1])

Kevin

[1] http://marc.info/?l=linux-omap&m=127266219130713&w=2

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-04-30 22:00             ` Kevin Hilman
  0 siblings, 0 replies; 80+ messages in thread
From: Kevin Hilman @ 2010-04-30 22:00 UTC (permalink / raw)
  To: linux-arm-kernel

"Pandita, Vikram" <vikram.pandita@ti.com> writes:

[...]

>>>> > --- a/arch/arm/kernel/head.S
>>>> > +++ b/arch/arm/kernel/head.S
>>>> > @@ -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
>>>>
>>>> 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
>>>
>>> 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.
>
> 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.

Ah, yet another reason to use a memory location instead of UART1 SCR
to pass the UART info (c.f. [1])

Kevin

[1] http://marc.info/?l=linux-omap&m=127266219130713&w=2

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-04-30 22:00             ` Kevin Hilman
@ 2010-04-30 23:30               ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 23:30 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: Pandita, Vikram, linux-arm-kernel, linux-omap, Pais, Allen

* Kevin Hilman <khilman@deeprootsystems.com> [100430 14:56]:
> "Pandita, Vikram" <vikram.pandita@ti.com> writes:
> 
> [...]
> 
> >>>> > --- a/arch/arm/kernel/head.S
> >>>> > +++ b/arch/arm/kernel/head.S
> >>>> > @@ -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
> >>>>
> >>>> 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
> >>>
> >>> 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.
> >
> > 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.
> 
> 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

 
> Kevin
> 
> [1] http://marc.info/?l=linux-omap&m=127266219130713&w=2

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-04-30 23:30               ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-04-30 23:30 UTC (permalink / raw)
  To: linux-arm-kernel

* Kevin Hilman <khilman@deeprootsystems.com> [100430 14:56]:
> "Pandita, Vikram" <vikram.pandita@ti.com> writes:
> 
> [...]
> 
> >>>> > --- a/arch/arm/kernel/head.S
> >>>> > +++ b/arch/arm/kernel/head.S
> >>>> > @@ -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
> >>>>
> >>>> 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
> >>>
> >>> 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.
> >
> > 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.
> 
> 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

 
> Kevin
> 
> [1] http://marc.info/?l=linux-omap&m=127266219130713&w=2

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-04-30 23:30               ` Tony Lindgren
@ 2010-05-01  0:10                 ` Kevin Hilman
  -1 siblings, 0 replies; 80+ messages in thread
From: Kevin Hilman @ 2010-05-01  0:10 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: Pandita, Vikram, linux-arm-kernel, linux-omap, Pais, Allen

Tony Lindgren <tony@atomide.com> writes:

> * Kevin Hilman <khilman@deeprootsystems.com> [100430 14:56]:
>> "Pandita, Vikram" <vikram.pandita@ti.com> writes:
>> 
>> [...]
>> 
>> >>>> > --- a/arch/arm/kernel/head.S
>> >>>> > +++ b/arch/arm/kernel/head.S
>> >>>> > @@ -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
>> >>>>
>> >>>> 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
>> >>>
>> >>> 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.
>> >
>> > 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.
>> 
>> 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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-05-01  0:10                 ` Kevin Hilman
  0 siblings, 0 replies; 80+ messages in thread
From: Kevin Hilman @ 2010-05-01  0:10 UTC (permalink / raw)
  To: linux-arm-kernel

Tony Lindgren <tony@atomide.com> writes:

> * Kevin Hilman <khilman@deeprootsystems.com> [100430 14:56]:
>> "Pandita, Vikram" <vikram.pandita@ti.com> writes:
>> 
>> [...]
>> 
>> >>>> > --- a/arch/arm/kernel/head.S
>> >>>> > +++ b/arch/arm/kernel/head.S
>> >>>> > @@ -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
>> >>>>
>> >>>> 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
>> >>>
>> >>> 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.
>> >
>> > 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.
>> 
>> 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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-05-01  0:10                 ` Kevin Hilman
@ 2010-05-01  1:37                   ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-01  1:37 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: Pandita, Vikram, linux-arm-kernel, linux-omap, Pais, Allen

[-- Attachment #1: Type: text/plain, Size: 2035 bytes --]

* Kevin Hilman <khilman@deeprootsystems.com> [100430 17:05]:
> Tony Lindgren <tony@atomide.com> writes:
> 
> > * Kevin Hilman <khilman@deeprootsystems.com> [100430 14:56]:
> >> "Pandita, Vikram" <vikram.pandita@ti.com> writes:
> >> >
> >> > 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.
> >> 
> >> 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.

Yeah the current approach uses both, but only when CONFIG_DEBUG_LL=y
as you noted.
 
> 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

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

[-- Attachment #2: omap-debug-ll-memory.patch --]
[-- Type: text/x-diff, Size: 6769 bytes --]

>From c957c9a19fb5b53c2cff4f3bc5c9481f9a4a99aa Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony@atomide.com>
Date: Fri, 30 Apr 2010 17:39:19 -0700
Subject: [PATCH] omap: Use a memory address for storing the debug port info instead of UART1

This removes the dependency to the UART1 being
available for storing the debug configuration in
uncompress.h.

As suggested by Cyril Chemparathy <cyril@ti.com>,
Vikram Pandita <vikram.pandita@ti.com> and
Kevin Hilman <khilman@deeprootsystems.com>.

Signed-off-by: Tony Lindgren <tony@atomide.com>

diff --git a/arch/arm/mach-omap1/include/mach/debug-macro.S b/arch/arm/mach-omap1/include/mach/debug-macro.S
index b6d9584..e8a8cf3 100644
--- a/arch/arm/mach-omap1/include/mach/debug-macro.S
+++ b/arch/arm/mach-omap1/include/mach/debug-macro.S
@@ -13,6 +13,8 @@
 
 #include <linux/serial_reg.h>
 
+#include <asm/memory.h>
+
 #include <plat/serial.h>
 
 		.pushsection .data
@@ -37,23 +39,12 @@ omap_uart_virt:	.word	0x0
 		cmp	\rx, #0			@ is port configured?
 		bne	99f			@ already configured
 
-		/* Check 7XX UART1 scratchpad register for uart to use */
+		/* Check the debug UART configuration set in uncompress.h */
 		mrc	p15, 0, \rx, c1, c0
 		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0xff000000	@ physical base address
-		movne	\rx, #0xfe000000	@ virtual base
-		orr	\rx, \rx, #0x00fb0000	@ OMAP1UART1
-		ldrb	\rx, [\rx, #(UART_SCR << OMAP7XX_PORT_SHIFT)]
-		cmp	\rx, #0			@ anything in 7XX scratchpad?
-		bne	10f			@ found 7XX uart
-
-		/* Check 15xx/16xx UART1 scratchpad register for uart to use */
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0xff000000	@ physical base address
-		movne	\rx, #0xfe000000	@ virtual base
-		orr	\rx, \rx, #0x00fb0000	@ OMAP1UART1
-		ldrb	\rx, [\rx, #(UART_SCR << OMAP_PORT_SHIFT)]
+		ldreq	\rx, =OMAP_UART_INFO
+		ldrne	\rx, =__phys_to_virt(OMAP_UART_INFO)
+		ldr	\rx, [\rx, #0]
 
 		/* Select the UART to use based on the UART1 scratchpad value */
 10:		cmp	\rx, #0			@ no port configured?
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S
index 4a63a2e..4976169 100644
--- a/arch/arm/mach-omap2/include/mach/debug-macro.S
+++ b/arch/arm/mach-omap2/include/mach/debug-macro.S
@@ -13,6 +13,8 @@
 
 #include <linux/serial_reg.h>
 
+#include <asm/memory.h>
+
 #include <plat/serial.h>
 
 #define UART_OFFSET(addr)	((addr) & 0x00ffffff)
@@ -40,13 +42,12 @@ omap_uart_lsr:	.word	0
 		cmp	\rx, #0			@ is port configured?
 		bne	99f			@ already configured
 
-		/* Check UART1 scratchpad register for uart to use */
+		/* Check the debug UART configuration set in uncompress.h */
 		mrc	p15, 0, \rx, c1, c0
 		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0x48000000	@ physical base address
-		movne	\rx, #0xfa000000	@ virtual base
-		orr	\rx, \rx, #0x0006a000	@ uart1 on omap2/3/4
-		ldrb	\rx, [\rx, #(UART_SCR << OMAP_PORT_SHIFT)] @ scratchpad
+		ldreq	\rx, =OMAP_UART_INFO
+		ldrne	\rx, =__phys_to_virt(OMAP_UART_INFO)
+		ldr	\rx, [\rx, #0]
 
 		/* Select the UART to use based on the UART1 scratchpad value */
 		cmp	\rx, #0			@ no port configured?
diff --git a/arch/arm/plat-omap/include/plat/serial.h b/arch/arm/plat-omap/include/plat/serial.h
index 83dce4c..20c27b9 100644
--- a/arch/arm/plat-omap/include/plat/serial.h
+++ b/arch/arm/plat-omap/include/plat/serial.h
@@ -15,6 +15,8 @@
 
 #include <linux/init.h>
 
+#define OMAP_UART_INFO		(PHYS_OFFSET + 0x3ff8)
+
 /* OMAP1 serial ports */
 #define OMAP1_UART1_BASE	0xfffb0000
 #define OMAP1_UART2_BASE	0xfffb0800
diff --git a/arch/arm/plat-omap/include/plat/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h
index 81d9ec5..44478f7 100644
--- a/arch/arm/plat-omap/include/plat/uncompress.h
+++ b/arch/arm/plat-omap/include/plat/uncompress.h
@@ -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>
 
-static volatile u8 *uart1_base;
-static int uart1_shift;
-
 static volatile u8 *uart_base;
 static int uart_shift;
 
 /*
- * Store the DEBUG_LL uart number into UART1 scratchpad register.
+ * Store the DEBUG_LL uart number into memory.
  * 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)
+static void set_omap_uart_info(unsigned char port)
 {
-	uart1_base[UART_SCR << uart1_shift] = port;
+	*(volatile u32 *)OMAP_UART_INFO = port;
 }
 
 static void putc(int c)
@@ -60,42 +55,38 @@ static inline void flush(void)
 /*
  * Macros to configure UART1 and debug UART
  */
-#define _DEBUG_LL_ENTRY(mach, uart1_phys, uart1_shft,			\
-			dbg_uart, dbg_shft, dbg_id)			\
+#define _DEBUG_LL_ENTRY(mach, dbg_uart, dbg_shft, dbg_id)		\
 	if (machine_is_##mach()) {					\
-		uart1_base = (volatile u8 *)(uart1_phys);		\
-		uart1_shift = (uart1_shft);				\
 		uart_base = (volatile u8 *)(dbg_uart);			\
 		uart_shift = (dbg_shft);				\
 		port = (dbg_id);					\
-		set_uart1_scratchpad(port);				\
+		set_omap_uart_info(port);				\
 		break;							\
 	}
 
 #define DEBUG_LL_OMAP7XX(p, mach)					\
-	_DEBUG_LL_ENTRY(mach, OMAP1_UART1_BASE, OMAP7XX_PORT_SHIFT,	\
-		OMAP1_UART##p##_BASE, OMAP7XX_PORT_SHIFT, OMAP1UART##p)
+	_DEBUG_LL_ENTRY(mach, OMAP1_UART##p##_BASE, OMAP7XX_PORT_SHIFT,	\
+		OMAP1UART##p)
 
 #define DEBUG_LL_OMAP1(p, mach)						\
-	_DEBUG_LL_ENTRY(mach, OMAP1_UART1_BASE, OMAP_PORT_SHIFT,	\
-		OMAP1_UART##p##_BASE, OMAP_PORT_SHIFT, OMAP1UART##p)
+	_DEBUG_LL_ENTRY(mach, OMAP1_UART##p##_BASE, OMAP_PORT_SHIFT,	\
+		OMAP1UART##p)
 
 #define DEBUG_LL_OMAP2(p, mach)						\
-	_DEBUG_LL_ENTRY(mach, OMAP2_UART1_BASE, OMAP_PORT_SHIFT,	\
-		OMAP2_UART##p##_BASE, OMAP_PORT_SHIFT, OMAP2UART##p)
+	_DEBUG_LL_ENTRY(mach, OMAP2_UART##p##_BASE, OMAP_PORT_SHIFT,	\
+		OMAP2UART##p)
 
 #define DEBUG_LL_OMAP3(p, mach)						\
-	_DEBUG_LL_ENTRY(mach, OMAP3_UART1_BASE, OMAP_PORT_SHIFT,	\
-		OMAP3_UART##p##_BASE, OMAP_PORT_SHIFT, OMAP3UART##p)
+	_DEBUG_LL_ENTRY(mach, OMAP3_UART##p##_BASE, OMAP_PORT_SHIFT,	\
+		OMAP3UART##p)
 
 #define DEBUG_LL_OMAP4(p, mach)						\
-	_DEBUG_LL_ENTRY(mach, OMAP4_UART1_BASE, OMAP_PORT_SHIFT,	\
-		OMAP4_UART##p##_BASE, OMAP_PORT_SHIFT, OMAP4UART##p)
+	_DEBUG_LL_ENTRY(mach, OMAP4_UART##p##_BASE, OMAP_PORT_SHIFT,	\
+		OMAP4UART##p)
 
 /* Zoom2/3 shift is different for UART1 and external port */
 #define DEBUG_LL_ZOOM(mach)						\
-	_DEBUG_LL_ENTRY(mach, OMAP2_UART1_BASE, OMAP_PORT_SHIFT,	\
-		ZOOM_UART_BASE, ZOOM_PORT_SHIFT, ZOOM_UART)
+	_DEBUG_LL_ENTRY(mach, ZOOM_UART_BASE, ZOOM_PORT_SHIFT, ZOOM_UART)
 
 static inline void __arch_decomp_setup(unsigned long arch_id)
 {

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-05-01  1:37                   ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-01  1:37 UTC (permalink / raw)
  To: linux-arm-kernel

* Kevin Hilman <khilman@deeprootsystems.com> [100430 17:05]:
> Tony Lindgren <tony@atomide.com> writes:
> 
> > * Kevin Hilman <khilman@deeprootsystems.com> [100430 14:56]:
> >> "Pandita, Vikram" <vikram.pandita@ti.com> writes:
> >> >
> >> > 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.
> >> 
> >> 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.

Yeah the current approach uses both, but only when CONFIG_DEBUG_LL=y
as you noted.
 
> 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

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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-05-01  1:37                   ` Tony Lindgren
@ 2010-05-01  1:50                     ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-01  1:50 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: Pandita, Vikram, linux-arm-kernel, linux-omap, Pais, Allen

[-- Attachment #1: Type: text/plain, Size: 606 bytes --]

* Tony Lindgren <tony@atomide.com> [100430 18:33]:
> 
> 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.
 
> --- a/arch/arm/plat-omap/include/plat/uncompress.h
> +++ b/arch/arm/plat-omap/include/plat/uncompress.h
> @@ -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

[-- Attachment #2: zoom-debug-ll.patch --]
[-- Type: text/x-diff, Size: 4035 bytes --]

>From 0130fa96f1016c25540ded86ea66f5a6198489c7 Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony@atomide.com>
Date: Fri, 30 Apr 2010 12:57:14 -0700
Subject: [PATCH] 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>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>

diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c
index e15d2e8..1d7f827 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)
 
 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,
diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c
index 9a26f84..803ef14 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)
 }
 
 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,
diff --git a/arch/arm/mach-omap2/board-zoom3.c b/arch/arm/mach-omap2/board-zoom3.c
index cd3e40c..3314704 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)
 }
 
 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,
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S
index 4976169..35b2440 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
 		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)
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 87f676a..3cfb425 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 = {
 		.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
diff --git a/arch/arm/plat-omap/include/plat/serial.h b/arch/arm/plat-omap/include/plat/serial.h
index 20c27b9..a680715 100644
--- a/arch/arm/plat-omap/include/plat/serial.h
+++ b/arch/arm/plat-omap/include/plat/serial.h
@@ -41,7 +41,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

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-05-01  1:50                     ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-01  1:50 UTC (permalink / raw)
  To: linux-arm-kernel

* Tony Lindgren <tony@atomide.com> [100430 18:33]:
> 
> 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.
 
> --- a/arch/arm/plat-omap/include/plat/uncompress.h
> +++ b/arch/arm/plat-omap/include/plat/uncompress.h
> @@ -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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* RE: [PATCH 06/11] omap4: Fix omap_l2_cache_init not to run for other omaps
  2010-04-30 20:33   ` Tony Lindgren
@ 2010-05-01  6:18     ` Shilimkar, Santosh
  -1 siblings, 0 replies; 80+ messages in thread
From: Shilimkar, Santosh @ 2010-05-01  6:18 UTC (permalink / raw)
  To: Tony Lindgren, linux-arm-kernel; +Cc: linux-omap

Tony,

> -----Original Message-----
> From: linux-arm-kernel-bounces@lists.infradead.org [mailto:linux-arm-kernel-
> bounces@lists.infradead.org] On Behalf Of Tony Lindgren
> Sent: Saturday, May 01, 2010 2:04 AM
> To: linux-arm-kernel@lists.infradead.org
> Cc: linux-omap@vger.kernel.org
> Subject: [PATCH 06/11] omap4: Fix omap_l2_cache_init not to run for other omaps
> 
> In 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 <tony@atomide.com>
> ---
>  arch/arm/mach-omap2/board-4430sdp.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
> index b88f28c..e603b00 100644
> --- a/arch/arm/mach-omap2/board-4430sdp.c
> +++ b/arch/arm/mach-omap2/board-4430sdp.c
> @@ -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.

>  	/* To avoid code running on other OMAPs in
>  	 * multi-omap builds
>  	 */
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 06/11] omap4: Fix omap_l2_cache_init not to run for other omaps
@ 2010-05-01  6:18     ` Shilimkar, Santosh
  0 siblings, 0 replies; 80+ messages in thread
From: Shilimkar, Santosh @ 2010-05-01  6:18 UTC (permalink / raw)
  To: linux-arm-kernel

Tony,

> -----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: Fix omap_l2_cache_init not to run for other omaps
> 
> In 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 <tony@atomide.com>
> ---
>  arch/arm/mach-omap2/board-4430sdp.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
> index b88f28c..e603b00 100644
> --- a/arch/arm/mach-omap2/board-4430sdp.c
> +++ b/arch/arm/mach-omap2/board-4430sdp.c
> @@ -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.

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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 06/11] omap4: Fix omap_l2_cache_init not to run for other omaps
  2010-05-01  6:18     ` Shilimkar, Santosh
@ 2010-05-01 17:46       ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-01 17:46 UTC (permalink / raw)
  To: Shilimkar, Santosh; +Cc: linux-arm-kernel, linux-omap

* Shilimkar, Santosh <santosh.shilimkar@ti.com> [100430 23:13]:
> Tony,
> 
> > -----Original Message-----
> > From: linux-arm-kernel-bounces@lists.infradead.org [mailto:linux-arm-kernel-
> > bounces@lists.infradead.org] On Behalf Of Tony Lindgren
> > Sent: Saturday, May 01, 2010 2:04 AM
> > To: linux-arm-kernel@lists.infradead.org
> > Cc: linux-omap@vger.kernel.org
> > Subject: [PATCH 06/11] omap4: Fix omap_l2_cache_init not to run for other omaps
> > 
> > In 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 <tony@atomide.com>
> > ---
> >  arch/arm/mach-omap2/board-4430sdp.c |    3 +++
> >  1 files changed, 3 insertions(+), 0 deletions(-)
> > 
> > diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
> > index b88f28c..e603b00 100644
> > --- a/arch/arm/mach-omap2/board-4430sdp.c
> > +++ b/arch/arm/mach-omap2/board-4430sdp.c
> > @@ -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.

Oops. Thanks for pointing that out, dropping this patch.

Tony

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 06/11] omap4: Fix omap_l2_cache_init not to run for other omaps
@ 2010-05-01 17:46       ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-01 17:46 UTC (permalink / raw)
  To: linux-arm-kernel

* Shilimkar, Santosh <santosh.shilimkar@ti.com> [100430 23:13]:
> Tony,
> 
> > -----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: Fix omap_l2_cache_init not to run for other omaps
> > 
> > In 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 <tony@atomide.com>
> > ---
> >  arch/arm/mach-omap2/board-4430sdp.c |    3 +++
> >  1 files changed, 3 insertions(+), 0 deletions(-)
> > 
> > diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
> > index b88f28c..e603b00 100644
> > --- a/arch/arm/mach-omap2/board-4430sdp.c
> > +++ b/arch/arm/mach-omap2/board-4430sdp.c
> > @@ -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.

Oops. Thanks for pointing that out, dropping this patch.

Tony

^ permalink raw reply	[flat|nested] 80+ messages in thread

* RE: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-05-01  1:50                     ` Tony Lindgren
@ 2010-05-03 22:10                       ` Pandita, Vikram
  -1 siblings, 0 replies; 80+ messages in thread
From: Pandita, Vikram @ 2010-05-03 22:10 UTC (permalink / raw)
  To: Tony Lindgren, Kevin Hilman; +Cc: linux-arm-kernel, linux-omap, Pais, Allen

[-- Attachment #1: Type: text/plain, Size: 1171 bytes --]



>-----Original Message-----
>From: Tony Lindgren [mailto:tony@atomide.com]
>Sent: Friday, April 30, 2010 8:51 PM
>To: Kevin Hilman
>Cc: Pandita, Vikram; linux-arm-kernel@lists.infradead.org; linux-
>omap@vger.kernel.org; Pais, Allen
>Subject: Re: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
>
>* Tony Lindgren <tony@atomide.com> [100430 18:33]:
>>
>> 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.

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.

>
>> --- a/arch/arm/plat-omap/include/plat/uncompress.h
>> +++ b/arch/arm/plat-omap/include/plat/uncompress.h
>> @@ -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

[-- Attachment #2: printk-dbg.patch --]
[-- Type: application/octet-stream, Size: 570 bytes --]

diff --git a/kernel/printk.c b/kernel/printk.c
index 75077ad..247c169 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -39,6 +39,10 @@
 
 #include <asm/uaccess.h>
 
+#ifdef CONFIG_DEBUG_LL
+extern void printascii(char *);
+#endif
+
 /*
  * for_each_console() allows you to iterate on each console
  */
@@ -709,6 +713,9 @@ asmlinkage int vprintk(const char *fmt, va_list args)
 	printed_len += vscnprintf(printk_buf + printed_len,
 				  sizeof(printk_buf) - printed_len, fmt, args);
 
+#ifdef CONFIG_DEBUG_LL
+	printascii(printk_buf);
+#endif
 
 	p = printk_buf;
 

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-05-03 22:10                       ` Pandita, Vikram
  0 siblings, 0 replies; 80+ messages in thread
From: Pandita, Vikram @ 2010-05-03 22:10 UTC (permalink / raw)
  To: linux-arm-kernel



>-----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: Fix DEBUG_LL for omap zoom2/3
>
>* Tony Lindgren <tony@atomide.com> [100430 18:33]:
>>
>> 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.

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.

>
>> --- a/arch/arm/plat-omap/include/plat/uncompress.h
>> +++ b/arch/arm/plat-omap/include/plat/uncompress.h
>> @@ -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
-------------- 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>

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-05-03 22:10                       ` Pandita, Vikram
@ 2010-05-04  0:40                         ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04  0:40 UTC (permalink / raw)
  To: Pandita, Vikram; +Cc: Kevin Hilman, linux-arm-kernel, linux-omap, Pais, Allen

* Pandita, Vikram <vikram.pandita@ti.com> [100503 15:06]:
> 
> 
> >-----Original Message-----
> >From: Tony Lindgren [mailto:tony@atomide.com]
> >Sent: Friday, April 30, 2010 8:51 PM
> >To: Kevin Hilman
> >Cc: Pandita, Vikram; linux-arm-kernel@lists.infradead.org; linux-
> >omap@vger.kernel.org; Pais, Allen
> >Subject: Re: [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
> >
> >* Tony Lindgren <tony@atomide.com> [100430 18:33]:
> >>
> >> 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.
> 
> 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.
 
> 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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-05-04  0:40                         ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04  0:40 UTC (permalink / raw)
  To: linux-arm-kernel

* Pandita, Vikram <vikram.pandita@ti.com> [100503 15:06]:
> 
> 
> >-----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: Fix DEBUG_LL for omap zoom2/3
> >
> >* Tony Lindgren <tony@atomide.com> [100430 18:33]:
> >>
> >> 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.
> 
> 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.
 
> 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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
  2010-04-30 20:50     ` Tony Lindgren
@ 2010-05-04  0:52       ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04  0:52 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap, Tomi Valkeinen

[-- Attachment #1: Type: text/plain, Size: 565 bytes --]

* Tony Lindgren <tony@atomide.com> [100430 13:47]:
> * Tony Lindgren <tony@atomide.com> [100430 13:32]:
> > Looks 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 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

[-- Attachment #2: omapfb-module.patch --]
[-- Type: text/x-diff, Size: 1083 bytes --]

>From 0c35e7c44eb579a532accb8e9cb65d1bac1af349 Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony@atomide.com>
Date: Fri, 30 Apr 2010 12:57:17 -0700
Subject: [PATCH] omap2/3/4: Set CONFIG_FB_OMAP=m in omap3_defconfig

Looks 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.

Signed-off-by: Tony Lindgren <tony@atomide.com>

diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig
index 7855edb..9ed6de8 100644
--- a/arch/arm/configs/omap3_defconfig
+++ b/arch/arm/configs/omap3_defconfig
@@ -1359,7 +1359,7 @@ 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=m
 CONFIG_FB_OMAP_LCD_VGA=y
 # CONFIG_FB_OMAP_031M3R is not set
 # CONFIG_FB_OMAP_048M3R is not set

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
@ 2010-05-04  0:52       ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04  0:52 UTC (permalink / raw)
  To: linux-arm-kernel

* Tony Lindgren <tony@atomide.com> [100430 13:47]:
> * Tony Lindgren <tony@atomide.com> [100430 13:32]:
> > Looks 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 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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 02a/11] omap: Use a memory address for storing the debug port info instead of UART1 scratchpad
  2010-05-04  0:40                         ` Tony Lindgren
@ 2010-05-04  0:57                           ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04  0:57 UTC (permalink / raw)
  To: Pandita, Vikram; +Cc: Kevin Hilman, linux-arm-kernel, linux-omap, Pais, Allen

[-- Attachment #1: Type: text/plain, Size: 215 bytes --]

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

[-- Attachment #2: omap-debug-ll-memory.patch --]
[-- Type: text/x-diff, Size: 7770 bytes --]

>From 96554d70775e936e870f61d9523c9bab3fd54ad6 Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony@atomide.com>
Date: Fri, 30 Apr 2010 17:39:19 -0700
Subject: [PATCH] omap: Use a memory address for storing the debug port info instead of UART1 scratchpad

This removes the dependency to the UART1 being available for storing
the debug configuration in uncompress.h. This will simplify the
DEBUG_LL UART configuration for boards that may not have UART1, or
have an external UART as it requires only one mapping for DEBUG_LL.

The patch has a few limitations. Basically now we're assuming that
the kernel uncompress code won't overlap with OMAP_UART_INFO. We also
assume the printascii is called at least once before paging_init in
order for addruart to have a chance to read the UART setup from
OMAP_UART_INFO.

As suggested by Cyril Chemparathy <cyril@ti.com>,
Vikram Pandita <vikram.pandita@ti.com> and
Kevin Hilman <khilman@deeprootsystems.com>. Based on an earlier
patch posted for Davinci by Cyril Chemparathy <cyril@ti.com>.

Signed-off-by: Tony Lindgren <tony@atomide.com>

diff --git a/arch/arm/mach-omap1/include/mach/debug-macro.S b/arch/arm/mach-omap1/include/mach/debug-macro.S
index b6d9584..e8a8cf3 100644
--- a/arch/arm/mach-omap1/include/mach/debug-macro.S
+++ b/arch/arm/mach-omap1/include/mach/debug-macro.S
@@ -13,6 +13,8 @@
 
 #include <linux/serial_reg.h>
 
+#include <asm/memory.h>
+
 #include <plat/serial.h>
 
 		.pushsection .data
@@ -37,23 +39,12 @@ omap_uart_virt:	.word	0x0
 		cmp	\rx, #0			@ is port configured?
 		bne	99f			@ already configured
 
-		/* Check 7XX UART1 scratchpad register for uart to use */
+		/* Check the debug UART configuration set in uncompress.h */
 		mrc	p15, 0, \rx, c1, c0
 		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0xff000000	@ physical base address
-		movne	\rx, #0xfe000000	@ virtual base
-		orr	\rx, \rx, #0x00fb0000	@ OMAP1UART1
-		ldrb	\rx, [\rx, #(UART_SCR << OMAP7XX_PORT_SHIFT)]
-		cmp	\rx, #0			@ anything in 7XX scratchpad?
-		bne	10f			@ found 7XX uart
-
-		/* Check 15xx/16xx UART1 scratchpad register for uart to use */
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0xff000000	@ physical base address
-		movne	\rx, #0xfe000000	@ virtual base
-		orr	\rx, \rx, #0x00fb0000	@ OMAP1UART1
-		ldrb	\rx, [\rx, #(UART_SCR << OMAP_PORT_SHIFT)]
+		ldreq	\rx, =OMAP_UART_INFO
+		ldrne	\rx, =__phys_to_virt(OMAP_UART_INFO)
+		ldr	\rx, [\rx, #0]
 
 		/* Select the UART to use based on the UART1 scratchpad value */
 10:		cmp	\rx, #0			@ no port configured?
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S
index 4a63a2e..4976169 100644
--- a/arch/arm/mach-omap2/include/mach/debug-macro.S
+++ b/arch/arm/mach-omap2/include/mach/debug-macro.S
@@ -13,6 +13,8 @@
 
 #include <linux/serial_reg.h>
 
+#include <asm/memory.h>
+
 #include <plat/serial.h>
 
 #define UART_OFFSET(addr)	((addr) & 0x00ffffff)
@@ -40,13 +42,12 @@ omap_uart_lsr:	.word	0
 		cmp	\rx, #0			@ is port configured?
 		bne	99f			@ already configured
 
-		/* Check UART1 scratchpad register for uart to use */
+		/* Check the debug UART configuration set in uncompress.h */
 		mrc	p15, 0, \rx, c1, c0
 		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0x48000000	@ physical base address
-		movne	\rx, #0xfa000000	@ virtual base
-		orr	\rx, \rx, #0x0006a000	@ uart1 on omap2/3/4
-		ldrb	\rx, [\rx, #(UART_SCR << OMAP_PORT_SHIFT)] @ scratchpad
+		ldreq	\rx, =OMAP_UART_INFO
+		ldrne	\rx, =__phys_to_virt(OMAP_UART_INFO)
+		ldr	\rx, [\rx, #0]
 
 		/* Select the UART to use based on the UART1 scratchpad value */
 		cmp	\rx, #0			@ no port configured?
diff --git a/arch/arm/plat-omap/include/plat/serial.h b/arch/arm/plat-omap/include/plat/serial.h
index 83dce4c..42a6318 100644
--- a/arch/arm/plat-omap/include/plat/serial.h
+++ b/arch/arm/plat-omap/include/plat/serial.h
@@ -15,6 +15,20 @@
 
 #include <linux/init.h>
 
+/*
+ * Memory entry used for the DEBUG_LL UART configuration. See also
+ * uncompress.h and debug-macro.S.
+ *
+ * Note that using a memory location for storing the UART configuration
+ * has at least two limitations:
+ *
+ * 1. Kernel uncompress code cannot overlap OMAP_UART_INFO as the
+ *    uncompress code could then partially overwrite itself
+ * 2. We assume printascii is called at least once before paging_init,
+ *    and addruart has a chance to read OMAP_UART_INFO
+ */
+#define OMAP_UART_INFO		(PHYS_OFFSET + 0x3ffc)
+
 /* OMAP1 serial ports */
 #define OMAP1_UART1_BASE	0xfffb0000
 #define OMAP1_UART2_BASE	0xfffb0800
diff --git a/arch/arm/plat-omap/include/plat/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h
index 81d9ec5..bbedd71 100644
--- a/arch/arm/plat-omap/include/plat/uncompress.h
+++ b/arch/arm/plat-omap/include/plat/uncompress.h
@@ -20,27 +20,21 @@
 #include <linux/types.h>
 #include <linux/serial_reg.h>
 
+#include <asm/memory.h>
 #include <asm/mach-types.h>
 
 #include <plat/serial.h>
 
-static volatile u8 *uart1_base;
-static int uart1_shift;
-
 static volatile u8 *uart_base;
 static int uart_shift;
 
 /*
- * Store the DEBUG_LL uart number into UART1 scratchpad register.
+ * Store the DEBUG_LL uart number into memory.
  * 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)
+static void set_omap_uart_info(unsigned char port)
 {
-	uart1_base[UART_SCR << uart1_shift] = port;
+	*(volatile u32 *)OMAP_UART_INFO = port;
 }
 
 static void putc(int c)
@@ -60,42 +54,38 @@ static inline void flush(void)
 /*
  * Macros to configure UART1 and debug UART
  */
-#define _DEBUG_LL_ENTRY(mach, uart1_phys, uart1_shft,			\
-			dbg_uart, dbg_shft, dbg_id)			\
+#define _DEBUG_LL_ENTRY(mach, dbg_uart, dbg_shft, dbg_id)		\
 	if (machine_is_##mach()) {					\
-		uart1_base = (volatile u8 *)(uart1_phys);		\
-		uart1_shift = (uart1_shft);				\
 		uart_base = (volatile u8 *)(dbg_uart);			\
 		uart_shift = (dbg_shft);				\
 		port = (dbg_id);					\
-		set_uart1_scratchpad(port);				\
+		set_omap_uart_info(port);				\
 		break;							\
 	}
 
 #define DEBUG_LL_OMAP7XX(p, mach)					\
-	_DEBUG_LL_ENTRY(mach, OMAP1_UART1_BASE, OMAP7XX_PORT_SHIFT,	\
-		OMAP1_UART##p##_BASE, OMAP7XX_PORT_SHIFT, OMAP1UART##p)
+	_DEBUG_LL_ENTRY(mach, OMAP1_UART##p##_BASE, OMAP7XX_PORT_SHIFT,	\
+		OMAP1UART##p)
 
 #define DEBUG_LL_OMAP1(p, mach)						\
-	_DEBUG_LL_ENTRY(mach, OMAP1_UART1_BASE, OMAP_PORT_SHIFT,	\
-		OMAP1_UART##p##_BASE, OMAP_PORT_SHIFT, OMAP1UART##p)
+	_DEBUG_LL_ENTRY(mach, OMAP1_UART##p##_BASE, OMAP_PORT_SHIFT,	\
+		OMAP1UART##p)
 
 #define DEBUG_LL_OMAP2(p, mach)						\
-	_DEBUG_LL_ENTRY(mach, OMAP2_UART1_BASE, OMAP_PORT_SHIFT,	\
-		OMAP2_UART##p##_BASE, OMAP_PORT_SHIFT, OMAP2UART##p)
+	_DEBUG_LL_ENTRY(mach, OMAP2_UART##p##_BASE, OMAP_PORT_SHIFT,	\
+		OMAP2UART##p)
 
 #define DEBUG_LL_OMAP3(p, mach)						\
-	_DEBUG_LL_ENTRY(mach, OMAP3_UART1_BASE, OMAP_PORT_SHIFT,	\
-		OMAP3_UART##p##_BASE, OMAP_PORT_SHIFT, OMAP3UART##p)
+	_DEBUG_LL_ENTRY(mach, OMAP3_UART##p##_BASE, OMAP_PORT_SHIFT,	\
+		OMAP3UART##p)
 
 #define DEBUG_LL_OMAP4(p, mach)						\
-	_DEBUG_LL_ENTRY(mach, OMAP4_UART1_BASE, OMAP_PORT_SHIFT,	\
-		OMAP4_UART##p##_BASE, OMAP_PORT_SHIFT, OMAP4UART##p)
+	_DEBUG_LL_ENTRY(mach, OMAP4_UART##p##_BASE, OMAP_PORT_SHIFT,	\
+		OMAP4UART##p)
 
 /* Zoom2/3 shift is different for UART1 and external port */
 #define DEBUG_LL_ZOOM(mach)						\
-	_DEBUG_LL_ENTRY(mach, OMAP2_UART1_BASE, OMAP_PORT_SHIFT,	\
-		ZOOM_UART_BASE, ZOOM_PORT_SHIFT, ZOOM_UART)
+	_DEBUG_LL_ENTRY(mach, ZOOM_UART_BASE, ZOOM_PORT_SHIFT, ZOOM_UART)
 
 static inline void __arch_decomp_setup(unsigned long arch_id)
 {

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 02a/11] omap: Use a memory address for storing the debug port info instead of UART1 scratchpad
@ 2010-05-04  0:57                           ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04  0:57 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 02b/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-05-04  0:40                         ` Tony Lindgren
@ 2010-05-04  0:58                           ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04  0:58 UTC (permalink / raw)
  To: Pandita, Vikram; +Cc: Kevin Hilman, linux-arm-kernel, linux-omap, Pais, Allen

[-- Attachment #1: Type: text/plain, Size: 108 bytes --]

And here's this patch one more time. Both 2a and 2b are needed
for zoom debug uart to work.

Regards,

Tony

[-- Attachment #2: omap3-zoom-debug-ll.patch --]
[-- Type: text/x-diff, Size: 4035 bytes --]

>From 1ed9c6a7dc9dea18ab1f5dd07ecec7e89ffa1ec5 Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony@atomide.com>
Date: Fri, 30 Apr 2010 12:57:14 -0700
Subject: [PATCH] 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>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>

diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c
index e15d2e8..1d7f827 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)
 
 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,
diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c
index 9a26f84..803ef14 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)
 }
 
 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,
diff --git a/arch/arm/mach-omap2/board-zoom3.c b/arch/arm/mach-omap2/board-zoom3.c
index cd3e40c..3314704 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)
 }
 
 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,
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S
index 4976169..35b2440 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
 		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)
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 87f676a..3cfb425 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 = {
 		.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
diff --git a/arch/arm/plat-omap/include/plat/serial.h b/arch/arm/plat-omap/include/plat/serial.h
index 42a6318..19145f5 100644
--- a/arch/arm/plat-omap/include/plat/serial.h
+++ b/arch/arm/plat-omap/include/plat/serial.h
@@ -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

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 02b/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-05-04  0:58                           ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04  0:58 UTC (permalink / raw)
  To: linux-arm-kernel

And here's this patch one more time. Both 2a and 2b are needed
for zoom debug uart to work.

Regards,

Tony

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
  2010-05-04  0:52       ` Tony Lindgren
@ 2010-05-04  7:26         ` Tomi Valkeinen
  -1 siblings, 0 replies; 80+ messages in thread
From: Tomi Valkeinen @ 2010-05-04  7:26 UTC (permalink / raw)
  To: ext Tony Lindgren; +Cc: linux-arm-kernel, linux-omap

Hi,

On Tue, 2010-05-04 at 02:52 +0200, ext Tony Lindgren wrote:
> * Tony Lindgren <tony@atomide.com> [100430 13:47]:
> > * Tony Lindgren <tony@atomide.com> [100430 13:32]:
> > > Looks 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 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 :)

This sounds... interesting... =) Any more info on what happens? Does it
also affect new omapfb driver?

 Tomi



^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
@ 2010-05-04  7:26         ` Tomi Valkeinen
  0 siblings, 0 replies; 80+ messages in thread
From: Tomi Valkeinen @ 2010-05-04  7:26 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Tue, 2010-05-04 at 02:52 +0200, ext Tony Lindgren wrote:
> * Tony Lindgren <tony@atomide.com> [100430 13:47]:
> > * Tony Lindgren <tony@atomide.com> [100430 13:32]:
> > > Looks 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 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 :)

This sounds... interesting... =) Any more info on what happens? Does it
also affect new omapfb driver?

 Tomi

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
  2010-05-04  7:26         ` Tomi Valkeinen
@ 2010-05-04 14:40           ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04 14:40 UTC (permalink / raw)
  To: Tomi Valkeinen; +Cc: linux-arm-kernel, linux-omap

* Tomi Valkeinen <tomi.valkeinen@nokia.com> [100504 00:21]:
> Hi,
> 
> On Tue, 2010-05-04 at 02:52 +0200, ext Tony Lindgren wrote:
> > * Tony Lindgren <tony@atomide.com> [100430 13:47]:
> > > * Tony Lindgren <tony@atomide.com> [100430 13:32]:
> > > > Looks 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 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 :)
> 
> 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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
@ 2010-05-04 14:40           ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04 14:40 UTC (permalink / raw)
  To: linux-arm-kernel

* Tomi Valkeinen <tomi.valkeinen@nokia.com> [100504 00:21]:
> Hi,
> 
> On Tue, 2010-05-04 at 02:52 +0200, ext Tony Lindgren wrote:
> > * Tony Lindgren <tony@atomide.com> [100430 13:47]:
> > > * Tony Lindgren <tony@atomide.com> [100430 13:32]:
> > > > Looks 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 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 :)
> 
> 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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
  2010-05-04 14:40           ` Tony Lindgren
@ 2010-05-04 14:50             ` Tomi Valkeinen
  -1 siblings, 0 replies; 80+ messages in thread
From: Tomi Valkeinen @ 2010-05-04 14:50 UTC (permalink / raw)
  To: ext Tony Lindgren; +Cc: linux-arm-kernel, linux-omap

On Tue, 2010-05-04 at 16:40 +0200, ext Tony Lindgren wrote:
> * Tomi Valkeinen <tomi.valkeinen@nokia.com> [100504 00:21]:
> > Hi,
> > 
> > On Tue, 2010-05-04 at 02:52 +0200, ext Tony Lindgren wrote:
> > > * Tony Lindgren <tony@atomide.com> [100430 13:47]:
> > > > * Tony Lindgren <tony@atomide.com> [100430 13:32]:
> > > > > Looks 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 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 :)
> > 
> > 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.

Ok, so the cmdline parsing in omapfb could be broken. I'll check it out.

> 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



^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
@ 2010-05-04 14:50             ` Tomi Valkeinen
  0 siblings, 0 replies; 80+ messages in thread
From: Tomi Valkeinen @ 2010-05-04 14:50 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, 2010-05-04 at 16:40 +0200, ext Tony Lindgren wrote:
> * Tomi Valkeinen <tomi.valkeinen@nokia.com> [100504 00:21]:
> > Hi,
> > 
> > On Tue, 2010-05-04 at 02:52 +0200, ext Tony Lindgren wrote:
> > > * Tony Lindgren <tony@atomide.com> [100430 13:47]:
> > > > * Tony Lindgren <tony@atomide.com> [100430 13:32]:
> > > > > Looks 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 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 :)
> > 
> > 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.

Ok, so the cmdline parsing in omapfb could be broken. I'll check it out.

> 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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* RE: [PATCH 02b/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-05-04  0:58                           ` Tony Lindgren
@ 2010-05-04 17:33                             ` Pandita, Vikram
  -1 siblings, 0 replies; 80+ messages in thread
From: Pandita, Vikram @ 2010-05-04 17:33 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: Kevin Hilman, linux-arm-kernel, linux-omap, Pais, Allen

[-- Attachment #1: Type: text/plain, Size: 704 bytes --]


Tony

>-----Original Message-----
>From: Tony Lindgren [mailto:tony@atomide.com]
>Sent: Monday, May 03, 2010 7:59 PM
>To: Pandita, Vikram
>Cc: Kevin Hilman; linux-arm-kernel@lists.infradead.org; linux-
>omap@vger.kernel.org; Pais, Allen
>Subject: [PATCH 02b/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
>
>And 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.

Ack-by: Vikram Pandita <vikram.pandita@ti.com>

>
>Regards,
>
>Tony

[-- Attachment #2: printk.patch --]
[-- Type: application/octet-stream, Size: 570 bytes --]

diff --git a/kernel/printk.c b/kernel/printk.c
index 17463ca..326bae7 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -38,6 +38,10 @@
 
 #include <asm/uaccess.h>
 
+#ifdef CONFIG_DEBUG_LL
+extern void printascii(char *);
+#endif
+
 /*
  * for_each_console() allows you to iterate on each console
  */
@@ -716,6 +720,9 @@ asmlinkage int vprintk(const char *fmt, va_list args)
 	printed_len += vscnprintf(printk_buf + printed_len,
 				  sizeof(printk_buf) - printed_len, fmt, args);
 
+#ifdef CONFIG_DEBUG_LL
+	printascii(printk_buf);
+#endif
 
 	p = printk_buf;
 

^ permalink raw reply related	[flat|nested] 80+ messages in thread

* [PATCH 02b/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-05-04 17:33                             ` Pandita, Vikram
  0 siblings, 0 replies; 80+ messages in thread
From: Pandita, Vikram @ 2010-05-04 17:33 UTC (permalink / raw)
  To: linux-arm-kernel


Tony

>-----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: Fix DEBUG_LL for omap zoom2/3
>
>And 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.

Ack-by: Vikram Pandita <vikram.pandita@ti.com>

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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
  2010-05-04 14:50             ` Tomi Valkeinen
@ 2010-05-04 19:23               ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04 19:23 UTC (permalink / raw)
  To: Tomi Valkeinen; +Cc: linux-arm-kernel, linux-omap

[-- Attachment #1: Type: text/plain, Size: 2155 bytes --]

* Tomi Valkeinen <tomi.valkeinen@nokia.com> [100504 07:45]:
> On Tue, 2010-05-04 at 16:40 +0200, ext Tony Lindgren wrote:
> > * Tomi Valkeinen <tomi.valkeinen@nokia.com> [100504 00:21]:
> > > Hi,
> > > 
> > > On Tue, 2010-05-04 at 02:52 +0200, ext Tony Lindgren wrote:
> > > > * Tony Lindgren <tony@atomide.com> [100430 13:47]:
> > > > > * Tony Lindgren <tony@atomide.com> [100430 13:32]:
> > > > > > Looks 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 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 :)
> > > 
> > > 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.
> 
> 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.
 
> > 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.

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

[-- Attachment #2: fb-omap2.patch --]
[-- Type: text/x-diff, Size: 1388 bytes --]

--- a/arch/arm/configs/omap3_defconfig
+++ b/arch/arm/configs/omap3_defconfig
@@ -1385,17 +1385,36 @@ 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_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_079M3R is not set
 # 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_OMAP2_VRAM=y
+CONFIG_OMAP2_VRFB=y
+CONFIG_OMAP2_DSS=y
+CONFIG_OMAP2_VRAM_SIZE=0
+CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
+# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
+# CONFIG_OMAP2_DSS_RFBI is not set
+CONFIG_OMAP2_DSS_VENC=y
+# CONFIG_OMAP2_DSS_SDI is not set
+# CONFIG_OMAP2_DSS_DSI is not set
+# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
+CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
+CONFIG_FB_OMAP2=y
+CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
+CONFIG_FB_OMAP2_NUM_FBS=3
+
+#
+# OMAP2/3 Display Device Drivers
+#
+CONFIG_PANEL_GENERIC=y
+CONFIG_PANEL_SHARP_LS037V7DW01=y
+CONFIG_PANEL_SHARP_LQ043T1DG01=y
+CONFIG_PANEL_TOPPOLY_TDO35S=y
+CONFIG_PANEL_TPO_TD043MTEA1=y
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
 CONFIG_LCD_CLASS_DEVICE=y
 # CONFIG_LCD_L4F00242T03 is not set

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig
@ 2010-05-04 19:23               ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04 19:23 UTC (permalink / raw)
  To: linux-arm-kernel

* Tomi Valkeinen <tomi.valkeinen@nokia.com> [100504 07:45]:
> On Tue, 2010-05-04 at 16:40 +0200, ext Tony Lindgren wrote:
> > * Tomi Valkeinen <tomi.valkeinen@nokia.com> [100504 00:21]:
> > > Hi,
> > > 
> > > On Tue, 2010-05-04 at 02:52 +0200, ext Tony Lindgren wrote:
> > > > * Tony Lindgren <tony@atomide.com> [100430 13:47]:
> > > > > * Tony Lindgren <tony@atomide.com> [100430 13:32]:
> > > > > > Looks 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 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 :)
> > > 
> > > 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.
> 
> 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.
 
> > 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.

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>

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: [PATCH 02b/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
  2010-05-04 17:33                             ` Pandita, Vikram
@ 2010-05-04 23:09                               ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04 23:09 UTC (permalink / raw)
  To: Pandita, Vikram; +Cc: Kevin Hilman, linux-arm-kernel, linux-omap, Pais, Allen

* Pandita, Vikram <vikram.pandita@ti.com> [100504 10:29]:
> 
> Tony
> 
> >-----Original Message-----
> >From: Tony Lindgren [mailto:tony@atomide.com]
> >Sent: Monday, May 03, 2010 7:59 PM
> >To: Pandita, Vikram
> >Cc: Kevin Hilman; linux-arm-kernel@lists.infradead.org; linux-
> >omap@vger.kernel.org; Pais, Allen
> >Subject: [PATCH 02b/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
> >
> >And 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.
> 
> Ack-by: Vikram Pandita <vikram.pandita@ti.com>

Good to hear it works for you now, thanks for testing.

Tony

^ permalink raw reply	[flat|nested] 80+ messages in thread

* [PATCH 02b/11] omap2/3: Fix DEBUG_LL for omap zoom2/3
@ 2010-05-04 23:09                               ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-04 23:09 UTC (permalink / raw)
  To: linux-arm-kernel

* Pandita, Vikram <vikram.pandita@ti.com> [100504 10:29]:
> 
> Tony
> 
> >-----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: Fix DEBUG_LL for omap zoom2/3
> >
> >And 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.
> 
> Ack-by: Vikram Pandita <vikram.pandita@ti.com>

Good to hear it works for you now, thanks for testing.

Tony

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Old DSS code broken as module (was "RE: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig")
  2010-04-30 20:34   ` Tony Lindgren
@ 2010-05-05 17:32     ` Aguirre, Sergio
  -1 siblings, 0 replies; 80+ messages in thread
From: Aguirre, Sergio @ 2010-05-05 17:32 UTC (permalink / raw)
  To: Tony Lindgren, linux-arm-kernel; +Cc: linux-omap, Tomi Valkeinen

Tony,

> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> owner@vger.kernel.org] On Behalf Of Tony Lindgren
> Sent: Friday, April 30, 2010 3:34 PM
> To: linux-arm-kernel@lists.infradead.org
> Cc: linux-omap@vger.kernel.org
> Subject: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in
> omap3_defconfig
> 
> Looks 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.

(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


^ permalink raw reply	[flat|nested] 80+ messages in thread

* Old DSS code broken as module (was "RE: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig")
@ 2010-05-05 17:32     ` Aguirre, Sergio
  0 siblings, 0 replies; 80+ messages in thread
From: Aguirre, Sergio @ 2010-05-05 17:32 UTC (permalink / raw)
  To: linux-arm-kernel

Tony,

> -----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: Disable CONFIG_FB_OMAP in
> omap3_defconfig
> 
> Looks 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.

(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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: Old DSS code broken as module (was "RE: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig")
  2010-05-05 17:32     ` Aguirre, Sergio
@ 2010-05-05 17:43       ` Tony Lindgren
  -1 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-05 17:43 UTC (permalink / raw)
  To: Aguirre, Sergio; +Cc: linux-arm-kernel, linux-omap, Tomi Valkeinen

* Aguirre, Sergio <saaguirre@ti.com> [100505 10:27]:
> Tony,
> 
> > -----Original Message-----
> > From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> > owner@vger.kernel.org] On Behalf Of Tony Lindgren
> > Sent: Friday, April 30, 2010 3:34 PM
> > To: linux-arm-kernel@lists.infradead.org
> > Cc: linux-omap@vger.kernel.org
> > Subject: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in
> > omap3_defconfig
> > 
> > Looks 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.
> 
> (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.

OK thanks for pointing that out. I'll disable it so we have a
booting omap3_defconfig (with the modules compiling).

Regards,

Tony

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Old DSS code broken as module (was "RE: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig")
@ 2010-05-05 17:43       ` Tony Lindgren
  0 siblings, 0 replies; 80+ messages in thread
From: Tony Lindgren @ 2010-05-05 17:43 UTC (permalink / raw)
  To: linux-arm-kernel

* Aguirre, Sergio <saaguirre@ti.com> [100505 10:27]:
> Tony,
> 
> > -----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: Disable CONFIG_FB_OMAP in
> > omap3_defconfig
> > 
> > Looks 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.
> 
> (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.

OK thanks for pointing that out. I'll disable it so we have a
booting omap3_defconfig (with the modules compiling).

Regards,

Tony

^ permalink raw reply	[flat|nested] 80+ messages in thread

* RE: Old DSS code broken as module (was "RE: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig")
  2010-05-05 17:43       ` Tony Lindgren
@ 2010-05-05 18:23         ` Aguirre, Sergio
  -1 siblings, 0 replies; 80+ messages in thread
From: Aguirre, Sergio @ 2010-05-05 18:23 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-arm-kernel, linux-omap, Tomi Valkeinen

[-- Attachment #1: Type: text/plain, Size: 1941 bytes --]



From: Tony Lindgren [mailto:tony@atomide.com]
Sent: Wednesday, May 05, 2010 12:44 PM
> * Aguirre, Sergio <saaguirre@ti.com> [100505 10:27]:
> > Tony,
> >
> > > -----Original Message-----
> > > From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> > > owner@vger.kernel.org] On Behalf Of Tony Lindgren
> > > Sent: Friday, April 30, 2010 3:34 PM
> > > To: linux-arm-kernel@lists.infradead.org
> > > Cc: linux-omap@vger.kernel.org
> > > Subject: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in
> > > omap3_defconfig
> > >
> > > Looks 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.
> >
> > (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.
> 
> 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

> 
> Regards,
> 
> Tony

[-- Attachment #2: 0001-omapfb-Remove-tristate-option-in-Kconfig.patch --]
[-- Type: application/octet-stream, Size: 836 bytes --]

From 2b51749ab66e17fbc48157f7c4773d9ce6aeb93f Mon Sep 17 00:00:00 2001
From: Sergio Aguirre <saaguirre@ti.com>
Date: Wed, 5 May 2010 12:21:57 -0500
Subject: [PATCH] omapfb: Remove tristate option in Kconfig

Compiling as module is broken, and should be fixed first,
before having the option available.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
---
 drivers/video/omap/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/video/omap/Kconfig b/drivers/video/omap/Kconfig
index 455c605..420b009 100644
--- a/drivers/video/omap/Kconfig
+++ b/drivers/video/omap/Kconfig
@@ -1,5 +1,5 @@
 config FB_OMAP
-	tristate "OMAP frame buffer support (EXPERIMENTAL)"
+	bool "OMAP frame buffer support (EXPERIMENTAL)"
 	depends on FB && ARCH_OMAP && (OMAP2_DSS = "n")
 
 	select FB_CFB_FILLRECT
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 80+ messages in thread

* Old DSS code broken as module (was "RE: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig")
@ 2010-05-05 18:23         ` Aguirre, Sergio
  0 siblings, 0 replies; 80+ messages in thread
From: Aguirre, Sergio @ 2010-05-05 18:23 UTC (permalink / raw)
  To: linux-arm-kernel



From: Tony Lindgren [mailto:tony at atomide.com]
Sent: Wednesday, May 05, 2010 12:44 PM
> * Aguirre, Sergio <saaguirre@ti.com> [100505 10:27]:
> > Tony,
> >
> > > -----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: Disable CONFIG_FB_OMAP in
> > > omap3_defconfig
> > >
> > > Looks 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.
> >
> > (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.
> 
> 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

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

^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: Old DSS code broken as module (was "RE: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig")
  2010-05-05 17:32     ` Aguirre, Sergio
@ 2010-05-06  8:07       ` Tomi Valkeinen
  -1 siblings, 0 replies; 80+ messages in thread
From: Tomi Valkeinen @ 2010-05-06  8:07 UTC (permalink / raw)
  To: ext Aguirre, Sergio; +Cc: Tony Lindgren, linux-arm-kernel, linux-omap

On Wed, 2010-05-05 at 19:32 +0200, ext Aguirre, Sergio wrote:
> Tony,
> 
> > -----Original Message-----
> > From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> > owner@vger.kernel.org] On Behalf Of Tony Lindgren
> > Sent: Friday, April 30, 2010 3:34 PM
> > To: linux-arm-kernel@lists.infradead.org
> > Cc: linux-omap@vger.kernel.org
> > Subject: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in
> > omap3_defconfig
> > 
> > Looks 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.
> 
> (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.

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



^ permalink raw reply	[flat|nested] 80+ messages in thread

* Old DSS code broken as module (was "RE: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig")
@ 2010-05-06  8:07       ` Tomi Valkeinen
  0 siblings, 0 replies; 80+ messages in thread
From: Tomi Valkeinen @ 2010-05-06  8:07 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, 2010-05-05 at 19:32 +0200, ext Aguirre, Sergio wrote:
> Tony,
> 
> > -----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: Disable CONFIG_FB_OMAP in
> > omap3_defconfig
> > 
> > Looks 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.
> 
> (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.

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

^ permalink raw reply	[flat|nested] 80+ messages in thread

end of thread, other threads:[~2010-05-06  8:08 UTC | newest]

Thread overview: 80+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-30 20:33 [PATCH 00/11] omap2/3/4: Multi-omap updates to boot test with omap3_defconfig Tony Lindgren
2010-04-30 20:33 ` Tony Lindgren
2010-04-30 20:33 ` [PATCH 01/11] omap2/3/4: Fix multi.h when omap3 and omap4 are selected without omap2 Tony Lindgren
2010-04-30 20:33   ` Tony Lindgren
2010-04-30 20:33 ` [PATCH 02/11] omap2/3: Fix DEBUG_LL for omap zoom2/3 Tony Lindgren
2010-04-30 20:33   ` Tony Lindgren
2010-04-30 20:55   ` Kevin Hilman
2010-04-30 20:55     ` Kevin Hilman
2010-04-30 21:02     ` Tony Lindgren
2010-04-30 21:02       ` Tony Lindgren
2010-04-30 21:20       ` Kevin Hilman
2010-04-30 21:20         ` Kevin Hilman
2010-04-30 21:37         ` Pandita, Vikram
2010-04-30 21:37           ` Pandita, Vikram
2010-04-30 21:53           ` Pandita, Vikram
2010-04-30 21:53             ` Pandita, Vikram
2010-04-30 22:00           ` Kevin Hilman
2010-04-30 22:00             ` Kevin Hilman
2010-04-30 23:30             ` Tony Lindgren
2010-04-30 23:30               ` Tony Lindgren
2010-05-01  0:10               ` Kevin Hilman
2010-05-01  0:10                 ` Kevin Hilman
2010-05-01  1:37                 ` Tony Lindgren
2010-05-01  1:37                   ` Tony Lindgren
2010-05-01  1:50                   ` Tony Lindgren
2010-05-01  1:50                     ` Tony Lindgren
2010-05-03 22:10                     ` Pandita, Vikram
2010-05-03 22:10                       ` Pandita, Vikram
2010-05-04  0:40                       ` Tony Lindgren
2010-05-04  0:40                         ` Tony Lindgren
2010-05-04  0:57                         ` [PATCH 02a/11] omap: Use a memory address for storing the debug port info instead of UART1 scratchpad Tony Lindgren
2010-05-04  0:57                           ` Tony Lindgren
2010-05-04  0:58                         ` [PATCH 02b/11] omap2/3: Fix DEBUG_LL for omap zoom2/3 Tony Lindgren
2010-05-04  0:58                           ` Tony Lindgren
2010-05-04 17:33                           ` Pandita, Vikram
2010-05-04 17:33                             ` Pandita, Vikram
2010-05-04 23:09                             ` Tony Lindgren
2010-05-04 23:09                               ` Tony Lindgren
2010-04-30 20:33 ` [PATCH 03/11] omap3: Fix compile for board-cm-t35 Tony Lindgren
2010-04-30 20:33   ` Tony Lindgren
2010-04-30 20:33 ` [PATCH 04/11] omap3: Remove non-muxable ball entries for 3630 Tony Lindgren
2010-04-30 20:33   ` Tony Lindgren
2010-04-30 20:33 ` [PATCH 05/11] omap4: Fix multiboot with CONFIG_PM and CONFIG_ARCH_OMAP3 selected Tony Lindgren
2010-04-30 20:33   ` Tony Lindgren
2010-04-30 20:33 ` [PATCH 06/11] omap4: Fix omap_l2_cache_init not to run for other omaps Tony Lindgren
2010-04-30 20:33   ` Tony Lindgren
2010-05-01  6:18   ` Shilimkar, Santosh
2010-05-01  6:18     ` Shilimkar, Santosh
2010-05-01 17:46     ` Tony Lindgren
2010-05-01 17:46       ` Tony Lindgren
2010-04-30 20:34 ` [PATCH 07/11] omap2/3/4: Add new boards to omap3_defconfig Tony Lindgren
2010-04-30 20:34   ` Tony Lindgren
2010-04-30 20:34 ` [PATCH 08/11] omap2/3/4: Make omap3_defconfig usable on Nokia boards Tony Lindgren
2010-04-30 20:34   ` Tony Lindgren
2010-04-30 20:34 ` [PATCH 09/11] omap2/3/4: Update PMIC options for TWL and Menelaus chips Tony Lindgren
2010-04-30 20:34   ` Tony Lindgren
2010-04-30 20:34 ` [PATCH 10/11] omap2/3/4: Dissable CONFIG_PM_VERBOSE in omap3_defconfig Tony Lindgren
2010-04-30 20:34   ` Tony Lindgren
2010-04-30 20:34 ` [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP " Tony Lindgren
2010-04-30 20:34   ` Tony Lindgren
2010-04-30 20:50   ` Tony Lindgren
2010-04-30 20:50     ` Tony Lindgren
2010-05-04  0:52     ` Tony Lindgren
2010-05-04  0:52       ` Tony Lindgren
2010-05-04  7:26       ` Tomi Valkeinen
2010-05-04  7:26         ` Tomi Valkeinen
2010-05-04 14:40         ` Tony Lindgren
2010-05-04 14:40           ` Tony Lindgren
2010-05-04 14:50           ` Tomi Valkeinen
2010-05-04 14:50             ` Tomi Valkeinen
2010-05-04 19:23             ` Tony Lindgren
2010-05-04 19:23               ` Tony Lindgren
2010-05-05 17:32   ` Old DSS code broken as module (was "RE: [PATCH 11/11] omap2/3/4: Disable CONFIG_FB_OMAP in omap3_defconfig") Aguirre, Sergio
2010-05-05 17:32     ` Aguirre, Sergio
2010-05-05 17:43     ` Tony Lindgren
2010-05-05 17:43       ` Tony Lindgren
2010-05-05 18:23       ` Aguirre, Sergio
2010-05-05 18:23         ` Aguirre, Sergio
2010-05-06  8:07     ` Tomi Valkeinen
2010-05-06  8:07       ` Tomi Valkeinen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.