ath79: ag71xx: add support for optional mdio reset
authorChuanhong Guo <gch981213@gmail.com>
Sat, 15 Dec 2018 07:44:34 +0000 (15:44 +0800)
committerDaniel Golle <daniel@makrotopia.org>
Tue, 5 Mar 2019 02:02:34 +0000 (03:02 +0100)
commitcea3e9e4383688f00ce5ef76c2b694aeead4c0ac
tree3521133f1f96ce8d87336ab42664ff8fba632256
parent596a5325cd7255faa94aa5e13ae97a6ee64f0bd2
ath79: ag71xx: add support for optional mdio reset

On ar933x and later chips, there are separated mac/mdio resets, but
resetting the entire gmac block with register values requires both
mac_reset and mdio_reset to be asserted together.

Add support for optional mdio reset so that we can do a full reset
if needed.

This patch also replaced deprecated devm_reset_control_get for
mac reset.

To use this feature, the following is needed:
 1. drop "simple-mfd" compatible to register mdio0 after gmac init
    so that mdio registers aren't reset after initialization.
 2. move mdio reset from mdio-bus to its parent eth node.

NOTE: This can't be applied on gmac1 with builtin switch since we
haven't add a feature to defer probe if phy connection failed.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c