diff options
| author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-27 15:01:07 +0000 | 
|---|---|---|
| committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-27 15:01:07 +0000 | 
| commit | e17d6b07094e4c7d1ebbd92ee4e32deac4c9dc29 (patch) | |
| tree | 00b2f220c777b873989bec0ae6fc256ee48bb6e4 /target/linux/omap24xx/patches-3.1/330-n800-tsc2301-platform.patch | |
| parent | 4ea55a169b9832455bbd9ec3c99530640e130c73 (diff) | |
omap24xx: remove 3.1 support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31890 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/omap24xx/patches-3.1/330-n800-tsc2301-platform.patch')
| -rw-r--r-- | target/linux/omap24xx/patches-3.1/330-n800-tsc2301-platform.patch | 212 | 
1 files changed, 0 insertions, 212 deletions
diff --git a/target/linux/omap24xx/patches-3.1/330-n800-tsc2301-platform.patch b/target/linux/omap24xx/patches-3.1/330-n800-tsc2301-platform.patch deleted file mode 100644 index 553a79124..000000000 --- a/target/linux/omap24xx/patches-3.1/330-n800-tsc2301-platform.patch +++ /dev/null @@ -1,212 +0,0 @@ -From f0bb9e67f0f13021e5033fed3dfe8ef78fe6a538 Mon Sep 17 00:00:00 2001 -From: Marat Radchenko <marat@slonopotamus.org> -Date: Tue, 18 Oct 2011 21:52:56 +0400 -Subject: [PATCH 2/2] N800: add TSC2301 board info - -This patch adds TSC2301 init logic to N800 board file ---- - arch/arm/mach-omap2/board-n8x0.c |  141 ++++++++++++++++++++++++++++++++++++-- - 1 files changed, 135 insertions(+), 6 deletions(-) - ---- a/arch/arm/mach-omap2/board-n8x0.c -+++ b/arch/arm/mach-omap2/board-n8x0.c -@@ -27,6 +27,7 @@ - #include <linux/spi/tsc2005.h> - #include <linux/input.h> - #include <linux/i2c/lm8323.h> -+#include <linux/spi/tsc2301.h> -  - #include <asm/mach/arch.h> - #include <asm/mach-types.h> -@@ -63,7 +64,75 @@ static struct omap2_mcspi_device_config - }; - #endif -  --static void __init tsc2005_set_config(void) -+#ifdef CONFIG_TOUCHSCREEN_TSC2301 -+ -+#define N800_KEYB_IRQ_GPIO		109 -+ -+static struct tsc2301_platform_data tsc2301_config = { -+	.reset_gpio	= 118, -+	.keymap = { -+		-1,		/* Event for bit 0 */ -+		KEY_UP,		/* Event for bit 1 (up) */ -+		KEY_F5,		/* Event for bit 2 (home) */ -+		-1,		/* Event for bit 3 */ -+		KEY_LEFT,	/* Event for bit 4 (left) */ -+		KEY_ENTER,	/* Event for bit 5 (enter) */ -+		KEY_RIGHT,	/* Event for bit 6 (right) */ -+		-1,		/* Event for bit 7 */ -+		KEY_ESC,	/* Event for bit 8 (cycle) */ -+		KEY_DOWN,	/* Event for bit 9 (down) */ -+		KEY_F4,		/* Event for bit 10 (menu) */ -+		-1,		/* Event for bit 11 */ -+		KEY_F8,		/* Event for bit 12 (Zoom-) */ -+		KEY_F6,		/* Event for bit 13 (FS) */ -+		KEY_F7,		/* Event for bit 14 (Zoom+) */ -+		-1,		/* Event for bit 15 */ -+	}, -+	.kp_rep 	= 0, -+	.keyb_name	= "Internal keypad", -+}; -+ -+static struct omap2_mcspi_device_config tsc2301_mcspi_config = { -+	.turbo_mode	= 0, -+	.single_channel = 1, -+}; -+ -+/* -+  TODO(Marat Radchenko): better pass GPIO to tsc2301 driver and let it -+  allocate irq itself (as it is already done for touchscreen) -+ */ -+static void tsc2301_dev_init(void) -+{ -+	int r; -+	int gpio = N800_KEYB_IRQ_GPIO; -+ -+	r = gpio_request(gpio, "tsc2301 KBD IRQ"); -+	if (r >= 0) { -+		gpio_direction_input(gpio); -+		tsc2301_config.keyb_int = gpio_to_irq(gpio); -+	} else { -+		printk(KERN_ERR "unable to get KBD GPIO"); -+	} -+ -+	gpio = 103; -+	r = gpio_request(gpio, "tsc2301 DAV IRQ"); -+	if (r >= 0) { -+		gpio_direction_input(gpio); -+		tsc2301_config.dav_int = gpio_to_irq(gpio); -+	} else { -+		printk(KERN_ERR "unable to get DAV GPIO"); -+	} -+} -+ -+#else -+ -+static void __init tsc2301_dev_init(void) -+{ -+} -+ -+#endif -+ -+static void __init n8x0_ts_set_config(void) - { - 	const struct omap_lcd_config *conf; -  -@@ -94,6 +163,37 @@ static void __init tsc2005_set_config(vo - 			tsc2005_config.ts_x_plate_ohm = 200; - 		} - #endif -+ -+#ifdef CONFIG_TOUCHSCREEN_TSC2301 -+		if (strcmp(conf->panel_name, "lph8923") == 0) { -+			tsc2301_config.ts_x_plate_ohm	= 180; -+			tsc2301_config.ts_hw_avg	= 8; -+			tsc2301_config.ts_max_pressure	= 2048; -+			tsc2301_config.ts_touch_pressure = 400; -+			tsc2301_config.ts_stab_time	= 100; -+			tsc2301_config.ts_pressure_fudge = 2; -+			tsc2301_config.ts_x_max		= 4096; -+			tsc2301_config.ts_x_fudge	= 4; -+			tsc2301_config.ts_y_max		= 4096; -+			tsc2301_config.ts_y_fudge	= 7; -+		} else if (strcmp(conf->panel_name, "ls041y3") == 0) { -+			tsc2301_config.ts_x_plate_ohm	= 280; -+			tsc2301_config.ts_hw_avg	= 8; -+			tsc2301_config.ts_touch_pressure = 400; -+			tsc2301_config.ts_max_pressure	= 2048; -+			tsc2301_config.ts_stab_time	= 1000; -+			tsc2301_config.ts_pressure_fudge = 2; -+			tsc2301_config.ts_x_max		= 4096; -+			tsc2301_config.ts_x_fudge	= 4; -+			tsc2301_config.ts_y_max		= 4096; -+			tsc2301_config.ts_y_fudge	= 7; -+		} else { -+			printk(KERN_ERR "Unknown panel type, set default " -+			       "touchscreen configuration\n"); -+			tsc2301_config.ts_x_plate_ohm	= 200; -+			tsc2301_config.ts_stab_time	= 100; -+		} -+#endif - 	} - } -  -@@ -347,13 +447,12 @@ static void __init n8x0_usb_init(void) { -  - #endif /*CONFIG_USB_MUSB_TUSB6010 */ -  -- - static struct omap2_mcspi_device_config p54spi_mcspi_config = { - 	.turbo_mode	= 0, - 	.single_channel = 1, - }; -  --static struct spi_board_info n800_spi_board_info[] __initdata = { -+static struct spi_board_info n8x0_common_spi_board_info[] __initdata = { - 	{ - 		.modalias	= "lcd_mipid", - 		.bus_num	= 1, -@@ -369,6 +468,10 @@ static struct spi_board_info n800_spi_bo - 		.max_speed_hz   = 48000000, - 		.controller_data = &p54spi_mcspi_config, - 	}, -+}; -+ -+static struct spi_board_info n810_spi_board_info[] __initdata = { -+#ifdef CONFIG_TOUCHSCREEN_TSC2005 - 	{ - 		.modalias	 = "tsc2005", - 		.bus_num	 = 1, -@@ -378,6 +481,20 @@ static struct spi_board_info n800_spi_bo - 		.controller_data = &tsc2005_mcspi_config, - 		.platform_data   = &tsc2005_config, - 	}, -+#endif -+}; -+ -+static struct spi_board_info n800_spi_board_info[] __initdata = { -+#if defined(CONFIG_TOUCHSCREEN_TSC2301) -+	{ -+		.modalias	 = "tsc2301", -+		.bus_num	 = 1, -+		.chip_select	 = 0, -+		.max_speed_hz    = 6000000, -+		.controller_data = &tsc2301_mcspi_config, -+		.platform_data   = &tsc2301_config, -+	}, -+#endif - }; -  - #if defined(CONFIG_MTD_ONENAND_OMAP2) || \ -@@ -1023,9 +1140,17 @@ static void __init n8x0_init_machine(voi - 	n8x0_bt_init(); -  - 	/* FIXME: add n810 spi devices */ --	tsc2005_set_config(); --	spi_register_board_info(n800_spi_board_info, --				ARRAY_SIZE(n800_spi_board_info)); -+	n8x0_ts_set_config(); -+ -+	spi_register_board_info(n8x0_common_spi_board_info, -+				ARRAY_SIZE(n8x0_common_spi_board_info)); -+	if (machine_is_nokia_n800()) -+		spi_register_board_info(n800_spi_board_info, -+					ARRAY_SIZE(n800_spi_board_info)); -+	else -+		spi_register_board_info(n810_spi_board_info, -+					ARRAY_SIZE(n810_spi_board_info)); -+ - 	omap_register_i2c_bus(1, 400, n8x0_i2c_board_info_1, - 			      ARRAY_SIZE(n8x0_i2c_board_info_1)); - 	omap_register_i2c_bus(2, 400, NULL, 0); -@@ -1035,6 +1160,8 @@ static void __init n8x0_init_machine(voi - 	board_serial_init(); - 	n8x0_mipid_init(); - 	n8x0_blizzard_init(); -+	if (machine_is_nokia_n800()) -+		tsc2301_dev_init(); - 	gpmc_onenand_init(board_onenand_data); - 	n8x0_mmc_init(); - 	n8x0_usb_init();  | 
