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