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 <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
This commit is contained in:
Khoronzhuk, Ivan 2014-10-17 20:44:33 +03:00 committed by Tom Rini
parent adc9a79f3f
commit 1920e905ef

View File

@ -38,7 +38,6 @@ struct rx_buff_desc net_rx_buffs = {
.rx_flow = 22, .rx_flow = 22,
}; };
static void keystone2_eth_mdio_enable(void);
static void keystone2_net_serdes_setup(void); static void keystone2_net_serdes_setup(void);
static int gen_get_link_speed(int phy_addr); 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; return 0;
} }
static void keystone2_eth_mdio_enable(void) static void keystone2_mdio_reset(void)
{ {
u_int32_t clkdiv; 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 */ /* Eth device open */
static int keystone2_eth_open(struct eth_device *dev, bd_t *bis) static int keystone2_eth_open(struct eth_device *dev, bd_t *bis)
{ {
u_int32_t clkdiv;
int link; int link;
struct eth_priv_t *eth_priv = (struct eth_priv_t *)dev->priv; 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(); keystone2_net_serdes_setup();
if (sys_has_mdio)
keystone2_eth_mdio_enable();
keystone_sgmii_config(eth_priv->slave_port - 1, keystone_sgmii_config(eth_priv->slave_port - 1,
eth_priv->sgmii_link_type); 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(); hw_config_streaming_switch();
if (sys_has_mdio) { if (sys_has_mdio) {
/* Init MDIO & get link state */ keystone2_mdio_reset();
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);
link = keystone_get_link_status(dev); link = keystone_get_link_status(dev);
if (link == 0) { if (link == 0) {