From 495c70f9dfad1a5428ec84b52e8667ea4760ecd6 Mon Sep 17 00:00:00 2001 From: Ley Foon Tan Date: Thu, 14 Jun 2018 18:45:23 +0800 Subject: [PATCH] net: designware: Add reset ctrl to driver Add code to reset all reset signals as in Ethernet DT node. A reset property is an optional feature, so only print out a warning and do not fail if a reset property is not present. If a reset property is discovered, then use it to deassert, thus bringing the IP out of reset. Signed-off-by: Ley Foon Tan Reviewed-by: Simon Glass Acked-by: Joe Hershberger --- drivers/net/designware.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/designware.c b/drivers/net/designware.c index 10a87096b7..19db0a8114 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -673,6 +674,7 @@ int designware_eth_probe(struct udevice *dev) u32 iobase = pdata->iobase; ulong ioaddr; int ret; + struct reset_ctl_bulk reset_bulk; #ifdef CONFIG_CLK int i, err, clock_nb; @@ -719,6 +721,12 @@ int designware_eth_probe(struct udevice *dev) } #endif + ret = reset_get_bulk(dev, &reset_bulk); + if (ret) + dev_warn(dev, "Can't get reset: %d\n", ret); + else + reset_deassert_bulk(&reset_bulk); + #ifdef CONFIG_DM_PCI /* * If we are on PCI bus, either directly attached to a PCI root port, -- 2.39.2