ste-href-tvk1281618-r3.dtsi 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * Device Tree for the TVK1281618 R3 user interface board (UIB)
  4. * also known as the "CYTTSP board"
  5. */
  6. #include <dt-bindings/interrupt-controller/irq.h>
  7. #include <dt-bindings/input/input.h>
  8. / {
  9. gpio_keys {
  10. compatible = "gpio-keys";
  11. #address-cells = <1>;
  12. #size-cells = <0>;
  13. vdd-supply = <&ab8500_ldo_aux1_reg>;
  14. pinctrl-names = "default";
  15. pinctrl-0 = <&hall_tvk_mode>;
  16. button@145 {
  17. /* Hall sensor */
  18. gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
  19. linux,code = <0>; /* SW_LID */
  20. label = "HED54XXU11 Hall Effect Sensor";
  21. };
  22. };
  23. soc {
  24. i2c@80004000 {
  25. tc35893@44 {
  26. compatible = "toshiba,tc35893";
  27. reg = <0x44>;
  28. interrupt-parent = <&gpio2>;
  29. interrupts = <0 IRQ_TYPE_EDGE_RISING>;
  30. pinctrl-names = "default";
  31. pinctrl-0 = <&tc35893_tvk_mode>;
  32. interrupt-controller;
  33. #interrupt-cells = <1>;
  34. status = "disabled";
  35. tc3589x_gpio {
  36. compatible = "toshiba,tc3589x-gpio";
  37. interrupts = <0>;
  38. interrupt-controller;
  39. #interrupt-cells = <2>;
  40. gpio-controller;
  41. #gpio-cells = <2>;
  42. };
  43. tc3589x_keypad {
  44. compatible = "toshiba,tc3589x-keypad";
  45. interrupts = <6>;
  46. debounce-delay-ms = <4>;
  47. keypad,num-columns = <8>;
  48. keypad,num-rows = <8>;
  49. linux,no-autorepeat;
  50. wakeup-source;
  51. linux,keymap = <MATRIX_KEY(3, 1, KEY_END)>,
  52. <MATRIX_KEY(4, 1, KEY_HOME)>,
  53. <MATRIX_KEY(6, 4, KEY_VOLUMEDOWN)>,
  54. <MATRIX_KEY(4, 2, KEY_EMAIL)>,
  55. <MATRIX_KEY(3, 3, KEY_RIGHT)>,
  56. <MATRIX_KEY(2, 5, KEY_BACKSPACE)>,
  57. <MATRIX_KEY(6, 7, KEY_MENU)>,
  58. <MATRIX_KEY(5, 0, KEY_ENTER)>,
  59. <MATRIX_KEY(4, 3, KEY_0)>,
  60. <MATRIX_KEY(3, 4, KEY_DOT)>,
  61. <MATRIX_KEY(5, 2, KEY_UP)>,
  62. <MATRIX_KEY(3, 5, KEY_DOWN)>,
  63. <MATRIX_KEY(4, 5, KEY_SEND)>,
  64. <MATRIX_KEY(0, 5, KEY_BACK)>,
  65. <MATRIX_KEY(6, 2, KEY_VOLUMEUP)>,
  66. <MATRIX_KEY(1, 3, KEY_SPACE)>,
  67. <MATRIX_KEY(7, 6, KEY_LEFT)>,
  68. <MATRIX_KEY(5, 5, KEY_SEARCH)>;
  69. };
  70. };
  71. };
  72. i2c@80128000 {
  73. accelerometer@19 {
  74. compatible = "st,lsm303dlhc-accel";
  75. st,drdy-int-pin = <1>;
  76. reg = <0x19>;
  77. vdd-supply = <&ab8500_ldo_aux1_reg>;
  78. vddio-supply = <&db8500_vsmps2_reg>;
  79. interrupt-parent = <&gpio2>;
  80. interrupts = <18 IRQ_TYPE_EDGE_RISING>,
  81. <19 IRQ_TYPE_EDGE_RISING>;
  82. pinctrl-names = "default";
  83. pinctrl-0 = <&accel_tvk_mode>;
  84. mount-matrix = "0", "-1", "0",
  85. "-1", "0", "0",
  86. "0", "0", "-1";
  87. };
  88. magnetometer@1e {
  89. compatible = "st,lsm303dlm-magn";
  90. reg = <0x1e>;
  91. vdd-supply = <&ab8500_ldo_aux1_reg>;
  92. vddio-supply = <&db8500_vsmps2_reg>;
  93. // This interrupt is not properly working with the driver
  94. // interrupt-parent = <&gpio1>;
  95. // interrupts = <0 IRQ_TYPE_EDGE_RISING>;
  96. pinctrl-names = "default";
  97. pinctrl-0 = <&magn_tvk_mode>;
  98. };
  99. gyroscope@68 {
  100. /* Gyroscope */
  101. compatible = "st,l3g4200d-gyro";
  102. reg = <0x68>;
  103. vdd-supply = <&ab8500_ldo_aux1_reg>;
  104. vddio-supply = <&db8500_vsmps2_reg>;
  105. };
  106. pressure@5c {
  107. /* Barometer/pressure sensor */
  108. compatible = "st,lps001wp-press";
  109. reg = <0x5c>;
  110. vdd-supply = <&ab8500_ldo_aux1_reg>;
  111. vddio-supply = <&db8500_vsmps2_reg>;
  112. };
  113. };
  114. spi@80111000 {
  115. num-cs = <1>;
  116. cs-gpios = <&gpio6 24 GPIO_ACTIVE_LOW>;
  117. pinctrl-names = "default";
  118. pinctrl-0 = <&spi2_default_mode>;
  119. status = "okay";
  120. touchscreen@0 {
  121. compatible = "cypress,cy8ctma340";
  122. /*
  123. * Actually the max frequency is 6 MHz, but over 2 MHz the
  124. * data rate needs to be restricted to max 2Mbps which the
  125. * SPI framework cannot handle.
  126. */
  127. spi-max-frequency = <2000000>;
  128. reg = <0>;
  129. interrupt-parent = <&gpio2>;
  130. interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
  131. vcpin-supply = <&ab8500_ldo_aux1_reg>;
  132. vdd-supply = <&db8500_vsmps2_reg>;
  133. reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
  134. touchscreen-size-x = <480>;
  135. touchscreen-size-y = <854>;
  136. active-interval-ms = <0>;
  137. touch-timeout-ms = <255>;
  138. lowpower-interval-ms = <10>;
  139. bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>;
  140. pinctrl-names = "default";
  141. pinctrl-0 = <&cyttsp_tvk_mode>;
  142. };
  143. };
  144. mcde@a0350000 {
  145. status = "okay";
  146. dsi@a0351000 {
  147. panel {
  148. compatible = "sony,acx424akp";
  149. reg = <0>;
  150. vddi-supply = <&ab8500_ldo_aux1_reg>;
  151. reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
  152. };
  153. };
  154. };
  155. pinctrl {
  156. hall {
  157. hall_tvk_mode: hall_tvk {
  158. tvk_cfg {
  159. pins = "GPIO145_C13";
  160. ste,config = <&gpio_in_pu>;
  161. };
  162. };
  163. };
  164. tc35893 {
  165. /* IRQ from the TC35893 */
  166. tc35893_tvk_mode: tc35893_tvk {
  167. tvk_cfg {
  168. pins = "GPIO64_F3";
  169. ste,config = <&gpio_in_pu>;
  170. };
  171. };
  172. };
  173. accelerometer {
  174. accel_tvk_mode: accel_tvk {
  175. /* Accelerometer interrupt lines 1 & 2 */
  176. tvk_cfg {
  177. pins = "GPIO82_C1", "GPIO83_D3";
  178. ste,config = <&gpio_in_pd>;
  179. };
  180. };
  181. };
  182. magnetometer {
  183. magn_tvk_mode: magn_tvk {
  184. /* GPIO 32 used for DRDY, pull this down */
  185. tvk_cfg {
  186. pins = "GPIO32_V2";
  187. ste,config = <&gpio_in_pd>;
  188. };
  189. };
  190. };
  191. cyttsp {
  192. cyttsp_tvk_mode: cyttsp_tvk {
  193. /* Touchscreen uses GPIO84 for IRQ */
  194. tvk_cfg1 {
  195. pins = "GPIO84_C2";
  196. ste,config = <&gpio_in_pu>;
  197. };
  198. /* GPIO143 is reset */
  199. tvk_cfg2 {
  200. pins = "GPIO143_D12";
  201. ste,config = <&gpio_out_hi>;
  202. };
  203. };
  204. };
  205. };
  206. };
  207. };