Subject: Re: net: dsa: mv88e6xxx: error parsing ethernet node from dts

From: Andrew Lunn <[email-masked]>
Date: Mon, 9 Dec 2019 14:43:36 +0100

> A strange thing to me however is why - in my dts and in
> vf610-zii-ssmb-spu3.dts - there is 2 times a 'fixed-link'
> declaration? Moreover, when I omit the first declaration, the kernel
> crashes (oops).

The FEC driver expect there to be a PHY connected to the MAC, and the
PHY should indicate what speed the link is running at. However, the
FEC is directly connected to the switch, there is no PHY involved. To
keep the FEC happy, and to tell it what speed to use, a fixed-link PHY
is used. It uses the same API as a real PHY, and indicates the link is
using the speed as defined in DT. So the FEC runs at 100Mbps.

The DSA driver defaults to configuring the CPU port at its maximum
speed. For this chip, that is 1Gbps. However, the Vybrid FEC can only
support 100Mbps. So we need to force the CPU port to the slower
speed. Hence the fixed link in the CPU node.

       Andrew