| /* |
| * 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_ */ |