msm_ts.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * Internal platform definitions for msm/qsd touchscreen devices
  3. *
  4. * Copyright (C) 2008 Google Incorporated
  5. *
  6. * This software is licensed under the terms of the GNU General Public
  7. * License version 2, as published by the Free Software Foundation, and
  8. * may be copied, distributed, and modified under those terms.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. */
  15. #ifndef __ASM_ARCH_MSM_TS_H
  16. #define __ASM_ARCH_MSM_TS_H
  17. #include <linux/input.h>
  18. /* The dimensions for the virtual key are for the other axis, i.e. if
  19. * virtual keys are in the Y dimension then min/max is the range in the X
  20. * dimension where that key would be activated */
  21. struct ts_virt_key {
  22. int key;
  23. int min;
  24. int max;
  25. };
  26. struct msm_ts_virtual_keys {
  27. struct ts_virt_key *keys;
  28. int num_keys;
  29. };
  30. struct msm_ts_platform_data {
  31. uint32_t min_x;
  32. uint32_t max_x;
  33. uint32_t min_y;
  34. uint32_t max_y;
  35. uint32_t min_press;
  36. uint32_t max_press;
  37. struct msm_ts_virtual_keys *vkeys_x;
  38. uint32_t virt_x_start;
  39. struct msm_ts_virtual_keys *vkeys_y;
  40. uint32_t virt_y_start;
  41. uint32_t inv_x;
  42. uint32_t inv_y;
  43. bool can_wakeup;
  44. };
  45. #endif /* __ASM_ARCH_MSM_TS_H */