blob: b0cb434235842c82a4e0aa7e04dab927cc9a4536 [file] [log] [blame]
Joonyoung Shim4cf51c32010-07-14 21:55:30 -07001/*
Iiro Valkonen7686b102011-02-02 23:21:58 -08002 * Atmel maXTouch Touchscreen driver
Joonyoung Shim4cf51c32010-07-14 21:55:30 -07003 *
4 * Copyright (C) 2010 Samsung Electronics Co.Ltd
5 * Author: Joonyoung Shim <jy0922.shim@samsung.com>
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2 of the License, or (at your
10 * option) any later version.
11 */
12
Iiro Valkonen7686b102011-02-02 23:21:58 -080013#ifndef __LINUX_ATMEL_MXT_TS_H
14#define __LINUX_ATMEL_MXT_TS_H
Joonyoung Shim4cf51c32010-07-14 21:55:30 -070015
Iiro Valkonen71749f52011-02-15 13:36:52 -080016#include <linux/types.h>
17
Joonyoung Shim4cf51c32010-07-14 21:55:30 -070018/* Orient */
Iiro Valkonen7686b102011-02-02 23:21:58 -080019#define MXT_NORMAL 0x0
20#define MXT_DIAGONAL 0x1
21#define MXT_HORIZONTAL_FLIP 0x2
22#define MXT_ROTATED_90_COUNTER 0x3
23#define MXT_VERTICAL_FLIP 0x4
24#define MXT_ROTATED_90 0x5
25#define MXT_ROTATED_180 0x6
26#define MXT_DIAGONAL_COUNTER 0x7
Joonyoung Shim4cf51c32010-07-14 21:55:30 -070027
Iiro Valkonen7686b102011-02-02 23:21:58 -080028/* The platform data for the Atmel maXTouch touchscreen driver */
29struct mxt_platform_data {
Iiro Valkonen71749f52011-02-15 13:36:52 -080030 const u8 *config;
31 size_t config_length;
32
Joonyoung Shim4cf51c32010-07-14 21:55:30 -070033 unsigned int x_line;
34 unsigned int y_line;
35 unsigned int x_size;
36 unsigned int y_size;
37 unsigned int blen;
38 unsigned int threshold;
39 unsigned int voltage;
40 unsigned char orient;
Iiro Valkonen919ed892011-02-15 13:36:52 -080041 unsigned long irqflags;
Anirudh Ghayala498e4d2011-08-09 19:10:12 +053042 bool i2c_pull_up;
43
44 int (*init_hw) (bool);
45 int (*power_on) (bool);
Joonyoung Shim4cf51c32010-07-14 21:55:30 -070046};
47
Iiro Valkonen7686b102011-02-02 23:21:58 -080048#endif /* __LINUX_ATMEL_MXT_TS_H */