diff options
| -rw-r--r-- | arch/arm/mach-s3c2410/include/mach/ts.h | 21 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/mach-h1940.c | 8 | ||||
| -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 |
5 files changed, 49 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/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c index 49053254c98d..1e34abe1a19e 100644 --- a/arch/arm/mach-s3c2410/mach-h1940.c +++ b/arch/arm/mach-s3c2410/mach-h1940.c | |||
| @@ -46,6 +46,7 @@ | |||
| 46 | #include <mach/h1940.h> | 46 | #include <mach/h1940.h> |
| 47 | #include <mach/h1940-latch.h> | 47 | #include <mach/h1940-latch.h> |
| 48 | #include <mach/fb.h> | 48 | #include <mach/fb.h> |
| 49 | #include <mach/ts.h> | ||
| 49 | #include <plat/udc.h> | 50 | #include <plat/udc.h> |
| 50 | #include <plat/iic.h> | 51 | #include <plat/iic.h> |
| 51 | 52 | ||
| @@ -140,6 +141,11 @@ static struct s3c2410_udc_mach_info h1940_udc_cfg __initdata = { | |||
| 140 | .vbus_pin_inverted = 1, | 141 | .vbus_pin_inverted = 1, |
| 141 | }; | 142 | }; |
| 142 | 143 | ||
| 144 | static struct s3c2410_ts_mach_info h1940_ts_cfg __initdata = { | ||
| 145 | .delay = 10000, | ||
| 146 | .presc = 49, | ||
| 147 | .oversampling_shift = 2, | ||
| 148 | }; | ||
| 143 | 149 | ||
| 144 | /** | 150 | /** |
| 145 | * Set lcd on or off | 151 | * Set lcd on or off |
| @@ -265,6 +271,7 @@ static struct platform_device h1940_lcd_powerdev = { | |||
| 265 | }; | 271 | }; |
| 266 | 272 | ||
| 267 | static struct platform_device *h1940_devices[] __initdata = { | 273 | static struct platform_device *h1940_devices[] __initdata = { |
| 274 | &s3c_device_ts, | ||
| 268 | &s3c_device_usb, | 275 | &s3c_device_usb, |
| 269 | &s3c_device_lcd, | 276 | &s3c_device_lcd, |
| 270 | &s3c_device_wdt, | 277 | &s3c_device_wdt, |
| @@ -305,6 +312,7 @@ static void __init h1940_init(void) | |||
| 305 | 312 | ||
| 306 | s3c24xx_fb_set_platdata(&h1940_fb_info); | 313 | s3c24xx_fb_set_platdata(&h1940_fb_info); |
| 307 | s3c24xx_udc_set_platdata(&h1940_udc_cfg); | 314 | s3c24xx_udc_set_platdata(&h1940_udc_cfg); |
| 315 | s3c24xx_ts_set_platdata(&h1940_ts_cfg); | ||
| 308 | s3c_i2c0_set_platdata(NULL); | 316 | s3c_i2c0_set_platdata(NULL); |
| 309 | 317 | ||
| 310 | s3c_device_sdi.dev.platform_data = &h1940_mmc_cfg; | 318 | s3c_device_sdi.dev.platform_data = &h1940_mmc_cfg; |
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 | ||
