diff options
| author | Arnaud Patard <arnaud.patard@rtp-net.org> | 2009-12-09 05:37:10 -0500 |
|---|---|---|
| committer | Ben Dooks <ben-linux@fluff.org> | 2009-12-23 05:43:10 -0500 |
| commit | b9bf770e0d4cc95e43ab04c66e705ba72a9bded3 (patch) | |
| tree | 44b810e4456ebd68e63a37a8637698fffb0b0ce3 | |
| parent | c9f937e4a3f4ebf9924ec21d80632e5eb61d949c (diff) | |
ARM: S3C24XX: touchscreen device definition
Add definition for the touchscreen driver platform data and initial
support for the H1940 machine.
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| -rw-r--r-- | arch/arm/mach-s3c2410/include/mach/ts.h | 21 | ||||
| -rw-r--r-- | arch/arm/plat-s3c/include/plat/devs.h | 1 | ||||
| -rw-r--r-- | arch/arm/plat-s3c24xx/devs.c | 18 | ||||
| -rw-r--r-- | arch/arm/plat-s3c24xx/s3c244x.c | 1 |
4 files changed, 41 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2410/include/mach/ts.h b/arch/arm/mach-s3c2410/include/mach/ts.h new file mode 100644 index 000000000000..dc361700d695 --- /dev/null +++ b/arch/arm/mach-s3c2410/include/mach/ts.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | /* linux/include/asm/arch-s3c2410/ts.h | ||
| 2 | * | ||
| 3 | * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org> | ||
| 4 | * | ||
| 5 | * This program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License version 2 as | ||
| 7 | * published by the Free Software Foundation. | ||
| 8 | */ | ||
| 9 | |||
| 10 | #ifndef __ASM_ARM_TS_H | ||
| 11 | #define __ASM_ARM_TS_H | ||
| 12 | |||
| 13 | struct s3c2410_ts_mach_info { | ||
| 14 | int delay; | ||
| 15 | int presc; | ||
| 16 | int oversampling_shift; | ||
| 17 | }; | ||
| 18 | |||
| 19 | extern void s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *); | ||
| 20 | |||
| 21 | #endif /* __ASM_ARM_TS_H */ | ||
diff --git a/arch/arm/plat-s3c/include/plat/devs.h b/arch/arm/plat-s3c/include/plat/devs.h index 932cbbbb4273..c1c20b023917 100644 --- a/arch/arm/plat-s3c/include/plat/devs.h +++ b/arch/arm/plat-s3c/include/plat/devs.h | |||
| @@ -31,6 +31,7 @@ extern struct platform_device s3c64xx_device_iisv4; | |||
| 31 | extern struct platform_device s3c64xx_device_pcm0; | 31 | extern struct platform_device s3c64xx_device_pcm0; |
| 32 | extern struct platform_device s3c64xx_device_pcm1; | 32 | extern struct platform_device s3c64xx_device_pcm1; |
| 33 | 33 | ||
| 34 | extern struct platform_device s3c_device_ts; | ||
| 34 | extern struct platform_device s3c_device_fb; | 35 | extern struct platform_device s3c_device_fb; |
| 35 | extern struct platform_device s3c_device_usb; | 36 | extern struct platform_device s3c_device_usb; |
| 36 | extern struct platform_device s3c_device_lcd; | 37 | extern struct platform_device s3c_device_lcd; |
diff --git a/arch/arm/plat-s3c24xx/devs.c b/arch/arm/plat-s3c24xx/devs.c index f52a92ce8dda..7f686a31e672 100644 --- a/arch/arm/plat-s3c24xx/devs.c +++ b/arch/arm/plat-s3c24xx/devs.c | |||
| @@ -37,6 +37,8 @@ | |||
| 37 | #include <plat/cpu.h> | 37 | #include <plat/cpu.h> |
| 38 | #include <plat/regs-spi.h> | 38 | #include <plat/regs-spi.h> |
| 39 | 39 | ||
| 40 | #include <mach/ts.h> | ||
| 41 | |||
| 40 | /* Serial port registrations */ | 42 | /* Serial port registrations */ |
| 41 | 43 | ||
| 42 | static struct resource s3c2410_uart0_resource[] = { | 44 | static struct resource s3c2410_uart0_resource[] = { |
| @@ -182,6 +184,22 @@ void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *pd) | |||
| 182 | } | 184 | } |
| 183 | } | 185 | } |
| 184 | 186 | ||
| 187 | /* Touchscreen */ | ||
| 188 | struct platform_device s3c_device_ts = { | ||
| 189 | .name = "s3c2410-ts", | ||
| 190 | .id = -1, | ||
| 191 | }; | ||
| 192 | EXPORT_SYMBOL(s3c_device_ts); | ||
| 193 | |||
| 194 | static struct s3c2410_ts_mach_info s3c2410ts_info; | ||
| 195 | |||
| 196 | void __init s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *hard_s3c2410ts_info) | ||
| 197 | { | ||
| 198 | memcpy(&s3c2410ts_info, hard_s3c2410ts_info, sizeof(struct s3c2410_ts_mach_info)); | ||
| 199 | s3c_device_ts.dev.platform_data = &s3c2410ts_info; | ||
| 200 | } | ||
| 201 | EXPORT_SYMBOL(s3c24xx_ts_set_platdata); | ||
| 202 | |||
| 185 | /* USB Device (Gadget)*/ | 203 | /* USB Device (Gadget)*/ |
| 186 | 204 | ||
| 187 | static struct resource s3c_usbgadget_resource[] = { | 205 | static struct resource s3c_usbgadget_resource[] = { |
diff --git a/arch/arm/plat-s3c24xx/s3c244x.c b/arch/arm/plat-s3c24xx/s3c244x.c index 1364317d421e..12623a474b54 100644 --- a/arch/arm/plat-s3c24xx/s3c244x.c +++ b/arch/arm/plat-s3c24xx/s3c244x.c | |||
| @@ -70,6 +70,7 @@ void __init s3c244x_map_io(void) | |||
| 70 | s3c_device_sdi.name = "s3c2440-sdi"; | 70 | s3c_device_sdi.name = "s3c2440-sdi"; |
| 71 | s3c_device_i2c0.name = "s3c2440-i2c"; | 71 | s3c_device_i2c0.name = "s3c2440-i2c"; |
| 72 | s3c_device_nand.name = "s3c2440-nand"; | 72 | s3c_device_nand.name = "s3c2440-nand"; |
| 73 | s3c_device_ts.name = "s3c2440-ts"; | ||
| 73 | s3c_device_usbgadget.name = "s3c2440-usbgadget"; | 74 | s3c_device_usbgadget.name = "s3c2440-usbgadget"; |
| 74 | } | 75 | } |
| 75 | 76 | ||
