1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /*
- * Atmel maXTouch Touchscreen driver
- *
- * Copyright (C) 2010 Samsung Electronics Co.Ltd
- * Author: Joonyoung Shim <jy0922.shim@samsung.com>
- * Copyright (c) 2011-2013, The Linux Foundation. All rights reserved.
- *
- * 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
- /* MXT_TOUCH_KEYARRAY_T15 */
- #define MXT_KEYARRAY_MAX_KEYS 32
- /* Bootoader IDs */
- #define MXT_BOOTLOADER_ID_224 0x0A
- #define MXT_BOOTLOADER_ID_224E 0x06
- #define MXT_BOOTLOADER_ID_336S 0x1A
- #define MXT_BOOTLOADER_ID_1386 0x01
- #define MXT_BOOTLOADER_ID_1386E 0x10
- #define MXT_BOOTLOADER_ID_1664S 0x14
- /* Config data for a given maXTouch controller with a specific firmware */
- struct mxt_config_info {
- const u8 *config;
- size_t config_length;
- u8 family_id;
- u8 variant_id;
- u8 version;
- u8 build;
- u8 bootldr_id;
- /* Points to the firmware name to be upgraded to */
- const char *fw_name;
- };
- /* The platform data for the Atmel maXTouch touchscreen driver */
- struct mxt_platform_data {
- const struct mxt_config_info *config_array;
- size_t config_array_size;
- /* touch panel's minimum and maximum coordinates */
- u32 panel_minx;
- u32 panel_maxx;
- u32 panel_miny;
- u32 panel_maxy;
- /* display's minimum and maximum coordinates */
- u32 disp_minx;
- u32 disp_maxx;
- u32 disp_miny;
- u32 disp_maxy;
- unsigned long irqflags;
- bool i2c_pull_up;
- bool digital_pwr_regulator;
- int reset_gpio;
- u32 reset_gpio_flags;
- int irq_gpio;
- u32 irq_gpio_flags;
- int *key_codes;
- bool need_calibration;
- bool no_force_update;
- bool no_lpm_support;
- u8 bl_addr;
- u8(*read_chg) (void);
- int (*init_hw) (bool);
- int (*power_on) (bool);
- };
- #endif /* __LINUX_ATMEL_MXT_TS_H */
|