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