Subject: Re: [RFC] Rework of i2c-mpc.c - Freescale i2c driver

From: Jean Delvare <[email-masked]>
Date: Tue, 6 Nov 2007 21:31:32 +0100

Hi Matt,

On Tue, 06 Nov 2007 18:53:11 +0000, Matt Sealey wrote:
> Jean Delvare wrote:
> > On Mon, 05 Nov 2007 21:52:06 +0000, Matt Sealey wrote:
> >> Well, all i2c devices have a chip id you can probe for (...)
> > 
> > This statement is completely incorrect. I2C devices do NOT have
> > standard ID registers. Some devices have proprietary ID registers, some
> > don't, it's really up to the manfacturer.
> 
> All I2C slave devices have to have a 7- or 10-bit address to identify them
> by. They *may* not report what they ARE, but this is 9 times out of
> 10 a hardware design decision of soldering the chip to a board and
> the address is then coded into device trees or hardcoded into drivers.
> 
> Whoever designed the board and has the datasheets knows the address
> they're supposed to be at, and the device can accept this.
> 
> You simply cannot entertain an i2c bus with "anonymous and unnumbered
> devices", every one has to have an address it responds to, however
> it is defined, or it just does not work.

Of course, but it is all about addressing, NOT identifying.

> WRT cell-index this is an index of the bus on the chip (not the logical
> i2c bus but the physical difference between two i2c controllers) and
> then any i2c devices which need to be communicated with would be
> child nodes, their reg property reflecting their slave address, is
> that not correct?

I am not familiar with the OF tree, I can't tell, sorry.

-- 
Jean Delvare