[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <479b3c82-ffe7-9e6a-569c-64fcb1b43d32@linux.vnet.ibm.com>
Date: Tue, 10 Jul 2018 15:59:23 -0500
From: Eddie James <eajames@...ux.vnet.ibm.com>
To: Wolfram Sang <wsa@...-dreams.de>
Cc: linux-i2c@...r.kernel.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, robh+dt@...nel.org,
benh@...nel.crashing.org, joel@....id.au, mark.rutland@....com,
gregkh@...uxfoundation.org, rdunlap@...radead.org,
andy.shevchenko@...il.com, peda@...ntia.se
Subject: Re: [PATCH v11 5/8] i2c: fsi: Add transfer implementation
On 07/10/2018 02:39 PM, Wolfram Sang wrote:
>> Sorry, what do you mean "show up as"? Yes, we could first shift all our
>> addresses in user-space before passing them to the driver, so that the
>> msg->addr field is exactly what the hardware expects already... This would
>> be non-trivial for our users considering all our documentation represents
>> the addresses as the top 7 bits of a byte :(
> Ah, now I understand the whole situation! Good that I asked. But I have
> bad news for you:
>
> msg->addr is 7 bit and LSB aligned. No way around that. This is how
> Linux I2C worked since the beginning. You have to adapt to it.
>
> I know what you mean. Most doumentation I get has the addresses in 8
> bit, i.e. 7 bit address shifted + RW bit. But sorry again, the Linux
> representation is different and all drivers have to adhere to that.
>
> An EEPROM ist at 0x50 in Linux. There is no write addr 0xa0 and read
> addr 0xa1.
OK, I understand! Will test and resend with conforming addressing.
Thanks for all the feedback!
Eddie
>
>>>> Indeed, real 10-bit addresses require some additional manipulation of this
>>>> I2C master in order to work. We don't support it right now.
>>> Then you should remove the associated FUNC flag.
>> Ah, but due to the addressing situation, tools like i2cget don't work with
>> our addresses unless the 10 bit flag is specified. For example, we may want
>> to access 0xA0.
> This is a kinda dirty workaround to the above problem. It is even wrong
> because 10-bit addresses look totally different on the wire.
>
> Sorry for the hazzle with the docs, but there is no way around that.
>
Powered by blists - more mailing lists