summaryrefslogtreecommitdiff
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2012-04-11 03:58:45 (GMT)
committerRafael J. Wysocki <rjw@sisk.pl>2012-05-12 20:34:16 (GMT)
commit407c05266cd6e5db8ba77921fabdf9e04779088c (patch)
tree74d55d7a6d1dbca25c9999fcad36fd90913c5e7d /arch/arm/mach-shmobile
parent26786111f9f291c8ab313ea31d90efdf6cfde792 (diff)
downloadlinux-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/mach-shmobile')
-rw-r--r--arch/arm/mach-shmobile/board-kzm9g.c14
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 145341d..c846531 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));
}