summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Christ <s.christ@phytec.de>2015-11-18 10:08:44 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2015-11-19 08:33:07 +0100
commite2747f710a34fbff84dcd709971a63ca3dfd0630 (patch)
treefece191c2a444109da244997e4b2764bd2d3fe9c
parenta63cb59c0178c90b22f1a3047f196f608dfaedcc (diff)
downloadbarebox-e2747f710a34fbff84dcd709971a63ca3dfd0630.tar.gz
barebox-e2747f710a34fbff84dcd709971a63ca3dfd0630.tar.xz
net: fec: implement dtb property phy-reset-duration
Implement device tree property phy-reset-duration to adjust length of phy reset. Signed-off-by: Stefan Christ <s.christ@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/net/fec_imx.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c
index f19d046e24..70087adf90 100644
--- a/drivers/net/fec_imx.c
+++ b/drivers/net/fec_imx.c
@@ -654,6 +654,7 @@ static int fec_probe(struct device_d *dev)
int ret;
enum fec_type type;
int phy_reset;
+ u32 msec = 1;
ret = dev_get_drvdata(dev, (const void **)&type);
if (ret)
@@ -684,6 +685,8 @@ static int fec_probe(struct device_d *dev)
phy_reset = of_get_named_gpio(dev->device_node, "phy-reset-gpios", 0);
if (gpio_is_valid(phy_reset)) {
+ of_property_read_u32(dev->device_node, "phy-reset-duration", &msec);
+
ret = gpio_request(phy_reset, "phy-reset");
if (ret)
goto err_free;
@@ -692,7 +695,7 @@ static int fec_probe(struct device_d *dev)
if (ret)
goto err_free;
- mdelay(1);
+ mdelay(msec);
gpio_set_value(phy_reset, 1);
}