summaryrefslogtreecommitdiffstats
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)
downloadpoky-f56add4559dea1bb2857c220aab69c6d83d161b6.tar.gz
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 @@
1#@TYPE: Machine
2#@NAME: Logic PD Zoom2
3#@DESCRIPTION: Machine configuration for the OMAP3-powered Logic PD Zoom2
4TARGET_ARCH = "arm"
5PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7a"
6
7PREFERRED_PROVIDER_virtual/kernel = "linux-omap3-pm"
8
9MACHINE_FEATURES = "kernel26 apm alsa usbgadget usbhost screen touchscreen"
10
11KERNEL_IMAGETYPE = "uImage"
12IMAGE_FSTYPES ?= "tar.gz jffs2 ext2"
13UBOOT_ENTRYPOINT ="0x80008000"
14UBOOT_LOADADDRESS ="0x80008000"
15
16EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n"
17SERIAL_CONSOLE = "-L 115200 ttyS3"
18#MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS = "u-boot x-load"
19
20require 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 @@
1From be0e1c0f2f529d6f5adb9c5050731d881874c34b Mon Sep 17 00:00:00 2001
2From: Vikram Pandita <vikram.pandita@ti.com>
3Date: Thu, 18 Jun 2009 13:40:08 -0500
4Subject: [PATCH 1/8] OMAP3: MMC: Add mux for pins
5
6For OMAP3 add MMC1 MMC2 pin mux
7
8Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
9Signed-off-by: Chikkature Rajashekar <madhu.cr@ti.com>
10---
11 arch/arm/mach-omap2/devices.c | 42 ++++++++++++++++++++++++++++
12 arch/arm/mach-omap2/mux.c | 49 +++++++++++++++++++++++++++++++++
13 arch/arm/plat-omap/include/mach/mux.h | 28 +++++++++++++++++++
14 3 files changed, 119 insertions(+), 0 deletions(-)
15
16diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
17index 81f47d9..243815e 100644
18--- a/arch/arm/mach-omap2/devices.c
19+++ b/arch/arm/mach-omap2/devices.c
20@@ -455,6 +455,48 @@ static inline void omap2_mmc_mux(struct omap_mmc_platform_data *mmc_controller,
21 omap_ctrl_writel(v, OMAP2_CONTROL_DEVCONF0);
22 }
23 }
24+
25+ if (cpu_is_omap3430()) {
26+ if (controller_nr == 0) {
27+ omap_cfg_reg(N28_3430_MMC1_CLK);
28+ omap_cfg_reg(M27_3430_MMC1_CMD);
29+ omap_cfg_reg(N27_3430_MMC1_DAT0);
30+ if (mmc_controller->slots[0].wires == 4 ||
31+ mmc_controller->slots[0].wires == 8) {
32+ omap_cfg_reg(N26_3430_MMC1_DAT1);
33+ omap_cfg_reg(N25_3430_MMC1_DAT2);
34+ omap_cfg_reg(P28_3430_MMC1_DAT3);
35+ }
36+ if (mmc_controller->slots[0].wires == 8) {
37+ omap_cfg_reg(P27_3430_MMC1_DAT4);
38+ omap_cfg_reg(P26_3430_MMC1_DAT5);
39+ omap_cfg_reg(R27_3430_MMC1_DAT6);
40+ omap_cfg_reg(R25_3430_MMC1_DAT7);
41+ }
42+ }
43+ if (controller_nr == 1) {
44+ /* MMC2 */
45+ omap_cfg_reg(AE2_3430_MMC2_CLK);
46+ omap_cfg_reg(AG5_3430_MMC2_CMD);
47+ omap_cfg_reg(AH5_3430_MMC2_DAT0);
48+ if (mmc_controller->slots[0].wires == 4 ||
49+ mmc_controller->slots[0].wires == 8) {
50+ omap_cfg_reg(AH4_3430_MMC2_DAT1);
51+ omap_cfg_reg(AG4_3430_MMC2_DAT2);
52+ omap_cfg_reg(AF4_3430_MMC2_DAT3);
53+ }
54+ if (mmc_controller->slots[0].wires == 8)
55+ printk(KERN_WARNING
56+ "\n MMC2: DAT4, DAT5, DAT6, DAT7: "
57+ "Setup the mux in board file");
58+ }
59+ if (controller_nr == 2) {
60+ /* MMC3 */
61+ printk(KERN_WARNING
62+ "\n MMC3: Setup the mux in board file: "
63+ "Multiple options exist, so is board specific");
64+ }
65+ }
66 }
67
68 #define MAX_OMAP_MMC_HWMOD_NAME_LEN 16
69diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
70index 026c4fc..d49b9a7 100644
71--- a/arch/arm/mach-omap2/mux.c
72+++ b/arch/arm/mach-omap2/mux.c
73@@ -486,6 +486,55 @@ MUX_CFG_34XX("H19_34XX_GPIO164_OUT", 0x19c,
74 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT)
75 MUX_CFG_34XX("J25_34XX_GPIO170", 0x1c6,
76 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT)
77+/* MMC1 */
78+MUX_CFG_34XX("N28_3430_MMC1_CLK", 0x144,
79+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
80+MUX_CFG_34XX("M27_3430_MMC1_CMD", 0x146,
81+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
82+MUX_CFG_34XX("N27_3430_MMC1_DAT0", 0x148,
83+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
84+MUX_CFG_34XX("N26_3430_MMC1_DAT1", 0x14a,
85+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
86+MUX_CFG_34XX("N25_3430_MMC1_DAT2", 0x14c,
87+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
88+MUX_CFG_34XX("P28_3430_MMC1_DAT3", 0x14e,
89+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
90+MUX_CFG_34XX("P27_3430_MMC1_DAT4", 0x150,
91+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
92+MUX_CFG_34XX("P26_3430_MMC1_DAT5", 0x152,
93+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
94+MUX_CFG_34XX("R27_3430_MMC1_DAT6", 0x154,
95+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
96+MUX_CFG_34XX("R25_3430_MMC1_DAT7", 0x156,
97+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
98+
99+/* MMC2 */
100+MUX_CFG_34XX("AE2_3430_MMC2_CLK", 0x158,
101+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
102+MUX_CFG_34XX("AG5_3430_MMC2_CMD", 0x15A,
103+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
104+MUX_CFG_34XX("AH5_3430_MMC2_DAT0", 0x15c,
105+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
106+MUX_CFG_34XX("AH4_3430_MMC2_DAT1", 0x15e,
107+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
108+MUX_CFG_34XX("AG4_3430_MMC2_DAT2", 0x160,
109+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
110+MUX_CFG_34XX("AF4_3430_MMC2_DAT3", 0x162,
111+ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
112+
113+/* MMC3 */
114+MUX_CFG_34XX("AF10_3430_MMC3_CLK", 0x5d8,
115+ OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
116+MUX_CFG_34XX("AC3_3430_MMC3_CMD", 0x1d0,
117+ OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLUP)
118+MUX_CFG_34XX("AE11_3430_MMC3_DAT0", 0x5e4,
119+ OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
120+MUX_CFG_34XX("AH9_3430_MMC3_DAT1", 0x5e6,
121+ OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
122+MUX_CFG_34XX("AF13_3430_MMC3_DAT2", 0x5e8,
123+ OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
124+MUX_CFG_34XX("AF13_3430_MMC3_DAT3", 0x5e2,
125+ OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
126 };
127
128 #define OMAP34XX_PINS_SZ ARRAY_SIZE(omap34xx_pins)
129diff --git a/arch/arm/plat-omap/include/mach/mux.h b/arch/arm/plat-omap/include/mach/mux.h
130index 85a6217..d24fdf9 100644
131--- a/arch/arm/plat-omap/include/mach/mux.h
132+++ b/arch/arm/plat-omap/include/mach/mux.h
133@@ -853,6 +853,34 @@ enum omap34xx_index {
134 AE5_34XX_GPIO143,
135 H19_34XX_GPIO164_OUT,
136 J25_34XX_GPIO170,
137+
138+ /* MMC1 */
139+ N28_3430_MMC1_CLK,
140+ M27_3430_MMC1_CMD,
141+ N27_3430_MMC1_DAT0,
142+ N26_3430_MMC1_DAT1,
143+ N25_3430_MMC1_DAT2,
144+ P28_3430_MMC1_DAT3,
145+ P27_3430_MMC1_DAT4,
146+ P26_3430_MMC1_DAT5,
147+ R27_3430_MMC1_DAT6,
148+ R25_3430_MMC1_DAT7,
149+
150+ /* MMC2 */
151+ AE2_3430_MMC2_CLK,
152+ AG5_3430_MMC2_CMD,
153+ AH5_3430_MMC2_DAT0,
154+ AH4_3430_MMC2_DAT1,
155+ AG4_3430_MMC2_DAT2,
156+ AF4_3430_MMC2_DAT3,
157+
158+ /* MMC3 */
159+ AF10_3430_MMC3_CLK,
160+ AC3_3430_MMC3_CMD,
161+ AE11_3430_MMC3_DAT0,
162+ AH9_3430_MMC3_DAT1,
163+ AF13_3430_MMC3_DAT2,
164+ AF13_3430_MMC3_DAT3,
165 };
166
167 struct omap_mux_cfg {
168--
1691.6.3.2
170
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 @@
1From b71cd09cefcd54e792a2ac032c3be64a97ef830c Mon Sep 17 00:00:00 2001
2From: Vikram Pandita <vikram.pandita@ti.com>
3Date: Fri, 12 Jun 2009 17:44:07 -0500
4Subject: [PATCH 2/8] OMAP3:Zoom2: Add TWL4030 support
5
6Add TWL4030 CORE and TWL4030 drivers to Zoom2 board file
7TWL drivers enabled are:
8 bci
9 madc
10 usb
11 keypad
12 mmc
13
14Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
15---
16 arch/arm/mach-omap2/board-zoom2.c | 204 +++++++++++++++++++++++++++++++++++--
17 1 files changed, 193 insertions(+), 11 deletions(-)
18
19diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c
20index 0ec2023..e4bf50a 100644
21--- a/arch/arm/mach-omap2/board-zoom2.c
22+++ b/arch/arm/mach-omap2/board-zoom2.c
23@@ -12,18 +12,85 @@
24 #include <linux/kernel.h>
25 #include <linux/init.h>
26 #include <linux/platform_device.h>
27+#include <linux/input.h>
28 #include <linux/gpio.h>
29 #include <linux/i2c/twl4030.h>
30+#include <linux/regulator/machine.h>
31
32 #include <asm/mach-types.h>
33 #include <asm/mach/arch.h>
34
35 #include <mach/common.h>
36 #include <mach/usb.h>
37+#include <mach/keypad.h>
38
39 #include "mmc-twl4030.h"
40 #include "omap3-opp.h"
41
42+/* Zoom2 has Qwerty keyboard*/
43+static int zoom2_twl4030_keymap[] = {
44+ KEY(0, 0, KEY_E),
45+ KEY(1, 0, KEY_R),
46+ KEY(2, 0, KEY_T),
47+ KEY(3, 0, KEY_HOME),
48+ KEY(6, 0, KEY_I),
49+ KEY(7, 0, KEY_LEFTSHIFT),
50+ KEY(0, 1, KEY_D),
51+ KEY(1, 1, KEY_F),
52+ KEY(2, 1, KEY_G),
53+ KEY(3, 1, KEY_SEND),
54+ KEY(6, 1, KEY_K),
55+ KEY(7, 1, KEY_ENTER),
56+ KEY(0, 2, KEY_X),
57+ KEY(1, 2, KEY_C),
58+ KEY(2, 2, KEY_V),
59+ KEY(3, 2, KEY_END),
60+ KEY(6, 2, KEY_DOT),
61+ KEY(7, 2, KEY_CAPSLOCK),
62+ KEY(0, 3, KEY_Z),
63+ KEY(1, 3, KEY_KPPLUS),
64+ KEY(2, 3, KEY_B),
65+ KEY(3, 3, KEY_F1),
66+ KEY(6, 3, KEY_O),
67+ KEY(7, 3, KEY_SPACE),
68+ KEY(0, 4, KEY_W),
69+ KEY(1, 4, KEY_Y),
70+ KEY(2, 4, KEY_U),
71+ KEY(3, 4, KEY_F2),
72+ KEY(4, 4, KEY_VOLUMEUP),
73+ KEY(6, 4, KEY_L),
74+ KEY(7, 4, KEY_LEFT),
75+ KEY(0, 5, KEY_S),
76+ KEY(1, 5, KEY_H),
77+ KEY(2, 5, KEY_J),
78+ KEY(3, 5, KEY_F3),
79+ KEY(5, 5, KEY_VOLUMEDOWN),
80+ KEY(6, 5, KEY_M),
81+ KEY(4, 5, KEY_ENTER),
82+ KEY(7, 5, KEY_RIGHT),
83+ KEY(0, 6, KEY_Q),
84+ KEY(1, 6, KEY_A),
85+ KEY(2, 6, KEY_N),
86+ KEY(3, 6, KEY_BACKSPACE),
87+ KEY(6, 6, KEY_P),
88+ KEY(7, 6, KEY_UP),
89+ KEY(6, 7, KEY_SELECT),
90+ KEY(7, 7, KEY_DOWN),
91+ KEY(0, 7, KEY_PROG1), /*MACRO 1 <User defined> */
92+ KEY(1, 7, KEY_PROG2), /*MACRO 2 <User defined> */
93+ KEY(2, 7, KEY_PROG3), /*MACRO 3 <User defined> */
94+ KEY(3, 7, KEY_PROG4), /*MACRO 4 <User defined> */
95+ 0
96+};
97+
98+static struct twl4030_keypad_data zoom2_kp_twl4030_data = {
99+ .rows = 8,
100+ .cols = 8,
101+ .keymap = zoom2_twl4030_keymap,
102+ .keymapsize = ARRAY_SIZE(zoom2_twl4030_keymap),
103+ .rep = 1,
104+};
105+
106 static struct omap_uart_config zoom2_uart_config __initdata = {
107 .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)),
108 };
109@@ -42,10 +109,128 @@ static void __init omap_zoom2_init_irq(void)
110 omap_gpio_init();
111 }
112
113+
114+static struct regulator_consumer_supply zoom2_vmmc1_supply = {
115+ .supply = "vmmc",
116+};
117+
118+static struct regulator_consumer_supply zoom2_vsim_supply = {
119+ .supply = "vmmc_aux",
120+};
121+
122+static struct regulator_consumer_supply zoom2_vmmc2_supply = {
123+ .supply = "vmmc",
124+};
125+
126+/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */
127+static struct regulator_init_data zoom2_vmmc1 = {
128+ .constraints = {
129+ .min_uV = 1850000,
130+ .max_uV = 3150000,
131+ .valid_modes_mask = REGULATOR_MODE_NORMAL
132+ | REGULATOR_MODE_STANDBY,
133+ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
134+ | REGULATOR_CHANGE_MODE
135+ | REGULATOR_CHANGE_STATUS,
136+ },
137+ .num_consumer_supplies = 1,
138+ .consumer_supplies = &zoom2_vmmc1_supply,
139+};
140+
141+/* VMMC2 for MMC2 card */
142+static struct regulator_init_data zoom2_vmmc2 = {
143+ .constraints = {
144+ .min_uV = 1850000,
145+ .max_uV = 1850000,
146+ .apply_uV = true,
147+ .valid_modes_mask = REGULATOR_MODE_NORMAL
148+ | REGULATOR_MODE_STANDBY,
149+ .valid_ops_mask = REGULATOR_CHANGE_MODE
150+ | REGULATOR_CHANGE_STATUS,
151+ },
152+ .num_consumer_supplies = 1,
153+ .consumer_supplies = &zoom2_vmmc2_supply,
154+};
155+
156+/* VSIM for OMAP VDD_MMC1A (i/o for DAT4..DAT7) */
157+static struct regulator_init_data zoom2_vsim = {
158+ .constraints = {
159+ .min_uV = 1800000,
160+ .max_uV = 3000000,
161+ .valid_modes_mask = REGULATOR_MODE_NORMAL
162+ | REGULATOR_MODE_STANDBY,
163+ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
164+ | REGULATOR_CHANGE_MODE
165+ | REGULATOR_CHANGE_STATUS,
166+ },
167+ .num_consumer_supplies = 1,
168+ .consumer_supplies = &zoom2_vsim_supply,
169+};
170+
171+static struct twl4030_hsmmc_info mmc[] __initdata = {
172+ {
173+ .mmc = 1,
174+ .wires = 4,
175+ .gpio_wp = -EINVAL,
176+ },
177+ {
178+ .mmc = 2,
179+ .wires = 4,
180+ .gpio_wp = -EINVAL,
181+ },
182+ {} /* Terminator */
183+};
184+
185+static int zoom2_twl_gpio_setup(struct device *dev,
186+ unsigned gpio, unsigned ngpio)
187+{
188+ /* gpio + 0 is "mmc0_cd" (input/IRQ),
189+ * gpio + 1 is "mmc1_cd" (input/IRQ)
190+ */
191+ mmc[0].gpio_cd = gpio + 0;
192+ mmc[1].gpio_cd = gpio + 1;
193+ twl4030_mmc_init(mmc);
194+
195+ /* link regulators to MMC adapters ... we "know" the
196+ * regulators will be set up only *after* we return.
197+ */
198+ zoom2_vmmc1_supply.dev = mmc[0].dev;
199+ zoom2_vsim_supply.dev = mmc[0].dev;
200+ zoom2_vmmc2_supply.dev = mmc[1].dev;
201+
202+ return 0;
203+}
204+
205+
206+static int zoom2_batt_table[] = {
207+/* 0 C*/
208+30800, 29500, 28300, 27100,
209+26000, 24900, 23900, 22900, 22000, 21100, 20300, 19400, 18700, 17900,
210+17200, 16500, 15900, 15300, 14700, 14100, 13600, 13100, 12600, 12100,
211+11600, 11200, 10800, 10400, 10000, 9630, 9280, 8950, 8620, 8310,
212+8020, 7730, 7460, 7200, 6950, 6710, 6470, 6250, 6040, 5830,
213+5640, 5450, 5260, 5090, 4920, 4760, 4600, 4450, 4310, 4170,
214+4040, 3910, 3790, 3670, 3550
215+};
216+
217+static struct twl4030_bci_platform_data zoom2_bci_data = {
218+ .battery_tmp_tbl = zoom2_batt_table,
219+ .tblsize = ARRAY_SIZE(zoom2_batt_table),
220+};
221+
222+static struct twl4030_usb_data zoom2_usb_data = {
223+ .usb_mode = T2_USB_MODE_ULPI,
224+};
225+
226 static struct twl4030_gpio_platform_data zoom2_gpio_data = {
227 .gpio_base = OMAP_MAX_GPIO_LINES,
228 .irq_base = TWL4030_GPIO_IRQ_BASE,
229 .irq_end = TWL4030_GPIO_IRQ_END,
230+ .setup = zoom2_twl_gpio_setup,
231+};
232+
233+static struct twl4030_madc_platform_data zoom2_madc_data = {
234+ .irq_line = 1,
235 };
236
237 static struct twl4030_platform_data zoom2_twldata = {
238@@ -53,7 +238,15 @@ static struct twl4030_platform_data zoom2_twldata = {
239 .irq_end = TWL4030_IRQ_END,
240
241 /* platform_data for children goes here */
242+ .bci = &zoom2_bci_data,
243+ .madc = &zoom2_madc_data,
244+ .usb = &zoom2_usb_data,
245 .gpio = &zoom2_gpio_data,
246+ .keypad = &zoom2_kp_twl4030_data,
247+ .vmmc1 = &zoom2_vmmc1,
248+ .vmmc2 = &zoom2_vmmc2,
249+ .vsim = &zoom2_vsim,
250+
251 };
252
253 static struct i2c_board_info __initdata zoom2_i2c_boardinfo[] = {
254@@ -74,16 +267,6 @@ static int __init omap_i2c_init(void)
255 return 0;
256 }
257
258-static struct twl4030_hsmmc_info mmc[] __initdata = {
259- {
260- .mmc = 1,
261- .wires = 4,
262- .gpio_cd = -EINVAL,
263- .gpio_wp = -EINVAL,
264- },
265- {} /* Terminator */
266-};
267-
268 extern int __init omap_zoom2_debugboard_init(void);
269
270 static void __init omap_zoom2_init(void)
271@@ -91,7 +274,6 @@ static void __init omap_zoom2_init(void)
272 omap_i2c_init();
273 omap_serial_init();
274 omap_zoom2_debugboard_init();
275- twl4030_mmc_init(mmc);
276 usb_musb_init();
277 }
278
279--
2801.6.3.2
281
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 @@
1From 6ee03ed1dc74b4e777d65c73b7ef9c0222fc98a8 Mon Sep 17 00:00:00 2001
2From: Vikram Pandita <vikram.pandita@ti.com>
3Date: Fri, 12 Jun 2009 17:47:38 -0500
4Subject: [PATCH 3/8] OMAP3:Zoom2: Update board defconfig
5
6Update defconfig for Zoom2 to include
7TWL4030 core
8TWL4030 drivers (bci, gpio, keypad, usb, mmc)
9
10Also sync the defconfig after issuing a menuconfig
11
12Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
13---
14 arch/arm/configs/omap_zoom2_defconfig | 484 +++++++++++++++++++++++++++-----
15 1 files changed, 408 insertions(+), 76 deletions(-)
16
17diff --git a/arch/arm/configs/omap_zoom2_defconfig b/arch/arm/configs/omap_zoom2_defconfig
18index 213fe9c..f1739fa 100644
19--- a/arch/arm/configs/omap_zoom2_defconfig
20+++ b/arch/arm/configs/omap_zoom2_defconfig
21@@ -1,7 +1,7 @@
22 #
23 # Automatically generated make config: don't edit
24-# Linux kernel version: 2.6.27-rc5
25-# Fri Oct 10 11:49:41 2008
26+# Linux kernel version: 2.6.30-omap1
27+# Fri Jun 12 17:25:46 2009
28 #
29 CONFIG_ARM=y
30 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
31@@ -22,8 +22,6 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
32 # CONFIG_ARCH_HAS_ILOG2_U64 is not set
33 CONFIG_GENERIC_HWEIGHT=y
34 CONFIG_GENERIC_CALIBRATE_DELAY=y
35-CONFIG_ARCH_SUPPORTS_AOUT=y
36-CONFIG_ZONE_DMA=y
37 CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38 CONFIG_VECTORS_BASE=0xffff0000
39 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
40@@ -39,44 +37,61 @@ CONFIG_LOCALVERSION_AUTO=y
41 CONFIG_SWAP=y
42 CONFIG_SYSVIPC=y
43 CONFIG_SYSVIPC_SYSCTL=y
44+# CONFIG_POSIX_MQUEUE is not set
45 CONFIG_BSD_PROCESS_ACCT=y
46 # CONFIG_BSD_PROCESS_ACCT_V3 is not set
47+# CONFIG_TASKSTATS is not set
48+# CONFIG_AUDIT is not set
49+
50+#
51+# RCU Subsystem
52+#
53+CONFIG_CLASSIC_RCU=y
54+# CONFIG_TREE_RCU is not set
55+# CONFIG_PREEMPT_RCU is not set
56+# CONFIG_TREE_RCU_TRACE is not set
57+# CONFIG_PREEMPT_RCU_TRACE is not set
58 # CONFIG_IKCONFIG is not set
59 CONFIG_LOG_BUF_SHIFT=14
60-# CONFIG_CGROUPS is not set
61 CONFIG_GROUP_SCHED=y
62 CONFIG_FAIR_GROUP_SCHED=y
63 # CONFIG_RT_GROUP_SCHED is not set
64 CONFIG_USER_SCHED=y
65 # CONFIG_CGROUP_SCHED is not set
66+# CONFIG_CGROUPS is not set
67 CONFIG_SYSFS_DEPRECATED=y
68 CONFIG_SYSFS_DEPRECATED_V2=y
69 # CONFIG_RELAY is not set
70 # CONFIG_NAMESPACES is not set
71 CONFIG_BLK_DEV_INITRD=y
72 CONFIG_INITRAMFS_SOURCE=""
73+CONFIG_RD_GZIP=y
74+# CONFIG_RD_BZIP2 is not set
75+# CONFIG_RD_LZMA is not set
76 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
77 CONFIG_SYSCTL=y
78+CONFIG_ANON_INODES=y
79 CONFIG_EMBEDDED=y
80 CONFIG_UID16=y
81 # CONFIG_SYSCTL_SYSCALL is not set
82 CONFIG_KALLSYMS=y
83 # CONFIG_KALLSYMS_ALL is not set
84 CONFIG_KALLSYMS_EXTRA_PASS=y
85+# CONFIG_STRIP_ASM_SYMS is not set
86 CONFIG_HOTPLUG=y
87 CONFIG_PRINTK=y
88 CONFIG_BUG=y
89 CONFIG_ELF_CORE=y
90-CONFIG_COMPAT_BRK=y
91 CONFIG_BASE_FULL=y
92 CONFIG_FUTEX=y
93-CONFIG_ANON_INODES=y
94 CONFIG_EPOLL=y
95 CONFIG_SIGNALFD=y
96 CONFIG_TIMERFD=y
97 CONFIG_EVENTFD=y
98 CONFIG_SHMEM=y
99+CONFIG_AIO=y
100 CONFIG_VM_EVENT_COUNTERS=y
101+CONFIG_COMPAT_BRK=y
102 CONFIG_SLAB=y
103 # CONFIG_SLUB is not set
104 # CONFIG_SLOB is not set
105@@ -84,19 +99,13 @@ CONFIG_SLAB=y
106 # CONFIG_MARKERS is not set
107 CONFIG_HAVE_OPROFILE=y
108 # CONFIG_KPROBES is not set
109-# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
110-# CONFIG_HAVE_IOREMAP_PROT is not set
111 CONFIG_HAVE_KPROBES=y
112 CONFIG_HAVE_KRETPROBES=y
113-# CONFIG_HAVE_ARCH_TRACEHOOK is not set
114-# CONFIG_HAVE_DMA_ATTRS is not set
115-# CONFIG_USE_GENERIC_SMP_HELPERS is not set
116 CONFIG_HAVE_CLK=y
117-CONFIG_PROC_PAGE_MONITOR=y
118+# CONFIG_SLOW_WORK is not set
119 CONFIG_HAVE_GENERIC_DMA_COHERENT=y
120 CONFIG_SLABINFO=y
121 CONFIG_RT_MUTEXES=y
122-# CONFIG_TINY_SHMEM is not set
123 CONFIG_BASE_SMALL=0
124 CONFIG_MODULES=y
125 # CONFIG_MODULE_FORCE_LOAD is not set
126@@ -104,11 +113,8 @@ CONFIG_MODULE_UNLOAD=y
127 # CONFIG_MODULE_FORCE_UNLOAD is not set
128 CONFIG_MODVERSIONS=y
129 CONFIG_MODULE_SRCVERSION_ALL=y
130-CONFIG_KMOD=y
131 CONFIG_BLOCK=y
132 # CONFIG_LBD is not set
133-# CONFIG_BLK_DEV_IO_TRACE is not set
134-# CONFIG_LSF is not set
135 # CONFIG_BLK_DEV_BSG is not set
136 # CONFIG_BLK_DEV_INTEGRITY is not set
137
138@@ -124,7 +130,7 @@ CONFIG_DEFAULT_AS=y
139 # CONFIG_DEFAULT_CFQ is not set
140 # CONFIG_DEFAULT_NOOP is not set
141 CONFIG_DEFAULT_IOSCHED="anticipatory"
142-CONFIG_CLASSIC_RCU=y
143+CONFIG_FREEZER=y
144
145 #
146 # System Type
147@@ -134,10 +140,10 @@ CONFIG_CLASSIC_RCU=y
148 # CONFIG_ARCH_REALVIEW is not set
149 # CONFIG_ARCH_VERSATILE is not set
150 # CONFIG_ARCH_AT91 is not set
151-# CONFIG_ARCH_CLPS7500 is not set
152 # CONFIG_ARCH_CLPS711X is not set
153 # CONFIG_ARCH_EBSA110 is not set
154 # CONFIG_ARCH_EP93XX is not set
155+# CONFIG_ARCH_GEMINI is not set
156 # CONFIG_ARCH_FOOTBRIDGE is not set
157 # CONFIG_ARCH_NETX is not set
158 # CONFIG_ARCH_H720X is not set
159@@ -158,14 +164,17 @@ CONFIG_CLASSIC_RCU=y
160 # CONFIG_ARCH_ORION5X is not set
161 # CONFIG_ARCH_PNX4008 is not set
162 # CONFIG_ARCH_PXA is not set
163+# CONFIG_ARCH_MMP is not set
164 # CONFIG_ARCH_RPC is not set
165 # CONFIG_ARCH_SA1100 is not set
166 # CONFIG_ARCH_S3C2410 is not set
167+# CONFIG_ARCH_S3C64XX is not set
168 # CONFIG_ARCH_SHARK is not set
169 # CONFIG_ARCH_LH7A40X is not set
170 # CONFIG_ARCH_DAVINCI is not set
171 CONFIG_ARCH_OMAP=y
172-# CONFIG_ARCH_MSM7X00A is not set
173+# CONFIG_ARCH_MSM is not set
174+# CONFIG_ARCH_W90X900 is not set
175
176 #
177 # TI OMAP Implementations
178@@ -174,6 +183,7 @@ CONFIG_ARCH_OMAP_OTG=y
179 # CONFIG_ARCH_OMAP1 is not set
180 # CONFIG_ARCH_OMAP2 is not set
181 CONFIG_ARCH_OMAP3=y
182+# CONFIG_ARCH_OMAP4 is not set
183
184 #
185 # OMAP Feature Selections
186@@ -185,6 +195,7 @@ CONFIG_OMAP_MUX=y
187 CONFIG_OMAP_MUX_DEBUG=y
188 CONFIG_OMAP_MUX_WARNINGS=y
189 CONFIG_OMAP_MCBSP=y
190+# CONFIG_OMAP_MBOX_FWK is not set
191 # CONFIG_OMAP_MPU_TIMER is not set
192 CONFIG_OMAP_32K_TIMER=y
193 CONFIG_OMAP_32K_TIMER_HZ=128
194@@ -192,25 +203,20 @@ CONFIG_OMAP_DM_TIMER=y
195 # CONFIG_OMAP_LL_DEBUG_UART1 is not set
196 # CONFIG_OMAP_LL_DEBUG_UART2 is not set
197 CONFIG_OMAP_LL_DEBUG_UART3=y
198-CONFIG_OMAP_SERIAL_WAKE=y
199 CONFIG_ARCH_OMAP34XX=y
200 CONFIG_ARCH_OMAP3430=y
201
202 #
203 # OMAP Board Type
204 #
205-# CONFIG_MACH_OMAP3_BEAGLE is not set
206+# CONFIG_MACH_NOKIA_RX51 is not set
207 # CONFIG_MACH_OMAP_LDP is not set
208-CONFIG_MACH_OMAP_ZOOM2=y
209+# CONFIG_MACH_OMAP_3430SDP is not set
210+# CONFIG_MACH_OMAP3EVM is not set
211+# CONFIG_MACH_OMAP3_BEAGLE is not set
212 # CONFIG_MACH_OVERO is not set
213-
214-#
215-# Boot options
216-#
217-
218-#
219-# Power management
220-#
221+# CONFIG_MACH_OMAP3_PANDORA is not set
222+CONFIG_MACH_OMAP_ZOOM2=y
223
224 #
225 # Processor Type
226@@ -239,6 +245,10 @@ CONFIG_ARM_THUMB=y
227 # CONFIG_CPU_BPREDICT_DISABLE is not set
228 CONFIG_HAS_TLS_REG=y
229 # CONFIG_OUTER_CACHE is not set
230+# CONFIG_ARM_ERRATA_430973 is not set
231+# CONFIG_ARM_ERRATA_458693 is not set
232+# CONFIG_ARM_ERRATA_460075 is not set
233+CONFIG_COMMON_CLKDEV=y
234
235 #
236 # Bus support
237@@ -254,26 +264,32 @@ CONFIG_TICK_ONESHOT=y
238 CONFIG_NO_HZ=y
239 CONFIG_HIGH_RES_TIMERS=y
240 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
241+CONFIG_VMSPLIT_3G=y
242+# CONFIG_VMSPLIT_2G is not set
243+# CONFIG_VMSPLIT_1G is not set
244+CONFIG_PAGE_OFFSET=0xC0000000
245 # CONFIG_PREEMPT is not set
246 CONFIG_HZ=128
247 CONFIG_AEABI=y
248 CONFIG_OABI_COMPAT=y
249-CONFIG_ARCH_FLATMEM_HAS_HOLES=y
250-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
251+# CONFIG_ARCH_HAS_HOLES_MEMORYMODEL is not set
252+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
253+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
254+# CONFIG_HIGHMEM is not set
255 CONFIG_SELECT_MEMORY_MODEL=y
256 CONFIG_FLATMEM_MANUAL=y
257 # CONFIG_DISCONTIGMEM_MANUAL is not set
258 # CONFIG_SPARSEMEM_MANUAL is not set
259 CONFIG_FLATMEM=y
260 CONFIG_FLAT_NODE_MEM_MAP=y
261-# CONFIG_SPARSEMEM_STATIC is not set
262-# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
263 CONFIG_PAGEFLAGS_EXTENDED=y
264 CONFIG_SPLIT_PTLOCK_CPUS=4
265-# CONFIG_RESOURCES_64BIT is not set
266-CONFIG_ZONE_DMA_FLAG=1
267-CONFIG_BOUNCE=y
268+# CONFIG_PHYS_ADDR_T_64BIT is not set
269+CONFIG_ZONE_DMA_FLAG=0
270 CONFIG_VIRT_TO_BUS=y
271+CONFIG_UNEVICTABLE_LRU=y
272+CONFIG_HAVE_MLOCK=y
273+CONFIG_HAVE_MLOCKED_PAGE_BIT=y
274 # CONFIG_LEDS is not set
275 CONFIG_ALIGNMENT_TRAP=y
276
277@@ -287,9 +303,10 @@ CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.16
278 # CONFIG_KEXEC is not set
279
280 #
281-# CPU Frequency scaling
282+# CPU Power Management
283 #
284 # CONFIG_CPU_FREQ is not set
285+# CONFIG_CPU_IDLE is not set
286
287 #
288 # Floating point emulation
289@@ -309,13 +326,23 @@ CONFIG_VFPv3=y
290 # Userspace binary formats
291 #
292 CONFIG_BINFMT_ELF=y
293+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
294+CONFIG_HAVE_AOUT=y
295 # CONFIG_BINFMT_AOUT is not set
296 CONFIG_BINFMT_MISC=y
297
298 #
299 # Power management options
300 #
301-# CONFIG_PM is not set
302+CONFIG_PM=y
303+CONFIG_PM_DEBUG=y
304+CONFIG_PM_VERBOSE=y
305+CONFIG_CAN_PM_TRACE=y
306+CONFIG_PM_SLEEP=y
307+CONFIG_SUSPEND=y
308+# CONFIG_PM_TEST_SUSPEND is not set
309+CONFIG_SUSPEND_FREEZER=y
310+# CONFIG_APM_EMULATION is not set
311 CONFIG_ARCH_SUSPEND_POSSIBLE=y
312 CONFIG_NET=y
313
314@@ -378,7 +405,9 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
315 # CONFIG_LAPB is not set
316 # CONFIG_ECONET is not set
317 # CONFIG_WAN_ROUTER is not set
318+# CONFIG_PHONET is not set
319 # CONFIG_NET_SCHED is not set
320+# CONFIG_DCB is not set
321
322 #
323 # Network testing
324@@ -389,8 +418,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
325 # CONFIG_IRDA is not set
326 # CONFIG_BT is not set
327 # CONFIG_AF_RXRPC is not set
328-# CONFIG_PHONET is not set
329 # CONFIG_WIRELESS is not set
330+# CONFIG_WIMAX is not set
331 # CONFIG_RFKILL is not set
332 # CONFIG_NET_9P is not set
333
334@@ -416,14 +445,28 @@ CONFIG_BLK_DEV=y
335 # CONFIG_BLK_DEV_COW_COMMON is not set
336 CONFIG_BLK_DEV_LOOP=y
337 # CONFIG_BLK_DEV_CRYPTOLOOP is not set
338+# CONFIG_BLK_DEV_NBD is not set
339+# CONFIG_BLK_DEV_UB is not set
340 CONFIG_BLK_DEV_RAM=y
341 CONFIG_BLK_DEV_RAM_COUNT=16
342 CONFIG_BLK_DEV_RAM_SIZE=16384
343 # CONFIG_BLK_DEV_XIP is not set
344 # CONFIG_CDROM_PKTCDVD is not set
345+# CONFIG_ATA_OVER_ETH is not set
346 CONFIG_MISC_DEVICES=y
347-# CONFIG_EEPROM_93CX6 is not set
348+# CONFIG_ICS932S401 is not set
349+# CONFIG_OMAP_STI is not set
350 # CONFIG_ENCLOSURE_SERVICES is not set
351+# CONFIG_ISL29003 is not set
352+# CONFIG_C2PORT is not set
353+
354+#
355+# EEPROM support
356+#
357+# CONFIG_EEPROM_AT24 is not set
358+# CONFIG_EEPROM_AT25 is not set
359+# CONFIG_EEPROM_LEGACY is not set
360+# CONFIG_EEPROM_93CX6 is not set
361 CONFIG_HAVE_IDE=y
362 # CONFIG_IDE is not set
363
364@@ -461,14 +504,20 @@ CONFIG_SCSI_WAIT_SCAN=m
365 #
366 # CONFIG_SCSI_SPI_ATTRS is not set
367 # CONFIG_SCSI_FC_ATTRS is not set
368+# CONFIG_SCSI_ISCSI_ATTRS is not set
369 # CONFIG_SCSI_SAS_LIBSAS is not set
370 # CONFIG_SCSI_SRP_ATTRS is not set
371 CONFIG_SCSI_LOWLEVEL=y
372+# CONFIG_ISCSI_TCP is not set
373+# CONFIG_LIBFC is not set
374+# CONFIG_LIBFCOE is not set
375 # CONFIG_SCSI_DEBUG is not set
376 # CONFIG_SCSI_DH is not set
377+# CONFIG_SCSI_OSD_INITIATOR is not set
378 # CONFIG_ATA is not set
379 # CONFIG_MD is not set
380 CONFIG_NETDEVICES=y
381+CONFIG_COMPAT_NET_DEV_OPS=y
382 # CONFIG_DUMMY is not set
383 # CONFIG_BONDING is not set
384 # CONFIG_MACVLAN is not set
385@@ -501,8 +550,10 @@ CONFIG_MII=y
386 # CONFIG_SMC91X is not set
387 # CONFIG_DM9000 is not set
388 # CONFIG_ENC28J60 is not set
389+# CONFIG_ETHOC is not set
390 # CONFIG_SMC911X is not set
391 CONFIG_SMSC911X=y
392+# CONFIG_DNET is not set
393 # CONFIG_IBM_NEW_EMAC_ZMII is not set
394 # CONFIG_IBM_NEW_EMAC_RGMII is not set
395 # CONFIG_IBM_NEW_EMAC_TAH is not set
396@@ -519,7 +570,10 @@ CONFIG_NETDEV_10000=y
397 #
398 # CONFIG_WLAN_PRE80211 is not set
399 # CONFIG_WLAN_80211 is not set
400-# CONFIG_IWLWIFI_LEDS is not set
401+
402+#
403+# Enable WiMAX (Networking options) to see the WiMAX drivers
404+#
405
406 #
407 # USB Network Adapters
408@@ -561,17 +615,25 @@ CONFIG_INPUT_EVDEV=y
409 # CONFIG_INPUT_TABLET is not set
410 CONFIG_INPUT_TOUCHSCREEN=y
411 CONFIG_TOUCHSCREEN_ADS7846=y
412+# CONFIG_TOUCHSCREEN_AD7877 is not set
413+# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
414+# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
415+# CONFIG_TOUCHSCREEN_AD7879 is not set
416 # CONFIG_TOUCHSCREEN_FUJITSU is not set
417 # CONFIG_TOUCHSCREEN_GUNZE is not set
418 # CONFIG_TOUCHSCREEN_ELO is not set
419+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
420 # CONFIG_TOUCHSCREEN_MTOUCH is not set
421 # CONFIG_TOUCHSCREEN_INEXIO is not set
422 # CONFIG_TOUCHSCREEN_MK712 is not set
423 # CONFIG_TOUCHSCREEN_PENMOUNT is not set
424 # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
425 # CONFIG_TOUCHSCREEN_TOUCHWIN is not set
426-# CONFIG_TOUCHSCREEN_UCB1400 is not set
427+# CONFIG_TOUCHSCREEN_TSC2005 is not set
428+# CONFIG_TOUCHSCREEN_TSC210X is not set
429+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
430 # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
431+# CONFIG_TOUCHSCREEN_TSC2007 is not set
432 # CONFIG_INPUT_MISC is not set
433
434 #
435@@ -607,13 +669,15 @@ CONFIG_SERIAL_8250_RSA=y
436 #
437 # Non-8250 serial port support
438 #
439+# CONFIG_SERIAL_MAX3100 is not set
440 CONFIG_SERIAL_CORE=y
441 CONFIG_SERIAL_CORE_CONSOLE=y
442 CONFIG_UNIX98_PTYS=y
443+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
444 # CONFIG_LEGACY_PTYS is not set
445 # CONFIG_IPMI_HANDLER is not set
446 CONFIG_HW_RANDOM=y
447-# CONFIG_NVRAM is not set
448+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
449 # CONFIG_R3964 is not set
450 # CONFIG_RAW_DRIVER is not set
451 # CONFIG_TCG_TPM is not set
452@@ -639,6 +703,7 @@ CONFIG_I2C_OMAP=y
453 #
454 # CONFIG_I2C_PARPORT_LIGHT is not set
455 # CONFIG_I2C_TAOS_EVM is not set
456+# CONFIG_I2C_TINY_USB is not set
457
458 #
459 # Other I2C/SMBus bus drivers
460@@ -650,14 +715,11 @@ CONFIG_I2C_OMAP=y
461 # Miscellaneous I2C Chip support
462 #
463 # CONFIG_DS1682 is not set
464-# CONFIG_EEPROM_AT24 is not set
465-# CONFIG_EEPROM_LEGACY is not set
466 # CONFIG_SENSORS_PCF8574 is not set
467 # CONFIG_PCF8575 is not set
468 # CONFIG_SENSORS_PCA9539 is not set
469-# CONFIG_SENSORS_PCF8591 is not set
470-# CONFIG_ISP1301_OMAP is not set
471-# CONFIG_TPS65010 is not set
472+# CONFIG_TWL4030_MADC is not set
473+# CONFIG_TWL4030_POWEROFF is not set
474 # CONFIG_SENSORS_MAX6875 is not set
475 # CONFIG_SENSORS_TSL2550 is not set
476 # CONFIG_I2C_DEBUG_CORE is not set
477@@ -672,12 +734,12 @@ CONFIG_SPI_MASTER=y
478 # SPI Master Controller Drivers
479 #
480 # CONFIG_SPI_BITBANG is not set
481+# CONFIG_SPI_GPIO is not set
482 CONFIG_SPI_OMAP24XX=y
483
484 #
485 # SPI Protocol Masters
486 #
487-# CONFIG_EEPROM_AT25 is not set
488 # CONFIG_SPI_SPIDEV is not set
489 # CONFIG_SPI_TLE62X0 is not set
490 CONFIG_ARCH_REQUIRE_GPIOLIB=y
491@@ -686,11 +748,16 @@ CONFIG_GPIOLIB=y
492 # CONFIG_GPIO_SYSFS is not set
493
494 #
495+# Memory mapped GPIO expanders:
496+#
497+
498+#
499 # I2C GPIO expanders:
500 #
501 # CONFIG_GPIO_MAX732X is not set
502 # CONFIG_GPIO_PCA953X is not set
503 # CONFIG_GPIO_PCF857X is not set
504+CONFIG_GPIO_TWL4030=y
505
506 #
507 # PCI GPIO expanders:
508@@ -702,26 +769,34 @@ CONFIG_GPIOLIB=y
509 # CONFIG_GPIO_MAX7301 is not set
510 # CONFIG_GPIO_MCP23S08 is not set
511 CONFIG_W1=y
512+CONFIG_W1_CON=y
513
514 #
515 # 1-wire Bus Masters
516 #
517+# CONFIG_W1_MASTER_DS2490 is not set
518 # CONFIG_W1_MASTER_DS2482 is not set
519 # CONFIG_W1_MASTER_DS1WM is not set
520 # CONFIG_W1_MASTER_GPIO is not set
521+# CONFIG_HDQ_MASTER_OMAP is not set
522
523 #
524 # 1-wire Slaves
525 #
526 # CONFIG_W1_SLAVE_THERM is not set
527 # CONFIG_W1_SLAVE_SMEM is not set
528+# CONFIG_W1_SLAVE_DS2431 is not set
529 # CONFIG_W1_SLAVE_DS2433 is not set
530 # CONFIG_W1_SLAVE_DS2760 is not set
531+# CONFIG_W1_SLAVE_BQ27000 is not set
532 CONFIG_POWER_SUPPLY=y
533 # CONFIG_POWER_SUPPLY_DEBUG is not set
534 # CONFIG_PDA_POWER is not set
535 # CONFIG_BATTERY_DS2760 is not set
536+# CONFIG_BATTERY_BQ27x00 is not set
537 # CONFIG_HWMON is not set
538+# CONFIG_THERMAL is not set
539+# CONFIG_THERMAL_HWMON is not set
540 CONFIG_WATCHDOG=y
541 CONFIG_WATCHDOG_NOWAYOUT=y
542
543@@ -729,11 +804,17 @@ CONFIG_WATCHDOG_NOWAYOUT=y
544 # Watchdog Device Drivers
545 #
546 # CONFIG_SOFT_WATCHDOG is not set
547+# CONFIG_OMAP_WATCHDOG is not set
548
549 #
550-# Sonics Silicon Backplane
551+# USB-based Watchdog Cards
552 #
553+# CONFIG_USBPCWATCHDOG is not set
554 CONFIG_SSB_POSSIBLE=y
555+
556+#
557+# Sonics Silicon Backplane
558+#
559 # CONFIG_SSB is not set
560
561 #
562@@ -741,12 +822,19 @@ CONFIG_SSB_POSSIBLE=y
563 #
564 # CONFIG_MFD_CORE is not set
565 # CONFIG_MFD_SM501 is not set
566+# CONFIG_MFD_ASIC3 is not set
567 # CONFIG_HTC_EGPIO is not set
568 # CONFIG_HTC_PASIC3 is not set
569+# CONFIG_TPS65010 is not set
570+CONFIG_TWL4030_CORE=y
571 # CONFIG_MFD_TMIO is not set
572 # CONFIG_MFD_T7L66XB is not set
573 # CONFIG_MFD_TC6387XB is not set
574 # CONFIG_MFD_TC6393XB is not set
575+# CONFIG_PMIC_DA903X is not set
576+# CONFIG_MFD_WM8400 is not set
577+# CONFIG_MFD_WM8350_I2C is not set
578+# CONFIG_MFD_PCF50633 is not set
579
580 #
581 # Multimedia devices
582@@ -756,12 +844,14 @@ CONFIG_SSB_POSSIBLE=y
583 # Multimedia core support
584 #
585 # CONFIG_VIDEO_DEV is not set
586+# CONFIG_DVB_CORE is not set
587 # CONFIG_VIDEO_MEDIA is not set
588
589 #
590 # Multimedia drivers
591 #
592 CONFIG_DAB=y
593+# CONFIG_USB_DABUSB is not set
594
595 #
596 # Graphics support
597@@ -782,10 +872,12 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
598 # CONFIG_VGA_CONSOLE is not set
599 CONFIG_DUMMY_CONSOLE=y
600 CONFIG_SOUND=y
601+# CONFIG_SOUND_OSS_CORE is not set
602 CONFIG_SND=y
603 # CONFIG_SND_SEQUENCER is not set
604 # CONFIG_SND_MIXER_OSS is not set
605 # CONFIG_SND_PCM_OSS is not set
606+# CONFIG_SND_HRTIMER is not set
607 # CONFIG_SND_DYNAMIC_MINORS is not set
608 CONFIG_SND_SUPPORT_OLD_API=y
609 CONFIG_SND_VERBOSE_PROCFS=y
610@@ -798,19 +890,197 @@ CONFIG_SND_DRIVERS=y
611 # CONFIG_SND_MPU401 is not set
612 CONFIG_SND_ARM=y
613 CONFIG_SND_SPI=y
614+CONFIG_SND_USB=y
615+# CONFIG_SND_USB_AUDIO is not set
616+# CONFIG_SND_USB_CAIAQ is not set
617 # CONFIG_SND_SOC is not set
618 # CONFIG_SOUND_PRIME is not set
619 CONFIG_HID_SUPPORT=y
620 CONFIG_HID=y
621 # CONFIG_HID_DEBUG is not set
622 # CONFIG_HIDRAW is not set
623-# CONFIG_USB_SUPPORT is not set
624+
625+#
626+# USB Input Devices
627+#
628+CONFIG_USB_HID=y
629+# CONFIG_HID_PID is not set
630+# CONFIG_USB_HIDDEV is not set
631+
632+#
633+# Special HID drivers
634+#
635+# CONFIG_HID_A4TECH is not set
636+# CONFIG_HID_APPLE is not set
637+# CONFIG_HID_BELKIN is not set
638+# CONFIG_HID_CHERRY is not set
639+# CONFIG_HID_CHICONY is not set
640+# CONFIG_HID_CYPRESS is not set
641+# CONFIG_DRAGONRISE_FF is not set
642+# CONFIG_HID_EZKEY is not set
643+# CONFIG_HID_KYE is not set
644+# CONFIG_HID_GYRATION is not set
645+# CONFIG_HID_KENSINGTON is not set
646+# CONFIG_HID_LOGITECH is not set
647+# CONFIG_HID_MICROSOFT is not set
648+# CONFIG_HID_MONTEREY is not set
649+# CONFIG_HID_NTRIG is not set
650+# CONFIG_HID_PANTHERLORD is not set
651+# CONFIG_HID_PETALYNX is not set
652+# CONFIG_HID_SAMSUNG is not set
653+# CONFIG_HID_SONY is not set
654+# CONFIG_HID_SUNPLUS is not set
655+# CONFIG_GREENASIA_FF is not set
656+# CONFIG_HID_TOPSEED is not set
657+# CONFIG_THRUSTMASTER_FF is not set
658+# CONFIG_ZEROPLUS_FF is not set
659+CONFIG_USB_SUPPORT=y
660+CONFIG_USB_ARCH_HAS_HCD=y
661+CONFIG_USB_ARCH_HAS_OHCI=y
662+CONFIG_USB_ARCH_HAS_EHCI=y
663+CONFIG_USB=y
664+CONFIG_USB_DEBUG=y
665+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
666+
667+#
668+# Miscellaneous USB options
669+#
670+# CONFIG_USB_DEVICEFS is not set
671+CONFIG_USB_DEVICE_CLASS=y
672+# CONFIG_USB_DYNAMIC_MINORS is not set
673+CONFIG_USB_SUSPEND=y
674+CONFIG_USB_OTG=y
675+# CONFIG_USB_OTG_WHITELIST is not set
676+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
677+CONFIG_USB_MON=y
678+# CONFIG_USB_WUSB is not set
679+# CONFIG_USB_WUSB_CBAF is not set
680+
681+#
682+# USB Host Controller Drivers
683+#
684+# CONFIG_USB_C67X00_HCD is not set
685+# CONFIG_USB_EHCI_HCD is not set
686+# CONFIG_USB_OXU210HP_HCD is not set
687+# CONFIG_USB_ISP116X_HCD is not set
688+# CONFIG_USB_ISP1760_HCD is not set
689+# CONFIG_USB_OHCI_HCD is not set
690+# CONFIG_USB_SL811_HCD is not set
691+# CONFIG_USB_R8A66597_HCD is not set
692+# CONFIG_USB_HWA_HCD is not set
693+CONFIG_USB_MUSB_HDRC=y
694+CONFIG_USB_MUSB_SOC=y
695+
696+#
697+# OMAP 343x high speed USB support
698+#
699+# CONFIG_USB_MUSB_HOST is not set
700+# CONFIG_USB_MUSB_PERIPHERAL is not set
701+CONFIG_USB_MUSB_OTG=y
702+CONFIG_USB_GADGET_MUSB_HDRC=y
703+CONFIG_USB_MUSB_HDRC_HCD=y
704+# CONFIG_MUSB_PIO_ONLY is not set
705+CONFIG_USB_INVENTRA_DMA=y
706+# CONFIG_USB_TI_CPPI_DMA is not set
707+CONFIG_USB_MUSB_DEBUG=y
708+
709+#
710+# USB Device Class drivers
711+#
712+# CONFIG_USB_ACM is not set
713+# CONFIG_USB_PRINTER is not set
714+# CONFIG_USB_WDM is not set
715+# CONFIG_USB_TMC is not set
716+
717+#
718+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
719+#
720+
721+#
722+# also be needed; see USB_STORAGE Help for more info
723+#
724+# CONFIG_USB_STORAGE is not set
725+# CONFIG_USB_LIBUSUAL is not set
726+
727+#
728+# USB Imaging devices
729+#
730+# CONFIG_USB_MDC800 is not set
731+# CONFIG_USB_MICROTEK is not set
732+
733+#
734+# USB port drivers
735+#
736+# CONFIG_USB_SERIAL is not set
737+
738+#
739+# USB Miscellaneous drivers
740+#
741+# CONFIG_USB_EMI62 is not set
742+# CONFIG_USB_EMI26 is not set
743+# CONFIG_USB_ADUTUX is not set
744+# CONFIG_USB_SEVSEG is not set
745+# CONFIG_USB_RIO500 is not set
746+# CONFIG_USB_LEGOTOWER is not set
747+# CONFIG_USB_LCD is not set
748+# CONFIG_USB_BERRY_CHARGE is not set
749+# CONFIG_USB_LED is not set
750+# CONFIG_USB_CYPRESS_CY7C63 is not set
751+# CONFIG_USB_CYTHERM is not set
752+# CONFIG_USB_IDMOUSE is not set
753+# CONFIG_USB_FTDI_ELAN is not set
754+# CONFIG_USB_APPLEDISPLAY is not set
755+# CONFIG_USB_LD is not set
756+# CONFIG_USB_TRANCEVIBRATOR is not set
757+# CONFIG_USB_IOWARRIOR is not set
758+# CONFIG_USB_ISIGHTFW is not set
759+# CONFIG_USB_VST is not set
760+CONFIG_USB_GADGET=y
761+CONFIG_USB_GADGET_DEBUG=y
762+CONFIG_USB_GADGET_DEBUG_FILES=y
763+CONFIG_USB_GADGET_VBUS_DRAW=2
764+CONFIG_USB_GADGET_SELECTED=y
765+# CONFIG_USB_GADGET_AT91 is not set
766+# CONFIG_USB_GADGET_ATMEL_USBA is not set
767+# CONFIG_USB_GADGET_FSL_USB2 is not set
768+# CONFIG_USB_GADGET_LH7A40X is not set
769+# CONFIG_USB_GADGET_OMAP is not set
770+# CONFIG_USB_GADGET_PXA25X is not set
771+# CONFIG_USB_GADGET_PXA27X is not set
772+# CONFIG_USB_GADGET_S3C2410 is not set
773+# CONFIG_USB_GADGET_IMX is not set
774+# CONFIG_USB_GADGET_M66592 is not set
775+# CONFIG_USB_GADGET_AMD5536UDC is not set
776+# CONFIG_USB_GADGET_FSL_QE is not set
777+# CONFIG_USB_GADGET_CI13XXX is not set
778+# CONFIG_USB_GADGET_NET2280 is not set
779+# CONFIG_USB_GADGET_GOKU is not set
780+# CONFIG_USB_GADGET_DUMMY_HCD is not set
781+CONFIG_USB_GADGET_DUALSPEED=y
782+CONFIG_USB_ZERO=y
783+# CONFIG_USB_ZERO_HNPTEST is not set
784+# CONFIG_USB_ETH is not set
785+# CONFIG_USB_GADGETFS is not set
786+# CONFIG_USB_FILE_STORAGE is not set
787+# CONFIG_USB_G_SERIAL is not set
788+# CONFIG_USB_MIDI_GADGET is not set
789+# CONFIG_USB_G_PRINTER is not set
790+# CONFIG_USB_CDC_COMPOSITE is not set
791+
792+#
793+# OTG and related infrastructure
794+#
795+CONFIG_USB_OTG_UTILS=y
796+# CONFIG_USB_GPIO_VBUS is not set
797+# CONFIG_ISP1301_OMAP is not set
798+CONFIG_TWL4030_USB=y
799+# CONFIG_NOP_USB_XCEIV is not set
800 CONFIG_MMC=y
801 # CONFIG_MMC_DEBUG is not set
802 # CONFIG_MMC_UNSAFE_RESUME is not set
803
804 #
805-# MMC/SD Card Drivers
806+# MMC/SD/SDIO Card Drivers
807 #
808 CONFIG_MMC_BLOCK=y
809 CONFIG_MMC_BLOCK_BOUNCE=y
810@@ -818,11 +1088,13 @@ CONFIG_MMC_BLOCK_BOUNCE=y
811 # CONFIG_MMC_TEST is not set
812
813 #
814-# MMC/SD Host Controller Drivers
815+# MMC/SD/SDIO Host Controller Drivers
816 #
817 # CONFIG_MMC_SDHCI is not set
818-# CONFIG_MMC_OMAP is not set
819+CONFIG_MMC_OMAP_HS=y
820 # CONFIG_MMC_SPI is not set
821+# CONFIG_MEMSTICK is not set
822+# CONFIG_ACCESSIBILITY is not set
823 # CONFIG_NEW_LEDS is not set
824 CONFIG_RTC_LIB=y
825 CONFIG_RTC_CLASS=y
826@@ -852,43 +1124,55 @@ CONFIG_RTC_INTF_DEV=y
827 # CONFIG_RTC_DRV_PCF8563 is not set
828 # CONFIG_RTC_DRV_PCF8583 is not set
829 # CONFIG_RTC_DRV_M41T80 is not set
830+# CONFIG_RTC_DRV_TWL4030 is not set
831 # CONFIG_RTC_DRV_S35390A is not set
832 # CONFIG_RTC_DRV_FM3130 is not set
833+# CONFIG_RTC_DRV_RX8581 is not set
834
835 #
836 # SPI RTC drivers
837 #
838 # CONFIG_RTC_DRV_M41T94 is not set
839 # CONFIG_RTC_DRV_DS1305 is not set
840+# CONFIG_RTC_DRV_DS1390 is not set
841 # CONFIG_RTC_DRV_MAX6902 is not set
842 # CONFIG_RTC_DRV_R9701 is not set
843 # CONFIG_RTC_DRV_RS5C348 is not set
844+# CONFIG_RTC_DRV_DS3234 is not set
845
846 #
847 # Platform RTC drivers
848 #
849 # CONFIG_RTC_DRV_CMOS is not set
850+# CONFIG_RTC_DRV_DS1286 is not set
851 # CONFIG_RTC_DRV_DS1511 is not set
852 # CONFIG_RTC_DRV_DS1553 is not set
853 # CONFIG_RTC_DRV_DS1742 is not set
854 # CONFIG_RTC_DRV_STK17TA8 is not set
855 # CONFIG_RTC_DRV_M48T86 is not set
856+# CONFIG_RTC_DRV_M48T35 is not set
857 # CONFIG_RTC_DRV_M48T59 is not set
858+# CONFIG_RTC_DRV_BQ4802 is not set
859 # CONFIG_RTC_DRV_V3020 is not set
860
861 #
862 # on-CPU RTC drivers
863 #
864 # CONFIG_DMADEVICES is not set
865-
866-#
867-# Voltage and Current regulators
868-#
869-# CONFIG_REGULATOR is not set
870+# CONFIG_AUXDISPLAY is not set
871+CONFIG_REGULATOR=y
872+# CONFIG_REGULATOR_DEBUG is not set
873 # CONFIG_REGULATOR_FIXED_VOLTAGE is not set
874 # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
875 # CONFIG_REGULATOR_BQ24022 is not set
876+CONFIG_REGULATOR_TWL4030=y
877 # CONFIG_UIO is not set
878+# CONFIG_STAGING is not set
879+
880+#
881+# CBUS support
882+#
883+# CONFIG_CBUS is not set
884
885 #
886 # File systems
887@@ -897,18 +1181,24 @@ CONFIG_EXT2_FS=y
888 # CONFIG_EXT2_FS_XATTR is not set
889 # CONFIG_EXT2_FS_XIP is not set
890 CONFIG_EXT3_FS=y
891+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
892 # CONFIG_EXT3_FS_XATTR is not set
893-# CONFIG_EXT4DEV_FS is not set
894+# CONFIG_EXT4_FS is not set
895 CONFIG_JBD=y
896 # CONFIG_REISERFS_FS is not set
897 # CONFIG_JFS_FS is not set
898-# CONFIG_FS_POSIX_ACL is not set
899+CONFIG_FS_POSIX_ACL=y
900+CONFIG_FILE_LOCKING=y
901 # CONFIG_XFS_FS is not set
902+# CONFIG_OCFS2_FS is not set
903+# CONFIG_BTRFS_FS is not set
904 CONFIG_DNOTIFY=y
905 CONFIG_INOTIFY=y
906 CONFIG_INOTIFY_USER=y
907 CONFIG_QUOTA=y
908+# CONFIG_QUOTA_NETLINK_INTERFACE is not set
909 CONFIG_PRINT_QUOTA_WARNING=y
910+CONFIG_QUOTA_TREE=y
911 # CONFIG_QFMT_V1 is not set
912 CONFIG_QFMT_V2=y
913 CONFIG_QUOTACTL=y
914@@ -917,6 +1207,11 @@ CONFIG_QUOTACTL=y
915 # CONFIG_FUSE_FS is not set
916
917 #
918+# Caches
919+#
920+# CONFIG_FSCACHE is not set
921+
922+#
923 # CD-ROM/DVD Filesystems
924 #
925 # CONFIG_ISO9660_FS is not set
926@@ -937,15 +1232,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
927 #
928 CONFIG_PROC_FS=y
929 CONFIG_PROC_SYSCTL=y
930+CONFIG_PROC_PAGE_MONITOR=y
931 CONFIG_SYSFS=y
932 CONFIG_TMPFS=y
933 # CONFIG_TMPFS_POSIX_ACL is not set
934 # CONFIG_HUGETLB_PAGE is not set
935 # CONFIG_CONFIGFS_FS is not set
936-
937-#
938-# Miscellaneous filesystems
939-#
940+CONFIG_MISC_FILESYSTEMS=y
941 # CONFIG_ADFS_FS is not set
942 # CONFIG_AFFS_FS is not set
943 # CONFIG_HFS_FS is not set
944@@ -954,6 +1247,7 @@ CONFIG_TMPFS=y
945 # CONFIG_BFS_FS is not set
946 # CONFIG_EFS_FS is not set
947 # CONFIG_CRAMFS is not set
948+# CONFIG_SQUASHFS is not set
949 # CONFIG_VXFS_FS is not set
950 # CONFIG_MINIX_FS is not set
951 # CONFIG_OMFS_FS is not set
952@@ -962,6 +1256,7 @@ CONFIG_TMPFS=y
953 # CONFIG_ROMFS_FS is not set
954 # CONFIG_SYSV_FS is not set
955 # CONFIG_UFS_FS is not set
956+# CONFIG_NILFS2_FS is not set
957 CONFIG_NETWORK_FILESYSTEMS=y
958 CONFIG_NFS_FS=y
959 CONFIG_NFS_V3=y
960@@ -975,7 +1270,6 @@ CONFIG_NFS_ACL_SUPPORT=y
961 CONFIG_NFS_COMMON=y
962 CONFIG_SUNRPC=y
963 CONFIG_SUNRPC_GSS=y
964-# CONFIG_SUNRPC_REGISTER_V4 is not set
965 CONFIG_RPCSEC_GSS_KRB5=y
966 # CONFIG_RPCSEC_GSS_SPKM3 is not set
967 # CONFIG_SMB_FS is not set
968@@ -1045,6 +1339,7 @@ CONFIG_NLS_ISO8859_1=y
969 # CONFIG_NLS_KOI8_R is not set
970 # CONFIG_NLS_KOI8_U is not set
971 # CONFIG_NLS_UTF8 is not set
972+# CONFIG_DLM is not set
973
974 #
975 # Kernel hacking
976@@ -1062,6 +1357,9 @@ CONFIG_DEBUG_KERNEL=y
977 CONFIG_DETECT_SOFTLOCKUP=y
978 # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
979 CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
980+CONFIG_DETECT_HUNG_TASK=y
981+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
982+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
983 CONFIG_SCHED_DEBUG=y
984 # CONFIG_SCHEDSTATS is not set
985 # CONFIG_TIMER_STATS is not set
986@@ -1084,21 +1382,36 @@ CONFIG_DEBUG_INFO=y
987 # CONFIG_DEBUG_MEMORY_INIT is not set
988 # CONFIG_DEBUG_LIST is not set
989 # CONFIG_DEBUG_SG is not set
990-CONFIG_FRAME_POINTER=y
991+# CONFIG_DEBUG_NOTIFIERS is not set
992 # CONFIG_BOOT_PRINTK_DELAY is not set
993 # CONFIG_RCU_TORTURE_TEST is not set
994+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
995 # CONFIG_BACKTRACE_SELF_TEST is not set
996+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
997 # CONFIG_FAULT_INJECTION is not set
998 # CONFIG_LATENCYTOP is not set
999-CONFIG_HAVE_FTRACE=y
1000-CONFIG_HAVE_DYNAMIC_FTRACE=y
1001-# CONFIG_FTRACE is not set
1002+# CONFIG_PAGE_POISONING is not set
1003+CONFIG_HAVE_FUNCTION_TRACER=y
1004+CONFIG_TRACING_SUPPORT=y
1005+
1006+#
1007+# Tracers
1008+#
1009+# CONFIG_FUNCTION_TRACER is not set
1010 # CONFIG_IRQSOFF_TRACER is not set
1011 # CONFIG_SCHED_TRACER is not set
1012 # CONFIG_CONTEXT_SWITCH_TRACER is not set
1013+# CONFIG_EVENT_TRACER is not set
1014+# CONFIG_BOOT_TRACER is not set
1015+# CONFIG_TRACE_BRANCH_PROFILING is not set
1016+# CONFIG_STACK_TRACER is not set
1017+# CONFIG_KMEMTRACE is not set
1018+# CONFIG_WORKQUEUE_TRACER is not set
1019+# CONFIG_BLK_DEV_IO_TRACE is not set
1020 # CONFIG_SAMPLES is not set
1021 CONFIG_HAVE_ARCH_KGDB=y
1022 # CONFIG_KGDB is not set
1023+CONFIG_ARM_UNWIND=y
1024 # CONFIG_DEBUG_USER is not set
1025 # CONFIG_DEBUG_ERRORS is not set
1026 # CONFIG_DEBUG_STACK_USAGE is not set
1027@@ -1110,17 +1423,28 @@ CONFIG_DEBUG_LL=y
1028 #
1029 # CONFIG_KEYS is not set
1030 # CONFIG_SECURITY is not set
1031+# CONFIG_SECURITYFS is not set
1032 # CONFIG_SECURITY_FILE_CAPABILITIES is not set
1033 CONFIG_CRYPTO=y
1034
1035 #
1036 # Crypto core or helper
1037 #
1038+# CONFIG_CRYPTO_FIPS is not set
1039 CONFIG_CRYPTO_ALGAPI=y
1040+CONFIG_CRYPTO_ALGAPI2=y
1041+CONFIG_CRYPTO_AEAD2=y
1042 CONFIG_CRYPTO_BLKCIPHER=y
1043+CONFIG_CRYPTO_BLKCIPHER2=y
1044+CONFIG_CRYPTO_HASH=y
1045+CONFIG_CRYPTO_HASH2=y
1046+CONFIG_CRYPTO_RNG2=y
1047+CONFIG_CRYPTO_PCOMP=y
1048 CONFIG_CRYPTO_MANAGER=y
1049+CONFIG_CRYPTO_MANAGER2=y
1050 # CONFIG_CRYPTO_GF128MUL is not set
1051 # CONFIG_CRYPTO_NULL is not set
1052+CONFIG_CRYPTO_WORKQUEUE=y
1053 # CONFIG_CRYPTO_CRYPTD is not set
1054 # CONFIG_CRYPTO_AUTHENC is not set
1055 # CONFIG_CRYPTO_TEST is not set
1056@@ -1152,7 +1476,7 @@ CONFIG_CRYPTO_PCBC=m
1057 #
1058 # Digest
1059 #
1060-# CONFIG_CRYPTO_CRC32C is not set
1061+CONFIG_CRYPTO_CRC32C=y
1062 # CONFIG_CRYPTO_MD4 is not set
1063 CONFIG_CRYPTO_MD5=y
1064 # CONFIG_CRYPTO_MICHAEL_MIC is not set
1065@@ -1189,15 +1513,21 @@ CONFIG_CRYPTO_DES=y
1066 # Compression
1067 #
1068 # CONFIG_CRYPTO_DEFLATE is not set
1069+# CONFIG_CRYPTO_ZLIB is not set
1070 # CONFIG_CRYPTO_LZO is not set
1071+
1072+#
1073+# Random Number Generation
1074+#
1075+# CONFIG_CRYPTO_ANSI_CPRNG is not set
1076 CONFIG_CRYPTO_HW=y
1077+# CONFIG_BINARY_PRINTF is not set
1078
1079 #
1080 # Library routines
1081 #
1082 CONFIG_BITREVERSE=y
1083-# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1084-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
1085+CONFIG_GENERIC_FIND_LAST_BIT=y
1086 CONFIG_CRC_CCITT=y
1087 # CONFIG_CRC16 is not set
1088 CONFIG_CRC_T10DIF=y
1089@@ -1205,7 +1535,9 @@ CONFIG_CRC_T10DIF=y
1090 CONFIG_CRC32=y
1091 # CONFIG_CRC7 is not set
1092 CONFIG_LIBCRC32C=y
1093-CONFIG_PLIST=y
1094+CONFIG_ZLIB_INFLATE=y
1095+CONFIG_DECOMPRESS_GZIP=y
1096 CONFIG_HAS_IOMEM=y
1097 CONFIG_HAS_IOPORT=y
1098 CONFIG_HAS_DMA=y
1099+CONFIG_NLATTR=y
1100--
11011.6.3.2
1102
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 @@
1From 3f819713f3c7ccfd56146f4c007155bc47a170ac Mon Sep 17 00:00:00 2001
2From: Vikram Pandita <vikram.pandita@ti.com>
3Date: Mon, 22 Jun 2009 17:58:47 -0500
4Subject: [PATCH 4/8] serial: 8250: add IRQ trigger support
5
6There is currently no provision for passing IRQ trigger flags for
7serial IRQs with triggering requirements (such as GPIO IRQs)
8
9This patch adds irqflags to plat_serial8250_port that can be passed
10from board file to reqest_irq() of 8250 driver
11
12Changes are backward compatible with boards passing UPF_SHARE_IRQ flag
13
14Tested on Zoom2 board that has IRQF_TRIGGER_RISING requirement for 8250 irq
15
16Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
17---
18 drivers/serial/8250.c | 14 +++++++++-----
19 drivers/serial/8250.h | 1 +
20 include/linux/serial_8250.h | 1 +
21 include/linux/serial_core.h | 1 +
22 4 files changed, 12 insertions(+), 5 deletions(-)
23
24diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
25index 606fabb..6474fe4 100644
26--- a/drivers/serial/8250.c
27+++ b/drivers/serial/8250.c
28@@ -1681,7 +1681,7 @@ static int serial_link_irq_chain(struct uart_8250_port *up)
29 INIT_LIST_HEAD(&up->list);
30 i->head = &up->list;
31 spin_unlock_irq(&i->lock);
32-
33+ irq_flags |= up->port.irqflags;
34 ret = request_irq(up->port.irq, serial8250_interrupt,
35 irq_flags, "serial", i);
36 if (ret < 0)
37@@ -2030,7 +2030,7 @@ static int serial8250_startup(struct uart_port *port)
38 * allow register changes to become visible.
39 */
40 spin_lock_irqsave(&up->port.lock, flags);
41- if (up->port.flags & UPF_SHARE_IRQ)
42+ if (up->port.irqflags & IRQF_SHARED)
43 disable_irq_nosync(up->port.irq);
44
45 wait_for_xmitr(up, UART_LSR_THRE);
46@@ -2043,7 +2043,7 @@ static int serial8250_startup(struct uart_port *port)
47 iir = serial_in(up, UART_IIR);
48 serial_out(up, UART_IER, 0);
49
50- if (up->port.flags & UPF_SHARE_IRQ)
51+ if (up->port.irqflags & IRQF_SHARED)
52 enable_irq(up->port.irq);
53 spin_unlock_irqrestore(&up->port.lock, flags);
54
55@@ -2688,6 +2688,7 @@ static void __init serial8250_isa_init_ports(void)
56 i++, up++) {
57 up->port.iobase = old_serial_port[i].port;
58 up->port.irq = irq_canonicalize(old_serial_port[i].irq);
59+ up->port.irqflags = old_serial_port[i].irqflags;
60 up->port.uartclk = old_serial_port[i].baud_base * 16;
61 up->port.flags = old_serial_port[i].flags;
62 up->port.hub6 = old_serial_port[i].hub6;
63@@ -2696,7 +2697,7 @@ static void __init serial8250_isa_init_ports(void)
64 up->port.regshift = old_serial_port[i].iomem_reg_shift;
65 set_io_from_upio(&up->port);
66 if (share_irqs)
67- up->port.flags |= UPF_SHARE_IRQ;
68+ up->port.irqflags |= IRQF_SHARED;
69 }
70 }
71
72@@ -2886,6 +2887,7 @@ int __init early_serial_setup(struct uart_port *port)
73 p->iobase = port->iobase;
74 p->membase = port->membase;
75 p->irq = port->irq;
76+ p->irqflags = port->irqflags;
77 p->uartclk = port->uartclk;
78 p->fifosize = port->fifosize;
79 p->regshift = port->regshift;
80@@ -2959,6 +2961,7 @@ static int __devinit serial8250_probe(struct platform_device *dev)
81 port.iobase = p->iobase;
82 port.membase = p->membase;
83 port.irq = p->irq;
84+ port.irqflags = p->irqflags;
85 port.uartclk = p->uartclk;
86 port.regshift = p->regshift;
87 port.iotype = p->iotype;
88@@ -2971,7 +2974,7 @@ static int __devinit serial8250_probe(struct platform_device *dev)
89 port.serial_out = p->serial_out;
90 port.dev = &dev->dev;
91 if (share_irqs)
92- port.flags |= UPF_SHARE_IRQ;
93+ port.irqflags |= IRQF_SHARED;
94 ret = serial8250_register_port(&port);
95 if (ret < 0) {
96 dev_err(&dev->dev, "unable to register port at index %d "
97@@ -3113,6 +3116,7 @@ int serial8250_register_port(struct uart_port *port)
98 uart->port.iobase = port->iobase;
99 uart->port.membase = port->membase;
100 uart->port.irq = port->irq;
101+ uart->port.irqflags = port->irqflags;
102 uart->port.uartclk = port->uartclk;
103 uart->port.fifosize = port->fifosize;
104 uart->port.regshift = port->regshift;
105diff --git a/drivers/serial/8250.h b/drivers/serial/8250.h
106index 5202603..9b34b04 100644
107--- a/drivers/serial/8250.h
108+++ b/drivers/serial/8250.h
109@@ -20,6 +20,7 @@ struct old_serial_port {
110 unsigned int baud_base;
111 unsigned int port;
112 unsigned int irq;
113+ unsigned long irqflags;
114 unsigned int flags;
115 unsigned char hub6;
116 unsigned char io_type;
117diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h
118index d4d2a78..fb46aba 100644
119--- a/include/linux/serial_8250.h
120+++ b/include/linux/serial_8250.h
121@@ -22,6 +22,7 @@ struct plat_serial8250_port {
122 void __iomem *membase; /* ioremap cookie or NULL */
123 resource_size_t mapbase; /* resource base */
124 unsigned int irq; /* interrupt number */
125+ unsigned long irqflags; /* request_irq flags */
126 unsigned int uartclk; /* UART clock rate */
127 void *private_data;
128 unsigned char regshift; /* register shift */
129diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
130index 23d2fb0..3cd255f 100644
131--- a/include/linux/serial_core.h
132+++ b/include/linux/serial_core.h
133@@ -265,6 +265,7 @@ struct uart_port {
134 unsigned int (*serial_in)(struct uart_port *, int);
135 void (*serial_out)(struct uart_port *, int, int);
136 unsigned int irq; /* irq number */
137+ unsigned long irqflags; /* irq flags */
138 unsigned int uartclk; /* base uart clock */
139 unsigned int fifosize; /* tx fifo size */
140 unsigned char x_char; /* xon/xoff char */
141--
1421.6.3.2
143
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 @@
1From a9551305279caac19d9f7ee121633fd18baa2fab Mon Sep 17 00:00:00 2001
2From: Vikram Pandita <vikram.pandita@ti.com>
3Date: Mon, 22 Jun 2009 18:20:04 -0500
4Subject: [PATCH 5/8] OMAP2: Zoom2: Pass irqflags to 8250 driver
5
6Pass irqflags to 8250 driver from zoom2 board file
7Zoom2 has IRQF_TRIGGER_RISING requirement for the 8250 GPIO irq
8
9This patch is dependent on 8250 driver changes getting accepted upstream:
10http://patchwork.kernel.org/patch/31884/
11
12Warn: could cause compilation break if above patch is not integrated first
13
14Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
15---
16 arch/arm/mach-omap2/board-zoom-debugboard.c | 2 ++
17 1 files changed, 2 insertions(+), 0 deletions(-)
18
19diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c
20index bac5c43..f546063 100644
21--- a/arch/arm/mach-omap2/board-zoom-debugboard.c
22+++ b/arch/arm/mach-omap2/board-zoom-debugboard.c
23@@ -12,6 +12,7 @@
24 #include <linux/gpio.h>
25 #include <linux/serial_8250.h>
26 #include <linux/smsc911x.h>
27+#include <linux/interrupt.h>
28
29 #include <mach/gpmc.h>
30
31@@ -84,6 +85,7 @@ static struct plat_serial8250_port serial_platform_data[] = {
32 .mapbase = 0x10000000,
33 .irq = OMAP_GPIO_IRQ(102),
34 .flags = UPF_BOOT_AUTOCONF|UPF_IOREMAP|UPF_SHARE_IRQ,
35+ .irqflags = IRQF_SHARED | IRQF_TRIGGER_RISING,
36 .iotype = UPIO_MEM,
37 .regshift = 1,
38 .uartclk = QUART_CLK,
39--
401.6.3.2
41
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 @@
1From 14b507c8e7fc09e91297a82819296533ab35d8ae Mon Sep 17 00:00:00 2001
2From: Kevin Hilman <khilman@deeprootsystems.com>
3Date: Mon, 20 Jul 2009 16:12:32 -0700
4Subject: [PATCH 6/8] OMAP3: Zoom2: ext UART needs plaform_device.id >= 3
5
6The on-chip UARTs now have individual platform_device.id numbers,
7so for the external UART to register properly, it needs an id >= 3.
8
9Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
10---
11 arch/arm/mach-omap2/board-zoom-debugboard.c | 2 +-
12 1 files changed, 1 insertions(+), 1 deletions(-)
13
14diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c
15index f546063..e0948c9 100644
16--- a/arch/arm/mach-omap2/board-zoom-debugboard.c
17+++ b/arch/arm/mach-omap2/board-zoom-debugboard.c
18@@ -96,7 +96,7 @@ static struct plat_serial8250_port serial_platform_data[] = {
19
20 static struct platform_device zoom2_debugboard_serial_device = {
21 .name = "serial8250",
22- .id = PLAT8250_DEV_PLATFORM1,
23+ .id = 3,
24 .dev = {
25 .platform_data = serial_platform_data,
26 },
27--
281.6.3.2
29
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 @@
1From e2d19993731b3b4b083329f3acb4538e9d94fc36 Mon Sep 17 00:00:00 2001
2From: Erik Gilling <konkers@android.com>
3Date: Tue, 21 Apr 2009 13:38:12 -0700
4Subject: [PATCH 7/8] omap: zoom2: add external uart DEBUG_LL support to zoom2 board file
5
6Signed-off-by: Erik Gilling <konkers@android.com>
7---
8 arch/arm/mach-omap2/board-zoom2.c | 23 +++++++++++++++++++++--
9 1 files changed, 21 insertions(+), 2 deletions(-)
10
11diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c
12index e4bf50a..5742b55 100644
13--- a/arch/arm/mach-omap2/board-zoom2.c
14+++ b/arch/arm/mach-omap2/board-zoom2.c
15@@ -16,9 +16,11 @@
16 #include <linux/gpio.h>
17 #include <linux/i2c/twl4030.h>
18 #include <linux/regulator/machine.h>
19+#include <linux/io.h>
20
21 #include <asm/mach-types.h>
22 #include <asm/mach/arch.h>
23+#include <asm/mach/map.h>
24
25 #include <mach/common.h>
26 #include <mach/usb.h>
27@@ -27,6 +29,10 @@
28 #include "mmc-twl4030.h"
29 #include "omap3-opp.h"
30
31+#define ZOOM2_QUART_PHYS 0x10000000
32+#define ZOOM2_QUART_VIRT 0xFB000000
33+#define ZOOM2_QUART_SIZE SZ_1M
34+
35 /* Zoom2 has Qwerty keyboard*/
36 static int zoom2_twl4030_keymap[] = {
37 KEY(0, 0, KEY_E),
38@@ -277,15 +283,28 @@ static void __init omap_zoom2_init(void)
39 usb_musb_init();
40 }
41
42+static struct map_desc zoom2_io_desc[] __initdata = {
43+ {
44+ .virtual = ZOOM2_QUART_VIRT,
45+ .pfn = __phys_to_pfn(ZOOM2_QUART_PHYS),
46+ .length = ZOOM2_QUART_SIZE,
47+ .type = MT_DEVICE
48+ },
49+};
50+
51 static void __init omap_zoom2_map_io(void)
52 {
53 omap2_set_globals_343x();
54+ iotable_init(zoom2_io_desc, ARRAY_SIZE(zoom2_io_desc));
55 omap2_map_common_io();
56 }
57
58 MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
59- .phys_io = 0x48000000,
60- .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc,
61+ /* phys_io is only used for DEBUG_LL early printing. The Zoom2's
62+ * console is on an external quad UART sitting at address 0x10000000
63+ */
64+ .phys_io = 0x10000000,
65+ .io_pg_offst = ((0xfb000000) >> 18) & 0xfffc,
66 .boot_params = 0x80000100,
67 .map_io = omap_zoom2_map_io,
68 .init_irq = omap_zoom2_init_irq,
69--
701.6.3.2
71
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 @@
1From bef0894d8a200e43593117a3832cab825ea8aa8c Mon Sep 17 00:00:00 2001
2From: Erik Gilling <konkers@android.com>
3Date: Tue, 21 Apr 2009 13:37:25 -0700
4Subject: [PATCH 8/8] omap2: add support for DEBUG_LL on external UART
5
6Signed-off-by: Erik Gilling <konkers@android.com>
7---
8 arch/arm/plat-omap/Kconfig | 3 +++
9 arch/arm/plat-omap/include/mach/debug-macro.S | 14 +++++++++++++-
10 arch/arm/plat-omap/include/mach/serial.h | 1 +
11 arch/arm/plat-omap/include/mach/uncompress.h | 5 ++++-
12 4 files changed, 21 insertions(+), 2 deletions(-)
13
14diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
15index c782418..e891f07 100644
16--- a/arch/arm/plat-omap/Kconfig
17+++ b/arch/arm/plat-omap/Kconfig
18@@ -210,6 +210,9 @@ config OMAP_LL_DEBUG_UART2
19 config OMAP_LL_DEBUG_UART3
20 bool "UART3"
21
22+config OMAP_LL_DEBUG_UART_EXT
23+ bool "UART_EXT"
24+
25 endchoice
26
27 config OMAP_SERIAL_WAKE
28diff --git a/arch/arm/plat-omap/include/mach/debug-macro.S b/arch/arm/plat-omap/include/mach/debug-macro.S
29index ac24050..5864019 100644
30--- a/arch/arm/plat-omap/include/mach/debug-macro.S
31+++ b/arch/arm/plat-omap/include/mach/debug-macro.S
32@@ -37,6 +37,10 @@
33 #endif
34
35 #elif defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4)
36+#ifdef CONFIG_OMAP_LL_DEBUG_UART_EXT
37+ moveq \rx, #0x10000000 @ physical base address
38+ movne \rx, #0xfb000000 @ virtual base address
39+#else
40 moveq \rx, #0x48000000 @ physical base address
41 movne \rx, #0xd8000000 @ virtual base
42 orr \rx, \rx, #0x0006a000
43@@ -48,20 +52,28 @@
44 add \rx, \rx, #0x00006000
45 #endif
46 #endif
47+#endif
48 .endm
49
50 .macro senduart,rd,rx
51 strb \rd, [\rx]
52 .endm
53
54+#ifdef CONFIG_OMAP_LL_DEBUG_UART_EXT
55+#define REGSHIFT 1
56+#else
57+#define REGSHIFT 2
58+#endif
59 .macro busyuart,rd,rx
60-1001: ldrb \rd, [\rx, #(0x5 << 2)] @ OMAP-1510 and friends
61+1001: ldrb \rd, [\rx, #(0x5 << REGSHIFT)] @ OMAP-1510 and friends
62 and \rd, \rd, #0x60
63 teq \rd, #0x60
64+#ifndef CONFIG_OMAP_LL_DEBUG_UART_EXT
65 beq 1002f
66 ldrb \rd, [\rx, #(0x5 << 0)] @ OMAP-730 only
67 and \rd, \rd, #0x60
68 teq \rd, #0x60
69+#endif
70 bne 1001b
71 1002:
72 .endm
73diff --git a/arch/arm/plat-omap/include/mach/serial.h b/arch/arm/plat-omap/include/mach/serial.h
74index e249186..7ae4567 100644
75--- a/arch/arm/plat-omap/include/mach/serial.h
76+++ b/arch/arm/plat-omap/include/mach/serial.h
77@@ -32,6 +32,7 @@
78 #define OMAP_UART1_BASE 0x4806a000
79 #define OMAP_UART2_BASE 0x4806c000
80 #define OMAP_UART3_BASE 0x49020000
81+#define OMAP_UART_EXT_BASE 0x10000000
82 #define OMAP_MAX_NR_PORTS 3
83 #elif defined(CONFIG_ARCH_OMAP4)
84 /* OMAP4 serial ports */
85diff --git a/arch/arm/plat-omap/include/mach/uncompress.h b/arch/arm/plat-omap/include/mach/uncompress.h
86index 0814c5f..082c0cd 100644
87--- a/arch/arm/plat-omap/include/mach/uncompress.h
88+++ b/arch/arm/plat-omap/include/mach/uncompress.h
89@@ -39,7 +39,10 @@ static void putc(int c)
90 #endif
91
92 #ifdef CONFIG_ARCH_OMAP
93-#ifdef CONFIG_OMAP_LL_DEBUG_UART3
94+#ifdef CONFIG_OMAP_LL_DEBUG_UART_EXT
95+ uart = (volatile u8 *)(OMAP_UART_EXT_BASE);
96+ shift = 1;
97+#elif defined(CONFIG_OMAP_LL_DEBUG_UART3)
98 uart = (volatile u8 *)(OMAP_UART3_BASE);
99 #elif defined(CONFIG_OMAP_LL_DEBUG_UART2)
100 uart = (volatile u8 *)(OMAP_UART2_BASE);
101--
1021.6.3.2
103
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 @@
1DESCRIPTION = "Linux Kernel"
2SECTION = "kernel"
3LICENSE = "GPL"
4
5inherit kernel
6
7FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/${PN}-git/${MACHINE}"
8
9SRCREV = "${AUTOREV}"
10
11PV = "2.6.31-rc1+${PR}+git${SRCREV}"
12PR = "r1"
13
14SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git;branch=pm;protocol=git"
15
16SRC_URI_append_zoom2 = " \
17 file://0001-OMAP3-MMC-Add-mux-for-pins.patch;patch=1 \
18 file://0002-OMAP3-Zoom2-Add-TWL4030-support.patch;patch=1 \
19 file://0003-OMAP3-Zoom2-Update-board-defconfig.patch;patch=1 \
20 file://0004-serial-8250-add-IRQ-trigger-support.patch;patch=1 \
21 file://0005-OMAP2-Zoom2-Pass-irqflags-to-8250-driver.patch;patch=1 \
22 file://0006-OMAP3-Zoom2-ext-UART-needs-plaform_device.id-3.patch;patch=1 \
23 file://0007-omap-zoom2-add-external-uart-DEBUG_LL-support-to-zoo.patch;patch=1 \
24 file://0008-omap2-add-support-for-DEBUG_LL-on-external-UART.patch;patch=1 \
25 "
26
27COMPATIBLE_MACHINE = "beagleboard|omap-3430sdp|omap3evm|overo|rx51|zoom2"
28
29S = "${WORKDIR}/git"
30
31do_configure_prepend() {
32 # logo support: if you supply logo_linux_clut224.ppm in SRC_URI,
33 # then it's going to be used instead of "Tux" in the kernel sources
34 if [ -e ${WORKDIR}/logo_linux_clut224.ppm ]; then
35 install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm \
36 drivers/video/logo/logo_linux_clut224.ppm
37 fi
38
39 # use the externally-supplied ${MACHINE}_external_defconfig if present,
40 # else use omap3_pm_defconfig from the sources
41 if [ -e ${WORKDIR}/${MACHINE}_external_defconfig ]; then
42 cp ${WORKDIR}/${MACHINE}_external_defconfig ${S}/arch/arm/configs/
43 yes '' | oe_runmake ${MACHINE}_external_defconfig
44 else
45 case ${MACHINE} in
46 omap-3430sdp|omap3evm)
47 # works out of the box
48 yes '' | oe_runmake omap3_pm_defconfig
49 ;;
50 beagleboard | overo | rx51)
51 # adjust LL_DEBUG console for these boards
52 yes '' | oe_runmake omap3_pm_defconfig
53 sed -e "s/CONFIG_OMAP_LL_DEBUG_UART1=y/# CONFIG_OMAP_LL_DEBUG_UART1 is not set/" \
54 -e "s/# CONFIG_OMAP_LL_DEBUG_UART3 is not set/CONFIG_OMAP_LL_DEBUG_UART3=y/" \
55 -e "s/CONFIG_MMC_BLOCK=m/CONFIG_MMC_BLOCK=y/" \
56 -e "s/CONFIG_MMC_OMAP_HS=m/CONFIG_MMC_OMAP_HS=y/" \
57 -i ${S}/.config
58 ;;
59 zoom2)
60 # adjust LL_DEBUG console for these boards
61 yes '' | oe_runmake omap3_pm_defconfig
62 sed -e "s/CONFIG_OMAP_LL_DEBUG_UART1=y/# CONFIG_OMAP_LL_DEBUG_UART1 is not set/" \
63 -e "s/CONFIG_MMC_BLOCK=m/CONFIG_MMC_BLOCK=y/" \
64 -e "s/CONFIG_MMC_OMAP_HS=m/CONFIG_MMC_OMAP_HS=y/" \
65 -i ${S}/.config
66 echo "CONFIG_OMAP_LL_DEBUG_UART_EXT=y" >> ${S}/.config
67# yes '' | oe_runmake oldconfig
68 ;;
69 *)
70 # its worth a try...
71 yes '' | oe_runmake ${MACHINE}_defconfig
72 ;;
73 esac
74 fi
75}