Message ID | 1337936288-25246-1-git-send-email-sachin.kamat@linaro.org |
---|---|
State | Superseded |
Headers | show |
ping... On 25/05/2012, Sachin Kamat <sachin.kamat@linaro.org> wrote: > Pixcir touchscreen device support is added to SMDK4X12 boards. > > Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> > --- > 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 > >
Sachin Kamat wrote: > > Pixcir touchscreen device support is added to SMDK4X12 boards. > > Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> > --- > 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); Do you want to set the gpio_reset value from 0 to 1 with 20m delays? Why? > + mdelay(30); > + s3c_gpio_setpull(EXYNOS4_GPX2(6), S3C_GPIO_PULL_NONE); Hmm...don't we need gpio_reqeust()? and what's the gpx2(6)? Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.
On 13/07/2012, Kukjin Kim <kgene.kim@samsung.com> wrote: > Sachin Kamat wrote: >> >> Pixcir touchscreen device support is added to SMDK4X12 boards. >> >> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> >> --- >> 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); > > Do you want to set the gpio_reset value from 0 to 1 with 20m delays? Why? Yes right. I found lower value (2m) should be fine. > >> + mdelay(30); >> + s3c_gpio_setpull(EXYNOS4_GPX2(6), S3C_GPIO_PULL_NONE); > > Hmm...don't we need gpio_reqeust()? and what's the gpx2(6)? This gpio is not needed. I will remove this and send the updated patch. > > Thanks. > > Best regards, > Kgene. > -- > Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, > SW Solution Development Team, Samsung Electronics Co., Ltd. > >
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)); }
Pixcir touchscreen device support is added to SMDK4X12 boards. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> --- arch/arm/mach-exynos/mach-smdk4x12.c | 32 +++++++++++++++++++++++++++++++- 1 files changed, 31 insertions(+), 1 deletions(-)