ad7879.txt 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. * Analog Devices AD7879(-1)/AD7889(-1) touchscreen interface (SPI/I2C)
  2. Required properties:
  3. - compatible : for SPI slave, use "adi,ad7879"
  4. for I2C slave, use "adi,ad7879-1"
  5. - reg : SPI chipselect/I2C slave address
  6. See spi-bus.txt for more SPI slave properties
  7. - interrupts : touch controller interrupt
  8. - touchscreen-max-pressure : maximum reported pressure
  9. - adi,resistance-plate-x : total resistance of X-plate (for pressure
  10. calculation)
  11. Optional properties:
  12. - touchscreen-swapped-x-y : X and Y axis are swapped (boolean)
  13. - adi,first-conversion-delay : 0-12: In 128us steps (starting with 128us)
  14. 13 : 2.560ms
  15. 14 : 3.584ms
  16. 15 : 4.096ms
  17. This property has to be a '/bits/ 8' value
  18. - adi,acquisition-time : 0: 2us
  19. 1: 4us
  20. 2: 8us
  21. 3: 16us
  22. This property has to be a '/bits/ 8' value
  23. - adi,median-filter-size : 0: disabled
  24. 1: 4 measurements
  25. 2: 8 measurements
  26. 3: 16 measurements
  27. This property has to be a '/bits/ 8' value
  28. - adi,averaging : 0: 2 middle values (1 if median disabled)
  29. 1: 4 middle values
  30. 2: 8 middle values
  31. 3: 16 values
  32. This property has to be a '/bits/ 8' value
  33. - adi,conversion-interval: : 0 : convert one time only
  34. 1-255: 515us + val * 35us (up to 9.440ms)
  35. This property has to be a '/bits/ 8' value
  36. - gpio-controller : Switch AUX/VBAT/GPIO pin to GPIO mode
  37. Example:
  38. ad7879@2c {
  39. compatible = "adi,ad7879-1";
  40. reg = <0x2c>;
  41. interrupt-parent = <&gpio1>;
  42. interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
  43. touchscreen-max-pressure = <4096>;
  44. adi,resistance-plate-x = <120>;
  45. adi,first-conversion-delay = /bits/ 8 <3>;
  46. adi,acquisition-time = /bits/ 8 <1>;
  47. adi,median-filter-size = /bits/ 8 <2>;
  48. adi,averaging = /bits/ 8 <1>;
  49. adi,conversion-interval = /bits/ 8 <255>;
  50. };
  51. ad7879@1 {
  52. compatible = "adi,ad7879";
  53. spi-max-frequency = <5000000>;
  54. reg = <1>;
  55. spi-cpol;
  56. spi-cpha;
  57. gpio-controller;
  58. interrupt-parent = <&gpio1>;
  59. interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
  60. touchscreen-max-pressure = <4096>;
  61. adi,resistance-plate-x = <120>;
  62. adi,first-conversion-delay = /bits/ 8 <3>;
  63. adi,acquisition-time = /bits/ 8 <1>;
  64. adi,median-filter-size = /bits/ 8 <2>;
  65. adi,averaging = /bits/ 8 <1>;
  66. adi,conversion-interval = /bits/ 8 <255>;
  67. };