[PATCH 5/5] Input: Add ChromeOS EC keyboard driver

Dmitry Torokhov dmitry.torokhov at gmail.com
Thu Dec 20 05:16:43 EST 2012


On Wed, Dec 19, 2012 at 12:57:22PM +0000, Grant Likely wrote:
> On Fri, 14 Dec 2012 17:43:31 -0800, Dmitry Torokhov <dmitry.torokhov at gmail.com> wrote:
> > On Saturday, December 15, 2012 01:13:45 AM Grant Likely wrote:
> > > On Wed, 12 Dec 2012 13:33:48 -0800, Simon Glass <sjg at chromium.org> wrote:
> > > > Use the key-matrix layer to interpret key scan information from the EC
> > > > and inject input based on the FDT-supplied key map. This driver registers
> > > > itself with the ChromeOS EC driver to perform communications.
> > > > 
> > > > Additional FDT bindings are provided to specify rows/columns and the
> > > > auto-repeat information.
> > > > 
> > > > Signed-off-by: Simon Glass <sjg at chromium.org>
> > > > Signed-off-by: Luigi Semenzato <semenzato at chromium.org>
> > > > Signed-off-by: Vincent Palatin <vpalatin at chromium.org>
> > > > ---
> > > > 
> > > >  .../devicetree/bindings/input/cros-ec-keyb.txt     |   77 ++++
> > > >  drivers/input/keyboard/Kconfig                     |   10 +
> > > >  drivers/input/keyboard/Makefile                    |    1 +
> > > >  drivers/input/keyboard/cros_ec_keyb.c              |  413
> > > >  ++++++++++++++++++++ 4 files changed, 501 insertions(+), 0 deletions(-)
> > > >  create mode 100644
> > > >  Documentation/devicetree/bindings/input/cros-ec-keyb.txt
> > > >  create mode 100644 drivers/input/keyboard/cros_ec_keyb.c
> > > > 
> > > > diff --git a/Documentation/devicetree/bindings/input/cros-ec-keyb.txt
> > > > b/Documentation/devicetree/bindings/input/cros-ec-keyb.txt new file mode
> > > > 100644
> > > > index 0000000..67f51d8
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/input/cros-ec-keyb.txt
> > > > @@ -0,0 +1,77 @@
> > > > +ChromeOS EC Keyboard
> > > > +
> > > > +Google's ChromeOS EC Keyboard is a simple matrix keyboard implemented on
> > > > +a separate EC (Embedded Controller) device. It provides a message for
> > > > reading +key scans from the EC. These are then converted into keycodes
> > > > for processing +by the kernel.
> > > > +
> > > > +Required properties:
> > > > +- compatible: "google,cros-ec-keyb"
> > > > +- google,key-rows: Number of keyboard rows (must be <= 8)
> > > > +- google,key-columns: Number of keyboard columns (must be <= 13)
> > > > +- google,repeat-delay-ms: Key repeat delay in milliseconds
> > > > +- google,repeat-rate-ms: Key repeat rate in milliseconds
> > > 
> > > Hmmm, these should probably be in a common binding. Take a look at
> > > the other input bindings and make a proposal for properties to add to
> > > matrix-keymap.txt.
> > 
> > Actually these are not essentia for bringup and can be set from userspace,
> > so I'd say simply drop them.
> 
> Aren't they needed for a working keyboard? If so, I would really think
> they should be set correctly without userspace intervention.

I am sorry if I was unclear, but I was actually talking about the last
2: repeat-delay-ms and repeat-rate-ms. Input core has I believe sane
defaults (250 msec delay, 33 cps autorepeat) and user can adjust if
other rate is preferred.

Thanks.

-- 
Dmitry


More information about the devicetree-discuss mailing list