~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/spi/ads7846.h

Version: ~ [ linux-5.5-rc7 ] ~ [ linux-5.4.13 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.97 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.166 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.210 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.210 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.81 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-3.9.11 ] ~ [ linux-3.8.13 ] ~ [ linux-3.7.10 ] ~ [ linux-3.6.11 ] ~ [ linux-3.5.7 ] ~ [ linux-3.4.113 ] ~ [ linux-3.3.8 ] ~ [ linux-3.2.102 ] ~ [ linux-3.1.10 ] ~ [ linux-3.0.101 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* linux/spi/ads7846.h */
  2 
  3 /* Touchscreen characteristics vary between boards and models.  The
  4  * platform_data for the device's "struct device" holds this information.
  5  *
  6  * It's OK if the min/max values are zero.
  7  */
  8 enum ads7846_filter {
  9         ADS7846_FILTER_OK,
 10         ADS7846_FILTER_REPEAT,
 11         ADS7846_FILTER_IGNORE,
 12 };
 13 
 14 struct ads7846_platform_data {
 15         u16     model;                  /* 7843, 7845, 7846, 7873. */
 16         u16     vref_delay_usecs;       /* 0 for external vref; etc */
 17         u16     vref_mv;                /* external vref value, milliVolts
 18                                          * ads7846: if 0, use internal vref */
 19         bool    keep_vref_on;           /* set to keep vref on for differential
 20                                          * measurements as well */
 21         bool    swap_xy;                /* swap x and y axes */
 22 
 23         /* Settling time of the analog signals; a function of Vcc and the
 24          * capacitance on the X/Y drivers.  If set to non-zero, two samples
 25          * are taken with settle_delay us apart, and the second one is used.
 26          * ~150 uSec with 0.01uF caps.
 27          */
 28         u16     settle_delay_usecs;
 29 
 30         /* If set to non-zero, after samples are taken this delay is applied
 31          * and penirq is rechecked, to help avoid false events.  This value
 32          * is affected by the material used to build the touch layer.
 33          */
 34         u16     penirq_recheck_delay_usecs;
 35 
 36         u16     x_plate_ohms;
 37         u16     y_plate_ohms;
 38 
 39         u16     x_min, x_max;
 40         u16     y_min, y_max;
 41         u16     pressure_min, pressure_max;
 42 
 43         u16     debounce_max;           /* max number of additional readings
 44                                          * per sample */
 45         u16     debounce_tol;           /* tolerance used for filtering */
 46         u16     debounce_rep;           /* additional consecutive good readings
 47                                          * required after the first two */
 48         int     gpio_pendown;           /* the GPIO used to decide the pendown
 49                                          * state if get_pendown_state == NULL
 50                                          */
 51         int     (*get_pendown_state)(void);
 52         int     (*filter_init)  (const struct ads7846_platform_data *pdata,
 53                                  void **filter_data);
 54         int     (*filter)       (void *filter_data, int data_idx, int *val);
 55         void    (*filter_cleanup)(void *filter_data);
 56         void    (*wait_for_sync)(void);
 57         bool    wakeup;
 58         unsigned long irq_flags;
 59 };
 60 
 61 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp