~ [ 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.19.17)


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