[PATCH 0/3]: Sparc OF I2C support.
Benjamin Herrenschmidt
benh at kernel.crashing.org
Fri Aug 22 08:01:37 EST 2008
On Thu, 2008-08-21 at 11:32 -0500, Scott Wood wrote:
> On Thu, Aug 21, 2008 at 12:10:12AM -0700, David Miller wrote:
> > Mostly straightforward stuff _except_ for the I2C address encoding.
> >
> > What I2C IEEE1275 device binding was used to write that code in
> > of_i2c.c? Is it some PowerPC specific thing? Was it "invented"
> > by the embedded folks (I hope not)?
>
> Yes, it was "invented". There was no documented i2c OF binding that I
> could find, and AFAIR nobody came forward with examples of existing
> practice at the time.
Well, there were examples in the powermac code :-)
> > And, furthermore, the device address is shifted up 1 bit higher
> > than the Linux I2C layer expects. It includes the low direction
> > bit, bit 0, so we have to shift it down by 1 bit before we give
> > it to the Linux I2C layer.
>
> Yuck.
Apple does the same. IE. I take the address from "reg" and shift it
right by one bit before passing it to linux.
> > 2) When CONFIG_SPARC, shift the device address down by one bit before
> > giving it to the Linux I2C layer.
>
> Maybe we should distinguish by the type of I2C bus node instead.
Or fix the embedded stuff :-)
Ben.
More information about the Linuxppc-dev
mailing list