dt-bindings: i2c: Add support for 'i2c-bus' subnode
authorJon Hunter <jonathanh@nvidia.com>
Wed, 29 Jun 2016 09:17:52 +0000 (10:17 +0100)
committerThierry Reding <treding@nvidia.com>
Thu, 30 Jun 2016 09:01:13 +0000 (11:01 +0200)
commit98b00488459e9d27d8e42b6d241f309f26ffde07
tree9d395e7670fed514074e81afc5368d974826b764
parent1a695a905c18548062509178b98bc91e67510864
dt-bindings: i2c: Add support for 'i2c-bus' subnode

The I2C driver core for boards using device-tree assumes any subnode of
an I2C adapter in the device-tree blob is an I2C slave device. Although
this makes complete sense, some I2C adapters may have subnodes which
are not I2C slaves but subnodes presenting other features. For example
some Tegra devices have an I2C interface which may share its pins with
other devices. In order to share these pins using the pinctrl framework,
it is necessary to add subnodes to the I2C device node that represent
these pins.

To allow I2C adapters to have non-I2C specific subnodes in device-tree
that are not parsed by the I2C driver core, add support for an optional
'i2c-bus' subnode where I2C slaves can be placed. If the 'i2c-bus'
subnode is present then all I2C slaves must be placed under this
subnode.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Documentation/devicetree/bindings/i2c/i2c.txt