Re: [PATCH v4 3/5] i2c: designware: Add slave definitions
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: 2016-12-22 15:30:49
Also in:
linux-i2c, lkml
On Thu, 2016-12-22 at 14:59 +0000, Luis Oliveira wrote:
On 13-Dec-16 14:11, Rob Herring wrote:
quoted
Something like this: of_for_each_child_node(child) { of_property_read_u32(child, "reg", ®); if (reg & I2C_OWN_SLAVE_ADDRESS)) im_a_slave = true; } ...rather than testing "mode" is equal to "slave". RobHi Rob, Andy, I'm struggling to implement your suggestion @Rob. I checked the tegra124-jetson-tk1.dts that uses that approach but I have some doubts. My DT is as follows i2c@0x2000 { compatible = "snps,designware-i2c"; reg = <0x2000 0x100>; clock-frequency = <400000>; clocks = <&i2cclk>; interrupts = <0>; I could add something like this: eeprom@64 { compatible = "linux,slave-24c02"; reg = <(I2C_OWN_SLAVE_ADDRESS | 0x64)>; } But I think this is different form what I was doing before. I have two questions: - This way the I2C controller is identified as a slave controller or just the subnode eeprom? - This way looks like my slave address will be fixed In the previous Patch v3 submission @Andy suggested a property that selects mode that I did and it's working. And you @Rob suggested to do it a common property. It is implemented in the DT like: mode = "slave"; So before I do this changes can you please agree both if you still think this is the best approach?
I'm a bit lost in the discussion (and TBH busy by something else), so I would agree on whatever you and Rob make an agreement on. -- Andy Shevchenko [off-list ref] Intel Finland Oy