Home | History | Annotate | Download | only in dts
      1 /*
      2  * Keyboard dts fragment for devices that use cros-ec-keyboard
      3  *
      4  * Copyright (c) 2014 Google, Inc
      5  *
      6  * This program is free software; you can redistribute it and/or modify
      7  * it under the terms of the GNU General Public License version 2 as
      8  * published by the Free Software Foundation.
      9 */
     10 
     11 #include <dt-bindings/input/input.h>
     12 
     13 &cros_ec {
     14 	keyboard-controller {
     15 		compatible = "google,cros-ec-keyb";
     16 		keypad,num-rows = <8>;
     17 		keypad,num-columns = <13>;
     18 		google,needs-ghost-filter;
     19 
     20 		linux,keymap = <
     21 			MATRIX_KEY(0x00, 0x01, KEY_LEFTMETA)
     22 			MATRIX_KEY(0x00, 0x02, KEY_F1)
     23 			MATRIX_KEY(0x00, 0x03, KEY_B)
     24 			MATRIX_KEY(0x00, 0x04, KEY_F10)
     25 			MATRIX_KEY(0x00, 0x06, KEY_N)
     26 			MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
     27 			MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)
     28 
     29 			MATRIX_KEY(0x01, 0x01, KEY_ESC)
     30 			MATRIX_KEY(0x01, 0x02, KEY_F4)
     31 			MATRIX_KEY(0x01, 0x03, KEY_G)
     32 			MATRIX_KEY(0x01, 0x04, KEY_F7)
     33 			MATRIX_KEY(0x01, 0x06, KEY_H)
     34 			MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
     35 			MATRIX_KEY(0x01, 0x09, KEY_F9)
     36 			MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
     37 
     38 			MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
     39 			MATRIX_KEY(0x02, 0x01, KEY_TAB)
     40 			MATRIX_KEY(0x02, 0x02, KEY_F3)
     41 			MATRIX_KEY(0x02, 0x03, KEY_T)
     42 			MATRIX_KEY(0x02, 0x04, KEY_F6)
     43 			MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE)
     44 			MATRIX_KEY(0x02, 0x06, KEY_Y)
     45 			MATRIX_KEY(0x02, 0x07, KEY_102ND)
     46 			MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
     47 			MATRIX_KEY(0x02, 0x09, KEY_F8)
     48 
     49 			MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
     50 			MATRIX_KEY(0x03, 0x02, KEY_F2)
     51 			MATRIX_KEY(0x03, 0x03, KEY_5)
     52 			MATRIX_KEY(0x03, 0x04, KEY_F5)
     53 			MATRIX_KEY(0x03, 0x06, KEY_6)
     54 			MATRIX_KEY(0x03, 0x08, KEY_MINUS)
     55 			MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
     56 
     57 			MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
     58 			MATRIX_KEY(0x04, 0x01, KEY_A)
     59 			MATRIX_KEY(0x04, 0x02, KEY_D)
     60 			MATRIX_KEY(0x04, 0x03, KEY_F)
     61 			MATRIX_KEY(0x04, 0x04, KEY_S)
     62 			MATRIX_KEY(0x04, 0x05, KEY_K)
     63 			MATRIX_KEY(0x04, 0x06, KEY_J)
     64 			MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON)
     65 			MATRIX_KEY(0x04, 0x09, KEY_L)
     66 			MATRIX_KEY(0x04, 0x0a, KEY_BACKSLASH)
     67 			MATRIX_KEY(0x04, 0x0b, KEY_ENTER)
     68 
     69 			MATRIX_KEY(0x05, 0x01, KEY_Z)
     70 			MATRIX_KEY(0x05, 0x02, KEY_C)
     71 			MATRIX_KEY(0x05, 0x03, KEY_V)
     72 			MATRIX_KEY(0x05, 0x04, KEY_X)
     73 			MATRIX_KEY(0x05, 0x05, KEY_COMMA)
     74 			MATRIX_KEY(0x05, 0x06, KEY_M)
     75 			MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT)
     76 			MATRIX_KEY(0x05, 0x08, KEY_SLASH)
     77 			MATRIX_KEY(0x05, 0x09, KEY_DOT)
     78 			MATRIX_KEY(0x05, 0x0b, KEY_SPACE)
     79 
     80 			MATRIX_KEY(0x06, 0x01, KEY_1)
     81 			MATRIX_KEY(0x06, 0x02, KEY_3)
     82 			MATRIX_KEY(0x06, 0x03, KEY_4)
     83 			MATRIX_KEY(0x06, 0x04, KEY_2)
     84 			MATRIX_KEY(0x06, 0x05, KEY_8)
     85 			MATRIX_KEY(0x06, 0x06, KEY_7)
     86 			MATRIX_KEY(0x06, 0x08, KEY_0)
     87 			MATRIX_KEY(0x06, 0x09, KEY_9)
     88 			MATRIX_KEY(0x06, 0x0a, KEY_LEFTALT)
     89 			MATRIX_KEY(0x06, 0x0b, KEY_DOWN)
     90 			MATRIX_KEY(0x06, 0x0c, KEY_RIGHT)
     91 
     92 			MATRIX_KEY(0x07, 0x01, KEY_Q)
     93 			MATRIX_KEY(0x07, 0x02, KEY_E)
     94 			MATRIX_KEY(0x07, 0x03, KEY_R)
     95 			MATRIX_KEY(0x07, 0x04, KEY_W)
     96 			MATRIX_KEY(0x07, 0x05, KEY_I)
     97 			MATRIX_KEY(0x07, 0x06, KEY_U)
     98 			MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT)
     99 			MATRIX_KEY(0x07, 0x08, KEY_P)
    100 			MATRIX_KEY(0x07, 0x09, KEY_O)
    101 			MATRIX_KEY(0x07, 0x0b, KEY_UP)
    102 			MATRIX_KEY(0x07, 0x0c, KEY_LEFT)
    103 		>;
    104 	};
    105 };
    106