Re: [PATCH v4 02/11] dt-bindings: i2c: Discard i2c-slave flag from the DW I2C example

From: Serge Semin
Date: Thu May 28 2020 - 04:39:30 EST


On Wed, May 27, 2020 at 08:56:24PM +0300, Andy Shevchenko wrote:
> On Wed, May 27, 2020 at 08:18:41PM +0300, Serge Semin wrote:
> > On Wed, May 27, 2020 at 11:12:04AM -0600, Rob Herring wrote:
> > > On Wed, May 27, 2020 at 03:01:02PM +0300, Serge Semin wrote:
> > > > dtc currently doesn't support I2C_OWN_SLAVE_ADDRESS flag set in the
> > > > i2c "reg" property. If it is the compiler will print a 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 discard the flag from the DW I2C DT
> > > > binding example for now. Just revert this commit when dtc is fixed.
>
> > > > eeprom@64 {
> > > > compatible = "linux,slave-24c02";
> > > > - reg = <0x40000064>;
> > > > + reg = <0x64>;
> > >
> > > But the compatible is a slave, so you need an example with a different
> > > device.
> >
>
> > Ok. I'll replace the sub-node with just "atmel,24c02" compatible string then.
>
> But how it will be different to the another slave connected to the master?
>
> This example is specifically to show that DesingWare I²C controller may be
> switched to slave mode.

Well, dtc doesn't support it and prints warning that the address is invalid.
Though I do understand you concern and is mostly agree with it. Let's do this in
the next way. I'll resend the series with eeprom@64 sub-node replaced with just
a normal eeprom-device. The message log will have an info why this has been
done. In the non-mergeable section of the patch I'll suggest to Rob reconsider
the patch acking, since we can leave the slave-marked sub-node and just live
with the dtc warning until it's fixed in there.

-Sergey

>
> > > > };
> > > > };
> > > > - |
>
> --
> With Best Regards,
> Andy Shevchenko
>
>