-Index: linux-2.6.38-rc6/arch/arm/mach-omap2/board-n8x0.c
-===================================================================
---- linux-2.6.38-rc6.orig/arch/arm/mach-omap2/board-n8x0.c 2011-02-25 01:36:43.691841133 +0100
-+++ linux-2.6.38-rc6/arch/arm/mach-omap2/board-n8x0.c 2011-02-25 01:38:19.129482731 +0100
+--- a/arch/arm/mach-omap2/board-n8x0.c
++++ b/arch/arm/mach-omap2/board-n8x0.c
@@ -23,6 +23,9 @@
#include <linux/spi/spi.h>
#include <linux/usb/musb.h>
#include "mux.h"
-@@ -43,6 +47,221 @@
+@@ -43,6 +47,221 @@ static int slot1_cover_open;
static int slot2_cover_open;
static struct device *mmc_device;
#define TUSB6010_ASYNC_CS 1
#define TUSB6010_SYNC_CS 4
#define TUSB6010_GPIO_INT 58
-@@ -146,12 +365,29 @@
+@@ -146,12 +365,29 @@ static struct omap2_mcspi_device_config
static struct spi_board_info n800_spi_board_info[] __initdata = {
{
},
+ {
+ .modalias = "tsc2005",
-+ .bus_num = 3,
++ .bus_num = 1,
+ .chip_select = 0,
+ .irq = OMAP_GPIO_IRQ(RX51_TSC2005_IRQ_GPIO),
+ .max_speed_hz = 6000000,
};
#if defined(CONFIG_MTD_ONENAND_OMAP2) || \
-@@ -727,6 +963,11 @@
+@@ -727,6 +963,11 @@ static struct aic3x_pdata n810_aic33_dat
};
static struct i2c_board_info n810_i2c_board_info_2[] __initdata = {
{
I2C_BOARD_INFO("tlv320aic3x", 0x18),
.platform_data = &n810_aic33_data,
-@@ -796,9 +1037,12 @@
+@@ -796,9 +1037,12 @@ static inline void board_serial_init(voi
static void __init n8x0_init_machine(void)
{
omap2420_mux_init(board_mux, OMAP_PACKAGE_ZAC);
spi_register_board_info(n800_spi_board_info,
ARRAY_SIZE(n800_spi_board_info));
omap_register_i2c_bus(1, 400, n8x0_i2c_board_info_1,
-@@ -808,6 +1052,8 @@
+@@ -808,6 +1052,8 @@ static void __init n8x0_init_machine(voi
i2c_register_board_info(2, n810_i2c_board_info_2,
ARRAY_SIZE(n810_i2c_board_info_2));
board_serial_init();
gpmc_onenand_init(board_onenand_data);
n8x0_mmc_init();
n8x0_usb_init();
-Index: linux-2.6.38-rc6/arch/arm/mach-omap2/board-n8x0-lcd.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.38-rc6/arch/arm/mach-omap2/board-n8x0-lcd.c 2011-02-25 01:36:43.715837271 +0100
-@@ -0,0 +1,127 @@
+--- /dev/null
++++ b/arch/arm/mach-omap2/board-n8x0-lcd.c
+@@ -0,0 +1,141 @@
+/*
+ * linux/arch/arm/mach-omap2/board-n8x0.c
+ *
+void __init n8x0_mipid_init(void)
+{
+ const struct omap_lcd_config *conf;
++ int err;
+
+ conf = omap_get_config(OMAP_TAG_LCD, struct omap_lcd_config);
+ if (conf != NULL) {
+ n8x0_mipid_platform_data.nreset_gpio = conf->nreset_gpio;
+ n8x0_mipid_platform_data.data_lines = conf->data_lines;
++ if (conf->nreset_gpio != -1) {
++ err = gpio_request(conf->nreset_gpio, "MIPID nreset");
++ if (err) {
++ printk(KERN_ERR "N8x0 MIPID failed to request nreset GPIO %d\n",
++ conf->nreset_gpio);
++ } else {
++ err = gpio_direction_output(conf->nreset_gpio, 1);
++ if (err) {
++ printk(KERN_ERR "N8x0 MIPID failed to set nreset GPIO %d\n",
++ conf->nreset_gpio);
++ }
++ }
++ }
+ printk(KERN_INFO "N8x0 MIPID config loaded");
+ }
+ else
+
+ printk(KERN_INFO "N8x0 Blizzard initialized");
+}
-Index: linux-2.6.38-rc6/arch/arm/mach-omap2/Makefile
-===================================================================
---- linux-2.6.38-rc6.orig/arch/arm/mach-omap2/Makefile 2011-02-25 01:36:11.764976272 +0100
-+++ linux-2.6.38-rc6/arch/arm/mach-omap2/Makefile 2011-02-25 01:36:43.715837271 +0100
-@@ -177,6 +177,7 @@
+--- a/arch/arm/mach-omap2/Makefile
++++ b/arch/arm/mach-omap2/Makefile
+@@ -177,6 +177,7 @@ obj-$(CONFIG_MACH_OMAP_3430SDP) += boar
hsmmc.o \
board-flash.o
obj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o
obj-$(CONFIG_MACH_NOKIA_RM680) += board-rm680.o \
sdram-nokia.o \
hsmmc.o
-Index: linux-2.6.38-rc6/arch/arm/plat-omap/include/plat/cbus.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.38-rc6/arch/arm/plat-omap/include/plat/cbus.h 2011-02-25 01:36:43.716837110 +0100
+--- /dev/null
++++ b/arch/arm/plat-omap/include/plat/cbus.h
@@ -0,0 +1,40 @@
+/*
+ * cbus.h - CBUS platform_data definition
+};
+
+#endif /* __PLAT_CBUS_H */
-Index: linux-2.6.38-rc6/arch/arm/plat-omap/include/plat/irqs.h
-===================================================================
---- linux-2.6.38-rc6.orig/arch/arm/plat-omap/include/plat/irqs.h 2011-02-25 01:36:11.794971452 +0100
-+++ linux-2.6.38-rc6/arch/arm/plat-omap/include/plat/irqs.h 2011-02-25 01:36:43.716837110 +0100
+--- a/arch/arm/plat-omap/include/plat/irqs.h
++++ b/arch/arm/plat-omap/include/plat/irqs.h
@@ -411,7 +411,20 @@
#define TWL_IRQ_END TWL6030_IRQ_END
#endif
#define OMAP_IRQ_BIT(irq) (1 << ((irq) % 32))
+--- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
++++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
+@@ -673,6 +673,7 @@ static struct omap_hwmod_ocp_if *omap242
+
+ static struct omap_hwmod omap2420_gpio1_hwmod = {
+ .name = "gpio1",
++ .flags = HWMOD_INIT_NO_RESET, /* Workaround: Don't reset the n810 MIPID */
+ .mpu_irqs = omap242x_gpio1_irqs,
+ .mpu_irqs_cnt = ARRAY_SIZE(omap242x_gpio1_irqs),
+ .main_clk = "gpios_fck",