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

Chris Packham Chris.Packham at alliedtelesis.co.nz
Wed Jan 4 20:34:55 PST 2017


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 at alliedtelesis.co.nz>
>> ---
>> +
>> +		switch {
>> +			packet-processor at 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 at 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?



More information about the linux-arm-kernel mailing list