Re: [PATCHv2 4/5] arm: mvebu: Add device tree for 98DX3236 SoCs

From: Chris Packham
Date: Wed Jan 04 2017 - 23:38:50 EST


On 05/01/17 17:06, Florian Fainelli wrote:
> Le 01/04/17 à 19:36, Chris Packham a écrit :
>> The Marvell 98DX3236, 98DX3336, 98DX4521 and variants are switch ASICs
>> with integrated CPUs. They are similar to the Armada XP SoCs but have
>> different I/O interfaces.
>>
>> Signed-off-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
>> ---
>> +
>> + switch {
>> + packet-processor@0 {
>> + compatible = "marvell,prestera-98dx4521";
>> + };
>> + };
>
> This may be a bit premature if you are not providing a binding document
> for this sub-node, you might as well add it once you also add a
> corresponding driver (or if this will remain out of tree, at least
> submitting a separate binding document).

I also see that I made a typo 4521 should be 4251.

The driver that uses this is an out of tree one so I will add a binding
document for it for now.

It wouldn't he hard to whip up a simple uio based driver that provides
mmap access to the switch register space so I might look at that if I
get time. It would be useful for testing if nothing else.

>
> Also, if this node's unit address is 0, you would expect at least a reg
> property whose address cell is 0 to be present.
>

The reg property is in the base 98dx3236 dsti file. The 3 devices have
the same IO footprint but the switching functionality is quite different
between them hence the different compatible strings (all of which I need
to add binding documentation for). I guess I could make the 3236 entry

pp0: packet-processor@0 {
compatible = "marvell,prestera-98dx3236";
reg = <0 0x4000000>;
...
}

Then the 3336 and 4251 could just override the compatible string

&pp0 {
compatible = "marvell,prestera-98dx4251";
};

Would that be clearer?