hw/net/imx_fec: Support two Ethernet interfaces connected to single MDIO bus
commitdf3f5efe108e4787187133dda05112d32a1b87e8
authorGuenter Roeck <linux@roeck-us.net>
Wed, 15 Mar 2023 14:52:44 +0000 (15 07:52 -0700)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 20 Apr 2023 09:25:43 +0000 (20 10:25 +0100)
treefc9c4aab343174251f2b52a3e6c6469cfded8570
parent7bdd67a56036123b52048af45d304a2c926daa8a
hw/net/imx_fec: Support two Ethernet interfaces connected to single MDIO bus

The SOC on i.MX6UL and i.MX7 has 2 Ethernet interfaces. The PHY on each may
be connected to separate MDIO busses, or both may be connected on the same
MDIO bus using different PHY addresses. Commit 461c51ad4275 ("Add a phy-num
property to the i.MX FEC emulator") added support for specifying PHY
addresses, but it did not provide support for linking the second PHY on
a given MDIO bus to the other Ethernet interface.

To be able to support two PHY instances on a single MDIO bus, two properties
are needed: First, there needs to be a flag indicating if the MDIO bus on
a given Ethernet interface is connected. If not, attempts to read from this
bus must always return 0xffff. Implement this property as phy-connected.
Second, if the MDIO bus on an interface is active, it needs a link to the
consumer interface to be able to provide PHY access for it. Implement this
property as phy-consumer.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Message-id: 20230315145248.1639364-2-linux@roeck-us.net
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/net/imx_fec.c
include/hw/net/imx_fec.h