cros_ec: Support the LDO access method used by spring
authorSimon Glass <sjg@chromium.org>
Mon, 3 Aug 2015 14:19:24 +0000 (08:19 -0600)
committerSimon Glass <sjg@chromium.org>
Thu, 6 Aug 2015 03:06:11 +0000 (21:06 -0600)
commitf48eaf01b2f7212987166aae970b895c7e215466
treebd88667c12601647c556c16d91cfd52b0c576850
parentcc456bd7df06225819258dec9d4a5047e8da4952
cros_ec: Support the LDO access method used by spring

Add a driver to support the special LDO access used by spring. This is a
custom method in the cros_ec protocol - it does not use an I2C
pass-through.

There are two implementation choices:

1. Write a special LDO driver which can talk across the EC. Duplicate all
the logic from TPS65090 for retrying when the LDO fails to come up.

2. Write a special I2C bus driver which pretends to be a TPS65090 and
transfers reads and writes using the LDO message.

Either is distasteful. The latter method is chosen since it results in less
code duplication and a fairly simple (30-line) implementation of the core
logic.

The crosec 'ldo' subcommand could be removed (since i2c md/mw will work
instead) but is retained as a convenience.

Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/i2c/Kconfig
drivers/i2c/Makefile
drivers/i2c/cros_ec_ldo.c [new file with mode: 0644]
drivers/misc/cros_ec.c
include/cros_ec.h