ping. one more :)

On 12/6/2012 12:40 PM, Vipin KUMAR wrote:
From: Shiraz Hashim<shiraz.has...@st.com>

SPEAr310 and SPEAr320 Ethernet interfaces share same MDIO lines to control their
respective phys. Currently their is a fixed configuration in which only a
particular MAC can use the MDIO lines.

Call an arch specific function to take control of specific mdio lines at
runtime.

Signed-off-by: Shiraz Hashim<shiraz.has...@st.com>
Signed-off-by: Vipin Kumar<vipin.ku...@st.com>
---
  drivers/net/macb.c | 10 ++++++++++
  1 file changed, 10 insertions(+)

diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 8bacbda..45fbbd7 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -163,6 +163,13 @@ static u16 macb_mdio_read(struct macb_device *macb, u8 reg)
        return MACB_BFEXT(DATA, frame);
  }

+static void __def_arch_get_mdio_control(const char *name)
+{
+       return;
+}
+int arch_get_mdio_control(const char *name)
+       __attribute__((weak, alias("__def_arch_get_mdio_control")));
+
  #if defined(CONFIG_CMD_MII)

  int macb_miiphy_read(const char *devname, u8 phy_adr, u8 reg, u16 *value)
@@ -173,6 +180,7 @@ int macb_miiphy_read(const char *devname, u8 phy_adr, u8 
reg, u16 *value)
        if ( macb->phy_addr != phy_adr )
                return -1;

+       arch_get_mdio_control(devname);
        *value = macb_mdio_read(macb, reg);

        return 0;
@@ -186,6 +194,7 @@ int macb_miiphy_write(const char *devname, u8 phy_adr, u8 
reg, u16 value)
        if ( macb->phy_addr != phy_adr )
                return -1;

+       arch_get_mdio_control(devname);
        macb_mdio_write(macb, reg, value);

        return 0;
@@ -377,6 +386,7 @@ static int macb_phy_init(struct macb_device *macb)
        int media, speed, duplex;
        int i;

+       arch_get_mdio_control(netdev->name);
  #ifdef CONFIG_MACB_SEARCH_PHY
        /* Auto-detect phy_addr */
        if (!macb_phy_find(macb)) {

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to