[lkml]   [2020]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH v6 02/11] dt-bindings: i2c: Convert DW I2C slave to the DW I2C master example
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 <>
Cc: Alexey Malahov <>
Cc: Thomas Bogendoerfer <>
Cc: Andy Shevchenko <>
Cc: Mika Westerberg <>


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(-)

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>;
- |
 \ /
  Last update: 2020-05-28 11:34    [W:0.136 / U:1.700 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site