0001 * Tegra keyboard controller
0002 The key controller has maximum 24 pins to make matrix keypad. Any pin
0003 can be configured as row or column. The maximum column pin can be 8
0004 and maximum row pins can be 16 for Tegra20/Tegra30.
0005
0006 Required properties:
0007 - compatible: "nvidia,tegra20-kbc"
0008 - reg: Register base address of KBC.
0009 - interrupts: Interrupt number for the KBC.
0010 - nvidia,kbc-row-pins: The KBC pins which are configured as row. This is an
0011 array of pin numbers which is used as rows.
0012 - nvidia,kbc-col-pins: The KBC pins which are configured as column. This is an
0013 array of pin numbers which is used as column.
0014 - linux,keymap: The keymap for keys as described in the binding document
0015 devicetree/bindings/input/matrix-keymap.txt.
0016 - clocks: Must contain one entry, for the module clock.
0017 See ../clocks/clock-bindings.txt for details.
0018 - resets: Must contain an entry for each entry in reset-names.
0019 See ../reset/reset.txt for details.
0020 - reset-names: Must include the following entries:
0021 - kbc
0022
0023 Optional properties, in addition to those specified by the shared
0024 matrix-keyboard bindings:
0025
0026 - linux,fn-keymap: a second keymap, same specification as the
0027 matrix-keyboard-controller spec but to be used when the KEY_FN modifier
0028 key is pressed.
0029 - nvidia,debounce-delay-ms: delay in milliseconds per row scan for debouncing
0030 - nvidia,repeat-delay-ms: delay in milliseconds before repeat starts
0031 - nvidia,ghost-filter: enable ghost filtering for this device
0032 - wakeup-source: configure keyboard as a wakeup source for suspend/resume
0033 (Legacy property supported: "nvidia,wakeup-source")
0034
0035 Example:
0036
0037 keyboard: keyboard {
0038 compatible = "nvidia,tegra20-kbc";
0039 reg = <0x7000e200 0x100>;
0040 interrupts = <0 85 0x04>;
0041 clocks = <&tegra_car 36>;
0042 resets = <&tegra_car 36>;
0043 reset-names = "kbc";
0044 nvidia,ghost-filter;
0045 nvidia,debounce-delay-ms = <640>;
0046 nvidia,kbc-row-pins = <0 1 2>; /* pin 0, 1, 2 as rows */
0047 nvidia,kbc-col-pins = <11 12 13>; /* pin 11, 12, 13 as columns */
0048 linux,keymap = <0x00000074
0049 0x00010067
0050 0x00020066
0051 0x01010068
0052 0x02000069
0053 0x02010070
0054 0x02020071>;
0055 };