Re: i2c: slave support framework improvements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2016-07-28 10:39, Wolfram Sang wrote:
> 
>> In proximity to this, I find it odd that you are allowed to register
>> a slave device with the same address as a client device on an adapter
>> (one has I2C_CLIENT_FLAG set, which sets I2C_ADDR_OFFSET_SLAVE before
>> the address comparisons). Why is that possible? Yes, the two devices
>> can probably talk each other, both being aware of who is master at
>> the moment, but what about other masters on the bus?
> 
> Just a quick answer to this first: The Tegra community wanted to have
> loopback support. According to documentation, their hardware can indeed
> read from their own slave device. So, we needed this distinction to
> instantiate the slave backend driver and the regular driver.
> 
> I don't understand the multi-master question: The I2C slave device
> should react to any bus master anyhow. And for competing bus masters,
> there is the arbitration mechanism.

What I mean is that it is possible to have an i2c bus with some random
i2c device at e.g. address 0x48, say some eeprom, and then register to
be a slave device also at address 0x48, e.g. slave-24c02. If there is
another master on the bus, it cannot sanely use any of these two devices
at i2c address 0x48 since there is an address conflict.

Or am I misunderstanding something? In my mind i2c slave support is
the equivalent of usb gadget support, is it something else?

Cheers,
Peter

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux