linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] Add ChromeOS Embedded Controller support
@ 2013-02-13  2:42 Simon Glass
  2013-02-13  2:42 ` [PATCH v2 1/6] mfd: Add ChromeOS EC messages header Simon Glass
                   ` (5 more replies)
  0 siblings, 6 replies; 16+ messages in thread
From: Simon Glass @ 2013-02-13  2:42 UTC (permalink / raw)
  To: LKML
  Cc: Samuel Ortiz, Simon Glass, Rob Landley, Felipe Balbi,
	Grant Likely, Luigi Semenzato, Rob Herring, Che-Liang Chiou,
	Jonathan Kliegman, linux-input, Greg Kroah-Hartman,
	devicetree-discuss, Mike A. Chan, Alban Bedel, Sourav Poddar,
	Tom Keel, Vincent Palatin, Javier Martinez Canillas, Mark Brown,
	linux-doc, Dmitry Torokhov, Tony Lindgren, Jun Nakajima,
	Bill Pemberton

The ChromeOS Embedded Controller (EC) is an Open Source EC implementation
used on ARM and Intel Chromebooks. Current implementations use a Cortex-M3
connected on a bus (such as I2C, SPI, LPC) to the AP. A separate interrupt
line is used to indicate when the EC needs service.

Functions performed by the EC vary by platform, but typically include
battery charging, keyboard scanning and power sequencing.

This series includes support for the EC message protocol, and implements
a matrix keyboard handler for Linux using the protocol. The EC performs
key scanning and passes scan data in response to AP requests. This is
used on the Samsung ARM Chromebook. No driver is available for LPC at
present.

This series can in principle operate on any hardware, but for it to actually
work on the Samsung ARM Chromebook, it needs patches which are currently in
progress to mainline: Exynos FDT interrupt support and I2C bus arbitration.

The driver is device-tree-enabled and a suitable binding is included in
this series. Example device tree nodes are included in the examples,
but no device tree patch for exynos5250-snow is provided at this stage, since
we must wait for the above-mentioned patches to land to avoid errors from
dtc. This can be added with a follow-on patch when that work is complete.

Changes in v2:
- Remove use of __devinit/__devexit
- Remove use of __devinit/__devexit
- Remove use of __devinit/__devexit
- Add new patch to decode matrix-keypad DT binding
- Remove use of __devinit/__devexit
- Use function to read matrix-keypad parameters from DT
- Remove key autorepeat parameters from DT binding and driver
- Use unsigned int for rows/cols

Simon Glass (6):
  mfd: Add ChromeOS EC messages header
  mfd: Add ChromeOS EC implementation
  mfd: Add ChromeOS EC I2C driver
  mfd: Add ChromeOS EC SPI driver
  Input: matrix-keymap: Add function to read the new DT binding
  Input: Add ChromeOS EC keyboard driver

 .../devicetree/bindings/input/cros-ec-keyb.txt     |   72 +
 Documentation/devicetree/bindings/mfd/cros-ec.txt  |   56 +
 drivers/input/keyboard/Kconfig                     |   12 +
 drivers/input/keyboard/Makefile                    |    1 +
 drivers/input/keyboard/cros_ec_keyb.c              |  394 ++++++
 drivers/input/keyboard/lpc32xx-keys.c              |   11 +-
 drivers/input/keyboard/omap4-keypad.c              |   16 +-
 drivers/input/keyboard/tca8418_keypad.c            |   11 +-
 drivers/input/matrix-keymap.c                      |   20 +
 drivers/mfd/Kconfig                                |   28 +
 drivers/mfd/Makefile                               |    3 +
 drivers/mfd/cros_ec.c                              |  219 ++++
 drivers/mfd/cros_ec_i2c.c                          |  262 ++++
 drivers/mfd/cros_ec_spi.c                          |  412 ++++++
 include/linux/input/matrix_keypad.h                |   11 +
 include/linux/mfd/cros_ec.h                        |  190 +++
 include/linux/mfd/cros_ec_commands.h               | 1369 ++++++++++++++++++++
 17 files changed, 3067 insertions(+), 20 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/cros-ec-keyb.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/cros-ec.txt
 create mode 100644 drivers/input/keyboard/cros_ec_keyb.c
 create mode 100644 drivers/mfd/cros_ec.c
 create mode 100644 drivers/mfd/cros_ec_i2c.c
 create mode 100644 drivers/mfd/cros_ec_spi.c
 create mode 100644 include/linux/mfd/cros_ec.h
 create mode 100644 include/linux/mfd/cros_ec_commands.h

-- 
1.8.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2013-02-16  3:58 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-13  2:42 [PATCH v2 0/6] Add ChromeOS Embedded Controller support Simon Glass
2013-02-13  2:42 ` [PATCH v2 1/6] mfd: Add ChromeOS EC messages header Simon Glass
2013-02-13  2:42 ` [PATCH v2 2/6] mfd: Add ChromeOS EC implementation Simon Glass
2013-02-13  3:35   ` Joe Perches
2013-02-16  3:58     ` Simon Glass
2013-02-13  2:42 ` [PATCH v2 3/6] mfd: Add ChromeOS EC I2C driver Simon Glass
2013-02-13  2:42 ` [PATCH v2 4/6] mfd: Add ChromeOS EC SPI driver Simon Glass
2013-02-13  2:42 ` [PATCH v2 5/6] Input: matrix-keymap: Add function to read the new DT binding Simon Glass
2013-02-13  5:32   ` a0131647
2013-02-13 19:43   ` Dmitry Torokhov
2013-02-14  5:40     ` Simon Glass
2013-02-13  2:42 ` [PATCH v2 6/6] Input: Add ChromeOS EC keyboard driver Simon Glass
2013-02-13 20:02   ` Dmitry Torokhov
2013-02-14  6:45     ` Simon Glass
2013-02-14 17:31       ` Dmitry Torokhov
2013-02-16  3:56         ` Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).