| /* SPDX-License-Identifier: GPL-2.0-only */ | |
| /* | |
| * 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> | |
| * | |
| * 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_ */ |