~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml (Version linux-6.12-rc7) and /Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml (Version linux-5.11.22)


  1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-C      1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2 %YAML 1.2                                           2 %YAML 1.2
  3 ---                                                 3 ---
  4                                                     4 
  5 $id: http://devicetree.org/schemas/input/googl      5 $id: http://devicetree.org/schemas/input/google,cros-ec-keyb.yaml#
  6 $schema: http://devicetree.org/meta-schemas/co      6 $schema: http://devicetree.org/meta-schemas/core.yaml#
  7                                                     7 
  8 title: ChromeOS EC Keyboard                         8 title: ChromeOS EC Keyboard
  9                                                     9 
 10 maintainers:                                       10 maintainers:
 11   - Simon Glass <sjg@chromium.org>                  11   - Simon Glass <sjg@chromium.org>
 12   - Benson Leung <bleung@chromium.org>              12   - Benson Leung <bleung@chromium.org>
                                                   >>  13   - Enric Balletbo i Serra <enric.balletbo@collabora.com>
 13                                                    14 
 14 description: |                                     15 description: |
 15   Google's ChromeOS EC Keyboard is a simple ma     16   Google's ChromeOS EC Keyboard is a simple matrix keyboard
 16   implemented on a separate EC (Embedded Contr     17   implemented on a separate EC (Embedded Controller) device. It provides
 17   a message for reading key scans from the EC.     18   a message for reading key scans from the EC. These are then converted
 18   into keycodes for processing by the kernel.  !!  19   into keycodes for processing by the kernel.
 19   switches/buttons like power and volume butto !!  20 
                                                   >>  21 allOf:
                                                   >>  22   - $ref: "/schemas/input/matrix-keymap.yaml#"
 20                                                    23 
 21 properties:                                        24 properties:
 22   compatible:                                      25   compatible:
 23     oneOf:                                     !!  26     const: google,cros-ec-keyb
 24       - description: ChromeOS EC with only but << 
 25         const: google,cros-ec-keyb-switches    << 
 26       - description: ChromeOS EC with keyboard << 
 27         const: google,cros-ec-keyb             << 
 28                                                    27 
 29   google,needs-ghost-filter:                       28   google,needs-ghost-filter:
 30     description:                                   29     description:
 31       Enable a ghost filter for the matrix key     30       Enable a ghost filter for the matrix keyboard. This is recommended
 32       if the EC does not have its own logic or     31       if the EC does not have its own logic or hardware for this.
 33     type: boolean                                  32     type: boolean
 34                                                    33 
 35   function-row-physmap:                        << 
 36     $ref: /schemas/types.yaml#/definitions/uin << 
 37     minItems: 1                                << 
 38     maxItems: 15                               << 
 39     description: |                             << 
 40       An ordered u32 array describing the rows << 
 41       of top row keys from physical left (KEY_ << 
 42       encodes the row/column as:               << 
 43       (((row) & 0xFF) << 24) | (((column) & 0x << 
 44       where the lower 16 bits are reserved. Th << 
 45       when the keyboard has a custom design fo << 
 46                                                << 
 47 dependencies:                                  << 
 48   function-row-physmap: [ 'linux,keymap' ]     << 
 49   google,needs-ghost-filter: [ 'linux,keymap'  << 
 50                                                << 
 51 required:                                          34 required:
 52   - compatible                                     35   - compatible
 53                                                    36 
 54 if:                                            << 
 55   properties:                                  << 
 56     compatible:                                << 
 57       contains:                                << 
 58         const: google,cros-ec-keyb             << 
 59 then:                                          << 
 60   $ref: /schemas/input/matrix-keymap.yaml#     << 
 61   required:                                    << 
 62     - keypad,num-rows                          << 
 63     - keypad,num-columns                       << 
 64     - linux,keymap                             << 
 65                                                << 
 66 unevaluatedProperties: false                       37 unevaluatedProperties: false
 67                                                    38 
 68 examples:                                          39 examples:
 69   - |                                              40   - |
 70     #include <dt-bindings/input/input.h>       !!  41     cros-ec-keyb {
 71     keyboard-controller {                      << 
 72         compatible = "google,cros-ec-keyb";        42         compatible = "google,cros-ec-keyb";
 73         keypad,num-rows = <8>;                     43         keypad,num-rows = <8>;
 74         keypad,num-columns = <13>;                 44         keypad,num-columns = <13>;
 75         google,needs-ghost-filter;                 45         google,needs-ghost-filter;
 76         function-row-physmap = <               << 
 77             MATRIX_KEY(0x00, 0x02, 0)   /* T1  << 
 78             MATRIX_KEY(0x03, 0x02, 0)   /* T2  << 
 79             MATRIX_KEY(0x02, 0x02, 0)   /* T3  << 
 80             MATRIX_KEY(0x01, 0x02, 0)   /* T4  << 
 81             MATRIX_KEY(0x03, 0x04, 0)   /* T5  << 
 82             MATRIX_KEY(0x02, 0x04, 0)   /* T6  << 
 83             MATRIX_KEY(0x01, 0x04, 0)   /* T7  << 
 84             MATRIX_KEY(0x02, 0x09, 0)   /* T8  << 
 85             MATRIX_KEY(0x01, 0x09, 0)   /* T9  << 
 86             MATRIX_KEY(0x00, 0x04, 0)   /* T10 << 
 87         >;                                     << 
 88         /*                                         46         /*
 89          * Keymap entries take the form of 0xR     47          * Keymap entries take the form of 0xRRCCKKKK where
 90          * RR=Row CC=Column KKKK=Key Code          48          * RR=Row CC=Column KKKK=Key Code
 91          * The values below are for a US keybo     49          * The values below are for a US keyboard layout and
 92          * are taken from the Linux driver. No     50          * are taken from the Linux driver. Note that the
 93          * 102ND key is not used for US keyboa     51          * 102ND key is not used for US keyboards.
 94          */                                        52          */
 95         linux,keymap = <                           53         linux,keymap = <
 96             /* CAPSLCK F1         B          F     54             /* CAPSLCK F1         B          F10     */
 97             0x0001003a 0x0002003b 0x00030030 0     55             0x0001003a 0x0002003b 0x00030030 0x00040044
 98             /* N       =          R_ALT      E     56             /* N       =          R_ALT      ESC     */
 99             0x00060031 0x0008000d 0x000a0064 0     57             0x00060031 0x0008000d 0x000a0064 0x01010001
100             /* F4      G          F7         H     58             /* F4      G          F7         H       */
101             0x0102003e 0x01030022 0x01040041 0     59             0x0102003e 0x01030022 0x01040041 0x01060023
102             /* '       F9         BKSPACE    L     60             /* '       F9         BKSPACE    L_CTRL  */
103             0x01080028 0x01090043 0x010b000e 0     61             0x01080028 0x01090043 0x010b000e 0x0200001d
104             /* TAB     F3         T          F     62             /* TAB     F3         T          F6      */
105             0x0201000f 0x0202003d 0x02030014 0     63             0x0201000f 0x0202003d 0x02030014 0x02040040
106             /* ]       Y          102ND      [     64             /* ]       Y          102ND      [       */
107             0x0205001b 0x02060015 0x02070056 0     65             0x0205001b 0x02060015 0x02070056 0x0208001a
108             /* F8      GRAVE      F2         5     66             /* F8      GRAVE      F2         5       */
109             0x02090042 0x03010029 0x0302003c 0     67             0x02090042 0x03010029 0x0302003c 0x03030006
110             /* F5      6          -          \     68             /* F5      6          -          \       */
111             0x0304003f 0x03060007 0x0308000c 0     69             0x0304003f 0x03060007 0x0308000c 0x030b002b
112             /* R_CTRL  A          D          F     70             /* R_CTRL  A          D          F       */
113             0x04000061 0x0401001e 0x04020020 0     71             0x04000061 0x0401001e 0x04020020 0x04030021
114             /* S       K          J          ;     72             /* S       K          J          ;       */
115             0x0404001f 0x04050025 0x04060024 0     73             0x0404001f 0x04050025 0x04060024 0x04080027
116             /* L       ENTER      Z          C     74             /* L       ENTER      Z          C       */
117             0x04090026 0x040b001c 0x0501002c 0     75             0x04090026 0x040b001c 0x0501002c 0x0502002e
118             /* V       X          ,          M     76             /* V       X          ,          M       */
119             0x0503002f 0x0504002d 0x05050033 0     77             0x0503002f 0x0504002d 0x05050033 0x05060032
120             /* L_SHIFT /          .          S     78             /* L_SHIFT /          .          SPACE   */
121             0x0507002a 0x05080035 0x05090034 0     79             0x0507002a 0x05080035 0x05090034 0x050B0039
122             /* 1       3          4          2     80             /* 1       3          4          2       */
123             0x06010002 0x06020004 0x06030005 0     81             0x06010002 0x06020004 0x06030005 0x06040003
124             /* 8       7          0          9     82             /* 8       7          0          9       */
125             0x06050009 0x06060008 0x0608000b 0     83             0x06050009 0x06060008 0x0608000b 0x0609000a
126             /* L_ALT   DOWN       RIGHT      Q     84             /* L_ALT   DOWN       RIGHT      Q       */
127             0x060a0038 0x060b006c 0x060c006a 0     85             0x060a0038 0x060b006c 0x060c006a 0x07010010
128             /* E       R          W          I     86             /* E       R          W          I       */
129             0x07020012 0x07030013 0x07040011 0     87             0x07020012 0x07030013 0x07040011 0x07050017
130             /* U       R_SHIFT    P          O     88             /* U       R_SHIFT    P          O       */
131             0x07060016 0x07070036 0x07080019 0     89             0x07060016 0x07070036 0x07080019 0x07090018
132             /* UP      LEFT    */                  90             /* UP      LEFT    */
133             0x070b0067 0x070c0069>;                91             0x070b0067 0x070c0069>;
134     };                                             92     };
135   - |                                          << 
136     /* No matrix keyboard, just buttons/switch << 
137     keyboard-controller {                      << 
138         compatible = "google,cros-ec-keyb-swit << 
139     };                                         << 
140 ...                                            << 
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php