hc
2024-08-19 a51341d8c7882adfad4f167bc7c3ca616908b53d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/* 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_ */