brcm,iproc-touchscreen.txt 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. * Broadcom's IPROC Touchscreen Controller
  2. Required properties:
  3. - compatible: must be "brcm,iproc-touchscreen"
  4. - ts_syscon: handler of syscon node defining physical base
  5. address of the controller and length of memory mapped region.
  6. If this property is selected please make sure MFD_SYSCON config
  7. is enabled in the defconfig file.
  8. - clocks: The clock provided by the SOC to driver the tsc
  9. - clock-names: name for the clock
  10. - interrupts: The touchscreen controller's interrupt
  11. - address-cells: Specify the number of u32 entries needed in child nodes.
  12. Should set to 1.
  13. - size-cells: Specify number of u32 entries needed to specify child nodes size
  14. in reg property. Should set to 1.
  15. Optional properties:
  16. - scanning_period: Time between scans. Each step is 1024 us. Valid 1-256.
  17. - debounce_timeout: Each step is 512 us. Valid 0-255
  18. - settling_timeout: The settling duration (in ms) is the amount of time
  19. the tsc waits to allow the voltage to settle after
  20. turning on the drivers in detection mode.
  21. Valid values: 0-11
  22. 0 = 0.008 ms
  23. 1 = 0.01 ms
  24. 2 = 0.02 ms
  25. 3 = 0.04 ms
  26. 4 = 0.08 ms
  27. 5 = 0.16 ms
  28. 6 = 0.32 ms
  29. 7 = 0.64 ms
  30. 8 = 1.28 ms
  31. 9 = 2.56 ms
  32. 10 = 5.12 ms
  33. 11 = 10.24 ms
  34. - touch_timeout: The continuous number of scan periods in which touch is
  35. not detected before the controller returns to idle state.
  36. Valid values 0-255.
  37. - average_data: Number of data samples which are averaged before a final
  38. data point is placed into the FIFO
  39. Valid values 0-7
  40. 0 = 1 sample
  41. 1 = 2 samples
  42. 2 = 4 samples
  43. 3 = 8 samples
  44. 4 = 16 samples
  45. 5 = 32 samples
  46. 6 = 64 samples
  47. 7 = 128 samples
  48. - fifo_threshold: Interrupt is generated whenever the number of fifo
  49. entries exceeds this value
  50. Valid values 0-31
  51. - touchscreen-size-x: horizontal resolution of touchscreen (in pixels)
  52. - touchscreen-size-y: vertical resolution of touchscreen (in pixels)
  53. - touchscreen-fuzz-x: horizontal noise value of the absolute input
  54. device (in pixels)
  55. - touchscreen-fuzz-y: vertical noise value of the absolute input
  56. device (in pixels)
  57. - touchscreen-inverted-x: X axis is inverted (boolean)
  58. - touchscreen-inverted-y: Y axis is inverted (boolean)
  59. Example: An example of touchscreen node
  60. ts_adc_syscon: ts_adc_syscon@180a6000 {
  61. compatible = "brcm,iproc-ts-adc-syscon","syscon";
  62. reg = <0x180a6000 0xc30>;
  63. };
  64. touchscreen: touchscreen@180A6000 {
  65. compatible = "brcm,iproc-touchscreen";
  66. #address-cells = <1>;
  67. #size-cells = <1>;
  68. ts_syscon = <&ts_adc_syscon>;
  69. clocks = <&adc_clk>;
  70. clock-names = "tsc_clk";
  71. interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
  72. scanning_period = <5>;
  73. debounce_timeout = <40>;
  74. settling_timeout = <7>;
  75. touch_timeout = <10>;
  76. average_data = <5>;
  77. fifo_threshold = <1>;
  78. /* Touchscreen is rotated 180 degrees. */
  79. touchscreen-inverted-x;
  80. touchscreen-inverted-y;
  81. };