dt-bindings: i2c: Convert DW I2C slave to the DW I2C master example
authorSerge Semin <Sergey.Semin@baikalelectronics.ru>
Thu, 28 May 2020 09:33:12 +0000 (12:33 +0300)
committerWolfram Sang <wsa@kernel.org>
Sat, 30 May 2020 09:33:30 +0000 (11:33 +0200)
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>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml

index 4bd430b..dff3f26 100644 (file)
@@ -136,8 +136,8 @@ examples:
       interrupts = <0>;
 
       eeprom@64 {
-        compatible = "linux,slave-24c02";
-        reg = <0x40000064>;
+        compatible = "atmel,24c02";
+        reg = <0x64>;
       };
     };
   - |