synaptics_tcm.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. * Synaptics TCM touchscreen driver
  3. *
  4. * Copyright (C) 2017-2019 Synaptics Incorporated. All rights reserved.
  5. *
  6. * Copyright (C) 2017-2019 Scott Lin <[email protected]>
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License as published by
  10. * the Free Software Foundation; either version 2 of the License, or
  11. * (at your option) any later version.
  12. *
  13. * This program is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. * INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED "AS-IS," AND SYNAPTICS
  19. * EXPRESSLY DISCLAIMS ALL EXPRESS AND IMPLIED WARRANTIES, INCLUDING ANY
  20. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE,
  21. * AND ANY WARRANTIES OF NON-INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS.
  22. * IN NO EVENT SHALL SYNAPTICS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  23. * SPECIAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION
  24. * WITH THE USE OF THE INFORMATION CONTAINED IN THIS DOCUMENT, HOWEVER CAUSED
  25. * AND BASED ON ANY THEORY OF LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  26. * NEGLIGENCE OR OTHER TORTIOUS ACTION, AND EVEN IF SYNAPTICS WAS ADVISED OF
  27. * THE POSSIBILITY OF SUCH DAMAGE. IF A TRIBUNAL OF COMPETENT JURISDICTION DOES
  28. * NOT PERMIT THE DISCLAIMER OF DIRECT DAMAGES OR ANY OTHER DAMAGES, SYNAPTICS'
  29. * TOTAL CUMULATIVE LIABILITY TO ANY PARTY SHALL NOT EXCEED ONE HUNDRED U.S.
  30. * DOLLARS.
  31. */
  32. #ifndef _SYNAPTICS_TCM_H_
  33. #define _SYNAPTICS_TCM_H_
  34. #define I2C_MODULE_NAME "synaptics_tcm_i2c"
  35. #define SPI_MODULE_NAME "synaptics_tcm_spi"
  36. struct syna_tcm_board_data {
  37. bool x_flip;
  38. bool y_flip;
  39. bool swap_axes;
  40. int irq_gpio;
  41. int irq_on_state;
  42. int power_gpio;
  43. int power_on_state;
  44. int reset_gpio;
  45. int reset_on_state;
  46. unsigned int spi_mode;
  47. unsigned int power_delay_ms;
  48. unsigned int reset_delay_ms;
  49. unsigned int reset_active_ms;
  50. unsigned int byte_delay_us;
  51. unsigned int block_delay_us;
  52. unsigned int ubl_i2c_addr;
  53. unsigned int ubl_max_freq;
  54. unsigned int ubl_byte_delay_us;
  55. unsigned long irq_flags;
  56. const char *pwr_reg_name;
  57. const char *bus_reg_name;
  58. const char *fw_name;
  59. bool extend_report;
  60. };
  61. #endif