[PATCH 1/1] OMAP: DSS2: RFBI driver update

2009-10-09 Thread Mikkel Christensen
This patch adds suspend / resume functionality to the RFBI driver along with 
missing callback functions needed by OMAP Frame buffer.

Signed-off-by: Mikkel Christensen m...@ti.com
---
 drivers/video/omap2/dss/rfbi.c |   76 
 1 files changed, 76 insertions(+), 0 deletions(-)

diff --git a/drivers/video/omap2/dss/rfbi.c b/drivers/video/omap2/dss/rfbi.c
index 9dd2349..ddfc472 100644
--- a/drivers/video/omap2/dss/rfbi.c
+++ b/drivers/video/omap2/dss/rfbi.c
@@ -1181,6 +1181,7 @@ int rfbi_init(void)
 
/* Enable autoidle and smart-idle */
l = rfbi_read_reg(RFBI_SYSCONFIG);
+   l = ~((0x03  3)|(0x01  0));
l |= (1  0) | (2  3);
rfbi_write_reg(RFBI_SYSCONFIG, l);
 
@@ -1208,6 +1209,9 @@ static int rfbi_display_update(struct omap_dss_device 
*dssdev,
 {
int rfbi_module;
 
+   if (dssdev-state != OMAP_DSS_DISPLAY_ACTIVE)
+   return 0;
+
if (w == 0 || h == 0)
return 0;
 
@@ -1239,6 +1243,18 @@ static int rfbi_display_enable_te(struct omap_dss_device 
*dssdev, bool enable)
return 0;
 }
 
+static enum omap_dss_update_mode rfbi_display_get_update_mode(
+   struct omap_dss_device *dssdev)
+{
+   return OMAP_DSS_UPDATE_MANUAL;
+}
+
+static int rfbi_display_set_update_mode(struct omap_dss_device *dssdev,
+   enum omap_dss_update_mode mode)
+{
+   return 0;
+}
+
 static int rfbi_display_enable(struct omap_dss_device *dssdev)
 {
int r;
@@ -1269,6 +1285,7 @@ static int rfbi_display_enable(struct omap_dss_device 
*dssdev)
rfbi_set_timings(dssdev-phy.rfbi.channel,
 dssdev-ctrl.rfbi_timings);
 
+   dssdev-state = OMAP_DSS_DISPLAY_ACTIVE;
 
if (dssdev-driver-enable) {
r = dssdev-driver-enable(dssdev);
@@ -1288,12 +1305,67 @@ err0:
 
 static void rfbi_display_disable(struct omap_dss_device *dssdev)
 {
+   dssdev-state = OMAP_DSS_DISPLAY_DISABLED;
+
dssdev-driver-disable(dssdev);
omap_dispc_unregister_isr(framedone_callback, NULL,
DISPC_IRQ_FRAMEDONE);
omap_dss_stop_device(dssdev);
 }
 
+static int rfbi_display_suspend(struct omap_dss_device *dssdev)
+{
+   unsigned long l;
+
+   if (dssdev-state != OMAP_DSS_DISPLAY_ACTIVE)
+   return -EINVAL;
+
+   DSSDBG(rfbi_display_suspend\n);
+
+   if (dssdev-driver-suspend)
+   dssdev-driver-suspend(dssdev);
+
+   dispc_enable_lcd_out(0);
+
+   /* Force idle */
+   rfbi_enable_clocks(1);
+   l = rfbi_read_reg(RFBI_SYSCONFIG);
+   l = ~(0x03  3);
+   rfbi_write_reg(RFBI_SYSCONFIG, l);
+   rfbi_enable_clocks(0);
+
+   dssdev-state = OMAP_DSS_DISPLAY_SUSPENDED;
+
+   return 0;
+}
+
+static int rfbi_display_resume(struct omap_dss_device *dssdev)
+{
+   unsigned long l;
+
+   if (dssdev-state != OMAP_DSS_DISPLAY_SUSPENDED)
+   return -EINVAL;
+
+   DSSDBG(rfbi_display_resume\n);
+
+   /* Re-enable autoidle */
+   rfbi_enable_clocks(1);
+   l = rfbi_read_reg(RFBI_SYSCONFIG);
+   l = ~(0x03  3);
+   l |=  (0x02  3);
+   rfbi_write_reg(RFBI_SYSCONFIG, l);
+   rfbi_enable_clocks(0);
+
+   dispc_enable_lcd_out(1);
+
+   if (dssdev-driver-resume)
+   dssdev-driver-resume(dssdev);
+
+   dssdev-state = OMAP_DSS_DISPLAY_ACTIVE;
+
+   return 0;
+}
+
 int rfbi_init_display(struct omap_dss_device *dssdev)
 {
dssdev-enable = rfbi_display_enable;
@@ -1301,6 +1373,10 @@ int rfbi_init_display(struct omap_dss_device *dssdev)
dssdev-update = rfbi_display_update;
dssdev-sync = rfbi_display_sync;
dssdev-enable_te = rfbi_display_enable_te;
+   dssdev-get_update_mode = rfbi_display_get_update_mode;
+   dssdev-set_update_mode = rfbi_display_set_update_mode;
+   dssdev-suspend = rfbi_display_suspend;
+   dssdev-resume = rfbi_display_resume;
 
rfbi.dssdev[dssdev-phy.rfbi.channel] = dssdev;
 
-- 
1.6.0.4

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


[PATCH v2 0/3] Support for OMAP3 Zoom2 board

2009-05-15 Thread Mikkel Christensen
The following patch series adds support for Zoom2 board.
This is a new version made after comments from Kevin Hilman.

An external debug board is included for console and LAN.

For details refer to this site:
http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp

Future work:
 - SMSC911x NFS mount problem
 - Low level debug uart need to use debug board

TI wiki with FAQs on getting this board booting:
https://omapzoom.org/gf/project/omapzoom/wiki/?pagename=GettingStartedWithZoomII_AKA_OMAP34XII_MDP

Diffstat:
 configs/omap3_zoom2_defconfig   | 1211 
 mach-omap2/Kconfig  |4 
 mach-omap2/Makefile |4 
 mach-omap2/board-zoom2-debugboard.c |  165 
 mach-omap2/board-zoom2.c|  109 +++
 5 files changed, 1492 insertions(+), 1 deletion(-)
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 1/3] OMAP3:zoom2: Add support for OMAP3 Zoom2 board

2009-05-15 Thread Mikkel Christensen
This patch creates the minimal OMAP3 Zoom2 board support.

Signed-off-by: Mikkel Christensen m...@ti.com
Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/mach-omap2/board-zoom2-debugboard.c |  165 ++
 arch/arm/mach-omap2/board-zoom2.c|  109 +
 2 files changed, 274 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-zoom2-debugboard.c
 create mode 100644 arch/arm/mach-omap2/board-zoom2.c

diff --git a/arch/arm/mach-omap2/board-zoom2-debugboard.c 
b/arch/arm/mach-omap2/board-zoom2-debugboard.c
new file mode 100644
index 000..e89b3af
--- /dev/null
+++ b/arch/arm/mach-omap2/board-zoom2-debugboard.c
@@ -0,0 +1,165 @@
+/*
+ * arch/arm/mach-omap2/board-zoom2-debugboard.c
+ *
+ * OMAP3 Zoom2 debug board support.
+ *
+ * Copyright (C) 2009 Texas Instruments Inc.
+ * Mikkel Christensen m...@ti.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include linux/kernel.h
+#include linux/init.h
+#include linux/serial_8250.h
+#include linux/smsc911x.h
+
+#include mach/gpio.h
+#include mach/gpmc.h
+
+#define ZOOM2_SMSC911X_CS  7
+#define ZOOM2_SMSC911X_GPIO158
+#define ZOOM2_QUADUART_CS  3
+#define ZOOM2_QUADUART_GPIO102
+#define QUART_CLK  1843200
+#define DEBUG_BASE 0x0800
+#define ZOOM2_ETHR_START   DEBUG_BASE
+
+static struct resource zoom2_smsc911x_resources[] = {
+   [0] = {
+   .start  = ZOOM2_ETHR_START,
+   .end= ZOOM2_ETHR_START + SZ_4K,
+   .flags  = IORESOURCE_MEM,
+   },
+   [1] = {
+   .flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
+   },
+};
+
+static struct smsc911x_platform_config zoom2_smsc911x_config = {
+   .irq_polarity   = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
+   .irq_type   = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
+   .flags  = SMSC911X_USE_32BIT,
+   .phy_interface  = PHY_INTERFACE_MODE_MII,
+};
+
+static struct platform_device zoom2_smsc911x_device = {
+   .name   = smsc911x,
+   .id = -1,
+   .num_resources  = ARRAY_SIZE(zoom2_smsc911x_resources),
+   .resource   = zoom2_smsc911x_resources,
+   .dev= {
+   .platform_data = zoom2_smsc911x_config,
+   },
+};
+
+static inline void __init zoom2_init_smsc911x(void)
+{
+   int eth_cs;
+   unsigned long cs_mem_base;
+   int eth_gpio = 0;
+
+   eth_cs = ZOOM2_SMSC911X_CS;
+
+   if (gpmc_cs_request(eth_cs, SZ_16M, cs_mem_base)  0) {
+   printk(KERN_ERR Failed to request GPMC mem for smsc911x\n);
+   return;
+   }
+
+   zoom2_smsc911x_resources[0].start = cs_mem_base + 0x0;
+   zoom2_smsc911x_resources[0].end   = cs_mem_base + 0xff;
+
+   eth_gpio = ZOOM2_SMSC911X_GPIO;
+
+   zoom2_smsc911x_resources[1].start = OMAP_GPIO_IRQ(eth_gpio);
+
+   if (gpio_request(eth_gpio, smsc911x irq)  0) {
+   printk(KERN_ERR Failed to request GPIO%d for smsc911x IRQ\n,
+   eth_gpio);
+   return;
+   }
+   gpio_direction_input(eth_gpio);
+}
+
+static struct plat_serial8250_port serial_platform_data[] = {
+   {
+   .mapbase= 0x1000,
+   .irq= OMAP_GPIO_IRQ(102),
+   .flags  = UPF_BOOT_AUTOCONF|UPF_IOREMAP|UPF_SHARE_IRQ,
+   .iotype = UPIO_MEM,
+   .regshift   = 1,
+   .uartclk= QUART_CLK,
+   }, {
+   .flags  = 0
+   }
+};
+
+static struct platform_device zoom2_debugboard_serial_device = {
+   .name   = serial8250,
+   .id = PLAT8250_DEV_PLATFORM1,
+   .dev= {
+   .platform_data  = serial_platform_data,
+   },
+};
+
+static inline void __init zoom2_init_quaduart(void)
+{
+   int quart_cs;
+   unsigned long cs_mem_base;
+   int quart_gpio = 0;
+
+   quart_cs = ZOOM2_QUADUART_CS;
+
+   if (gpmc_cs_request(quart_cs, SZ_1M, cs_mem_base)  0) {
+   printk(KERN_ERR Failed to request GPMC mem
+   for Quad UART(TL16CP754C)\n);
+   return;
+   }
+
+   quart_gpio = ZOOM2_QUADUART_GPIO;
+
+   if (gpio_request(quart_gpio, TL16CP754C GPIO)  0) {
+   printk(KERN_ERR Failed to request GPIO%d for TL16CP754C\n,
+   quart_gpio);
+   return;
+   }
+   gpio_direction_input(quart_gpio);
+}
+
+static inline int omap_zoom2_debugboard_detect(void)
+{
+   int debug_board_detect = 0;
+
+   debug_board_detect = ZOOM2_SMSC911X_GPIO;
+
+   if (gpio_request(debug_board_detect, Zoom2 debug board detect)  0

[PATCH v2 3/3] OMAP3:zoom2: Makefile and Kconfig for Zoom2 board

2009-05-15 Thread Mikkel Christensen
This patch adds OMAP3 Zoom2 board to the Makefile and Kconfig.

Signed-off-by: Mikkel Christensen m...@ti.com
Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/mach-omap2/Kconfig  |4 
 arch/arm/mach-omap2/Makefile |4 +++-
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 64ab386..0b16255 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -67,3 +67,7 @@ config MACH_OMAP_3430SDP
 config MACH_NOKIA_RX51
bool Nokia RX-51 board
depends on ARCH_OMAP3  ARCH_OMAP34XX
+
+config MACH_OMAP_ZOOM2
+   bool OMAP3 Zoom2 board
+   depends on ARCH_OMAP3  ARCH_OMAP34XX
\ No newline at end of file
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index c49d9bf..fe4485f 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -48,7 +48,9 @@ obj-$(CONFIG_MACH_OMAP_3430SDP)   += 
board-3430sdp.o \
 obj-$(CONFIG_MACH_NOKIA_RX51)  += board-rx51.o \
   board-rx51-peripherals.o \
   mmc-twl4030.o
-
+obj-$(CONFIG_MACH_OMAP_ZOOM2)  += board-zoom2.o \
+  mmc-twl4030.o \
+  board-zoom2-debugboard.o
 # Platform specific device init code
 ifeq ($(CONFIG_USB_MUSB_SOC),y)
 obj-y  += usb-musb.o
-- 
1.5.4.3

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


[PATCH v2 2/3] OMAP3:zoom2: Defconfig for Zoom2 board

2009-05-15 Thread Mikkel Christensen
This patch adds OMAP3 Zoom2 board defconfig.

Signed-off-by: Mikkel Christensen m...@ti.com
Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/configs/omap3_zoom2_defconfig | 1211 
 1 files changed, 1211 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/configs/omap3_zoom2_defconfig

diff --git a/arch/arm/configs/omap3_zoom2_defconfig 
b/arch/arm/configs/omap3_zoom2_defconfig
new file mode 100644
index 000..213fe9c
--- /dev/null
+++ b/arch/arm/configs/omap3_zoom2_defconfig
@@ -0,0 +1,1211 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.27-rc5
+# Fri Oct 10 11:49:41 2008
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_SUPPORTS_AOUT=y
+CONFIG_ZONE_DMA=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0x
+CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
+# CONFIG_HAVE_IOREMAP_PROT is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+# CONFIG_HAVE_ARCH_TRACEHOOK is not set
+# CONFIG_HAVE_DMA_ATTRS is not set
+# CONFIG_USE_GENERIC_SMP_HELPERS is not set
+CONFIG_HAVE_CLK=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_KMOD=y
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED=anticipatory
+CONFIG_CLASSIC_RCU=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set

[PATCH v3 0/3] Support for OMAP3 Zoom2 board

2009-05-15 Thread Mikkel Christensen
The following patch series adds support for Zoom2 board.
This is a new version made after comments from Kevin Hilman.

An external debug board is included for console and LAN.

For details refer to this site:
http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp

Future work:
 - SMSC911x NFS mount problem
 - Low level debug uart need to use debug board

TI wiki with FAQs on getting this board booting:
https://omapzoom.org/gf/project/omapzoom/wiki/?pagename=GettingStartedWithZoomII_AKA_OMAP34XII_MDP

Diffstat:
 configs/omap3_zoom2_defconfig   | 1211 
 mach-omap2/Kconfig  |5 
 mach-omap2/Makefile |4 
 mach-omap2/board-zoom2-debugboard.c |  161 
 mach-omap2/board-zoom2.c|  107 +++
 5 files changed, 1487 insertions(+), 1 deletion(-)
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 3/3] OMAP3:zoom2: Makefile and Kconfig for Zoom2 board

2009-05-15 Thread Mikkel Christensen
This patch adds OMAP3 Zoom2 board to the Makefile and Kconfig.

Signed-off-by: Mikkel Christensen m...@ti.com
Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/mach-omap2/Kconfig  |5 +
 arch/arm/mach-omap2/Makefile |4 +++-
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 64ab386..d08a9a5 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -67,3 +67,8 @@ config MACH_OMAP_3430SDP
 config MACH_NOKIA_RX51
bool Nokia RX-51 board
depends on ARCH_OMAP3  ARCH_OMAP34XX
+
+config MACH_OMAP_ZOOM2
+   bool OMAP3 Zoom2 board
+   depends on ARCH_OMAP3  ARCH_OMAP34XX
+
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index c49d9bf..fe4485f 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -48,7 +48,9 @@ obj-$(CONFIG_MACH_OMAP_3430SDP)   += 
board-3430sdp.o \
 obj-$(CONFIG_MACH_NOKIA_RX51)  += board-rx51.o \
   board-rx51-peripherals.o \
   mmc-twl4030.o
-
+obj-$(CONFIG_MACH_OMAP_ZOOM2)  += board-zoom2.o \
+  mmc-twl4030.o \
+  board-zoom2-debugboard.o
 # Platform specific device init code
 ifeq ($(CONFIG_USB_MUSB_SOC),y)
 obj-y  += usb-musb.o
-- 
1.5.4.3

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


[PATCH v3 1/3] OMAP3:zoom2: Add support for OMAP3 Zoom2 board

2009-05-15 Thread Mikkel Christensen
This patch creates the minimal OMAP3 Zoom2 board support.

Signed-off-by: Mikkel Christensen m...@ti.com
Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/mach-omap2/board-zoom2-debugboard.c |  161 ++
 arch/arm/mach-omap2/board-zoom2.c|  107 +
 2 files changed, 268 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-zoom2-debugboard.c
 create mode 100644 arch/arm/mach-omap2/board-zoom2.c

diff --git a/arch/arm/mach-omap2/board-zoom2-debugboard.c 
b/arch/arm/mach-omap2/board-zoom2-debugboard.c
new file mode 100644
index 000..e5686e8
--- /dev/null
+++ b/arch/arm/mach-omap2/board-zoom2-debugboard.c
@@ -0,0 +1,161 @@
+/*
+ * Copyright (C) 2009 Texas Instruments Inc.
+ * Mikkel Christensen m...@ti.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include linux/kernel.h
+#include linux/init.h
+#include linux/serial_8250.h
+#include linux/smsc911x.h
+
+#include mach/gpio.h
+#include mach/gpmc.h
+
+#define ZOOM2_SMSC911X_CS  7
+#define ZOOM2_SMSC911X_GPIO158
+#define ZOOM2_QUADUART_CS  3
+#define ZOOM2_QUADUART_GPIO102
+#define QUART_CLK  1843200
+#define DEBUG_BASE 0x0800
+#define ZOOM2_ETHR_START   DEBUG_BASE
+
+static struct resource zoom2_smsc911x_resources[] = {
+   [0] = {
+   .start  = ZOOM2_ETHR_START,
+   .end= ZOOM2_ETHR_START + SZ_4K,
+   .flags  = IORESOURCE_MEM,
+   },
+   [1] = {
+   .flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
+   },
+};
+
+static struct smsc911x_platform_config zoom2_smsc911x_config = {
+   .irq_polarity   = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
+   .irq_type   = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
+   .flags  = SMSC911X_USE_32BIT,
+   .phy_interface  = PHY_INTERFACE_MODE_MII,
+};
+
+static struct platform_device zoom2_smsc911x_device = {
+   .name   = smsc911x,
+   .id = -1,
+   .num_resources  = ARRAY_SIZE(zoom2_smsc911x_resources),
+   .resource   = zoom2_smsc911x_resources,
+   .dev= {
+   .platform_data = zoom2_smsc911x_config,
+   },
+};
+
+static inline void __init zoom2_init_smsc911x(void)
+{
+   int eth_cs;
+   unsigned long cs_mem_base;
+   int eth_gpio = 0;
+
+   eth_cs = ZOOM2_SMSC911X_CS;
+
+   if (gpmc_cs_request(eth_cs, SZ_16M, cs_mem_base)  0) {
+   printk(KERN_ERR Failed to request GPMC mem for smsc911x\n);
+   return;
+   }
+
+   zoom2_smsc911x_resources[0].start = cs_mem_base + 0x0;
+   zoom2_smsc911x_resources[0].end   = cs_mem_base + 0xff;
+
+   eth_gpio = ZOOM2_SMSC911X_GPIO;
+
+   zoom2_smsc911x_resources[1].start = OMAP_GPIO_IRQ(eth_gpio);
+
+   if (gpio_request(eth_gpio, smsc911x irq)  0) {
+   printk(KERN_ERR Failed to request GPIO%d for smsc911x IRQ\n,
+   eth_gpio);
+   return;
+   }
+   gpio_direction_input(eth_gpio);
+}
+
+static struct plat_serial8250_port serial_platform_data[] = {
+   {
+   .mapbase= 0x1000,
+   .irq= OMAP_GPIO_IRQ(102),
+   .flags  = UPF_BOOT_AUTOCONF|UPF_IOREMAP|UPF_SHARE_IRQ,
+   .iotype = UPIO_MEM,
+   .regshift   = 1,
+   .uartclk= QUART_CLK,
+   }, {
+   .flags  = 0
+   }
+};
+
+static struct platform_device zoom2_debugboard_serial_device = {
+   .name   = serial8250,
+   .id = PLAT8250_DEV_PLATFORM1,
+   .dev= {
+   .platform_data  = serial_platform_data,
+   },
+};
+
+static inline void __init zoom2_init_quaduart(void)
+{
+   int quart_cs;
+   unsigned long cs_mem_base;
+   int quart_gpio = 0;
+
+   quart_cs = ZOOM2_QUADUART_CS;
+
+   if (gpmc_cs_request(quart_cs, SZ_1M, cs_mem_base)  0) {
+   printk(KERN_ERR Failed to request GPMC mem
+   for Quad UART(TL16CP754C)\n);
+   return;
+   }
+
+   quart_gpio = ZOOM2_QUADUART_GPIO;
+
+   if (gpio_request(quart_gpio, TL16CP754C GPIO)  0) {
+   printk(KERN_ERR Failed to request GPIO%d for TL16CP754C\n,
+   quart_gpio);
+   return;
+   }
+   gpio_direction_input(quart_gpio);
+}
+
+static inline int omap_zoom2_debugboard_detect(void)
+{
+   int debug_board_detect = 0;
+
+   debug_board_detect = ZOOM2_SMSC911X_GPIO;
+
+   if (gpio_request(debug_board_detect, Zoom2 debug board detect)  0) {
+   printk(KERN_ERR Failed to request GPIO%d for Zoom2 debug
+   board

[PATCH v3 2/3] OMAP3:zoom2: Defconfig for Zoom2 board

2009-05-15 Thread Mikkel Christensen
This patch adds OMAP3 Zoom2 board defconfig.

Signed-off-by: Mikkel Christensen m...@ti.com
Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/configs/omap3_zoom2_defconfig | 1211 
 1 files changed, 1211 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/configs/omap3_zoom2_defconfig

diff --git a/arch/arm/configs/omap3_zoom2_defconfig 
b/arch/arm/configs/omap3_zoom2_defconfig
new file mode 100644
index 000..213fe9c
--- /dev/null
+++ b/arch/arm/configs/omap3_zoom2_defconfig
@@ -0,0 +1,1211 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.27-rc5
+# Fri Oct 10 11:49:41 2008
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_SUPPORTS_AOUT=y
+CONFIG_ZONE_DMA=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0x
+CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
+# CONFIG_HAVE_IOREMAP_PROT is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+# CONFIG_HAVE_ARCH_TRACEHOOK is not set
+# CONFIG_HAVE_DMA_ATTRS is not set
+# CONFIG_USE_GENERIC_SMP_HELPERS is not set
+CONFIG_HAVE_CLK=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_KMOD=y
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED=anticipatory
+CONFIG_CLASSIC_RCU=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set

[PATCH 0/3] Support for OMAP3 Zoom2 board

2009-05-07 Thread Mikkel Christensen
The following patch series adds support for Zoom2 board.

The board has:
 - Modem attached to UART1
 - WLAN attached to UART2
 - GPS attached to UART3

An external debug board is included for console and LAN.

For details refer to this site:
http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp

Future work:
 - SMSC911x NFS mount problem
 - Low level debug uart need to use debug board
 - Dynamic detection of debug board presence

TI wiki with FAQs on getting this board booting:
https://omapzoom.org/gf/project/omapzoom/wiki/?pagename=GettingStartedWithZoomII_AKA_OMAP34XII_MDP
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 3/3] OMAP3:zoom2: Makefile and Kconfig for Zoom2 board

2009-05-07 Thread Mikkel Christensen
This patch adds OMAP3 Zoom2 board to the Makefile and Kconfig.

Signed-off-by: Mikkel Christensen m...@ti.com
Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/mach-omap2/Kconfig  |4 
 arch/arm/mach-omap2/Makefile |4 +++-
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 64ab386..0b16255 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -67,3 +67,7 @@ config MACH_OMAP_3430SDP
 config MACH_NOKIA_RX51
bool Nokia RX-51 board
depends on ARCH_OMAP3  ARCH_OMAP34XX
+
+config MACH_OMAP_ZOOM2
+   bool OMAP3 Zoom2 board
+   depends on ARCH_OMAP3  ARCH_OMAP34XX
\ No newline at end of file
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index c49d9bf..fe4485f 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -48,7 +48,9 @@ obj-$(CONFIG_MACH_OMAP_3430SDP)   += 
board-3430sdp.o \
 obj-$(CONFIG_MACH_NOKIA_RX51)  += board-rx51.o \
   board-rx51-peripherals.o \
   mmc-twl4030.o
-
+obj-$(CONFIG_MACH_OMAP_ZOOM2)  += board-zoom2.o \
+  mmc-twl4030.o \
+  board-zoom2-debugboard.o
 # Platform specific device init code
 ifeq ($(CONFIG_USB_MUSB_SOC),y)
 obj-y  += usb-musb.o
-- 
1.5.4.3

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


[PATCH 1/3] OMAP3:zoom2: Add support for OMAP3 Zoom2 board

2009-05-07 Thread Mikkel Christensen
This patch creates the minimal OMAP3 Zoom2 board support.

Signed-off-by: Mikkel Christensen m...@ti.com
Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/mach-omap2/board-zoom2-debugboard.c |  150 ++
 arch/arm/mach-omap2/board-zoom2.c|  126 +
 2 files changed, 276 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-zoom2-debugboard.c
 create mode 100644 arch/arm/mach-omap2/board-zoom2.c

diff --git a/arch/arm/mach-omap2/board-zoom2-debugboard.c 
b/arch/arm/mach-omap2/board-zoom2-debugboard.c
new file mode 100644
index 000..ae90f2b
--- /dev/null
+++ b/arch/arm/mach-omap2/board-zoom2-debugboard.c
@@ -0,0 +1,150 @@
+/*
+ * arch/arm/mach-omap2/board-zoom2-debugboard.c
+ *
+ * OMAP3 Zoom2 debug board support.
+ *
+ * Copyright (C) 2009 Texas Instruments Inc.
+ * Mikkel Christensen m...@ti.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include linux/kernel.h
+#include linux/init.h
+#include linux/delay.h
+#include linux/serial_8250.h
+#include linux/serial_reg.h
+#include linux/smsc911x.h
+#include linux/io.h
+
+#include mach/common.h
+#include mach/board.h
+#include mach/gpio.h
+#include mach/gpmc.h
+
+#define ZOOM2_SMSC911X_CS  7
+#define ZOOM2_SMSC911X_GPIO158
+#define ZOOM2_QUADUART_CS  3
+#define ZOOM2_QUADUART_GPIO102
+#define QUART_CLK  1843200
+#define DEBUG_BASE 0x0800
+#define ZOOM2_ETHR_START   DEBUG_BASE
+
+static struct resource zoom2_smsc911x_resources[] = {
+   [0] = {
+   .start  = ZOOM2_ETHR_START,
+   .end= ZOOM2_ETHR_START + SZ_4K,
+   .flags  = IORESOURCE_MEM,
+   },
+   [1] = {
+   .start  = 0,
+   .end= 0,
+   .flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
+   },
+};
+
+static struct smsc911x_platform_config zoom2_smsc911x_config = {
+   .irq_polarity   = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
+   .irq_type   = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
+   .flags  = SMSC911X_USE_32BIT,
+   .phy_interface  = PHY_INTERFACE_MODE_MII,
+};
+
+static struct platform_device zoom2_smsc911x_device = {
+   .name   = smsc911x,
+   .id = -1,
+   .num_resources  = ARRAY_SIZE(zoom2_smsc911x_resources),
+   .resource   = zoom2_smsc911x_resources,
+   .dev= {
+   .platform_data = zoom2_smsc911x_config,
+   },
+};
+
+static inline void __init zoom2_init_smsc911x(void)
+{
+   int eth_cs;
+   unsigned long cs_mem_base;
+   int eth_gpio = 0;
+
+   eth_cs = ZOOM2_SMSC911X_CS;
+
+   if (gpmc_cs_request(eth_cs, SZ_16M, cs_mem_base)  0) {
+   printk(KERN_ERR Failed to request GPMC mem for smsc911x\n);
+   return;
+   }
+
+   zoom2_smsc911x_resources[0].start = cs_mem_base + 0x0;
+   zoom2_smsc911x_resources[0].end   = cs_mem_base + 0xff;
+   udelay(100);
+
+   eth_gpio = ZOOM2_SMSC911X_GPIO;
+
+   zoom2_smsc911x_resources[1].start = OMAP_GPIO_IRQ(eth_gpio);
+
+   if (gpio_request(eth_gpio, smsc911x irq)  0) {
+   printk(KERN_ERR Failed to request GPIO%d for smsc911x IRQ\n,
+   eth_gpio);
+   return;
+   }
+   gpio_direction_input(eth_gpio);
+}
+
+static struct plat_serial8250_port serial_platform_data[] = {
+   {
+   .membase= 0,
+   .mapbase= 0x1000,
+   .irq= OMAP_GPIO_IRQ(102),
+   .flags  = UPF_BOOT_AUTOCONF|UPF_IOREMAP|UPF_SHARE_IRQ,
+   .iotype = UPIO_MEM,
+   .regshift   = 1,
+   .uartclk= QUART_CLK,
+   }, {
+   .flags  = 0
+   }
+};
+
+static struct platform_device zoom2_debugboard_serial_device = {
+   .name   = serial8250,
+   .id = PLAT8250_DEV_PLATFORM1,
+   .dev= {
+   .platform_data  = serial_platform_data,
+   },
+};
+
+static inline void __init zoom2_init_quaduart(void)
+{
+   int quart_cs;
+   unsigned long cs_mem_base;
+   int quart_gpio = 0;
+
+   quart_cs = ZOOM2_QUADUART_CS;
+
+   if (gpmc_cs_request(quart_cs, SZ_1M, cs_mem_base)  0) {
+   printk(KERN_ERR Failed to request GPMC mem
+   for Quad UART(TL16CP754C)\n);
+   return;
+   }
+
+   quart_gpio = ZOOM2_QUADUART_GPIO;
+
+   if (gpio_request(quart_gpio, TL16CP754C GPIO)  0) {
+   printk(KERN_ERR Failed to request GPIO%d for TL16CP754C\n,
+   quart_gpio);
+   return;
+   }
+   gpio_direction_input

[PATCH 2/3] OMAP3:zoom2: Defconfig for Zoom2 board

2009-05-07 Thread Mikkel Christensen
This patch adds OMAP3 Zoom2 board defconfig.

Signed-off-by: Mikkel Christensen m...@ti.com
Signed-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/configs/omap3_zoom2_defconfig | 1211 
 1 files changed, 1211 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/configs/omap3_zoom2_defconfig

diff --git a/arch/arm/configs/omap3_zoom2_defconfig 
b/arch/arm/configs/omap3_zoom2_defconfig
new file mode 100644
index 000..213fe9c
--- /dev/null
+++ b/arch/arm/configs/omap3_zoom2_defconfig
@@ -0,0 +1,1211 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.27-rc5
+# Fri Oct 10 11:49:41 2008
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_SUPPORTS_AOUT=y
+CONFIG_ZONE_DMA=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0x
+CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
+# CONFIG_HAVE_IOREMAP_PROT is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+# CONFIG_HAVE_ARCH_TRACEHOOK is not set
+# CONFIG_HAVE_DMA_ATTRS is not set
+# CONFIG_USE_GENERIC_SMP_HELPERS is not set
+CONFIG_HAVE_CLK=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_KMOD=y
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED=anticipatory
+CONFIG_CLASSIC_RCU=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set