Re: [PATCH v3 4/4] ARM: dts: mvebu: Introduce a new compatible string for mv64xxx-i2c

Gregory CLEMENT
2013-06-21T14:23:04Z

On 06/21/2013 04:15 PM, Sebastian Hesselbarth wrote:
> On 06/21/13 16:07, Jason Cooper wrote:
>> On Fri, Jun 21, 2013 at 03:32:09PM +0200, Gregory CLEMENT wrote:
>>> The mv64xxx-i2c embedded in the Armada XP have a new feature to
>>> offload i2c transaction. This new version of the IP come also with
>>> some errata. This lead to the introduction to a another compatible
>>> string.
>>>
>>> This commit split the i2c information into armada-370.dtsi and
>>> armada-xp.dtsi. Most of the data remains the same and stay in the
>>> common file Armada-370-xp.dtsi. With this new feature the size of the
>>> registers are bigger for Armada XP and the new compatible string is
>>> used.
>>>
>>> The Device Tree binding documentation is updated accordingly.
>>>
>>> Signed-off-by: Gregory CLEMENT <gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
>>> ---
>>> Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt | 13 ++++++++++++-
>>> arch/arm/boot/dts/armada-370-xp.dtsi | 2 --
>>> arch/arm/boot/dts/armada-370.dtsi | 8 ++++++++
>>> arch/arm/boot/dts/armada-xp.dtsi | 10 ++++++++++
>>> 4 files changed, 30 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
>>> index a1ee681..ce7af6a 100644
>>> --- a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
>>> +++ b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
>>> @@ -4,7 +4,8 @@
>>> Required properties :
>>>
>>> - reg : Offset and length of the register set for the device
>>> - - compatible : Should be "marvell,mv64xxx-i2c"
>>> + - compatible : Should be "marvell,mv64xxx-i2c" and "marvell,mv7230-i2c"
>>> +for controller which support the I2C Transaction Generator
>
> Jason, Gregory,
>
> Also, s/mv7230/mv78230/

You are right, thanks for both of you to notice it.

>
> from a quick check of the patch set (which you forgot to send to LKML)
> I am wondering why you didn't update the of matches struct with the new
> compatible for "marvell,mv78230-i2c"? This will save you from still
> having "marvell,mv64xxx-i2c" as additional compatible to match device
> and driver. With that the above should also be s/and/or/.

>From my point of view it is more an extension than an other kind of controller like
the one embedded in the AllWinner SoCs. So I thought it was more in the spirit of
the way you describe hardware in the device tree, but I am far for being an expert
so I maybe wrong.

>
>>> - interrupts : The interrupt number
>>>
>>> Optional properties :
>>> @@ -20,3 +21,13 @@ Examples:
>>> interrupts = <29>;
>>> clock-frequency = <100000>;
>>> };
>>> +
>>> +For a controller which support the I2C Transaction Generator:
>>> +
>>> + i2c@11000 {
>>> + compatible = "marvell,mv64xxx-i2c", "marvell,mv78230-i2c";
>>> + reg = <0x11000 0x100>;
>>> + compatible = "marvell,mv64xxx-i2c";
>>
>> extra compatible line. If there's nothing else, I'll fix this up when I
>> pull it in.
>

--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.