diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2012-04-11 07:58:45 +0400 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-05-13 00:34:16 +0400 |
commit | 407c05266cd6e5db8ba77921fabdf9e04779088c (patch) | |
tree | 74d55d7a6d1dbca25c9999fcad36fd90913c5e7d /arch/arm | |
parent | 26786111f9f291c8ab313ea31d90efdf6cfde792 (diff) | |
download | linux-407c05266cd6e5db8ba77921fabdf9e04779088c.tar.xz |
ARM: mach-shmobile: kzm9g: add ST1232 Touchscreen support
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Simon Horman <horms@verge.net.au>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-shmobile/board-kzm9g.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c index 145341dbebf5..c846531fa48c 100644 --- a/arch/arm/mach-shmobile/board-kzm9g.c +++ b/arch/arm/mach-shmobile/board-kzm9g.c @@ -21,6 +21,7 @@ #include <linux/gpio.h> #include <linux/io.h> #include <linux/irq.h> +#include <linux/i2c.h> #include <linux/platform_device.h> #include <linux/smsc911x.h> #include <linux/usb/r8a66597.h> @@ -146,6 +147,13 @@ static struct platform_device lcdc_device = { }, }; +static struct i2c_board_info i2c1_devices[] = { + { + I2C_BOARD_INFO("st1232-ts", 0x55), + .irq = intcs_evt2irq(0x300), /* IRQ8 */ + }, +}; + static struct platform_device *kzm_devices[] __initdata = { &smsc_device, &usb_host_device, @@ -253,11 +261,17 @@ static void __init kzm_init(void) gpio_request(GPIO_PORT222, NULL); gpio_direction_output(GPIO_PORT222, 1); + /* Touchscreen */ + gpio_request(GPIO_PORT223, NULL); /* IRQ8 */ + gpio_direction_input(GPIO_PORT223); + #ifdef CONFIG_CACHE_L2X0 /* Early BRESP enable, Shared attribute override enable, 64K*8way */ l2x0_init(IOMEM(0xf0100000), 0x40460000, 0x82000fff); #endif + i2c_register_board_info(1, i2c1_devices, ARRAY_SIZE(i2c1_devices)); + sh73a0_add_standard_devices(); platform_add_devices(kzm_devices, ARRAY_SIZE(kzm_devices)); } |