Pixcir touchscreen device support is added to SMDK4X12 boards.
Signed-off-by: Sachin Kamat <[email protected]>
---
arch/arm/mach-exynos/mach-smdk4x12.c | 32 +++++++++++++++++++++++++++++++-
1 files changed, 31 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-exynos/mach-smdk4x12.c
b/arch/arm/mach-exynos/mach-smdk4x12.c
index fe772d8..0af6088 100644
--- a/arch/arm/mach-exynos/mach-smdk4x12.c
+++ b/arch/arm/mach-exynos/mach-smdk4x12.c
@@ -9,10 +9,12 @@
* published by the Free Software Foundation.
*/
+#include <linux/delay.h>
#include <linux/gpio.h>
#include <linux/i2c.h>
#include <linux/input.h>
#include <linux/io.h>
+#include <linux/input/pixcir_ts.h>
#include <linux/mfd/max8997.h>
#include <linux/mmc/host.h>
#include <linux/platform_device.h>
@@ -203,8 +205,34 @@ static struct i2c_board_info smdk4x12_i2c_devs3[]
__initdata = {
/* nothing here yet */
};
+static void smdk4x12_ts_gpio_setup(void)
+{
+ int gpio_reset = EXYNOS4_GPM3(4);
+
+ gpio_request_one(gpio_reset, GPIOF_OUT_INIT_LOW, "TOUCH RESET");
+ mdelay(20);
+ gpio_direction_output(gpio_reset, 1);
+ mdelay(30);
+ s3c_gpio_setpull(EXYNOS4_GPX2(6), S3C_GPIO_PULL_NONE);
+}
+
+static int smdk4x12_ts_get_value(void)
+{
+ return gpio_get_value(EXYNOS4_GPX2(6));
+}
+
+static struct pixcir_ts_platform_data smdk4x12_ts_data = {
+ .attb_read_val = smdk4x12_ts_get_value,
+ .x_max = 480,
+ .y_max = 800,
+};
+
static struct i2c_board_info smdk4x12_i2c_devs7[] __initdata = {
- /* nothing here yet */
+ {
+ I2C_BOARD_INFO("pixcir_ts", 0x5C),
+ .irq = IRQ_EINT(22),
+ .platform_data = &smdk4x12_ts_data,
+ }
};
static struct samsung_bl_gpio_info smdk4x12_bl_gpio_info = {
@@ -293,6 +321,8 @@ static void __init smdk4x12_machine_init(void)
s3c_sdhci2_set_platdata(&smdk4x12_hsmmc2_pdata);
s3c_sdhci3_set_platdata(&smdk4x12_hsmmc3_pdata);
+ smdk4x12_ts_gpio_setup();
+
platform_add_devices(smdk4x12_devices, ARRAY_SIZE(smdk4x12_devices));
}
--
1.7.4.1
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html