Message ID | 20200528093322.23553-3-Sergey.Semin@baikalelectronics.ru (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | i2c: designeware: Add Baikal-T1 System I2C support | expand |
On Thu, 28 May 2020 12:33:12 +0300, Serge Semin wrote: > dtc currently doesn't support I2C_OWN_SLAVE_ADDRESS flag set in the > i2c "reg" property. If dtc finds an i2c-slave sub-node having an address > higher than ten-bits wide it'll print an ugly warning: > > Warning (i2c_bus_reg): /example-2/i2c@1120000/eeprom@64: I2C bus unit address format error, expected "40000064" > Warning (i2c_bus_reg): /example-2/i2c@1120000/eeprom@64:reg: I2C address must be less than 10-bits, got "0x40000064" > > In order to silence dtc up let's replace the corresponding DT binding > example with a normal DW I2C master mode-based one. It's done by clearing > the I2C_OWN_SLAVE_ADDRESS bit in the reg property and converting the > sub-node to be compatible with normal EEPROM like "atmel,24c02". > > Just revert this commit when dtc is fixed. > > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> > Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru> > Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > Cc: Mika Westerberg <mika.westerberg@linux.intel.com> > Cc: linux-mips@vger.kernel.org > > --- > > Rob, even though you asked for such modification, it might be a better to > just ignore the warning until dtc is properly fixed. Andy and me agree > with that. If you are also on the same side with us, just explicitly nack > this patch so Jarkko or Wolfram would ignore it when merging in the series. > > Changelog v3: > - This is a new patch created as a result of the Rob request to remove > the EEPROM-slave bit setting in the DT binndings example until the dtc > is fixed. > > Changelog v6: > - Replace the "linux,slave-24c02" compatible string with "atmel,24c02" one > so the example would be perceived as a normal DW I2C master mode. > --- > .../devicetree/bindings/i2c/snps,designware-i2c.yaml | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > Reviewed-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml b/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml index 4bd430b2b41d..dff3f267bdee 100644 --- a/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml @@ -136,8 +136,8 @@ examples: interrupts = <0>; eeprom@64 { - compatible = "linux,slave-24c02"; - reg = <0x40000064>; + compatible = "atmel,24c02"; + reg = <0x64>; }; }; - |
dtc currently doesn't support I2C_OWN_SLAVE_ADDRESS flag set in the i2c "reg" property. If dtc finds an i2c-slave sub-node having an address higher than ten-bits wide it'll print an ugly warning: Warning (i2c_bus_reg): /example-2/i2c@1120000/eeprom@64: I2C bus unit address format error, expected "40000064" Warning (i2c_bus_reg): /example-2/i2c@1120000/eeprom@64:reg: I2C address must be less than 10-bits, got "0x40000064" In order to silence dtc up let's replace the corresponding DT binding example with a normal DW I2C master mode-based one. It's done by clearing the I2C_OWN_SLAVE_ADDRESS bit in the reg property and converting the sub-node to be compatible with normal EEPROM like "atmel,24c02". Just revert this commit when dtc is fixed. Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Mika Westerberg <mika.westerberg@linux.intel.com> Cc: linux-mips@vger.kernel.org --- Rob, even though you asked for such modification, it might be a better to just ignore the warning until dtc is properly fixed. Andy and me agree with that. If you are also on the same side with us, just explicitly nack this patch so Jarkko or Wolfram would ignore it when merging in the series. Changelog v3: - This is a new patch created as a result of the Rob request to remove the EEPROM-slave bit setting in the DT binndings example until the dtc is fixed. Changelog v6: - Replace the "linux,slave-24c02" compatible string with "atmel,24c02" one so the example would be perceived as a normal DW I2C master mode. --- .../devicetree/bindings/i2c/snps,designware-i2c.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)