Thread (9 messages) 9 messages, 3 authors, 2016-03-20

Re: Chipone icn85xx support in x86 linux kernel

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2016-03-11 19:40:03

On Thu, Mar 10, 2016 at 1:59 PM, Gregor Riepl [off-list ref] wrote:
quoted
 1) It is strange, but it looks that via Vanilla custom x8_64 Linux
4.4.2 ArchLinux   Baytrail on Chuwi Vi10 the Touchscreen Control Chip
probably resides not on 0x48  and it is resides on i2c-3 0x30. This
confused me completely, AFAIK chip could switch buses but not its
address.
Will be happy if anyone helps with this - whether it is possible for
chip to be i2c-4, 0x48 on Android and switched in Linux to i2c-3 0x30?
The way I2C works, this is simply not possible unless the chip is reconfigured
somehow. I2C frames always start with the device address, and if a chip isn't
listening for a specific address (or a broadcast), it will not respond.

The I2C bus number in user space on the other hand is completely dynamic and
depends on the driver load order.

So in short, without any separate "switching" mechanism (highly unlikely), the
device will always have the same address (0x30 is 48 in decimal, mind you),
but it may live on i2c-0, i2c-1, i2c-2, i2c-3, i2c-4, i2c-5 depending on when
the bus is initialised or which drivers are loaded.
Some devices do allow you to switch slave address, Goodix touchscreen
is one example.

Thanks.

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help