From: Khoronzhuk, Ivan Date: Fri, 17 Oct 2014 17:44:33 +0000 (+0300) Subject: net: keystone_net: use mdio_reset function X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=1920e905efcd528b43535e0b19f6b433d321fa76;p=u-boot.git net: keystone_net: use mdio_reset function Don't use mdio_enable twice while eth open. Also rename it to keystone2_mdio_reset as more appropriate name. Acked-by: Vitaly Andrianov Signed-off-by: Ivan Khoronzhuk --- diff --git a/drivers/net/keystone_net.c b/drivers/net/keystone_net.c index 8a45fbd88f..3f9650c6ea 100644 --- a/drivers/net/keystone_net.c +++ b/drivers/net/keystone_net.c @@ -38,7 +38,6 @@ struct rx_buff_desc net_rx_buffs = { .rx_flow = 22, }; -static void keystone2_eth_mdio_enable(void); static void keystone2_net_serdes_setup(void); static int gen_get_link_speed(int phy_addr); @@ -71,7 +70,7 @@ int keystone2_eth_read_mac_addr(struct eth_device *dev) return 0; } -static void keystone2_eth_mdio_enable(void) +static void keystone2_mdio_reset(void) { u_int32_t clkdiv; @@ -397,7 +396,6 @@ int32_t cpmac_drv_send(u32 *buffer, int num_bytes, int slave_port_num) /* Eth device open */ static int keystone2_eth_open(struct eth_device *dev, bd_t *bis) { - u_int32_t clkdiv; int link; struct eth_priv_t *eth_priv = (struct eth_priv_t *)dev->priv; @@ -410,9 +408,6 @@ static int keystone2_eth_open(struct eth_device *dev, bd_t *bis) keystone2_net_serdes_setup(); - if (sys_has_mdio) - keystone2_eth_mdio_enable(); - keystone_sgmii_config(eth_priv->slave_port - 1, eth_priv->sgmii_link_type); @@ -440,14 +435,7 @@ static int keystone2_eth_open(struct eth_device *dev, bd_t *bis) hw_config_streaming_switch(); if (sys_has_mdio) { - /* Init MDIO & get link state */ - clkdiv = (EMAC_MDIO_BUS_FREQ / EMAC_MDIO_CLOCK_FREQ) - 1; - writel((clkdiv & 0xff) | MDIO_CONTROL_ENABLE | - MDIO_CONTROL_FAULT, &adap_mdio->control) - ; - - /* We need to wait for MDIO to start */ - udelay(1000); + keystone2_mdio_reset(); link = keystone_get_link_status(dev); if (link == 0) {