Back to home page

OSCL-LXR

 
 

    


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 };