On 27/06/16 13:04, Peter Rosin wrote: > On 2016-06-23 17:59, Jon Hunter wrote: >> The I2C driver core for boards using device-tree assumes any subnode of >> an I2C adapter in the device-tree blob as being a 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 and to share these pins subnodes for >> representing these pins so they have be shared via the pinctrl framework >> are needed. >> >> To allow I2C adapters to have non-I2C specific subnodes in device-tree >> that are not parsed by the I2C driver core by adding support for a >> '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@xxxxxxxxxx> >> Acked-by: Thierry Reding <treding@xxxxxxxxxx> >> --- >> Documentation/devicetree/bindings/i2c/i2c.txt | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/i2c/i2c.txt b/Documentation/devicetree/bindings/i2c/i2c.txt >> index f31b2ad1552b..71bea55d4c1b 100644 >> --- a/Documentation/devicetree/bindings/i2c/i2c.txt >> +++ b/Documentation/devicetree/bindings/i2c/i2c.txt >> @@ -32,6 +32,14 @@ wants to support one of the below features, it should adapt the bindings below. >> - clock-frequency >> frequency of bus clock in Hz. >> >> +- i2c-bus >> + For I2C adapters that have child nodes that are a mixture of both I2C >> + devices and non-I2C devices (such as a pin controller), the 'i2c-bus' >> + subnode can be used for populating I2C devices. If the 'i2c-bus' >> + subnode is present, only subnodes of this will be considered as I2C >> + slaves. The properties, '#address-cells' and '#size-cells' must be >> + defined under this subnode if present. > > Hmmm, those #-properties are listed above, under "Required properties", which > is no longer 100% true. Maybe rephrase to > > slaves. The required properties '#address-cells' and '#size-cells' > must be defined under this subnode instead, if this subnode is present. > > to make the rules (even) clearer? I see what you are saying but I wonder if the following is better ... slaves. The required properties '#address-cells' and '#size-cells' must be defined under this subnode if present and not the parent node. Cheers Jon -- nvpublic -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html