Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce8877b5 authored by Arnaud Patard's avatar Arnaud Patard Committed by Ben Dooks
Browse files

ARM: S3C24XX: touchscreen device definition



Add definition for the touchscreen driver platform data and initial
support for the H1940 machine.

Signed-off-by: default avatarArnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: default avatarBen Dooks <ben@simtec.co.uk>
Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
parent d3ef7ee4
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
/* linux/include/asm/arch-s3c2410/ts.h
 *
 * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/

#ifndef __ASM_ARM_TS_H
#define __ASM_ARM_TS_H

struct s3c2410_ts_mach_info {
       int             delay;
       int             presc;
       int             oversampling_shift;
};

extern void s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *);

#endif /* __ASM_ARM_TS_H */
+8 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@
#include <mach/h1940.h>
#include <mach/h1940-latch.h>
#include <mach/fb.h>
#include <mach/ts.h>
#include <plat/udc.h>
#include <plat/iic.h>

@@ -140,6 +141,11 @@ static struct s3c2410_udc_mach_info h1940_udc_cfg __initdata = {
	.vbus_pin_inverted	= 1,
};

static struct s3c2410_ts_mach_info h1940_ts_cfg __initdata = {
		.delay = 10000,
		.presc = 49,
		.oversampling_shift = 2,
};

/**
 * Set lcd on or off
@@ -265,6 +271,7 @@ static struct platform_device h1940_lcd_powerdev = {
};

static struct platform_device *h1940_devices[] __initdata = {
	&s3c_device_ts,
	&s3c_device_usb,
	&s3c_device_lcd,
	&s3c_device_wdt,
@@ -305,6 +312,7 @@ static void __init h1940_init(void)

	s3c24xx_fb_set_platdata(&h1940_fb_info);
 	s3c24xx_udc_set_platdata(&h1940_udc_cfg);
	s3c24xx_ts_set_platdata(&h1940_ts_cfg);
	s3c_i2c0_set_platdata(NULL);

	s3c_device_sdi.dev.platform_data = &h1940_mmc_cfg;
+1 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ extern struct platform_device s3c64xx_device_iisv4;
extern struct platform_device s3c64xx_device_pcm0;
extern struct platform_device s3c64xx_device_pcm1;

extern struct platform_device s3c_device_ts;
extern struct platform_device s3c_device_fb;
extern struct platform_device s3c_device_usb;
extern struct platform_device s3c_device_lcd;
+18 −0
Original line number Diff line number Diff line
@@ -37,6 +37,8 @@
#include <plat/cpu.h>
#include <plat/regs-spi.h>

#include <mach/ts.h>

/* Serial port registrations */

static struct resource s3c2410_uart0_resource[] = {
@@ -182,6 +184,22 @@ void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *pd)
	}
}

/* Touchscreen */
struct platform_device s3c_device_ts = {
	.name		  = "s3c2410-ts",
	.id		  = -1,
};
EXPORT_SYMBOL(s3c_device_ts);

static struct s3c2410_ts_mach_info s3c2410ts_info;

void __init s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *hard_s3c2410ts_info)
{
	memcpy(&s3c2410ts_info, hard_s3c2410ts_info, sizeof(struct s3c2410_ts_mach_info));
	s3c_device_ts.dev.platform_data = &s3c2410ts_info;
}
EXPORT_SYMBOL(s3c24xx_ts_set_platdata);

/* USB Device (Gadget)*/

static struct resource s3c_usbgadget_resource[] = {
+1 −0
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ void __init s3c244x_map_io(void)
	s3c_device_sdi.name  = "s3c2440-sdi";
	s3c_device_i2c0.name  = "s3c2440-i2c";
	s3c_device_nand.name = "s3c2440-nand";
	s3c_device_ts.name = "s3c2440-ts";
	s3c_device_usbgadget.name = "s3c2440-usbgadget";
}