nvidia,tegra20-kbc.txt 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. * Tegra keyboard controller
  2. The key controller has maximum 24 pins to make matrix keypad. Any pin
  3. can be configured as row or column. The maximum column pin can be 8
  4. and maximum row pins can be 16 for Tegra20/Tegra30.
  5. Required properties:
  6. - compatible: "nvidia,tegra20-kbc"
  7. - reg: Register base address of KBC.
  8. - interrupts: Interrupt number for the KBC.
  9. - nvidia,kbc-row-pins: The KBC pins which are configured as row. This is an
  10. array of pin numbers which is used as rows.
  11. - nvidia,kbc-col-pins: The KBC pins which are configured as column. This is an
  12. array of pin numbers which is used as column.
  13. - linux,keymap: The keymap for keys as described in the binding document
  14. devicetree/bindings/input/matrix-keymap.txt.
  15. - clocks: Must contain one entry, for the module clock.
  16. See ../clocks/clock-bindings.txt for details.
  17. - resets: Must contain an entry for each entry in reset-names.
  18. See ../reset/reset.txt for details.
  19. - reset-names: Must include the following entries:
  20. - kbc
  21. Optional properties, in addition to those specified by the shared
  22. matrix-keyboard bindings:
  23. - linux,fn-keymap: a second keymap, same specification as the
  24. matrix-keyboard-controller spec but to be used when the KEY_FN modifier
  25. key is pressed.
  26. - nvidia,debounce-delay-ms: delay in milliseconds per row scan for debouncing
  27. - nvidia,repeat-delay-ms: delay in milliseconds before repeat starts
  28. - nvidia,ghost-filter: enable ghost filtering for this device
  29. - wakeup-source: configure keyboard as a wakeup source for suspend/resume
  30. (Legacy property supported: "nvidia,wakeup-source")
  31. Example:
  32. keyboard: keyboard {
  33. compatible = "nvidia,tegra20-kbc";
  34. reg = <0x7000e200 0x100>;
  35. interrupts = <0 85 0x04>;
  36. clocks = <&tegra_car 36>;
  37. resets = <&tegra_car 36>;
  38. reset-names = "kbc";
  39. nvidia,ghost-filter;
  40. nvidia,debounce-delay-ms = <640>;
  41. nvidia,kbc-row-pins = <0 1 2>; /* pin 0, 1, 2 as rows */
  42. nvidia,kbc-col-pins = <11 12 13>; /* pin 11, 12, 13 as columns */
  43. linux,keymap = <0x00000074
  44. 0x00010067
  45. 0x00020066
  46. 0x01010068
  47. 0x02000069
  48. 0x02010070
  49. 0x02020071>;
  50. };