Files
kernel-tenderloin-3.0/include/linux/i2c/atmel_mxt_ts.h
Iiro Valkonen 4ac053cdb9 Input: atmel_mxt_ts - Make wait-after-reset peroid compatible with all chips
The delay before the chip can be accessed after reset varies between different
chips in maXTouch family. Waiting for 200ms and then monitoring the CHG (chip
is ready when the line is low) is guaranteed to work with all chips.

v4: Adjust delay depending on the family ID of the chip. Also add a readback
    of command register after backup is issued, to make sure we are not
proceeding
    too fast there.
v3: Add a check for NULL read_chg() function, and add the read_chg() to platform
    files using this driver (currently only mach-goni.c)
v2: At Dmitry's suggestion, add a timeout so we are not stuck looping
    endlessly in case the CHG is not going low.

Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com>
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2011-10-03 16:19:35 -07:00

50 lines
1.2 KiB
C

/*
* Atmel maXTouch Touchscreen driver
*
* Copyright (C) 2010 Samsung Electronics Co.Ltd
* Author: Joonyoung Shim <jy0922.shim@samsung.com>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/
#ifndef __LINUX_ATMEL_MXT_TS_H
#define __LINUX_ATMEL_MXT_TS_H
#include <linux/types.h>
/* Orient */
#define MXT_NORMAL 0x0
#define MXT_DIAGONAL 0x1
#define MXT_HORIZONTAL_FLIP 0x2
#define MXT_ROTATED_90_COUNTER 0x3
#define MXT_VERTICAL_FLIP 0x4
#define MXT_ROTATED_90 0x5
#define MXT_ROTATED_180 0x6
#define MXT_DIAGONAL_COUNTER 0x7
/* The platform data for the Atmel maXTouch touchscreen driver */
struct mxt_platform_data {
const u8 *config;
size_t config_length;
unsigned int x_line;
unsigned int y_line;
unsigned int x_size;
unsigned int y_size;
unsigned int blen;
unsigned int threshold;
unsigned int voltage;
unsigned char orient;
unsigned long irqflags;
bool i2c_pull_up;
u8(*read_chg) (void);
int (*init_hw) (bool);
int (*power_on) (bool);
};
#endif /* __LINUX_ATMEL_MXT_TS_H */