summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2009-08-11 12:04:11 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2009-08-11 12:04:11 +0100
commitf56add4559dea1bb2857c220aab69c6d83d161b6 (patch)
tree15465e24e9bd5fba706ce7e5b1661b51f7f2d05a
parent083745a26e717b1c927bd86d604bdab586620567 (diff)
parent63dffacec4d267d239f789d4812ba390ac1784f5 (diff)
downloadopenembedded-core-f56add4559dea1bb2857c220aab69c6d83d161b6.tar.gz
openembedded-core-f56add4559dea1bb2857c220aab69c6d83d161b6.tar.bz2
openembedded-core-f56add4559dea1bb2857c220aab69c6d83d161b6.zip
Merge branch 'mturquette/zoom2' of git://git.pokylinux.org/poky-contrib
-rw-r--r--meta/conf/machine/zoom2.conf20
-rw-r--r--meta/packages/linux/linux-omap3-pm-git/zoom2/0001-OMAP3-MMC-Add-mux-for-pins.patch170
-rw-r--r--meta/packages/linux/linux-omap3-pm-git/zoom2/0002-OMAP3-Zoom2-Add-TWL4030-support.patch281
-rw-r--r--meta/packages/linux/linux-omap3-pm-git/zoom2/0003-OMAP3-Zoom2-Update-board-defconfig.patch1102
-rw-r--r--meta/packages/linux/linux-omap3-pm-git/zoom2/0004-serial-8250-add-IRQ-trigger-support.patch143
-rw-r--r--meta/packages/linux/linux-omap3-pm-git/zoom2/0005-OMAP2-Zoom2-Pass-irqflags-to-8250-driver.patch41
-rw-r--r--meta/packages/linux/linux-omap3-pm-git/zoom2/0006-OMAP3-Zoom2-ext-UART-needs-plaform_device.id-3.patch29
-rw-r--r--meta/packages/linux/linux-omap3-pm-git/zoom2/0007-omap-zoom2-add-external-uart-DEBUG_LL-support-to-zoo.patch71
-rw-r--r--meta/packages/linux/linux-omap3-pm-git/zoom2/0008-omap2-add-support-for-DEBUG_LL-on-external-UART.patch103
-rw-r--r--meta/packages/linux/linux-omap3-pm_git.bb75
10 files changed, 2035 insertions, 0 deletions
diff --git a/meta/conf/machine/zoom2.conf b/meta/conf/machine/zoom2.conf
new file mode 100644
index 0000000000..c71bc6df98
--- /dev/null
+++ b/meta/conf/machine/zoom2.conf
@@ -0,0 +1,20 @@
+#@TYPE: Machine
+#@NAME: Logic PD Zoom2
+#@DESCRIPTION: Machine configuration for the OMAP3-powered Logic PD Zoom2
+TARGET_ARCH = "arm"
+PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7a"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-omap3-pm"
+
+MACHINE_FEATURES = "kernel26 apm alsa usbgadget usbhost screen touchscreen"
+
+KERNEL_IMAGETYPE = "uImage"
+IMAGE_FSTYPES ?= "tar.gz jffs2 ext2"
+UBOOT_ENTRYPOINT ="0x80008000"
+UBOOT_LOADADDRESS ="0x80008000"
+
+EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n"
+SERIAL_CONSOLE = "-L 115200 ttyS3"
+#MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS = "u-boot x-load"
+
+require conf/machine/include/tune-cortexa8.inc
diff --git a/meta/packages/linux/linux-omap3-pm-git/zoom2/0001-OMAP3-MMC-Add-mux-for-pins.patch b/meta/packages/linux/linux-omap3-pm-git/zoom2/0001-OMAP3-MMC-Add-mux-for-pins.patch
new file mode 100644
index 0000000000..70db8219ae
--- /dev/null
+++ b/meta/packages/linux/linux-omap3-pm-git/zoom2/0001-OMAP3-MMC-Add-mux-for-pins.patch
@@ -0,0 +1,170 @@
+From be0e1c0f2f529d6f5adb9c5050731d881874c34b Mon Sep 17 00:00:00 2001
+From: Vikram Pandita <vikram.pandita@ti.com>
+Date: Thu, 18 Jun 2009 13:40:08 -0500
+Subject: [PATCH 1/8] OMAP3: MMC: Add mux for pins
+
+For OMAP3 add MMC1 MMC2 pin mux
+
+Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
+Signed-off-by: Chikkature Rajashekar <madhu.cr@ti.com>
+---
+ arch/arm/mach-omap2/devices.c | 42 ++++++++++++++++++++++++++++
+ arch/arm/mach-omap2/mux.c | 49 +++++++++++++++++++++++++++++++++
+ arch/arm/plat-omap/include/mach/mux.h | 28 +++++++++++++++++++
+ 3 files changed, 119 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
+index 81f47d9..243815e 100644
+--- a/arch/arm/mach-omap2/devices.c
++++ b/arch/arm/mach-omap2/devices.c
+@@ -455,6 +455,48 @@ static inline void omap2_mmc_mux(struct omap_mmc_platform_data *mmc_controller,
+ omap_ctrl_writel(v, OMAP2_CONTROL_DEVCONF0);
+ }
+ }
++
++ if (cpu_is_omap3430()) {
++ if (controller_nr == 0) {
++ omap_cfg_reg(N28_3430_MMC1_CLK);
++ omap_cfg_reg(M27_3430_MMC1_CMD);
++ omap_cfg_reg(N27_3430_MMC1_DAT0);
++ if (mmc_controller->slots[0].wires == 4 ||
++ mmc_controller->slots[0].wires == 8) {
++ omap_cfg_reg(N26_3430_MMC1_DAT1);
++ omap_cfg_reg(N25_3430_MMC1_DAT2);
++ omap_cfg_reg(P28_3430_MMC1_DAT3);
++ }
++ if (mmc_controller->slots[0].wires == 8) {
++ omap_cfg_reg(P27_3430_MMC1_DAT4);
++ omap_cfg_reg(P26_3430_MMC1_DAT5);
++ omap_cfg_reg(R27_3430_MMC1_DAT6);
++ omap_cfg_reg(R25_3430_MMC1_DAT7);
++ }
++ }
++ if (controller_nr == 1) {
++ /* MMC2 */
++ omap_cfg_reg(AE2_3430_MMC2_CLK);
++ omap_cfg_reg(AG5_3430_MMC2_CMD);
++ omap_cfg_reg(AH5_3430_MMC2_DAT0);
++ if (mmc_controller->slots[0].wires == 4 ||
++ mmc_controller->slots[0].wires == 8) {
++ omap_cfg_reg(AH4_3430_MMC2_DAT1);
++ omap_cfg_reg(AG4_3430_MMC2_DAT2);
++ omap_cfg_reg(AF4_3430_MMC2_DAT3);
++ }
++ if (mmc_controller->slots[0].wires == 8)
++ printk(KERN_WARNING
++ "\n MMC2: DAT4, DAT5, DAT6, DAT7: "
++ "Setup the mux in board file");
++ }
++ if (controller_nr == 2) {
++ /* MMC3 */
++ printk(KERN_WARNING
++ "\n MMC3: Setup the mux in board file: "
++ "Multiple options exist, so is board specific");
++ }
++ }
+ }
+
+ #define MAX_OMAP_MMC_HWMOD_NAME_LEN 16
+diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
+index 026c4fc..d49b9a7 100644
+--- a/arch/arm/mach-omap2/mux.c
++++ b/arch/arm/mach-omap2/mux.c
+@@ -486,6 +486,55 @@ MUX_CFG_34XX("H19_34XX_GPIO164_OUT", 0x19c,
+ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT)
+ MUX_CFG_34XX("J25_34XX_GPIO170", 0x1c6,
+ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
++/* MMC1 */
++MUX_CFG_34XX("N28_3430_MMC1_CLK", 0x144,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("M27_3430_MMC1_CMD", 0x146,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("N27_3430_MMC1_DAT0", 0x148,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("N26_3430_MMC1_DAT1", 0x14a,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("N25_3430_MMC1_DAT2", 0x14c,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("P28_3430_MMC1_DAT3", 0x14e,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("P27_3430_MMC1_DAT4", 0x150,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("P26_3430_MMC1_DAT5", 0x152,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("R27_3430_MMC1_DAT6", 0x154,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("R25_3430_MMC1_DAT7", 0x156,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++
++/* MMC2 */
++MUX_CFG_34XX("AE2_3430_MMC2_CLK", 0x158,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("AG5_3430_MMC2_CMD", 0x15A,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("AH5_3430_MMC2_DAT0", 0x15c,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("AH4_3430_MMC2_DAT1", 0x15e,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("AG4_3430_MMC2_DAT2", 0x160,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("AF4_3430_MMC2_DAT3", 0x162,
++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
++
++/* MMC3 */
++MUX_CFG_34XX("AF10_3430_MMC3_CLK", 0x5d8,
++ OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("AC3_3430_MMC3_CMD", 0x1d0,
++ OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("AE11_3430_MMC3_DAT0", 0x5e4,
++ OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("AH9_3430_MMC3_DAT1", 0x5e6,
++ OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("AF13_3430_MMC3_DAT2", 0x5e8,
++ OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
++MUX_CFG_34XX("AF13_3430_MMC3_DAT3", 0x5e2,
++ OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
+ };
+
+ #define OMAP34XX_PINS_SZ ARRAY_SIZE(omap34xx_pins)
+diff --git a/arch/arm/plat-omap/include/mach/mux.h b/arch/arm/plat-omap/include/mach/mux.h
+index 85a6217..d24fdf9 100644
+--- a/arch/arm/plat-omap/include/mach/mux.h
++++ b/arch/arm/plat-omap/include/mach/mux.h
+@@ -853,6 +853,34 @@ enum omap34xx_index {
+ AE5_34XX_GPIO143,
+ H19_34XX_GPIO164_OUT,
+ J25_34XX_GPIO170,
++
++ /* MMC1 */
++ N28_3430_MMC1_CLK,
++ M27_3430_MMC1_CMD,
++ N27_3430_MMC1_DAT0,
++ N26_3430_MMC1_DAT1,
++ N25_3430_MMC1_DAT2,
++ P28_3430_MMC1_DAT3,
++ P27_3430_MMC1_DAT4,
++ P26_3430_MMC1_DAT5,
++ R27_3430_MMC1_DAT6,
++ R25_3430_MMC1_DAT7,
++
++ /* MMC2 */
++ AE2_3430_MMC2_CLK,
++ AG5_3430_MMC2_CMD,
++ AH5_3430_MMC2_DAT0,
++ AH4_3430_MMC2_DAT1,
++ AG4_3430_MMC2_DAT2,
++ AF4_3430_MMC2_DAT3,
++
++ /* MMC3 */
++ AF10_3430_MMC3_CLK,
++ AC3_3430_MMC3_CMD,
++ AE11_3430_MMC3_DAT0,
++ AH9_3430_MMC3_DAT1,
++ AF13_3430_MMC3_DAT2,
++ AF13_3430_MMC3_DAT3,
+ };
+
+ struct omap_mux_cfg {
+--
+1.6.3.2
+
diff --git a/meta/packages/linux/linux-omap3-pm-git/zoom2/0002-OMAP3-Zoom2-Add-TWL4030-support.patch b/meta/packages/linux/linux-omap3-pm-git/zoom2/0002-OMAP3-Zoom2-Add-TWL4030-support.patch
new file mode 100644
index 0000000000..ed5b4e2df0
--- /dev/null
+++ b/meta/packages/linux/linux-omap3-pm-git/zoom2/0002-OMAP3-Zoom2-Add-TWL4030-support.patch
@@ -0,0 +1,281 @@
+From b71cd09cefcd54e792a2ac032c3be64a97ef830c Mon Sep 17 00:00:00 2001
+From: Vikram Pandita <vikram.pandita@ti.com>
+Date: Fri, 12 Jun 2009 17:44:07 -0500
+Subject: [PATCH 2/8] OMAP3:Zoom2: Add TWL4030 support
+
+Add TWL4030 CORE and TWL4030 drivers to Zoom2 board file
+TWL drivers enabled are:
+ bci
+ madc
+ usb
+ keypad
+ mmc
+
+Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
+---
+ arch/arm/mach-omap2/board-zoom2.c | 204 +++++++++++++++++++++++++++++++++++--
+ 1 files changed, 193 insertions(+), 11 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c
+index 0ec2023..e4bf50a 100644
+--- a/arch/arm/mach-omap2/board-zoom2.c
++++ b/arch/arm/mach-omap2/board-zoom2.c
+@@ -12,18 +12,85 @@
+ #include <linux/kernel.h>
+ #include <linux/init.h>
+ #include <linux/platform_device.h>
++#include <linux/input.h>
+ #include <linux/gpio.h>
+ #include <linux/i2c/twl4030.h>
++#include <linux/regulator/machine.h>
+
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+
+ #include <mach/common.h>
+ #include <mach/usb.h>
++#include <mach/keypad.h>
+
+ #include "mmc-twl4030.h"
+ #include "omap3-opp.h"
+
++/* Zoom2 has Qwerty keyboard*/
++static int zoom2_twl4030_keymap[] = {
++ KEY(0, 0, KEY_E),
++ KEY(1, 0, KEY_R),
++ KEY(2, 0, KEY_T),
++ KEY(3, 0, KEY_HOME),
++ KEY(6, 0, KEY_I),
++ KEY(7, 0, KEY_LEFTSHIFT),
++ KEY(0, 1, KEY_D),
++ KEY(1, 1, KEY_F),
++ KEY(2, 1, KEY_G),
++ KEY(3, 1, KEY_SEND),
++ KEY(6, 1, KEY_K),
++ KEY(7, 1, KEY_ENTER),
++ KEY(0, 2, KEY_X),
++ KEY(1, 2, KEY_C),
++ KEY(2, 2, KEY_V),
++ KEY(3, 2, KEY_END),
++ KEY(6, 2, KEY_DOT),
++ KEY(7, 2, KEY_CAPSLOCK),
++ KEY(0, 3, KEY_Z),
++ KEY(1, 3, KEY_KPPLUS),
++ KEY(2, 3, KEY_B),
++ KEY(3, 3, KEY_F1),
++ KEY(6, 3, KEY_O),
++ KEY(7, 3, KEY_SPACE),
++ KEY(0, 4, KEY_W),
++ KEY(1, 4, KEY_Y),
++ KEY(2, 4, KEY_U),
++ KEY(3, 4, KEY_F2),
++ KEY(4, 4, KEY_VOLUMEUP),
++ KEY(6, 4, KEY_L),
++ KEY(7, 4, KEY_LEFT),
++ KEY(0, 5, KEY_S),
++ KEY(1, 5, KEY_H),
++ KEY(2, 5, KEY_J),
++ KEY(3, 5, KEY_F3),
++ KEY(5, 5, KEY_VOLUMEDOWN),
++ KEY(6, 5, KEY_M),
++ KEY(4, 5, KEY_ENTER),
++ KEY(7, 5, KEY_RIGHT),
++ KEY(0, 6, KEY_Q),
++ KEY(1, 6, KEY_A),
++ KEY(2, 6, KEY_N),
++ KEY(3, 6, KEY_BACKSPACE),
++ KEY(6, 6, KEY_P),
++ KEY(7, 6, KEY_UP),
++ KEY(6, 7, KEY_SELECT),
++ KEY(7, 7, KEY_DOWN),
++ KEY(0, 7, KEY_PROG1), /*MACRO 1 <User defined> */
++ KEY(1, 7, KEY_PROG2), /*MACRO 2 <User defined> */
++ KEY(2, 7, KEY_PROG3), /*MACRO 3 <User defined> */
++ KEY(3, 7, KEY_PROG4), /*MACRO 4 <User defined> */
++ 0
++};
++
++static struct twl4030_keypad_data zoom2_kp_twl4030_data = {
++ .rows = 8,
++ .cols = 8,
++ .keymap = zoom2_twl4030_keymap,
++ .keymapsize = ARRAY_SIZE(zoom2_twl4030_keymap),
++ .rep = 1,
++};
++
+ static struct omap_uart_config zoom2_uart_config __initdata = {
+ .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)),
+ };
+@@ -42,10 +109,128 @@ static void __init omap_zoom2_init_irq(void)
+ omap_gpio_init();
+ }
+
++
++static struct regulator_consumer_supply zoom2_vmmc1_supply = {
++ .supply = "vmmc",
++};
++
++static struct regulator_consumer_supply zoom2_vsim_supply = {
++ .supply = "vmmc_aux",
++};
++
++static struct regulator_consumer_supply zoom2_vmmc2_supply = {
++ .supply = "vmmc",
++};
++
++/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */
++static struct regulator_init_data zoom2_vmmc1 = {
++ .constraints = {
++ .min_uV = 1850000,
++ .max_uV = 3150000,
++ .valid_modes_mask = REGULATOR_MODE_NORMAL
++ | REGULATOR_MODE_STANDBY,
++ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
++ | REGULATOR_CHANGE_MODE
++ | REGULATOR_CHANGE_STATUS,
++ },
++ .num_consumer_supplies = 1,
++ .consumer_supplies = &zoom2_vmmc1_supply,
++};
++
++/* VMMC2 for MMC2 card */
++static struct regulator_init_data zoom2_vmmc2 = {
++ .constraints = {
++ .min_uV = 1850000,
++ .max_uV = 1850000,
++ .apply_uV = true,
++ .valid_modes_mask = REGULATOR_MODE_NORMAL
++ | REGULATOR_MODE_STANDBY,
++ .valid_ops_mask = REGULATOR_CHANGE_MODE
++ | REGULATOR_CHANGE_STATUS,
++ },
++ .num_consumer_supplies = 1,
++ .consumer_supplies = &zoom2_vmmc2_supply,
++};
++
++/* VSIM for OMAP VDD_MMC1A (i/o for DAT4..DAT7) */
++static struct regulator_init_data zoom2_vsim = {
++ .constraints = {
++ .min_uV = 1800000,
++ .max_uV = 3000000,
++ .valid_modes_mask = REGULATOR_MODE_NORMAL
++ | REGULATOR_MODE_STANDBY,
++ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
++ | REGULATOR_CHANGE_MODE
++ | REGULATOR_CHANGE_STATUS,
++ },
++ .num_consumer_supplies = 1,
++ .consumer_supplies = &zoom2_vsim_supply,
++};
++
++static struct twl4030_hsmmc_info mmc[] __initdata = {
++ {
++ .mmc = 1,
++ .wires = 4,
++ .gpio_wp = -EINVAL,
++ },
++ {
++ .mmc = 2,
++ .wires = 4,
++ .gpio_wp = -EINVAL,
++ },
++ {} /* Terminator */
++};
++
++static int zoom2_twl_gpio_setup(struct device *dev,
++ unsigned gpio, unsigned ngpio)
++{
++ /* gpio + 0 is "mmc0_cd" (input/IRQ),
++ * gpio + 1 is "mmc1_cd" (input/IRQ)
++ */
++ mmc[0].gpio_cd = gpio + 0;
++ mmc[1].gpio_cd = gpio + 1;
++ twl4030_mmc_init(mmc);
++
++ /* link regulators to MMC adapters ... we "know" the
++ * regulators will be set up only *after* we return.
++ */
++ zoom2_vmmc1_supply.dev = mmc[0].dev;
++ zoom2_vsim_supply.dev = mmc[0].dev;
++ zoom2_vmmc2_supply.dev = mmc[1].dev;
++
++ return 0;
++}
++
++
++static int zoom2_batt_table[] = {
++/* 0 C*/
++30800, 29500, 28300, 27100,
++26000, 24900, 23900, 22900, 22000, 21100, 20300, 19400, 18700, 17900,
++17200, 16500, 15900, 15300, 14700, 14100, 13600, 13100, 12600, 12100,
++11600, 11200, 10800, 10400, 10000, 9630, 9280, 8950, 8620, 8310,
++8020, 7730, 7460, 7200, 6950, 6710, 6470, 6250, 6040, 5830,
++5640, 5450, 5260, 5090, 4920, 4760, 4600, 4450, 4310, 4170,
++4040, 3910, 3790, 3670, 3550
++};
++
++static struct twl4030_bci_platform_data zoom2_bci_data = {
++ .battery_tmp_tbl = zoom2_batt_table,
++ .tblsize = ARRAY_SIZE(zoom2_batt_table),
++};
++
++static struct twl4030_usb_data zoom2_usb_data = {
++ .usb_mode = T2_USB_MODE_ULPI,
++};
++
+ static struct twl4030_gpio_platform_data zoom2_gpio_data = {
+ .gpio_base = OMAP_MAX_GPIO_LINES,
+ .irq_base = TWL4030_GPIO_IRQ_BASE,
+ .irq_end = TWL4030_GPIO_IRQ_END,
++ .setup = zoom2_twl_gpio_setup,
++};
++
++static struct twl4030_madc_platform_data zoom2_madc_data = {
++ .irq_line = 1,
+ };
+
+ static struct twl4030_platform_data zoom2_twldata = {
+@@ -53,7 +238,15 @@ static struct twl4030_platform_data zoom2_twldata = {
+ .irq_end = TWL4030_IRQ_END,
+
+ /* platform_data for children goes here */
++ .bci = &zoom2_bci_data,
++ .madc = &zoom2_madc_data,
++ .usb = &zoom2_usb_data,
+ .gpio = &zoom2_gpio_data,
++ .keypad = &zoom2_kp_twl4030_data,
++ .vmmc1 = &zoom2_vmmc1,
++ .vmmc2 = &zoom2_vmmc2,
++ .vsim = &zoom2_vsim,
++
+ };
+
+ static struct i2c_board_info __initdata zoom2_i2c_boardinfo[] = {
+@@ -74,16 +267,6 @@ static int __init omap_i2c_init(void)
+ return 0;
+ }
+
+-static struct twl4030_hsmmc_info mmc[] __initdata = {
+- {
+- .mmc = 1,
+- .wires = 4,
+- .gpio_cd = -EINVAL,
+- .gpio_wp = -EINVAL,
+- },
+- {} /* Terminator */
+-};
+-
+ extern int __init omap_zoom2_debugboard_init(void);
+
+ static void __init omap_zoom2_init(void)
+@@ -91,7 +274,6 @@ static void __init omap_zoom2_init(void)
+ omap_i2c_init();
+ omap_serial_init();
+ omap_zoom2_debugboard_init();
+- twl4030_mmc_init(mmc);
+ usb_musb_init();
+ }
+
+--
+1.6.3.2
+
diff --git a/meta/packages/linux/linux-omap3-pm-git/zoom2/0003-OMAP3-Zoom2-Update-board-defconfig.patch b/meta/packages/linux/linux-omap3-pm-git/zoom2/0003-OMAP3-Zoom2-Update-board-defconfig.patch
new file mode 100644
index 0000000000..a2e89e280a
--- /dev/null
+++ b/meta/packages/linux/linux-omap3-pm-git/zoom2/0003-OMAP3-Zoom2-Update-board-defconfig.patch
@@ -0,0 +1,1102 @@
+From 6ee03ed1dc74b4e777d65c73b7ef9c0222fc98a8 Mon Sep 17 00:00:00 2001
+From: Vikram Pandita <vikram.pandita@ti.com>
+Date: Fri, 12 Jun 2009 17:47:38 -0500
+Subject: [PATCH 3/8] OMAP3:Zoom2: Update board defconfig
+
+Update defconfig for Zoom2 to include
+TWL4030 core
+TWL4030 drivers (bci, gpio, keypad, usb, mmc)
+
+Also sync the defconfig after issuing a menuconfig
+
+Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
+---
+ arch/arm/configs/omap_zoom2_defconfig | 484 +++++++++++++++++++++++++++-----
+ 1 files changed, 408 insertions(+), 76 deletions(-)
+
+diff --git a/arch/arm/configs/omap_zoom2_defconfig b/arch/arm/configs/omap_zoom2_defconfig
+index 213fe9c..f1739fa 100644
+--- a/arch/arm/configs/omap_zoom2_defconfig
++++ b/arch/arm/configs/omap_zoom2_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.27-rc5
+-# Fri Oct 10 11:49:41 2008
++# Linux kernel version: 2.6.30-omap1
++# Fri Jun 12 17:25:46 2009
+ #
+ CONFIG_ARM=y
+ CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+@@ -22,8 +22,6 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
+ # 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=0xffff0000
+ CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+@@ -39,44 +37,61 @@ CONFIG_LOCALVERSION_AUTO=y
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
+ CONFIG_SYSVIPC_SYSCTL=y
++# CONFIG_POSIX_MQUEUE is not set
+ CONFIG_BSD_PROCESS_ACCT=y
+ # CONFIG_BSD_PROCESS_ACCT_V3 is not set
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
++
++#
++# RCU Subsystem
++#
++CONFIG_CLASSIC_RCU=y
++# CONFIG_TREE_RCU is not set
++# CONFIG_PREEMPT_RCU is not set
++# CONFIG_TREE_RCU_TRACE is not set
++# CONFIG_PREEMPT_RCU_TRACE 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_CGROUPS 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_RD_GZIP=y
++# CONFIG_RD_BZIP2 is not set
++# CONFIG_RD_LZMA is not set
+ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+ CONFIG_SYSCTL=y
++CONFIG_ANON_INODES=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_STRIP_ASM_SYMS is not set
+ 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_AIO=y
+ CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_COMPAT_BRK=y
+ CONFIG_SLAB=y
+ # CONFIG_SLUB is not set
+ # CONFIG_SLOB is not set
+@@ -84,19 +99,13 @@ CONFIG_SLAB=y
+ # 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_SLOW_WORK is not set
+ 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
+@@ -104,11 +113,8 @@ 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
+
+@@ -124,7 +130,7 @@ CONFIG_DEFAULT_AS=y
+ # CONFIG_DEFAULT_CFQ is not set
+ # CONFIG_DEFAULT_NOOP is not set
+ CONFIG_DEFAULT_IOSCHED="anticipatory"
+-CONFIG_CLASSIC_RCU=y
++CONFIG_FREEZER=y
+
+ #
+ # System Type
+@@ -134,10 +140,10 @@ CONFIG_CLASSIC_RCU=y
+ # 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_GEMINI is not set
+ # CONFIG_ARCH_FOOTBRIDGE is not set
+ # CONFIG_ARCH_NETX is not set
+ # CONFIG_ARCH_H720X is not set
+@@ -158,14 +164,17 @@ CONFIG_CLASSIC_RCU=y
+ # CONFIG_ARCH_ORION5X is not set
+ # CONFIG_ARCH_PNX4008 is not set
+ # CONFIG_ARCH_PXA is not set
++# CONFIG_ARCH_MMP is not set
+ # CONFIG_ARCH_RPC is not set
+ # CONFIG_ARCH_SA1100 is not set
+ # CONFIG_ARCH_S3C2410 is not set
++# CONFIG_ARCH_S3C64XX is not set
+ # CONFIG_ARCH_SHARK is not set
+ # CONFIG_ARCH_LH7A40X is not set
+ # CONFIG_ARCH_DAVINCI is not set
+ CONFIG_ARCH_OMAP=y
+-# CONFIG_ARCH_MSM7X00A is not set
++# CONFIG_ARCH_MSM is not set
++# CONFIG_ARCH_W90X900 is not set
+
+ #
+ # TI OMAP Implementations
+@@ -174,6 +183,7 @@ CONFIG_ARCH_OMAP_OTG=y
+ # CONFIG_ARCH_OMAP1 is not set
+ # CONFIG_ARCH_OMAP2 is not set
+ CONFIG_ARCH_OMAP3=y
++# CONFIG_ARCH_OMAP4 is not set
+
+ #
+ # OMAP Feature Selections
+@@ -185,6 +195,7 @@ CONFIG_OMAP_MUX=y
+ CONFIG_OMAP_MUX_DEBUG=y
+ CONFIG_OMAP_MUX_WARNINGS=y
+ CONFIG_OMAP_MCBSP=y
++# CONFIG_OMAP_MBOX_FWK is not set
+ # CONFIG_OMAP_MPU_TIMER is not set
+ CONFIG_OMAP_32K_TIMER=y
+ CONFIG_OMAP_32K_TIMER_HZ=128
+@@ -192,25 +203,20 @@ CONFIG_OMAP_DM_TIMER=y
+ # CONFIG_OMAP_LL_DEBUG_UART1 is not set
+ # CONFIG_OMAP_LL_DEBUG_UART2 is not set
+ CONFIG_OMAP_LL_DEBUG_UART3=y
+-CONFIG_OMAP_SERIAL_WAKE=y
+ CONFIG_ARCH_OMAP34XX=y
+ CONFIG_ARCH_OMAP3430=y
+
+ #
+ # OMAP Board Type
+ #
+-# CONFIG_MACH_OMAP3_BEAGLE is not set
++# CONFIG_MACH_NOKIA_RX51 is not set
+ # CONFIG_MACH_OMAP_LDP is not set
+-CONFIG_MACH_OMAP_ZOOM2=y
++# CONFIG_MACH_OMAP_3430SDP is not set
++# CONFIG_MACH_OMAP3EVM is not set
++# CONFIG_MACH_OMAP3_BEAGLE is not set
+ # CONFIG_MACH_OVERO is not set
+-
+-#
+-# Boot options
+-#
+-
+-#
+-# Power management
+-#
++# CONFIG_MACH_OMAP3_PANDORA is not set
++CONFIG_MACH_OMAP_ZOOM2=y
+
+ #
+ # Processor Type
+@@ -239,6 +245,10 @@ CONFIG_ARM_THUMB=y
+ # CONFIG_CPU_BPREDICT_DISABLE is not set
+ CONFIG_HAS_TLS_REG=y
+ # CONFIG_OUTER_CACHE is not set
++# CONFIG_ARM_ERRATA_430973 is not set
++# CONFIG_ARM_ERRATA_458693 is not set
++# CONFIG_ARM_ERRATA_460075 is not set
++CONFIG_COMMON_CLKDEV=y
+
+ #
+ # Bus support
+@@ -254,26 +264,32 @@ CONFIG_TICK_ONESHOT=y
+ CONFIG_NO_HZ=y
+ CONFIG_HIGH_RES_TIMERS=y
+ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
++CONFIG_VMSPLIT_3G=y
++# CONFIG_VMSPLIT_2G is not set
++# CONFIG_VMSPLIT_1G is not set
++CONFIG_PAGE_OFFSET=0xC0000000
+ # CONFIG_PREEMPT is not set
+ CONFIG_HZ=128
+ CONFIG_AEABI=y
+ CONFIG_OABI_COMPAT=y
+-CONFIG_ARCH_FLATMEM_HAS_HOLES=y
+-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
++# CONFIG_ARCH_HAS_HOLES_MEMORYMODEL is not set
++# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
++# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
++# CONFIG_HIGHMEM is not set
+ CONFIG_SELECT_MEMORY_MODEL=y
+ CONFIG_FLATMEM_MANUAL=y
+ # CONFIG_DISCONTIGMEM_MANUAL is not set
+ # CONFIG_SPARSEMEM_MANUAL is not set
+ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+-# CONFIG_SPARSEMEM_STATIC is not set
+-# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+ CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+-# CONFIG_RESOURCES_64BIT is not set
+-CONFIG_ZONE_DMA_FLAG=1
+-CONFIG_BOUNCE=y
++# CONFIG_PHYS_ADDR_T_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=0
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_UNEVICTABLE_LRU=y
++CONFIG_HAVE_MLOCK=y
++CONFIG_HAVE_MLOCKED_PAGE_BIT=y
+ # CONFIG_LEDS is not set
+ CONFIG_ALIGNMENT_TRAP=y
+
+@@ -287,9 +303,10 @@ CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.16
+ # CONFIG_KEXEC is not set
+
+ #
+-# CPU Frequency scaling
++# CPU Power Management
+ #
+ # CONFIG_CPU_FREQ is not set
++# CONFIG_CPU_IDLE is not set
+
+ #
+ # Floating point emulation
+@@ -309,13 +326,23 @@ CONFIG_VFPv3=y
+ # Userspace binary formats
+ #
+ CONFIG_BINFMT_ELF=y
++# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
++CONFIG_HAVE_AOUT=y
+ # CONFIG_BINFMT_AOUT is not set
+ CONFIG_BINFMT_MISC=y
+
+ #
+ # Power management options
+ #
+-# CONFIG_PM is not set
++CONFIG_PM=y
++CONFIG_PM_DEBUG=y
++CONFIG_PM_VERBOSE=y
++CONFIG_CAN_PM_TRACE=y
++CONFIG_PM_SLEEP=y
++CONFIG_SUSPEND=y
++# CONFIG_PM_TEST_SUSPEND is not set
++CONFIG_SUSPEND_FREEZER=y
++# CONFIG_APM_EMULATION is not set
+ CONFIG_ARCH_SUSPEND_POSSIBLE=y
+ CONFIG_NET=y
+
+@@ -378,7 +405,9 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_LAPB is not set
+ # CONFIG_ECONET is not set
+ # CONFIG_WAN_ROUTER is not set
++# CONFIG_PHONET is not set
+ # CONFIG_NET_SCHED is not set
++# CONFIG_DCB is not set
+
+ #
+ # Network testing
+@@ -389,8 +418,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+ # CONFIG_AF_RXRPC is not set
+-# CONFIG_PHONET is not set
+ # CONFIG_WIRELESS is not set
++# CONFIG_WIMAX is not set
+ # CONFIG_RFKILL is not set
+ # CONFIG_NET_9P is not set
+
+@@ -416,14 +445,28 @@ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_COW_COMMON is not set
+ CONFIG_BLK_DEV_LOOP=y
+ # CONFIG_BLK_DEV_CRYPTOLOOP is not set
++# CONFIG_BLK_DEV_NBD is not set
++# CONFIG_BLK_DEV_UB is not set
+ CONFIG_BLK_DEV_RAM=y
+ CONFIG_BLK_DEV_RAM_COUNT=16
+ CONFIG_BLK_DEV_RAM_SIZE=16384
+ # CONFIG_BLK_DEV_XIP is not set
+ # CONFIG_CDROM_PKTCDVD is not set
++# CONFIG_ATA_OVER_ETH is not set
+ CONFIG_MISC_DEVICES=y
+-# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ICS932S401 is not set
++# CONFIG_OMAP_STI is not set
+ # CONFIG_ENCLOSURE_SERVICES is not set
++# CONFIG_ISL29003 is not set
++# CONFIG_C2PORT is not set
++
++#
++# EEPROM support
++#
++# CONFIG_EEPROM_AT24 is not set
++# CONFIG_EEPROM_AT25 is not set
++# CONFIG_EEPROM_LEGACY is not set
++# CONFIG_EEPROM_93CX6 is not set
+ CONFIG_HAVE_IDE=y
+ # CONFIG_IDE is not set
+
+@@ -461,14 +504,20 @@ CONFIG_SCSI_WAIT_SCAN=m
+ #
+ # CONFIG_SCSI_SPI_ATTRS is not set
+ # CONFIG_SCSI_FC_ATTRS is not set
++# CONFIG_SCSI_ISCSI_ATTRS is not set
+ # CONFIG_SCSI_SAS_LIBSAS is not set
+ # CONFIG_SCSI_SRP_ATTRS is not set
+ CONFIG_SCSI_LOWLEVEL=y
++# CONFIG_ISCSI_TCP is not set
++# CONFIG_LIBFC is not set
++# CONFIG_LIBFCOE is not set
+ # CONFIG_SCSI_DEBUG is not set
+ # CONFIG_SCSI_DH is not set
++# CONFIG_SCSI_OSD_INITIATOR is not set
+ # CONFIG_ATA is not set
+ # CONFIG_MD is not set
+ CONFIG_NETDEVICES=y
++CONFIG_COMPAT_NET_DEV_OPS=y
+ # CONFIG_DUMMY is not set
+ # CONFIG_BONDING is not set
+ # CONFIG_MACVLAN is not set
+@@ -501,8 +550,10 @@ CONFIG_MII=y
+ # CONFIG_SMC91X is not set
+ # CONFIG_DM9000 is not set
+ # CONFIG_ENC28J60 is not set
++# CONFIG_ETHOC is not set
+ # CONFIG_SMC911X is not set
+ CONFIG_SMSC911X=y
++# CONFIG_DNET is not set
+ # CONFIG_IBM_NEW_EMAC_ZMII is not set
+ # CONFIG_IBM_NEW_EMAC_RGMII is not set
+ # CONFIG_IBM_NEW_EMAC_TAH is not set
+@@ -519,7 +570,10 @@ CONFIG_NETDEV_10000=y
+ #
+ # CONFIG_WLAN_PRE80211 is not set
+ # CONFIG_WLAN_80211 is not set
+-# CONFIG_IWLWIFI_LEDS is not set
++
++#
++# Enable WiMAX (Networking options) to see the WiMAX drivers
++#
+
+ #
+ # USB Network Adapters
+@@ -561,17 +615,25 @@ CONFIG_INPUT_EVDEV=y
+ # CONFIG_INPUT_TABLET is not set
+ CONFIG_INPUT_TOUCHSCREEN=y
+ CONFIG_TOUCHSCREEN_ADS7846=y
++# CONFIG_TOUCHSCREEN_AD7877 is not set
++# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
++# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
++# CONFIG_TOUCHSCREEN_AD7879 is not set
+ # CONFIG_TOUCHSCREEN_FUJITSU is not set
+ # CONFIG_TOUCHSCREEN_GUNZE is not set
+ # CONFIG_TOUCHSCREEN_ELO is not set
++# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+ # CONFIG_TOUCHSCREEN_MTOUCH is not set
+ # CONFIG_TOUCHSCREEN_INEXIO is not set
+ # CONFIG_TOUCHSCREEN_MK712 is not set
+ # CONFIG_TOUCHSCREEN_PENMOUNT is not set
+ # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+ # CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+-# CONFIG_TOUCHSCREEN_UCB1400 is not set
++# CONFIG_TOUCHSCREEN_TSC2005 is not set
++# CONFIG_TOUCHSCREEN_TSC210X is not set
++# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+ # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
++# CONFIG_TOUCHSCREEN_TSC2007 is not set
+ # CONFIG_INPUT_MISC is not set
+
+ #
+@@ -607,13 +669,15 @@ CONFIG_SERIAL_8250_RSA=y
+ #
+ # Non-8250 serial port support
+ #
++# CONFIG_SERIAL_MAX3100 is not set
+ CONFIG_SERIAL_CORE=y
+ CONFIG_SERIAL_CORE_CONSOLE=y
+ CONFIG_UNIX98_PTYS=y
++# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+ # CONFIG_LEGACY_PTYS is not set
+ # CONFIG_IPMI_HANDLER is not set
+ CONFIG_HW_RANDOM=y
+-# CONFIG_NVRAM is not set
++# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_RAW_DRIVER is not set
+ # CONFIG_TCG_TPM is not set
+@@ -639,6 +703,7 @@ CONFIG_I2C_OMAP=y
+ #
+ # CONFIG_I2C_PARPORT_LIGHT is not set
+ # CONFIG_I2C_TAOS_EVM is not set
++# CONFIG_I2C_TINY_USB is not set
+
+ #
+ # Other I2C/SMBus bus drivers
+@@ -650,14 +715,11 @@ CONFIG_I2C_OMAP=y
+ # Miscellaneous I2C Chip support
+ #
+ # CONFIG_DS1682 is not set
+-# CONFIG_EEPROM_AT24 is not set
+-# CONFIG_EEPROM_LEGACY is not set
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCA9539 is not set
+-# CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_ISP1301_OMAP is not set
+-# CONFIG_TPS65010 is not set
++# CONFIG_TWL4030_MADC is not set
++# CONFIG_TWL4030_POWEROFF is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+@@ -672,12 +734,12 @@ CONFIG_SPI_MASTER=y
+ # SPI Master Controller Drivers
+ #
+ # CONFIG_SPI_BITBANG is not set
++# CONFIG_SPI_GPIO is not set
+ CONFIG_SPI_OMAP24XX=y
+
+ #
+ # SPI Protocol Masters
+ #
+-# CONFIG_EEPROM_AT25 is not set
+ # CONFIG_SPI_SPIDEV is not set
+ # CONFIG_SPI_TLE62X0 is not set
+ CONFIG_ARCH_REQUIRE_GPIOLIB=y
+@@ -686,11 +748,16 @@ CONFIG_GPIOLIB=y
+ # CONFIG_GPIO_SYSFS is not set
+
+ #
++# Memory mapped GPIO expanders:
++#
++
++#
+ # I2C GPIO expanders:
+ #
+ # CONFIG_GPIO_MAX732X is not set
+ # CONFIG_GPIO_PCA953X is not set
+ # CONFIG_GPIO_PCF857X is not set
++CONFIG_GPIO_TWL4030=y
+
+ #
+ # PCI GPIO expanders:
+@@ -702,26 +769,34 @@ CONFIG_GPIOLIB=y
+ # CONFIG_GPIO_MAX7301 is not set
+ # CONFIG_GPIO_MCP23S08 is not set
+ CONFIG_W1=y
++CONFIG_W1_CON=y
+
+ #
+ # 1-wire Bus Masters
+ #
++# CONFIG_W1_MASTER_DS2490 is not set
+ # CONFIG_W1_MASTER_DS2482 is not set
+ # CONFIG_W1_MASTER_DS1WM is not set
+ # CONFIG_W1_MASTER_GPIO is not set
++# CONFIG_HDQ_MASTER_OMAP is not set