|  | /* | 
|  | * Header file for: | 
|  | * Cypress TrueTouch(TM) Standard Product (TTSP) touchscreen drivers. | 
|  | * For use with Cypress Txx3xx parts. | 
|  | * Supported parts include: | 
|  | * CY8CTST341 | 
|  | * CY8CTMA340 | 
|  | * | 
|  | * Copyright (C) 2009, 2010, 2011 Cypress Semiconductor, Inc. | 
|  | * Copyright (C) 2012 Javier Martinez Canillas <javier@dowhile0.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, and only version 2, as published by the | 
|  | * Free Software Foundation. | 
|  | * | 
|  | * This program is distributed in the hope that it will be useful, | 
|  | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | * GNU General Public License for more details. | 
|  | * | 
|  | * You should have received a copy of the GNU General Public License along | 
|  | * with this program; if not, write to the Free Software Foundation, Inc., | 
|  | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | 
|  | * | 
|  | * Contact Cypress Semiconductor at www.cypress.com (kev@cypress.com) | 
|  | * | 
|  | */ | 
|  | #ifndef _CYTTSP4_H_ | 
|  | #define _CYTTSP4_H_ | 
|  |  | 
|  | #define CYTTSP4_MT_NAME "cyttsp4_mt" | 
|  | #define CYTTSP4_I2C_NAME "cyttsp4_i2c_adapter" | 
|  | #define CYTTSP4_SPI_NAME "cyttsp4_spi_adapter" | 
|  |  | 
|  | #define CY_TOUCH_SETTINGS_MAX 32 | 
|  |  | 
|  | struct touch_framework { | 
|  | const uint16_t  *abs; | 
|  | uint8_t         size; | 
|  | uint8_t         enable_vkeys; | 
|  | } __packed; | 
|  |  | 
|  | struct cyttsp4_mt_platform_data { | 
|  | struct touch_framework *frmwrk; | 
|  | unsigned short flags; | 
|  | char const *inp_dev_name; | 
|  | }; | 
|  |  | 
|  | struct touch_settings { | 
|  | const uint8_t *data; | 
|  | uint32_t size; | 
|  | uint8_t tag; | 
|  | } __packed; | 
|  |  | 
|  | struct cyttsp4_core_platform_data { | 
|  | int irq_gpio; | 
|  | int rst_gpio; | 
|  | int level_irq_udelay; | 
|  | int (*xres)(struct cyttsp4_core_platform_data *pdata, | 
|  | struct device *dev); | 
|  | int (*init)(struct cyttsp4_core_platform_data *pdata, | 
|  | int on, struct device *dev); | 
|  | int (*power)(struct cyttsp4_core_platform_data *pdata, | 
|  | int on, struct device *dev, atomic_t *ignore_irq); | 
|  | int (*irq_stat)(struct cyttsp4_core_platform_data *pdata, | 
|  | struct device *dev); | 
|  | struct touch_settings *sett[CY_TOUCH_SETTINGS_MAX]; | 
|  | }; | 
|  |  | 
|  | struct cyttsp4_platform_data { | 
|  | struct cyttsp4_core_platform_data *core_pdata; | 
|  | struct cyttsp4_mt_platform_data *mt_pdata; | 
|  | }; | 
|  |  | 
|  | #endif /* _CYTTSP4_H_ */ |