tsc2007.h 873 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef __LINUX_I2C_TSC2007_H
  2. #define __LINUX_I2C_TSC2007_H
  3. /* linux/i2c/tsc2007.h */
  4. struct tsc2007_platform_data {
  5. u16 model; /* 2007. */
  6. u16 x_plate_ohms; /* must be non-zero value */
  7. u16 max_rt; /* max. resistance above which samples are ignored */
  8. unsigned long poll_delay; /* delay (in ms) after pen-down event
  9. before polling starts */
  10. unsigned long poll_period; /* time (in ms) between samples */
  11. int fuzzx; /* fuzz factor for X, Y and pressure axes */
  12. int fuzzy;
  13. int fuzzz;
  14. u16 min_x;
  15. u16 min_y;
  16. u16 max_x;
  17. u16 max_y;
  18. unsigned long irq_flags;
  19. bool invert_x;
  20. bool invert_y;
  21. bool invert_z1;
  22. bool invert_z2;
  23. int (*get_pendown_state)(void);
  24. void (*clear_penirq)(void); /* If needed, clear 2nd level
  25. interrupt source */
  26. int (*init_platform_hw)(void);
  27. void (*exit_platform_hw)(void);
  28. int (*power_shutdown)(bool);
  29. };
  30. #endif