Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Header file for:
0004  * Cypress TrueTouch(TM) Standard Product (TTSP) touchscreen drivers.
0005  * For use with Cypress Txx3xx parts.
0006  * Supported parts include:
0007  * CY8CTST341
0008  * CY8CTMA340
0009  *
0010  * Copyright (C) 2009, 2010, 2011 Cypress Semiconductor, Inc.
0011  * Copyright (C) 2012 Javier Martinez Canillas <javier@dowhile0.org>
0012  *
0013  * Contact Cypress Semiconductor at www.cypress.com (kev@cypress.com)
0014  */
0015 #ifndef _CYTTSP4_H_
0016 #define _CYTTSP4_H_
0017 
0018 #define CYTTSP4_MT_NAME "cyttsp4_mt"
0019 #define CYTTSP4_I2C_NAME "cyttsp4_i2c_adapter"
0020 #define CYTTSP4_SPI_NAME "cyttsp4_spi_adapter"
0021 
0022 #define CY_TOUCH_SETTINGS_MAX 32
0023 
0024 struct touch_framework {
0025     const uint16_t  *abs;
0026     uint8_t         size;
0027     uint8_t         enable_vkeys;
0028 } __packed;
0029 
0030 struct cyttsp4_mt_platform_data {
0031     struct touch_framework *frmwrk;
0032     unsigned short flags;
0033     char const *inp_dev_name;
0034 };
0035 
0036 struct touch_settings {
0037     const uint8_t *data;
0038     uint32_t size;
0039     uint8_t tag;
0040 } __packed;
0041 
0042 struct cyttsp4_core_platform_data {
0043     int irq_gpio;
0044     int rst_gpio;
0045     int level_irq_udelay;
0046     int (*xres)(struct cyttsp4_core_platform_data *pdata,
0047         struct device *dev);
0048     int (*init)(struct cyttsp4_core_platform_data *pdata,
0049         int on, struct device *dev);
0050     int (*power)(struct cyttsp4_core_platform_data *pdata,
0051         int on, struct device *dev, atomic_t *ignore_irq);
0052     int (*irq_stat)(struct cyttsp4_core_platform_data *pdata,
0053         struct device *dev);
0054     struct touch_settings *sett[CY_TOUCH_SETTINGS_MAX];
0055 };
0056 
0057 struct cyttsp4_platform_data {
0058     struct cyttsp4_core_platform_data *core_pdata;
0059     struct cyttsp4_mt_platform_data *mt_pdata;
0060 };
0061 
0062 #endif /* _CYTTSP4_H_ */