net: sun8i-emac: add support for new EMAC DT binding
authorAndre Przywara <andre.przywara@arm.com>
Wed, 4 Apr 2018 00:31:16 +0000 (01:31 +0100)
committerJagan Teki <jagan@amarulasolutions.com>
Wed, 4 Apr 2018 06:01:35 +0000 (11:31 +0530)
commit12afd95711b78fe59a1ba6a8e39ed7830d25be80
tree88147f718b417c6ac1d4c53266555fc3c956e40d
parentc03411730215dadec9e4c2edcb8119e85bc4a406
net: sun8i-emac: add support for new EMAC DT binding

The Ethernet MAC used in newer Allwinner SoCs (H3, A64, H5) got an
upstream Linux driver in v4.15.
This one uses a slightly different binding from the original one used
by the U-Boot driver.
The differences to the old binding are:
- The "syscon" address is held in a separate node, referenced via a
  phandle in the "syscon" property.
- The reference to the PHY is held in a property called "phy-handle",
  not "phy".
- The PHY register is at offset 0x30 in the syscon device, not at 0.
- The internal PHY is activated when the node, which phy-handle points
  to, is a child node of an "allwinner,sun8i-h3-mdio-internal" node.

Teach the U-Boot driver how to find its resources in a "new-style" DT,
so that we can use a Linux kernel compatible DT for U-Boot as well.
This keeps support for the old binding for now, to allow a smooth
transition.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
drivers/net/sun8i_emac.c