nvidia,tegra20-kbc.txt 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. Optional properties, in addition to those specified by the shared
  16. matrix-keyboard bindings:
  17. - linux,fn-keymap: a second keymap, same specification as the
  18. matrix-keyboard-controller spec but to be used when the KEY_FN modifier
  19. key is pressed.
  20. - nvidia,debounce-delay-ms: delay in milliseconds per row scan for debouncing
  21. - nvidia,repeat-delay-ms: delay in milliseconds before repeat starts
  22. - nvidia,ghost-filter: enable ghost filtering for this device
  23. - nvidia,wakeup-source: configure keyboard as a wakeup source for suspend/resume
  24. Example:
  25. keyboard: keyboard {
  26. compatible = "nvidia,tegra20-kbc";
  27. reg = <0x7000e200 0x100>;
  28. interrupts = <0 85 0x04>;
  29. nvidia,ghost-filter;
  30. nvidia,debounce-delay-ms = <640>;
  31. nvidia,kbc-row-pins = <0 1 2>; /* pin 0, 1, 2 as rows */
  32. nvidia,kbc-col-pins = <11 12 13>; /* pin 11, 12, 13 as columns */
  33. linux,keymap = <0x00000074
  34. 0x00010067
  35. 0x00020066
  36. 0x01010068
  37. 0x02000069
  38. 0x02010070
  39. 0x02020071>;
  40. };