Re: [PATCH v5 2/2] i2c: sunxi: add P2WI (Push/Pull 2 Wire Interface) controller support
From: Boris BREZILLON
Date: Wed Jun 11 2014 - 03:53:01 EST
Hello Arnd,
On 10/06/2014 16:47, Arnd Bergmann wrote:
> On Tuesday 10 June 2014 16:36:04 Maxime Ripard wrote:
>> On Tue, Jun 10, 2014 at 03:54:56PM +0200, Arnd Bergmann wrote:
>>> On Tuesday 10 June 2014 15:47:16 Boris BREZILLON wrote:
>>>> +config I2C_SUN6I_P2WI
>>>> + tristate "Allwinner sun6i internal P2WI controller"
>>>> + depends on ARCH_SUNXI
>>>> + help
>>>> + If you say yes to this option, support will be included for the
>>>> + P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
>>>> + SOCs.
>>>> + The P2WI looks like an SMBus controller (which supports only byte
>>>> + accesses), except that it only supports one slave device.
>>>> + This interface is used to connect to specific PMIC devices (like the
>>>> + AXP221).
>>>> +
>>> Sorry for the stupid question, but why is this an i2c driver if the
>>> hardware protocol is completely different?
>> It's not completely different. It deviates, but still looks very
>> similar to i2c, and to be precise, SMBus.
>>
>> You'll have the full discussion that led to do this in i2c here:
>> http://www.spinics.net/lists/linux-i2c/msg15066.html
>>
>> Also, one significant thing to take into account is that the
>> communication with a device starts as I2C, only to switch to this
>> protocol after some initialization sequence.
> Ok, sounds good.
>
>>> I understand that a lot of devices can be driven using either spi or
>>> i2c, and we have two sets of {directories,maintainers,bus_types,...}
>>> for them. Your description sounds like this is a separate option
>>> that isn't any closer to i2c than it is to spi.
>> That's not true. It's *much* closer from I2C than it is from SPI.
> Ok.
>
>>> Would it perhaps be better to expose it only as a regmap rather than
>>> an i2c host?
>> That could be a solution, but is it a common practice to define a bus
>> adapter driver in a regmap driver?
> No, not yet.
>
> Maybe Boris can just put an explanation into the changeset description
> of the driver so other people are able to find it more easily.
You mean in my commit message ?
I thought it was already explaining the subtle differences between P2WI
and the SMBus protocols.
What would you like me to add to this explanation ?
Something about the I2C to P2WI initialization part ?
Best Regards,
Boris
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/