Thread (22 messages) 22 messages, 6 authors, 2016-12-22

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", &reg);
  if (reg & I2C_OWN_SLAVE_ADDRESS))
    im_a_slave = true;
}

...rather than testing "mode" is equal to "slave".

Rob
Hi 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help