ARM: mach-shmobile: kzm9g: add ST1232 Touchscreen support
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Wed, 11 Apr 2012 03:58:45 +0000 (20:58 -0700)
committerRafael J. Wysocki <rjw@sisk.pl>
Sat, 12 May 2012 20:34:16 +0000 (22:34 +0200)
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>
arch/arm/mach-shmobile/board-kzm9g.c

index 145341dbebf5a9663d1c9892160e03b9cf4364c5..c846531fa48ccb96fcee4fcfbe24a567e5e40d9b 100644 (file)
@@ -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));
 }