RE: [PATCH net-next 2/3] arm64: dts: fsl: ls1028a-rdb: Add ENETC external eth ports for the LS1028A RDB board

From: Claudiu Manoil
Date: Thu Feb 14 2019 - 10:33:59 EST


>-----Original Message-----
>From: Andrew Lunn <andrew@xxxxxxx>
>Sent: Wednesday, February 13, 2019 8:16 PM
>To: Claudiu Manoil <claudiu.manoil@xxxxxxx>
>Cc: Shawn Guo <shawnguo@xxxxxxxxxx>; Leo Li <leoyang.li@xxxxxxx>; David S .
>Miller <davem@xxxxxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx; Alexandru
>Marginean <alexandru.marginean@xxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx;
>linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx
>Subject: Re: [PATCH net-next 2/3] arm64: dts: fsl: ls1028a-rdb: Add ENETC
>external eth ports for the LS1028A RDB board
>
>On Wed, Feb 13, 2019 at 01:02:22PM +0200, Claudiu Manoil wrote:
>> The LS1028A RDB board features an Atheros PHY connected over SGMII to
>> the ENETC PF0 (or Port0). ENETC Port1 (PF1) has no external
>> connection on this board, so it can be disabled for now.
>>
>> Signed-off-by: Alex Marginean <alexandru.marginean@xxxxxxx>
>> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxx>
>> ---
>> arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts | 15
>> +++++++++++++++
>> 1 file changed, 15 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts
>> b/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts
>> index fdeb417..c8487893 100644
>> --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts
>> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts
>> @@ -71,3 +71,18 @@
>> &duart1 {
>> status = "okay";
>> };
>> +
>> +&enetc_port0 {
>> + phy-handle = <&sgmii_phy0>;
>> + phy-connection-type = "sgmii";
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + sgmii_phy0: ethernet-phy@2 {
>> + reg = <0x2>;
>> + };
>> +};
>> +
>
>Hi Claudiu
>
>It is better to use:
>
>&enetc_port0 {
> phy-handle = <&sgmii_phy0>;
> phy-connection-type = "sgmii";
> #address-cells = <1>;
> #size-cells = <0>;
>
> mdio {
> sgmii_phy0: ethernet-phy@2 {
> reg = <0x2>;
> };
> };
>};

Hi Andrew,

The extra node for mdio seems to complicate things somewhat.
Just adding this node seems not enough. How to find out easily if a child
of a enetc port node is a mdio node? I was thinking to use device_type
for that, like this:

&enetc_port0 {
phy-handle = <&sgmii_phy0>;
phy-connection-type = "sgmii";
mdio {
#address-cells = <1>;
#size-cells = <0>;
device_type = "mdio";
sgmii_phy0: ethernet-phy@2 {
reg = <0x2>;
};
};
};

Would you agree with this?

Thanks,
Claudiu