diff options
| -rw-r--r-- | arch/arm/mach-s3c2410/Kconfig | 1 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/mach-h1940.c | 1 | ||||
| -rw-r--r-- | arch/arm/plat-s3c24xx/Kconfig | 5 | ||||
| -rw-r--r-- | arch/arm/plat-s3c24xx/Makefile | 1 | ||||
| -rw-r--r-- | arch/arm/plat-s3c24xx/setup-ts.c | 34 | ||||
| -rw-r--r-- | arch/arm/plat-samsung/include/plat/ts.h | 4 |
6 files changed, 46 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2410/Kconfig b/arch/arm/mach-s3c2410/Kconfig index a4c0b3fcdbba..7245a55795dc 100644 --- a/arch/arm/mach-s3c2410/Kconfig +++ b/arch/arm/mach-s3c2410/Kconfig | |||
| @@ -77,6 +77,7 @@ config ARCH_H1940 | |||
| 77 | select PM_H1940 if PM | 77 | select PM_H1940 if PM |
| 78 | select S3C_DEV_USB_HOST | 78 | select S3C_DEV_USB_HOST |
| 79 | select S3C_DEV_NAND | 79 | select S3C_DEV_NAND |
| 80 | select S3C2410_SETUP_TS | ||
| 80 | help | 81 | help |
| 81 | Say Y here if you are using the HP IPAQ H1940 | 82 | Say Y here if you are using the HP IPAQ H1940 |
| 82 | 83 | ||
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c index b1f7dbb3bb60..779b45b3f80f 100644 --- a/arch/arm/mach-s3c2410/mach-h1940.c +++ b/arch/arm/mach-s3c2410/mach-h1940.c | |||
| @@ -146,6 +146,7 @@ static struct s3c2410_ts_mach_info h1940_ts_cfg __initdata = { | |||
| 146 | .delay = 10000, | 146 | .delay = 10000, |
| 147 | .presc = 49, | 147 | .presc = 49, |
| 148 | .oversampling_shift = 2, | 148 | .oversampling_shift = 2, |
| 149 | .cfg_gpio = s3c24xx_ts_cfg_gpio, | ||
| 149 | }; | 150 | }; |
| 150 | 151 | ||
| 151 | /** | 152 | /** |
diff --git a/arch/arm/plat-s3c24xx/Kconfig b/arch/arm/plat-s3c24xx/Kconfig index 3ce8f010b3c6..984bf66826d2 100644 --- a/arch/arm/plat-s3c24xx/Kconfig +++ b/arch/arm/plat-s3c24xx/Kconfig | |||
| @@ -164,4 +164,9 @@ config S3C24XX_SIMTEC_AUDIO | |||
| 164 | help | 164 | help |
| 165 | Add audio devices for common Simtec S3C24XX boards | 165 | Add audio devices for common Simtec S3C24XX boards |
| 166 | 166 | ||
| 167 | config S3C2410_SETUP_TS | ||
| 168 | bool | ||
| 169 | help | ||
| 170 | Compile in platform device definition for Samsung TouchScreen. | ||
| 171 | |||
| 167 | endif | 172 | endif |
diff --git a/arch/arm/plat-s3c24xx/Makefile b/arch/arm/plat-s3c24xx/Makefile index 44aea8868f89..c2064c308719 100644 --- a/arch/arm/plat-s3c24xx/Makefile +++ b/arch/arm/plat-s3c24xx/Makefile | |||
| @@ -38,6 +38,7 @@ obj-$(CONFIG_S3C2410_CPUFREQ_UTILS) += s3c2410-cpufreq-utils.o | |||
| 38 | 38 | ||
| 39 | # device specific setup and/or initialisation | 39 | # device specific setup and/or initialisation |
| 40 | obj-$(CONFIG_ARCH_S3C2410) += setup-i2c.o | 40 | obj-$(CONFIG_ARCH_S3C2410) += setup-i2c.o |
| 41 | obj-$(CONFIG_S3C2410_SETUP_TS) += setup-ts.o | ||
| 41 | 42 | ||
| 42 | # SPI gpio central GPIO functions | 43 | # SPI gpio central GPIO functions |
| 43 | 44 | ||
diff --git a/arch/arm/plat-s3c24xx/setup-ts.c b/arch/arm/plat-s3c24xx/setup-ts.c new file mode 100644 index 000000000000..ed2638663675 --- /dev/null +++ b/arch/arm/plat-s3c24xx/setup-ts.c | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | /* linux/arch/arm/plat-s3c24xx/setup-ts.c | ||
| 2 | * | ||
| 3 | * Copyright (c) 2010 Samsung Electronics Co., Ltd. | ||
| 4 | * http://www.samsung.com/ | ||
| 5 | * | ||
| 6 | * Based on S3C24XX setup for i2c device | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License version 2 as | ||
| 10 | * published by the Free Software Foundation. | ||
| 11 | */ | ||
| 12 | |||
| 13 | #include <linux/kernel.h> | ||
| 14 | #include <linux/gpio.h> | ||
| 15 | |||
| 16 | struct platform_device; /* don't need the contents */ | ||
| 17 | |||
| 18 | #include <mach/hardware.h> | ||
| 19 | #include <mach/regs-gpio.h> | ||
| 20 | |||
| 21 | /** | ||
| 22 | * s3c24xx_ts_cfg_gpio - configure gpio for s3c2410 systems | ||
| 23 | * | ||
| 24 | * Configure the GPIO for the S3C2410 system, where we have external FETs | ||
| 25 | * connected to the device (later systems such as the S3C2440 integrate | ||
| 26 | * these into the device). | ||
| 27 | */ | ||
| 28 | void s3c24xx_ts_cfg_gpio(struct platform_device *dev) | ||
| 29 | { | ||
| 30 | s3c2410_gpio_cfgpin(S3C2410_GPG(12), S3C2410_GPG12_XMON); | ||
| 31 | s3c2410_gpio_cfgpin(S3C2410_GPG(13), S3C2410_GPG13_nXPON); | ||
| 32 | s3c2410_gpio_cfgpin(S3C2410_GPG(14), S3C2410_GPG14_YMON); | ||
| 33 | s3c2410_gpio_cfgpin(S3C2410_GPG(15), S3C2410_GPG15_nYPON); | ||
| 34 | } | ||
diff --git a/arch/arm/plat-samsung/include/plat/ts.h b/arch/arm/plat-samsung/include/plat/ts.h index 8a51675f6b03..26fdb22e0fc2 100644 --- a/arch/arm/plat-samsung/include/plat/ts.h +++ b/arch/arm/plat-samsung/include/plat/ts.h | |||
| @@ -14,8 +14,12 @@ struct s3c2410_ts_mach_info { | |||
| 14 | int delay; | 14 | int delay; |
| 15 | int presc; | 15 | int presc; |
| 16 | int oversampling_shift; | 16 | int oversampling_shift; |
| 17 | void (*cfg_gpio)(struct platform_device *dev); | ||
| 17 | }; | 18 | }; |
| 18 | 19 | ||
| 19 | extern void s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *); | 20 | extern void s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *); |
| 20 | 21 | ||
| 22 | /* defined by architecture to configure gpio */ | ||
| 23 | extern void s3c24xx_ts_cfg_gpio(struct platform_device *dev); | ||
| 24 | |||
| 21 | #endif /* __ASM_ARM_TS_H */ | 25 | #endif /* __ASM_ARM_TS_H */ |
