atmel-mxt-ts.txt 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. Atmel touch controller
  2. Required properties:
  3. - compatible : should be "atmel,mxt-ts"
  4. - reg : i2c slave address of the device
  5. - interrupt-parent : parent of interrupt
  6. - interrupts : touch sample interrupt to indicate presense or release
  7. of fingers on the panel.
  8. - atmel,panel-coords : touch panel minimum x, minimum y, maximum x and
  9. maximum y resolution
  10. - atmel,display-coords : LCD display minimum x, minimum y, maximum x and
  11. maximum y resolution
  12. - vdd_ana-supply : Analog power supply needed to power device
  13. - atmel,irq-gpio : irq gpio
  14. - atmel,reset-gpio : reset gpio
  15. - atmel,family-id : family identification of the controller
  16. - atmel,variant-id : variant identification of the controller
  17. - atmel,version : firmware version of the controller
  18. - atmel,build : firmware build number of the controller
  19. Required for firmware update only:
  20. - atmel,fw-name : firmware name to use for flashing firmware
  21. - atmel,bootldr-id : bootloader identification of the controller
  22. Optional property:
  23. - atmel,bl-addr : bootloader address, by default is looked up
  24. in mxt_slave_addresses structure
  25. - atmel,config : configuration parameter for the controller
  26. - atmel,i2c-pull-up : specify to indicate pull up is needed
  27. - vcc_i2c-supply : Power source required to pull up i2c bus
  28. - atmel,dig-reg-support : specify to indicate digital regulator is
  29. needed
  30. - atmel,need-calibration : specify to indicate whether calibration is
  31. needed during wakeup.
  32. - atmel,no-force-update : flag that signifies whether force configuration
  33. update is applicable or not
  34. - atmel,no-lpm-support : flag that signifies whether low power mode is
  35. supported or not on this platform
  36. Example:
  37. i2c@f9966000 {
  38. cell-index = <3>;
  39. compatible = "qcom,i2c-qup";
  40. reg = <0xf9966000 0x1000>;
  41. #address-cells = <1>;
  42. #size-cells = <0>;
  43. reg-names = "qup_phys_addr";
  44. interrupts = <0 104 0>;
  45. interrupt-names = "qup_err_intr";
  46. qcom,i2c-bus-freq = <100000>;
  47. qcom,i2c-src-freq = <24000000>;
  48. atmel_mxt_ts@4a {
  49. compatible = "atmel,mxt-ts";
  50. reg = <0x4a>
  51. interrupt-parent = <&msmgpio>
  52. interrupts = <48 0x0>;
  53. vdd_ana-supply = <&pm8941_l18>;
  54. vcc_i2c-supply = <&pm8941_lvs1>;
  55. atmel,panel-coords = <0 0 479 799>;
  56. atmel,display-coords = <0 0 479 799>;
  57. atmel,i2c-pull-up;
  58. atmel,no-force-update;
  59. atmel,dig-reg-support;
  60. atmel,key-codes = <
  61. 102 139 0 0 0 0 0 0
  62. 0 158 217 0 0 0 0 0
  63. 0 0 0 0 0 0 0 0
  64. 0 0 0 0 0 0 0 0 >;
  65. atmel,irq-gpio = <&msmgpio 48 0>;
  66. atmel,reset-gpio = <&msmgpio 26 0>;
  67. atmel,cfg_1 {
  68. atmel,family-id = <0x81>;
  69. atmel,variant-id = <0x01>;
  70. atmel,version = <0x10>;
  71. atmel,build = <0xaa>;
  72. atmel,config = [
  73. /* Object 6, Instance = 0 */
  74. 00 00 00 00 00 00
  75. /* Object 38, Instance = 0 */
  76. 15 00 02 10 08 0C 00 00
  77. /* Object 7, Instance = 0 */
  78. FF FF 32 03
  79. /* Object 8, Instance = 0 */
  80. 0F 00 0A 0A 00 00 0A 00 00 00
  81. /* Object 9, Instance = 0 */
  82. 83 00 00 18 0E 00 70 32 02 01
  83. 00 03 01 01 05 0A 0A 0A 90 05
  84. F8 02 00 00 0F 0F 00 00 48 2D
  85. 07 0C 00 00 00 00
  86. /* Object 15, Instance = 0 */
  87. 00 00 00 00 00 00 00 00 00 00
  88. 00
  89. /* Object 18, Instance = 0 */
  90. 00 00
  91. /* Object 19, Instance = 0 */
  92. 00 00 00 00 00 00
  93. /* Object 23, Instance = 0 */
  94. 00 00 00 00 00 00 00 00 00 00
  95. 00 00 00 00 00
  96. /* Object 25, Instance = 0 */
  97. 00 00 00 00 00 00 00 00 00 00
  98. 00 00 00 00 00
  99. /* Object 40, Instance = 0 */
  100. 00 00 00 00 00
  101. /* Object 42, Instance = 0 */
  102. 00 00 00 00 00 00 00 00 00 00
  103. /* Object 46, Instance = 0 */
  104. 00 00 10 10 00 00 03 00 00 01
  105. /* Object 47, Instance = 0 */
  106. 08 0A 28 0A 02 0A 00 8C 00 20
  107. 00 00 00
  108. /* Object 55, Instance = 0 */
  109. 00 00 00 00 00 00
  110. /* Object 56, Instance = 0 */
  111. 03 00 01 18 05 05 05 05 05 05
  112. 05 05 05 05 05 05 05 05 05 05
  113. 05 05 05 05 05 05 05 05 00 00
  114. 00 00 00 00 00 00 00 00 00 00
  115. 00 00
  116. /* Object 57, Instance = 0 */
  117. 00 00 00
  118. /* Object 61, Instance = 0 */
  119. 00 00 00 00 00
  120. /* Object 61, Instance = 1 */
  121. 00 00 00 00 00
  122. /* Object 62, Instance = 0 */
  123. 7F 03 00 16 00 00 00 00 00 00
  124. 04 08 10 18 05 00 0A 05 05 50
  125. 14 19 34 1A 64 00 00 04 40 00
  126. 00 00 00 00 30 32 02 00 01 00
  127. 05 00 00 00 00 00 00 00 00 00
  128. 00 00 0C 00
  129. ];
  130. }
  131. }
  132. };