[PATCH v4 1/3] i2c: mux: Add i2c-arbitrator-cros-ec 'mux' driver

Doug Anderson dianders at chromium.org
Wed Mar 27 07:23:49 EST 2013


Wolfram,

On Wed, Mar 13, 2013 at 9:36 AM, Doug Anderson <dianders at chromium.org> wrote:
> The i2c-arbitrator-cros-ec driver implements the arbitration scheme
> that the Embedded Controller (EC) on the ARM Chromebook expects to use
> for bus multimastering.  This i2c-arbitrator-cros-ec driver could also
> be used in other places where standard I2C bus arbitration can't be
> used and two extra GPIOs are available for arbitration.
>
> This driver is based on code that Simon Glass added to the i2c-s3c2410
> driver in the Chrome OS kernel 3.4 tree.  The current incarnation as a
> mux driver is as suggested by Grant Likely.  See
> <https://patchwork.kernel.org/patch/1877311/> for some history.
>
> Signed-off-by: Doug Anderson <dianders at chromium.org>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> Signed-off-by: Naveen Krishna Chatradhi <ch.naveen at samsung.com>
> Reviewed-by: Stephen Warren <swarren at nvidia.com>
> Tested-by: Naveen Krishna Chatradhi <ch.naveen at samsung.com>
> ---
> Changes in v4: None
> Changes in v3:
> - Handle of_find_i2c_adapter_by_node() failure more properly by
>   changing init order.
> - Don't warn on -EPROBE_DEFER from calls that could return it.
> - Move to module_platform_driver().  As we pull in parts of the system
>   that rely on devices under this i2c bus we'll need to make sure they
>   can handle the fact that they'll be initted later now.
>
> Changes in v2:
> - Renamed to i2c-arbitrator-cros-ec.
> - Documented "microsecond" properties as optional; removed
>   "bus-arbitration" prefix since it was just extra wordy.
> - Split GPIOs into two properties to make it cleaner.
> - Capitalized I2C in freeform text.
> - Get 'active low' from device tree.
>
>  .../bindings/i2c/i2c-arbitrator-cros-ec.txt        |  76 +++++++
>  drivers/i2c/muxes/Kconfig                          |  11 +
>  drivers/i2c/muxes/Makefile                         |   2 +
>  drivers/i2c/muxes/i2c-arbitrator-cros-ec.c         | 222 +++++++++++++++++++++
>  4 files changed, 311 insertions(+)

I'm still looking for some feedback about this patch.  Should I ask
another maintainer to review / pick it up or are you planning on
reviewing / picking up once you have some time?  The lack of this
patch blocks access to quite a few important devices on the ARM
Chromebook.

Note: I'd expect that "dts" parts of this patchset would be picked up
by Kukjin once the main code lands.

Thanks!  :)

-Doug


More information about the devicetree-discuss mailing list