From: jbe@pengutronix.de (Juergen Beisert)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 04/10] MACH/Samsung/Mini2440: add touchscreen support for mini2440.
Date: Sun, 8 Jul 2012 19:12:18 +0200 [thread overview]
Message-ID: <1341767544-17447-5-git-send-email-jbe@pengutronix.de> (raw)
In-Reply-To: <1341767544-17447-1-git-send-email-jbe@pengutronix.de>
From: Marek Belisko <marek.belisko@open-nandra.com>
Patch add support for mini2440 touchscreen.
Some code borrowed from:
git://repo.or.cz/linux-2.6/mini2440.git
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
Acked-by: Juergen Beisert <jbe@pengutronix.de>
---
arch/arm/mach-s3c24xx/mach-mini2440.c | 36 +++++++++++++++++++++++----------
1 file changed, 25 insertions(+), 11 deletions(-)
diff --git a/arch/arm/mach-s3c24xx/mach-mini2440.c b/arch/arm/mach-s3c24xx/mach-mini2440.c
index 45d5bb5..110af98 100644
--- a/arch/arm/mach-s3c24xx/mach-mini2440.c
+++ b/arch/arm/mach-s3c24xx/mach-mini2440.c
@@ -47,6 +47,7 @@
#include <plat/iic.h>
#include <plat/mci.h>
#include <plat/udc.h>
+#include <plat/ts.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/nand.h>
@@ -552,6 +553,12 @@ static struct platform_device uda1340_codec = {
.id = -1,
};
+static struct s3c2410_ts_mach_info mini2440_ts_cfg __initdata = {
+ .delay = 10000,
+ .presc = 0xff, /* slow as we can go */
+ .oversampling_shift = 0,
+};
+
static struct platform_device *mini2440_devices[] __initdata = {
&s3c_device_ohci,
&s3c_device_wdt,
@@ -570,6 +577,7 @@ static struct platform_device *mini2440_devices[] __initdata = {
&uda1340_codec,
&mini2440_audio,
&samsung_asoc_dma,
+ &s3c_device_adc,
};
static void __init mini2440_map_io(void)
@@ -627,12 +635,12 @@ static void __init mini2440_parse_features(
switch (f) {
case '0'...'9': /* tft screen */
if (features->done & FEATURE_SCREEN) {
- printk(KERN_INFO "MINI2440: '%c' ignored, "
+ pr_info("MINI2440: '%c' ignored, "
"screen type already set\n", f);
} else {
int li = f - '0';
if (li >= ARRAY_SIZE(mini2440_lcd_cfg))
- printk(KERN_INFO "MINI2440: "
+ pr_info("MINI2440: "
"'%c' out of range LCD mode\n", f);
else {
features->optional[features->count++] =
@@ -644,7 +652,7 @@ static void __init mini2440_parse_features(
break;
case 'b':
if (features->done & FEATURE_BACKLIGHT)
- printk(KERN_INFO "MINI2440: '%c' ignored, "
+ pr_info("MINI2440: '%c' ignored, "
"backlight already set\n", f);
else {
features->optional[features->count++] =
@@ -653,12 +661,17 @@ static void __init mini2440_parse_features(
features->done |= FEATURE_BACKLIGHT;
break;
case 't':
- printk(KERN_INFO "MINI2440: '%c' ignored, "
- "touchscreen not compiled in\n", f);
+ if (features->done & FEATURE_TOUCH)
+ pr_info("MINI2440: '%c' ignored, "
+ "touchscreen already set\n", f);
+ else
+ features->optional[features->count++] =
+ &s3c_device_ts;
+ features->done |= FEATURE_TOUCH;
break;
case 'c':
if (features->done & FEATURE_CAMERA)
- printk(KERN_INFO "MINI2440: '%c' ignored, "
+ pr_info("MINI2440: '%c' ignored, "
"camera already registered\n", f);
else
features->optional[features->count++] =
@@ -674,7 +687,7 @@ static void __init mini2440_init(void)
struct mini2440_features_t features = { 0 };
int i;
- printk(KERN_INFO "MINI2440: Option string mini2440=%s\n",
+ pr_info("MINI2440: Option string mini2440=%s\n",
mini2440_features_str);
/* Parse the feature string */
@@ -703,17 +716,17 @@ static void __init mini2440_init(void)
mini2440_fb_info.displays =
&mini2440_lcd_cfg[features.lcd_index];
- printk(KERN_INFO "MINI2440: LCD");
+ pr_info("MINI2440: LCD");
for (li = 0; li < ARRAY_SIZE(mini2440_lcd_cfg); li++)
if (li == features.lcd_index)
- printk(" [%d:%dx%d]", li,
+ pr_info(" [%d:%dx%d]", li,
mini2440_lcd_cfg[li].width,
mini2440_lcd_cfg[li].height);
else
- printk(" %d:%dx%d", li,
+ pr_info(" %d:%dx%d", li,
mini2440_lcd_cfg[li].width,
mini2440_lcd_cfg[li].height);
- printk("\n");
+ pr_info("\n");
s3c24xx_fb_set_platdata(&mini2440_fb_info);
}
@@ -721,6 +734,7 @@ static void __init mini2440_init(void)
s3c24xx_mci_set_platdata(&mini2440_mmc_cfg);
s3c_nand_set_platdata(&mini2440_nand_info);
s3c_i2c0_set_platdata(NULL);
+ s3c24xx_ts_set_platdata(&mini2440_ts_cfg);
i2c_register_board_info(0, mini2440_i2c_devs,
ARRAY_SIZE(mini2440_i2c_devs));
--
1.7.10
next prev parent reply other threads:[~2012-07-08 17:12 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-08 17:12 [PATCH] Make the Samsung S3C2440 based FriendlyARM Mini2440 feature complete Juergen Beisert
2012-07-08 17:12 ` [PATCH 01/10] Sound/ARM/Samsung: replace wrong dependency Juergen Beisert
2012-07-08 18:19 ` Juergen Beisert
2012-07-08 17:12 ` [PATCH 02/10] PLAT/Samsung/PWM: avoid division by zero Juergen Beisert
2012-07-08 17:12 ` [PATCH 03/10] MACH/Samsung/Mini2440: add support for new LCD panels Juergen Beisert
2012-07-08 17:12 ` Juergen Beisert [this message]
2012-07-08 17:12 ` [PATCH 05/10] MACH/Samsung/Mini2440: select touchscreen by default Juergen Beisert
2012-07-08 17:12 ` [PATCH 06/10] MACH/Samsung/Mini2440: use leds-gpio driver for board leds Juergen Beisert
2012-07-08 17:12 ` [PATCH 07/10] MACH/Samsung/Mini2440: add hwmon capabilities to mini2440 Juergen Beisert
2012-07-08 17:12 ` [PATCH 08/10] MACH/Samsung/Mini2440: enable button 6 as one of the GPIO keys Juergen Beisert
2012-07-08 17:12 ` [PATCH 09/10] MACH/Samsung/Mini2440: enable buzzer Juergen Beisert
2012-07-08 18:10 ` Juergen Beisert
2012-07-08 18:20 ` Juergen Beisert
2012-07-08 17:12 ` [PATCH 10/10] MACH/Samsung/Mini2440: update the default config Juergen Beisert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1341767544-17447-5-git-send-email-jbe@pengutronix.de \
--to=jbe@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).