linux/include/linux/platform_data/cyttsp4.h
<<
>>
Prefs
   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_ */
  63