63 lines
1.6 KiB
C
63 lines
1.6 KiB
C
|
/* 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_ */
|