cyttsp4.h (1627B)
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Header file for: 4 * Cypress TrueTouch(TM) Standard Product (TTSP) touchscreen drivers. 5 * For use with Cypress Txx3xx parts. 6 * Supported parts include: 7 * CY8CTST341 8 * CY8CTMA340 9 * 10 * Copyright (C) 2009, 2010, 2011 Cypress Semiconductor, Inc. 11 * Copyright (C) 2012 Javier Martinez Canillas <javier@dowhile0.org> 12 * 13 * Contact Cypress Semiconductor at www.cypress.com (kev@cypress.com) 14 */ 15#ifndef _CYTTSP4_H_ 16#define _CYTTSP4_H_ 17 18#define CYTTSP4_MT_NAME "cyttsp4_mt" 19#define CYTTSP4_I2C_NAME "cyttsp4_i2c_adapter" 20#define CYTTSP4_SPI_NAME "cyttsp4_spi_adapter" 21 22#define CY_TOUCH_SETTINGS_MAX 32 23 24struct touch_framework { 25 const uint16_t *abs; 26 uint8_t size; 27 uint8_t enable_vkeys; 28} __packed; 29 30struct cyttsp4_mt_platform_data { 31 struct touch_framework *frmwrk; 32 unsigned short flags; 33 char const *inp_dev_name; 34}; 35 36struct touch_settings { 37 const uint8_t *data; 38 uint32_t size; 39 uint8_t tag; 40} __packed; 41 42struct cyttsp4_core_platform_data { 43 int irq_gpio; 44 int rst_gpio; 45 int level_irq_udelay; 46 int (*xres)(struct cyttsp4_core_platform_data *pdata, 47 struct device *dev); 48 int (*init)(struct cyttsp4_core_platform_data *pdata, 49 int on, struct device *dev); 50 int (*power)(struct cyttsp4_core_platform_data *pdata, 51 int on, struct device *dev, atomic_t *ignore_irq); 52 int (*irq_stat)(struct cyttsp4_core_platform_data *pdata, 53 struct device *dev); 54 struct touch_settings *sett[CY_TOUCH_SETTINGS_MAX]; 55}; 56 57struct cyttsp4_platform_data { 58 struct cyttsp4_core_platform_data *core_pdata; 59 struct cyttsp4_mt_platform_data *mt_pdata; 60}; 61 62#endif /* _CYTTSP4_H_ */