diff options
Diffstat (limited to 'meta')
9 files changed, 2015 insertions, 0 deletions
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 + + # + # 1-wire Slaves + # + # CONFIG_W1_SLAVE_THERM is not set + # CONFIG_W1_SLAVE_SMEM is not set ++# CONFIG_W1_SLAVE_DS2431 is not set + # CONFIG_W1_SLAVE_DS2433 is not set + # CONFIG_W1_SLAVE_DS2760 is not set ++# CONFIG_W1_SLAVE_BQ27000 is not set + CONFIG_POWER_SUPPLY=y + # CONFIG_POWER_SUPPLY_DEBUG is not set + # CONFIG_PDA_POWER is not set + # CONFIG_BATTERY_DS2760 is not set ++# CONFIG_BATTERY_BQ27x00 is not set + # CONFIG_HWMON is not set ++# CONFIG_THERMAL is not set ++# CONFIG_THERMAL_HWMON is not set + CONFIG_WATCHDOG=y + CONFIG_WATCHDOG_NOWAYOUT=y + +@@ -729,11 +804,17 @@ CONFIG_WATCHDOG_NOWAYOUT=y + # Watchdog Device Drivers + # + # CONFIG_SOFT_WATCHDOG is not set ++# CONFIG_OMAP_WATCHDOG is not set + + # +-# Sonics Silicon Backplane ++# USB-based Watchdog Cards + # ++# CONFIG_USBPCWATCHDOG is not set + CONFIG_SSB_POSSIBLE=y ++ ++# ++# Sonics Silicon Backplane ++# + # CONFIG_SSB is not set + + # +@@ -741,12 +822,19 @@ CONFIG_SSB_POSSIBLE=y + # + # CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set ++# CONFIG_MFD_ASIC3 is not set + # CONFIG_HTC_EGPIO is not set + # CONFIG_HTC_PASIC3 is not set ++# CONFIG_TPS65010 is not set ++CONFIG_TWL4030_CORE=y + # CONFIG_MFD_TMIO is not set + # CONFIG_MFD_T7L66XB is not set + # CONFIG_MFD_TC6387XB is not set + # CONFIG_MFD_TC6393XB is not set ++# CONFIG_PMIC_DA903X is not set ++# CONFIG_MFD_WM8400 is not set ++# CONFIG_MFD_WM8350_I2C is not set ++# CONFIG_MFD_PCF50633 is not set + + # + # Multimedia devices +@@ -756,12 +844,14 @@ CONFIG_SSB_POSSIBLE=y + # Multimedia core support + # + # CONFIG_VIDEO_DEV is not set ++# CONFIG_DVB_CORE is not set + # CONFIG_VIDEO_MEDIA is not set + + # + # Multimedia drivers + # + CONFIG_DAB=y ++# CONFIG_USB_DABUSB is not set + + # + # Graphics support +@@ -782,10 +872,12 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m + # CONFIG_VGA_CONSOLE is not set + CONFIG_DUMMY_CONSOLE=y + CONFIG_SOUND=y ++# CONFIG_SOUND_OSS_CORE is not set + CONFIG_SND=y + # CONFIG_SND_SEQUENCER is not set + # CONFIG_SND_MIXER_OSS is not set + # CONFIG_SND_PCM_OSS is not set ++# CONFIG_SND_HRTIMER is not set + # CONFIG_SND_DYNAMIC_MINORS is not set + CONFIG_SND_SUPPORT_OLD_API=y + CONFIG_SND_VERBOSE_PROCFS=y +@@ -798,19 +890,197 @@ CONFIG_SND_DRIVERS=y + # CONFIG_SND_MPU401 is not set + CONFIG_SND_ARM=y + CONFIG_SND_SPI=y ++CONFIG_SND_USB=y ++# CONFIG_SND_USB_AUDIO is not set ++# CONFIG_SND_USB_CAIAQ is not set + # CONFIG_SND_SOC is not set + # CONFIG_SOUND_PRIME is not set + CONFIG_HID_SUPPORT=y + CONFIG_HID=y + # CONFIG_HID_DEBUG is not set + # CONFIG_HIDRAW is not set +-# CONFIG_USB_SUPPORT is not set ++ ++# ++# USB Input Devices ++# ++CONFIG_USB_HID=y ++# CONFIG_HID_PID is not set ++# CONFIG_USB_HIDDEV is not set ++ ++# ++# Special HID drivers ++# ++# CONFIG_HID_A4TECH is not set ++# CONFIG_HID_APPLE is not set ++# CONFIG_HID_BELKIN is not set ++# CONFIG_HID_CHERRY is not set ++# CONFIG_HID_CHICONY is not set ++# CONFIG_HID_CYPRESS is not set ++# CONFIG_DRAGONRISE_FF is not set ++# CONFIG_HID_EZKEY is not set ++# CONFIG_HID_KYE is not set ++# CONFIG_HID_GYRATION is not set ++# CONFIG_HID_KENSINGTON is not set ++# CONFIG_HID_LOGITECH is not set ++# CONFIG_HID_MICROSOFT is not set ++# CONFIG_HID_MONTEREY is not set ++# CONFIG_HID_NTRIG is not set ++# CONFIG_HID_PANTHERLORD is not set ++# CONFIG_HID_PETALYNX is not set ++# CONFIG_HID_SAMSUNG is not set ++# CONFIG_HID_SONY is not set ++# CONFIG_HID_SUNPLUS is not set ++# CONFIG_GREENASIA_FF is not set ++# CONFIG_HID_TOPSEED is not set ++# CONFIG_THRUSTMASTER_FF is not set ++# CONFIG_ZEROPLUS_FF is not set ++CONFIG_USB_SUPPORT=y ++CONFIG_USB_ARCH_HAS_HCD=y ++CONFIG_USB_ARCH_HAS_OHCI=y ++CONFIG_USB_ARCH_HAS_EHCI=y ++CONFIG_USB=y ++CONFIG_USB_DEBUG=y ++CONFIG_USB_ANNOUNCE_NEW_DEVICES=y ++ ++# ++# Miscellaneous USB options ++# ++# CONFIG_USB_DEVICEFS is not set ++CONFIG_USB_DEVICE_CLASS=y ++# CONFIG_USB_DYNAMIC_MINORS is not set ++CONFIG_USB_SUSPEND=y ++CONFIG_USB_OTG=y ++# CONFIG_USB_OTG_WHITELIST is not set ++# CONFIG_USB_OTG_BLACKLIST_HUB is not set ++CONFIG_USB_MON=y ++# CONFIG_USB_WUSB is not set ++# CONFIG_USB_WUSB_CBAF is not set ++ ++# ++# USB Host Controller Drivers ++# ++# CONFIG_USB_C67X00_HCD is not set ++# CONFIG_USB_EHCI_HCD is not set ++# CONFIG_USB_OXU210HP_HCD is not set ++# CONFIG_USB_ISP116X_HCD is not set ++# CONFIG_USB_ISP1760_HCD is not set ++# CONFIG_USB_OHCI_HCD is not set ++# CONFIG_USB_SL811_HCD is not set ++# CONFIG_USB_R8A66597_HCD is not set ++# CONFIG_USB_HWA_HCD is not set ++CONFIG_USB_MUSB_HDRC=y ++CONFIG_USB_MUSB_SOC=y ++ ++# ++# OMAP 343x high speed USB support ++# ++# CONFIG_USB_MUSB_HOST is not set ++# CONFIG_USB_MUSB_PERIPHERAL is not set ++CONFIG_USB_MUSB_OTG=y ++CONFIG_USB_GADGET_MUSB_HDRC=y ++CONFIG_USB_MUSB_HDRC_HCD=y ++# CONFIG_MUSB_PIO_ONLY is not set ++CONFIG_USB_INVENTRA_DMA=y ++# CONFIG_USB_TI_CPPI_DMA is not set ++CONFIG_USB_MUSB_DEBUG=y ++ ++# ++# USB Device Class drivers ++# ++# CONFIG_USB_ACM is not set ++# CONFIG_USB_PRINTER is not set ++# CONFIG_USB_WDM is not set ++# CONFIG_USB_TMC is not set ++ ++# ++# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may ++# ++ ++# ++# also be needed; see USB_STORAGE Help for more info ++# ++# CONFIG_USB_STORAGE is not set ++# CONFIG_USB_LIBUSUAL is not set ++ ++# ++# USB Imaging devices ++# ++# CONFIG_USB_MDC800 is not set ++# CONFIG_USB_MICROTEK is not set ++ ++# ++# USB port drivers ++# ++# CONFIG_USB_SERIAL is not set ++ ++# ++# USB Miscellaneous drivers ++# ++# CONFIG_USB_EMI62 is not set ++# CONFIG_USB_EMI26 is not set ++# CONFIG_USB_ADUTUX is not set ++# CONFIG_USB_SEVSEG is not set ++# CONFIG_USB_RIO500 is not set ++# CONFIG_USB_LEGOTOWER is not set ++# CONFIG_USB_LCD is not set ++# CONFIG_USB_BERRY_CHARGE is not set ++# CONFIG_USB_LED is not set ++# CONFIG_USB_CYPRESS_CY7C63 is not set ++# CONFIG_USB_CYTHERM is not set ++# CONFIG_USB_IDMOUSE is not set ++# CONFIG_USB_FTDI_ELAN is not set ++# CONFIG_USB_APPLEDISPLAY is not set ++# CONFIG_USB_LD is not set ++# CONFIG_USB_TRANCEVIBRATOR is not set ++# CONFIG_USB_IOWARRIOR is not set ++# CONFIG_USB_ISIGHTFW is not set ++# CONFIG_USB_VST is not set ++CONFIG_USB_GADGET=y ++CONFIG_USB_GADGET_DEBUG=y ++CONFIG_USB_GADGET_DEBUG_FILES=y ++CONFIG_USB_GADGET_VBUS_DRAW=2 ++CONFIG_USB_GADGET_SELECTED=y ++# CONFIG_USB_GADGET_AT91 is not set ++# CONFIG_USB_GADGET_ATMEL_USBA is not set ++# CONFIG_USB_GADGET_FSL_USB2 is not set ++# CONFIG_USB_GADGET_LH7A40X is not set ++# CONFIG_USB_GADGET_OMAP is not set ++# CONFIG_USB_GADGET_PXA25X is not set ++# CONFIG_USB_GADGET_PXA27X is not set ++# CONFIG_USB_GADGET_S3C2410 is not set ++# CONFIG_USB_GADGET_IMX is not set ++# CONFIG_USB_GADGET_M66592 is not set ++# CONFIG_USB_GADGET_AMD5536UDC is not set ++# CONFIG_USB_GADGET_FSL_QE is not set ++# CONFIG_USB_GADGET_CI13XXX is not set ++# CONFIG_USB_GADGET_NET2280 is not set ++# CONFIG_USB_GADGET_GOKU is not set ++# CONFIG_USB_GADGET_DUMMY_HCD is not set ++CONFIG_USB_GADGET_DUALSPEED=y ++CONFIG_USB_ZERO=y ++# CONFIG_USB_ZERO_HNPTEST is not set ++# CONFIG_USB_ETH is not set ++# CONFIG_USB_GADGETFS is not set ++# CONFIG_USB_FILE_STORAGE is not set ++# CONFIG_USB_G_SERIAL is not set ++# CONFIG_USB_MIDI_GADGET is not set ++# CONFIG_USB_G_PRINTER is not set ++# CONFIG_USB_CDC_COMPOSITE is not set ++ ++# ++# OTG and related infrastructure ++# ++CONFIG_USB_OTG_UTILS=y ++# CONFIG_USB_GPIO_VBUS is not set ++# CONFIG_ISP1301_OMAP is not set ++CONFIG_TWL4030_USB=y ++# CONFIG_NOP_USB_XCEIV is not set + CONFIG_MMC=y + # CONFIG_MMC_DEBUG is not set + # CONFIG_MMC_UNSAFE_RESUME is not set + + # +-# MMC/SD Card Drivers ++# MMC/SD/SDIO Card Drivers + # + CONFIG_MMC_BLOCK=y + CONFIG_MMC_BLOCK_BOUNCE=y +@@ -818,11 +1088,13 @@ CONFIG_MMC_BLOCK_BOUNCE=y + # CONFIG_MMC_TEST is not set + + # +-# MMC/SD Host Controller Drivers ++# MMC/SD/SDIO Host Controller Drivers + # + # CONFIG_MMC_SDHCI is not set +-# CONFIG_MMC_OMAP is not set ++CONFIG_MMC_OMAP_HS=y + # CONFIG_MMC_SPI is not set ++# CONFIG_MEMSTICK is not set ++# CONFIG_ACCESSIBILITY is not set + # CONFIG_NEW_LEDS is not set + CONFIG_RTC_LIB=y + CONFIG_RTC_CLASS=y +@@ -852,43 +1124,55 @@ CONFIG_RTC_INTF_DEV=y + # CONFIG_RTC_DRV_PCF8563 is not set + # CONFIG_RTC_DRV_PCF8583 is not set + # CONFIG_RTC_DRV_M41T80 is not set ++# CONFIG_RTC_DRV_TWL4030 is not set + # CONFIG_RTC_DRV_S35390A is not set + # CONFIG_RTC_DRV_FM3130 is not set ++# CONFIG_RTC_DRV_RX8581 is not set + + # + # SPI RTC drivers + # + # CONFIG_RTC_DRV_M41T94 is not set + # CONFIG_RTC_DRV_DS1305 is not set ++# CONFIG_RTC_DRV_DS1390 is not set + # CONFIG_RTC_DRV_MAX6902 is not set + # CONFIG_RTC_DRV_R9701 is not set + # CONFIG_RTC_DRV_RS5C348 is not set ++# CONFIG_RTC_DRV_DS3234 is not set + + # + # Platform RTC drivers + # + # CONFIG_RTC_DRV_CMOS is not set ++# CONFIG_RTC_DRV_DS1286 is not set + # CONFIG_RTC_DRV_DS1511 is not set + # CONFIG_RTC_DRV_DS1553 is not set + # CONFIG_RTC_DRV_DS1742 is not set + # CONFIG_RTC_DRV_STK17TA8 is not set + # CONFIG_RTC_DRV_M48T86 is not set ++# CONFIG_RTC_DRV_M48T35 is not set + # CONFIG_RTC_DRV_M48T59 is not set ++# CONFIG_RTC_DRV_BQ4802 is not set + # CONFIG_RTC_DRV_V3020 is not set + + # + # on-CPU RTC drivers + # + # CONFIG_DMADEVICES is not set +- +-# +-# Voltage and Current regulators +-# +-# CONFIG_REGULATOR is not set ++# CONFIG_AUXDISPLAY is not set ++CONFIG_REGULATOR=y ++# CONFIG_REGULATOR_DEBUG is not set + # CONFIG_REGULATOR_FIXED_VOLTAGE is not set + # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set + # CONFIG_REGULATOR_BQ24022 is not set ++CONFIG_REGULATOR_TWL4030=y + # CONFIG_UIO is not set ++# CONFIG_STAGING is not set ++ ++# ++# CBUS support ++# ++# CONFIG_CBUS is not set + + # + # File systems +@@ -897,18 +1181,24 @@ CONFIG_EXT2_FS=y + # CONFIG_EXT2_FS_XATTR is not set + # CONFIG_EXT2_FS_XIP is not set + CONFIG_EXT3_FS=y ++# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set + # CONFIG_EXT3_FS_XATTR is not set +-# CONFIG_EXT4DEV_FS is not set ++# CONFIG_EXT4_FS is not set + CONFIG_JBD=y + # CONFIG_REISERFS_FS is not set + # CONFIG_JFS_FS is not set +-# CONFIG_FS_POSIX_ACL is not set ++CONFIG_FS_POSIX_ACL=y ++CONFIG_FILE_LOCKING=y + # CONFIG_XFS_FS is not set ++# CONFIG_OCFS2_FS is not set ++# CONFIG_BTRFS_FS is not set + CONFIG_DNOTIFY=y + CONFIG_INOTIFY=y + CONFIG_INOTIFY_USER=y + CONFIG_QUOTA=y ++# CONFIG_QUOTA_NETLINK_INTERFACE is not set + CONFIG_PRINT_QUOTA_WARNING=y ++CONFIG_QUOTA_TREE=y + # CONFIG_QFMT_V1 is not set + CONFIG_QFMT_V2=y + CONFIG_QUOTACTL=y +@@ -917,6 +1207,11 @@ CONFIG_QUOTACTL=y + # CONFIG_FUSE_FS is not set + + # ++# Caches ++# ++# CONFIG_FSCACHE is not set ++ ++# + # CD-ROM/DVD Filesystems + # + # CONFIG_ISO9660_FS is not set +@@ -937,15 +1232,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" + # + CONFIG_PROC_FS=y + CONFIG_PROC_SYSCTL=y ++CONFIG_PROC_PAGE_MONITOR=y + CONFIG_SYSFS=y + CONFIG_TMPFS=y + # CONFIG_TMPFS_POSIX_ACL is not set + # CONFIG_HUGETLB_PAGE is not set + # CONFIG_CONFIGFS_FS is not set +- +-# +-# Miscellaneous filesystems +-# ++CONFIG_MISC_FILESYSTEMS=y + # CONFIG_ADFS_FS is not set + # CONFIG_AFFS_FS is not set + # CONFIG_HFS_FS is not set +@@ -954,6 +1247,7 @@ CONFIG_TMPFS=y + # CONFIG_BFS_FS is not set + # CONFIG_EFS_FS is not set + # CONFIG_CRAMFS is not set ++# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set + # CONFIG_MINIX_FS is not set + # CONFIG_OMFS_FS is not set +@@ -962,6 +1256,7 @@ CONFIG_TMPFS=y + # CONFIG_ROMFS_FS is not set + # CONFIG_SYSV_FS is not set + # CONFIG_UFS_FS is not set ++# CONFIG_NILFS2_FS is not set + CONFIG_NETWORK_FILESYSTEMS=y + CONFIG_NFS_FS=y + CONFIG_NFS_V3=y +@@ -975,7 +1270,6 @@ CONFIG_NFS_ACL_SUPPORT=y + CONFIG_NFS_COMMON=y + CONFIG_SUNRPC=y + CONFIG_SUNRPC_GSS=y +-# CONFIG_SUNRPC_REGISTER_V4 is not set + CONFIG_RPCSEC_GSS_KRB5=y + # CONFIG_RPCSEC_GSS_SPKM3 is not set + # CONFIG_SMB_FS is not set +@@ -1045,6 +1339,7 @@ CONFIG_NLS_ISO8859_1=y + # CONFIG_NLS_KOI8_R is not set + # CONFIG_NLS_KOI8_U is not set + # CONFIG_NLS_UTF8 is not set ++# CONFIG_DLM is not set + + # + # Kernel hacking +@@ -1062,6 +1357,9 @@ CONFIG_DEBUG_KERNEL=y + CONFIG_DETECT_SOFTLOCKUP=y + # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set + CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 ++CONFIG_DETECT_HUNG_TASK=y ++# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set ++CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 + CONFIG_SCHED_DEBUG=y + # CONFIG_SCHEDSTATS is not set + # CONFIG_TIMER_STATS is not set +@@ -1084,21 +1382,36 @@ CONFIG_DEBUG_INFO=y + # CONFIG_DEBUG_MEMORY_INIT is not set + # CONFIG_DEBUG_LIST is not set + # CONFIG_DEBUG_SG is not set +-CONFIG_FRAME_POINTER=y ++# CONFIG_DEBUG_NOTIFIERS is not set + # CONFIG_BOOT_PRINTK_DELAY is not set + # CONFIG_RCU_TORTURE_TEST is not set ++# CONFIG_RCU_CPU_STALL_DETECTOR is not set + # CONFIG_BACKTRACE_SELF_TEST is not set ++# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set + # CONFIG_FAULT_INJECTION is not set + # CONFIG_LATENCYTOP is not set +-CONFIG_HAVE_FTRACE=y +-CONFIG_HAVE_DYNAMIC_FTRACE=y +-# CONFIG_FTRACE is not set ++# CONFIG_PAGE_POISONING is not set ++CONFIG_HAVE_FUNCTION_TRACER=y ++CONFIG_TRACING_SUPPORT=y ++ ++# ++# Tracers ++# ++# CONFIG_FUNCTION_TRACER is not set + # CONFIG_IRQSOFF_TRACER is not set + # CONFIG_SCHED_TRACER is not set + # CONFIG_CONTEXT_SWITCH_TRACER is not set ++# CONFIG_EVENT_TRACER is not set ++# CONFIG_BOOT_TRACER is not set ++# CONFIG_TRACE_BRANCH_PROFILING is not set ++# CONFIG_STACK_TRACER is not set ++# CONFIG_KMEMTRACE is not set ++# CONFIG_WORKQUEUE_TRACER is not set ++# CONFIG_BLK_DEV_IO_TRACE is not set + # CONFIG_SAMPLES is not set + CONFIG_HAVE_ARCH_KGDB=y + # CONFIG_KGDB is not set ++CONFIG_ARM_UNWIND=y + # CONFIG_DEBUG_USER is not set + # CONFIG_DEBUG_ERRORS is not set + # CONFIG_DEBUG_STACK_USAGE is not set +@@ -1110,17 +1423,28 @@ CONFIG_DEBUG_LL=y + # + # CONFIG_KEYS is not set + # CONFIG_SECURITY is not set ++# CONFIG_SECURITYFS is not set + # CONFIG_SECURITY_FILE_CAPABILITIES is not set + CONFIG_CRYPTO=y + + # + # Crypto core or helper + # ++# CONFIG_CRYPTO_FIPS is not set + CONFIG_CRYPTO_ALGAPI=y ++CONFIG_CRYPTO_ALGAPI2=y ++CONFIG_CRYPTO_AEAD2=y + CONFIG_CRYPTO_BLKCIPHER=y ++CONFIG_CRYPTO_BLKCIPHER2=y ++CONFIG_CRYPTO_HASH=y ++CONFIG_CRYPTO_HASH2=y ++CONFIG_CRYPTO_RNG2=y ++CONFIG_CRYPTO_PCOMP=y + CONFIG_CRYPTO_MANAGER=y ++CONFIG_CRYPTO_MANAGER2=y + # CONFIG_CRYPTO_GF128MUL is not set + # CONFIG_CRYPTO_NULL is not set ++CONFIG_CRYPTO_WORKQUEUE=y + # CONFIG_CRYPTO_CRYPTD is not set + # CONFIG_CRYPTO_AUTHENC is not set + # CONFIG_CRYPTO_TEST is not set +@@ -1152,7 +1476,7 @@ CONFIG_CRYPTO_PCBC=m + # + # Digest + # +-# CONFIG_CRYPTO_CRC32C is not set ++CONFIG_CRYPTO_CRC32C=y + # CONFIG_CRYPTO_MD4 is not set + CONFIG_CRYPTO_MD5=y + # CONFIG_CRYPTO_MICHAEL_MIC is not set +@@ -1189,15 +1513,21 @@ CONFIG_CRYPTO_DES=y + # Compression + # + # CONFIG_CRYPTO_DEFLATE is not set ++# CONFIG_CRYPTO_ZLIB is not set + # CONFIG_CRYPTO_LZO is not set ++ ++# ++# Random Number Generation ++# ++# CONFIG_CRYPTO_ANSI_CPRNG is not set + CONFIG_CRYPTO_HW=y ++# CONFIG_BINARY_PRINTF is not set + + # + # Library routines + # + CONFIG_BITREVERSE=y +-# CONFIG_GENERIC_FIND_FIRST_BIT is not set +-# CONFIG_GENERIC_FIND_NEXT_BIT is not set ++CONFIG_GENERIC_FIND_LAST_BIT=y + CONFIG_CRC_CCITT=y + # CONFIG_CRC16 is not set + CONFIG_CRC_T10DIF=y +@@ -1205,7 +1535,9 @@ CONFIG_CRC_T10DIF=y + CONFIG_CRC32=y + # CONFIG_CRC7 is not set + CONFIG_LIBCRC32C=y +-CONFIG_PLIST=y ++CONFIG_ZLIB_INFLATE=y ++CONFIG_DECOMPRESS_GZIP=y + CONFIG_HAS_IOMEM=y + CONFIG_HAS_IOPORT=y + CONFIG_HAS_DMA=y ++CONFIG_NLATTR=y +-- +1.6.3.2 + diff --git a/meta/packages/linux/linux-omap3-pm-git/zoom2/0004-serial-8250-add-IRQ-trigger-support.patch b/meta/packages/linux/linux-omap3-pm-git/zoom2/0004-serial-8250-add-IRQ-trigger-support.patch new file mode 100644 index 0000000000..05ca90512e --- /dev/null +++ b/meta/packages/linux/linux-omap3-pm-git/zoom2/0004-serial-8250-add-IRQ-trigger-support.patch @@ -0,0 +1,143 @@ +From 3f819713f3c7ccfd56146f4c007155bc47a170ac Mon Sep 17 00:00:00 2001 +From: Vikram Pandita <vikram.pandita@ti.com> +Date: Mon, 22 Jun 2009 17:58:47 -0500 +Subject: [PATCH 4/8] serial: 8250: add IRQ trigger support + +There is currently no provision for passing IRQ trigger flags for +serial IRQs with triggering requirements (such as GPIO IRQs) + +This patch adds irqflags to plat_serial8250_port that can be passed +from board file to reqest_irq() of 8250 driver + +Changes are backward compatible with boards passing UPF_SHARE_IRQ flag + +Tested on Zoom2 board that has IRQF_TRIGGER_RISING requirement for 8250 irq + +Signed-off-by: Vikram Pandita <vikram.pandita@ti.com> +--- + drivers/serial/8250.c | 14 +++++++++----- + drivers/serial/8250.h | 1 + + include/linux/serial_8250.h | 1 + + include/linux/serial_core.h | 1 + + 4 files changed, 12 insertions(+), 5 deletions(-) + +diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c +index 606fabb..6474fe4 100644 +--- a/drivers/serial/8250.c ++++ b/drivers/serial/8250.c +@@ -1681,7 +1681,7 @@ static int serial_link_irq_chain(struct uart_8250_port *up) + INIT_LIST_HEAD(&up->list); + i->head = &up->list; + spin_unlock_irq(&i->lock); +- ++ irq_flags |= up->port.irqflags; + ret = request_irq(up->port.irq, serial8250_interrupt, + irq_flags, "serial", i); + if (ret < 0) +@@ -2030,7 +2030,7 @@ static int serial8250_startup(struct uart_port *port) + * allow register changes to become visible. + */ + spin_lock_irqsave(&up->port.lock, flags); +- if (up->port.flags & UPF_SHARE_IRQ) ++ if (up->port.irqflags & IRQF_SHARED) + disable_irq_nosync(up->port.irq); + + wait_for_xmitr(up, UART_LSR_THRE); +@@ -2043,7 +2043,7 @@ static int serial8250_startup(struct uart_port *port) + iir = serial_in(up, UART_IIR); + serial_out(up, UART_IER, 0); + +- if (up->port.flags & UPF_SHARE_IRQ) ++ if (up->port.irqflags & IRQF_SHARED) + enable_irq(up->port.irq); + spin_unlock_irqrestore(&up->port.lock, flags); + +@@ -2688,6 +2688,7 @@ static void __init serial8250_isa_init_ports(void) + i++, up++) { + up->port.iobase = old_serial_port[i].port; + up->port.irq = irq_canonicalize(old_serial_port[i].irq); ++ up->port.irqflags = old_serial_port[i].irqflags; + up->port.uartclk = old_serial_port[i].baud_base * 16; + up->port.flags = old_serial_port[i].flags; + up->port.hub6 = old_serial_port[i].hub6; +@@ -2696,7 +2697,7 @@ static void __init serial8250_isa_init_ports(void) + up->port.regshift = old_serial_port[i].iomem_reg_shift; + set_io_from_upio(&up->port); + if (share_irqs) +- up->port.flags |= UPF_SHARE_IRQ; ++ up->port.irqflags |= IRQF_SHARED; + } + } + +@@ -2886,6 +2887,7 @@ int __init early_serial_setup(struct uart_port *port) + p->iobase = port->iobase; + p->membase = port->membase; + p->irq = port->irq; ++ p->irqflags = port->irqflags; + p->uartclk = port->uartclk; + p->fifosize = port->fifosize; + p->regshift = port->regshift; +@@ -2959,6 +2961,7 @@ static int __devinit serial8250_probe(struct platform_device *dev) + port.iobase = p->iobase; + port.membase = p->membase; + port.irq = p->irq; ++ port.irqflags = p->irqflags; + port.uartclk = p->uartclk; + port.regshift = p->regshift; + port.iotype = p->iotype; +@@ -2971,7 +2974,7 @@ static int __devinit serial8250_probe(struct platform_device *dev) + port.serial_out = p->serial_out; + port.dev = &dev->dev; + if (share_irqs) +- port.flags |= UPF_SHARE_IRQ; ++ port.irqflags |= IRQF_SHARED; + ret = serial8250_register_port(&port); + if (ret < 0) { + dev_err(&dev->dev, "unable to register port at index %d " +@@ -3113,6 +3116,7 @@ int serial8250_register_port(struct uart_port *port) + uart->port.iobase = port->iobase; + uart->port.membase = port->membase; + uart->port.irq = port->irq; ++ uart->port.irqflags = port->irqflags; + uart->port.uartclk = port->uartclk; + uart->port.fifosize = port->fifosize; + uart->port.regshift = port->regshift; +diff --git a/drivers/serial/8250.h b/drivers/serial/8250.h +index 5202603..9b34b04 100644 +--- a/drivers/serial/8250.h ++++ b/drivers/serial/8250.h +@@ -20,6 +20,7 @@ struct old_serial_port { + unsigned int baud_base; + unsigned int port; + unsigned int irq; ++ unsigned long irqflags; + unsigned int flags; + unsigned char hub6; + unsigned char io_type; +diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h +index d4d2a78..fb46aba 100644 +--- a/include/linux/serial_8250.h ++++ b/include/linux/serial_8250.h +@@ -22,6 +22,7 @@ struct plat_serial8250_port { + void __iomem *membase; /* ioremap cookie or NULL */ + resource_size_t mapbase; /* resource base */ + unsigned int irq; /* interrupt number */ ++ unsigned long irqflags; /* request_irq flags */ + unsigned int uartclk; /* UART clock rate */ + void *private_data; + unsigned char regshift; /* register shift */ +diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h +index 23d2fb0..3cd255f 100644 +--- a/include/linux/serial_core.h ++++ b/include/linux/serial_core.h +@@ -265,6 +265,7 @@ struct uart_port { + unsigned int (*serial_in)(struct uart_port *, int); + void (*serial_out)(struct uart_port *, int, int); + unsigned int irq; /* irq number */ ++ unsigned long irqflags; /* irq flags */ + unsigned int uartclk; /* base uart clock */ + unsigned int fifosize; /* tx fifo size */ + unsigned char x_char; /* xon/xoff char */ +-- +1.6.3.2 + diff --git a/meta/packages/linux/linux-omap3-pm-git/zoom2/0005-OMAP2-Zoom2-Pass-irqflags-to-8250-driver.patch b/meta/packages/linux/linux-omap3-pm-git/zoom2/0005-OMAP2-Zoom2-Pass-irqflags-to-8250-driver.patch new file mode 100644 index 0000000000..a86622bf1f --- /dev/null +++ b/meta/packages/linux/linux-omap3-pm-git/zoom2/0005-OMAP2-Zoom2-Pass-irqflags-to-8250-driver.patch @@ -0,0 +1,41 @@ +From a9551305279caac19d9f7ee121633fd18baa2fab Mon Sep 17 00:00:00 2001 +From: Vikram Pandita <vikram.pandita@ti.com> +Date: Mon, 22 Jun 2009 18:20:04 -0500 +Subject: [PATCH 5/8] OMAP2: Zoom2: Pass irqflags to 8250 driver + +Pass irqflags to 8250 driver from zoom2 board file +Zoom2 has IRQF_TRIGGER_RISING requirement for the 8250 GPIO irq + +This patch is dependent on 8250 driver changes getting accepted upstream: +http://patchwork.kernel.org/patch/31884/ + +Warn: could cause compilation break if above patch is not integrated first + +Signed-off-by: Vikram Pandita <vikram.pandita@ti.com> +--- + arch/arm/mach-omap2/board-zoom-debugboard.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c +index bac5c43..f546063 100644 +--- a/arch/arm/mach-omap2/board-zoom-debugboard.c ++++ b/arch/arm/mach-omap2/board-zoom-debugboard.c +@@ -12,6 +12,7 @@ + #include <linux/gpio.h> + #include <linux/serial_8250.h> + #include <linux/smsc911x.h> ++#include <linux/interrupt.h> + + #include <mach/gpmc.h> + +@@ -84,6 +85,7 @@ static struct plat_serial8250_port serial_platform_data[] = { + .mapbase = 0x10000000, + .irq = OMAP_GPIO_IRQ(102), + .flags = UPF_BOOT_AUTOCONF|UPF_IOREMAP|UPF_SHARE_IRQ, ++ .irqflags = IRQF_SHARED | IRQF_TRIGGER_RISING, + .iotype = UPIO_MEM, + .regshift = 1, + .uartclk = QUART_CLK, +-- +1.6.3.2 + diff --git a/meta/packages/linux/linux-omap3-pm-git/zoom2/0006-OMAP3-Zoom2-ext-UART-needs-plaform_device.id-3.patch b/meta/packages/linux/linux-omap3-pm-git/zoom2/0006-OMAP3-Zoom2-ext-UART-needs-plaform_device.id-3.patch new file mode 100644 index 0000000000..2e1e87151d --- /dev/null +++ b/meta/packages/linux/linux-omap3-pm-git/zoom2/0006-OMAP3-Zoom2-ext-UART-needs-plaform_device.id-3.patch @@ -0,0 +1,29 @@ +From 14b507c8e7fc09e91297a82819296533ab35d8ae Mon Sep 17 00:00:00 2001 +From: Kevin Hilman <khilman@deeprootsystems.com> +Date: Mon, 20 Jul 2009 16:12:32 -0700 +Subject: [PATCH 6/8] OMAP3: Zoom2: ext UART needs plaform_device.id >= 3 + +The on-chip UARTs now have individual platform_device.id numbers, +so for the external UART to register properly, it needs an id >= 3. + +Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> +--- + arch/arm/mach-omap2/board-zoom-debugboard.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c +index f546063..e0948c9 100644 +--- a/arch/arm/mach-omap2/board-zoom-debugboard.c ++++ b/arch/arm/mach-omap2/board-zoom-debugboard.c +@@ -96,7 +96,7 @@ static struct plat_serial8250_port serial_platform_data[] = { + + static struct platform_device zoom2_debugboard_serial_device = { + .name = "serial8250", +- .id = PLAT8250_DEV_PLATFORM1, ++ .id = 3, + .dev = { + .platform_data = serial_platform_data, + }, +-- +1.6.3.2 + diff --git a/meta/packages/linux/linux-omap3-pm-git/zoom2/0007-omap-zoom2-add-external-uart-DEBUG_LL-support-to-zoo.patch b/meta/packages/linux/linux-omap3-pm-git/zoom2/0007-omap-zoom2-add-external-uart-DEBUG_LL-support-to-zoo.patch new file mode 100644 index 0000000000..d2f98c5b52 --- /dev/null +++ b/meta/packages/linux/linux-omap3-pm-git/zoom2/0007-omap-zoom2-add-external-uart-DEBUG_LL-support-to-zoo.patch @@ -0,0 +1,71 @@ +From e2d19993731b3b4b083329f3acb4538e9d94fc36 Mon Sep 17 00:00:00 2001 +From: Erik Gilling <konkers@android.com> +Date: Tue, 21 Apr 2009 13:38:12 -0700 +Subject: [PATCH 7/8] omap: zoom2: add external uart DEBUG_LL support to zoom2 board file + +Signed-off-by: Erik Gilling <konkers@android.com> +--- + arch/arm/mach-omap2/board-zoom2.c | 23 +++++++++++++++++++++-- + 1 files changed, 21 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c +index e4bf50a..5742b55 100644 +--- a/arch/arm/mach-omap2/board-zoom2.c ++++ b/arch/arm/mach-omap2/board-zoom2.c +@@ -16,9 +16,11 @@ + #include <linux/gpio.h> + #include <linux/i2c/twl4030.h> + #include <linux/regulator/machine.h> ++#include <linux/io.h> + + #include <asm/mach-types.h> + #include <asm/mach/arch.h> ++#include <asm/mach/map.h> + + #include <mach/common.h> + #include <mach/usb.h> +@@ -27,6 +29,10 @@ + #include "mmc-twl4030.h" + #include "omap3-opp.h" + ++#define ZOOM2_QUART_PHYS 0x10000000 ++#define ZOOM2_QUART_VIRT 0xFB000000 ++#define ZOOM2_QUART_SIZE SZ_1M ++ + /* Zoom2 has Qwerty keyboard*/ + static int zoom2_twl4030_keymap[] = { + KEY(0, 0, KEY_E), +@@ -277,15 +283,28 @@ static void __init omap_zoom2_init(void) + usb_musb_init(); + } + ++static struct map_desc zoom2_io_desc[] __initdata = { ++ { ++ .virtual = ZOOM2_QUART_VIRT, ++ .pfn = __phys_to_pfn(ZOOM2_QUART_PHYS), ++ .length = ZOOM2_QUART_SIZE, ++ .type = MT_DEVICE ++ }, ++}; ++ + static void __init omap_zoom2_map_io(void) + { + omap2_set_globals_343x(); ++ iotable_init(zoom2_io_desc, ARRAY_SIZE(zoom2_io_desc)); + omap2_map_common_io(); + } + + MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board") +- .phys_io = 0x48000000, +- .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, ++ /* phys_io is only used for DEBUG_LL early printing. The Zoom2's ++ * console is on an external quad UART sitting at address 0x10000000 ++ */ ++ .phys_io = 0x10000000, ++ .io_pg_offst = ((0xfb000000) >> 18) & 0xfffc, + .boot_params = 0x80000100, + .map_io = omap_zoom2_map_io, + .init_irq = omap_zoom2_init_irq, +-- +1.6.3.2 + diff --git a/meta/packages/linux/linux-omap3-pm-git/zoom2/0008-omap2-add-support-for-DEBUG_LL-on-external-UART.patch b/meta/packages/linux/linux-omap3-pm-git/zoom2/0008-omap2-add-support-for-DEBUG_LL-on-external-UART.patch new file mode 100644 index 0000000000..7ca2dcb9fe --- /dev/null +++ b/meta/packages/linux/linux-omap3-pm-git/zoom2/0008-omap2-add-support-for-DEBUG_LL-on-external-UART.patch @@ -0,0 +1,103 @@ +From bef0894d8a200e43593117a3832cab825ea8aa8c Mon Sep 17 00:00:00 2001 +From: Erik Gilling <konkers@android.com> +Date: Tue, 21 Apr 2009 13:37:25 -0700 +Subject: [PATCH 8/8] omap2: add support for DEBUG_LL on external UART + +Signed-off-by: Erik Gilling <konkers@android.com> +--- + arch/arm/plat-omap/Kconfig | 3 +++ + arch/arm/plat-omap/include/mach/debug-macro.S | 14 +++++++++++++- + arch/arm/plat-omap/include/mach/serial.h | 1 + + arch/arm/plat-omap/include/mach/uncompress.h | 5 ++++- + 4 files changed, 21 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig +index c782418..e891f07 100644 +--- a/arch/arm/plat-omap/Kconfig ++++ b/arch/arm/plat-omap/Kconfig +@@ -210,6 +210,9 @@ config OMAP_LL_DEBUG_UART2 + config OMAP_LL_DEBUG_UART3 + bool "UART3" + ++config OMAP_LL_DEBUG_UART_EXT ++ bool "UART_EXT" ++ + endchoice + + config OMAP_SERIAL_WAKE +diff --git a/arch/arm/plat-omap/include/mach/debug-macro.S b/arch/arm/plat-omap/include/mach/debug-macro.S +index ac24050..5864019 100644 +--- a/arch/arm/plat-omap/include/mach/debug-macro.S ++++ b/arch/arm/plat-omap/include/mach/debug-macro.S +@@ -37,6 +37,10 @@ + #endif + + #elif defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4) ++#ifdef CONFIG_OMAP_LL_DEBUG_UART_EXT ++ moveq \rx, #0x10000000 @ physical base address ++ movne \rx, #0xfb000000 @ virtual base address ++#else + moveq \rx, #0x48000000 @ physical base address + movne \rx, #0xd8000000 @ virtual base + orr \rx, \rx, #0x0006a000 +@@ -48,20 +52,28 @@ + add \rx, \rx, #0x00006000 + #endif + #endif ++#endif + .endm + + .macro senduart,rd,rx + strb \rd, [\rx] + .endm + ++#ifdef CONFIG_OMAP_LL_DEBUG_UART_EXT ++#define REGSHIFT 1 ++#else ++#define REGSHIFT 2 ++#endif + .macro busyuart,rd,rx +-1001: ldrb \rd, [\rx, #(0x5 << 2)] @ OMAP-1510 and friends ++1001: ldrb \rd, [\rx, #(0x5 << REGSHIFT)] @ OMAP-1510 and friends + and \rd, \rd, #0x60 + teq \rd, #0x60 ++#ifndef CONFIG_OMAP_LL_DEBUG_UART_EXT + beq 1002f + ldrb \rd, [\rx, #(0x5 << 0)] @ OMAP-730 only + and \rd, \rd, #0x60 + teq \rd, #0x60 ++#endif + bne 1001b + 1002: + .endm +diff --git a/arch/arm/plat-omap/include/mach/serial.h b/arch/arm/plat-omap/include/mach/serial.h +index e249186..7ae4567 100644 +--- a/arch/arm/plat-omap/include/mach/serial.h ++++ b/arch/arm/plat-omap/include/mach/serial.h +@@ -32,6 +32,7 @@ + #define OMAP_UART1_BASE 0x4806a000 + #define OMAP_UART2_BASE 0x4806c000 + #define OMAP_UART3_BASE 0x49020000 ++#define OMAP_UART_EXT_BASE 0x10000000 + #define OMAP_MAX_NR_PORTS 3 + #elif defined(CONFIG_ARCH_OMAP4) + /* OMAP4 serial ports */ +diff --git a/arch/arm/plat-omap/include/mach/uncompress.h b/arch/arm/plat-omap/include/mach/uncompress.h +index 0814c5f..082c0cd 100644 +--- a/arch/arm/plat-omap/include/mach/uncompress.h ++++ b/arch/arm/plat-omap/include/mach/uncompress.h +@@ -39,7 +39,10 @@ static void putc(int c) + #endif + + #ifdef CONFIG_ARCH_OMAP +-#ifdef CONFIG_OMAP_LL_DEBUG_UART3 ++#ifdef CONFIG_OMAP_LL_DEBUG_UART_EXT ++ uart = (volatile u8 *)(OMAP_UART_EXT_BASE); ++ shift = 1; ++#elif defined(CONFIG_OMAP_LL_DEBUG_UART3) + uart = (volatile u8 *)(OMAP_UART3_BASE); + #elif defined(CONFIG_OMAP_LL_DEBUG_UART2) + uart = (volatile u8 *)(OMAP_UART2_BASE); +-- +1.6.3.2 + diff --git a/meta/packages/linux/linux-omap3-pm_git.bb b/meta/packages/linux/linux-omap3-pm_git.bb new file mode 100644 index 0000000000..86824f2558 --- /dev/null +++ b/meta/packages/linux/linux-omap3-pm_git.bb @@ -0,0 +1,75 @@ +DESCRIPTION = "Linux Kernel" +SECTION = "kernel" +LICENSE = "GPL" + +inherit kernel + +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/${PN}-git/${MACHINE}" + +SRCREV = "${AUTOREV}" + +PV = "2.6.31-rc1+${PR}+git${SRCREV}" +PR = "r1" + +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git;branch=pm;protocol=git" + +SRC_URI_append_zoom2 = " \ + file://0001-OMAP3-MMC-Add-mux-for-pins.patch;patch=1 \ + file://0002-OMAP3-Zoom2-Add-TWL4030-support.patch;patch=1 \ + file://0003-OMAP3-Zoom2-Update-board-defconfig.patch;patch=1 \ + file://0004-serial-8250-add-IRQ-trigger-support.patch;patch=1 \ + file://0005-OMAP2-Zoom2-Pass-irqflags-to-8250-driver.patch;patch=1 \ + file://0006-OMAP3-Zoom2-ext-UART-needs-plaform_device.id-3.patch;patch=1 \ + file://0007-omap-zoom2-add-external-uart-DEBUG_LL-support-to-zoo.patch;patch=1 \ + file://0008-omap2-add-support-for-DEBUG_LL-on-external-UART.patch;patch=1 \ + " + +COMPATIBLE_MACHINE = "beagleboard|omap-3430sdp|omap3evm|overo|rx51|zoom2" + +S = "${WORKDIR}/git" + +do_configure_prepend() { + # logo support: if you supply logo_linux_clut224.ppm in SRC_URI, + # then it's going to be used instead of "Tux" in the kernel sources + if [ -e ${WORKDIR}/logo_linux_clut224.ppm ]; then + install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm \ + drivers/video/logo/logo_linux_clut224.ppm + fi + + # use the externally-supplied ${MACHINE}_external_defconfig if present, + # else use omap3_pm_defconfig from the sources + if [ -e ${WORKDIR}/${MACHINE}_external_defconfig ]; then + cp ${WORKDIR}/${MACHINE}_external_defconfig ${S}/arch/arm/configs/ + yes '' | oe_runmake ${MACHINE}_external_defconfig + else + case ${MACHINE} in + omap-3430sdp|omap3evm) + # works out of the box + yes '' | oe_runmake omap3_pm_defconfig + ;; + beagleboard | overo | rx51) + # adjust LL_DEBUG console for these boards + yes '' | oe_runmake omap3_pm_defconfig + sed -e "s/CONFIG_OMAP_LL_DEBUG_UART1=y/# CONFIG_OMAP_LL_DEBUG_UART1 is not set/" \ + -e "s/# CONFIG_OMAP_LL_DEBUG_UART3 is not set/CONFIG_OMAP_LL_DEBUG_UART3=y/" \ + -e "s/CONFIG_MMC_BLOCK=m/CONFIG_MMC_BLOCK=y/" \ + -e "s/CONFIG_MMC_OMAP_HS=m/CONFIG_MMC_OMAP_HS=y/" \ + -i ${S}/.config + ;; + zoom2) + # adjust LL_DEBUG console for these boards + yes '' | oe_runmake omap3_pm_defconfig + sed -e "s/CONFIG_OMAP_LL_DEBUG_UART1=y/# CONFIG_OMAP_LL_DEBUG_UART1 is not set/" \ + -e "s/CONFIG_MMC_BLOCK=m/CONFIG_MMC_BLOCK=y/" \ + -e "s/CONFIG_MMC_OMAP_HS=m/CONFIG_MMC_OMAP_HS=y/" \ + -i ${S}/.config + echo "CONFIG_OMAP_LL_DEBUG_UART_EXT=y" >> ${S}/.config +# yes '' | oe_runmake oldconfig + ;; + *) + # its worth a try... + yes '' | oe_runmake ${MACHINE}_defconfig + ;; + esac + fi +} |