Changing its configuration from PHY_BASE_ADR single value to use
CONFIG_PHY_BASE_ADDRS as an array with adresses.

Updated in version 2:

Merged board updates to single patch.

Signed-off-by: Tor Krill <t...@excito.com>
---
 board/keymile/km_arm/km_arm.c |    3 ++-
 drivers/net/kirkwood_egiga.c  |    3 ++-
 drivers/net/kirkwood_egiga.h  |    8 ++++----
 include/configs/guruplug.h    |    2 +-
 include/configs/km_arm.h      |    2 +-
 include/configs/openrd_base.h |    2 +-
 include/configs/rd6281a.h     |    2 +-
 include/configs/sheevaplug.h  |    2 +-
 8 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/board/keymile/km_arm/km_arm.c b/board/keymile/km_arm/km_arm.c
index 53cf474..16da353 100644
--- a/board/keymile/km_arm/km_arm.c
+++ b/board/keymile/km_arm/km_arm.c
@@ -244,12 +244,13 @@ int dram_init(void)
 void reset_phy(void)
 {
        char *name = "egiga0";
+       u8 port_addr[] = CONFIG_PHY_ADDRS;
 
        if (miiphy_set_current_dev(name))
                return;
 
        /* reset the phy */
-       miiphy_reset(name, CONFIG_PHY_BASE_ADR);
+       miiphy_reset(name, port_addr[0]);
 }
 
 #if defined(CONFIG_HUSH_INIT_VAR)
diff --git a/drivers/net/kirkwood_egiga.c b/drivers/net/kirkwood_egiga.c
index 932792e..7993e51 100644
--- a/drivers/net/kirkwood_egiga.c
+++ b/drivers/net/kirkwood_egiga.c
@@ -629,6 +629,7 @@ int kirkwood_egiga_initialize(bd_t * bis)
        int devnum;
        char *s;
        u8 used_ports[MAX_KWGBE_DEVS] = CONFIG_KIRKWOOD_EGIGA_PORTS;
+       u8 port_addr[MAX_KWGBE_DEVS] = PHY_ADDRS;
 
        for (devnum = 0; devnum < MAX_KWGBE_DEVS; devnum++) {
                /*skip if port is configured not to use */
@@ -712,7 +713,7 @@ int kirkwood_egiga_initialize(bd_t * bis)
                miiphy_register(dev->name, smi_reg_read, smi_reg_write);
                /* Set phy address of the port */
                miiphy_write(dev->name, KIRKWOOD_PHY_ADR_REQUEST,
-                               KIRKWOOD_PHY_ADR_REQUEST, PHY_BASE_ADR + 
devnum);
+                               KIRKWOOD_PHY_ADR_REQUEST, port_addr[devnum]);
 #endif
        }
        return 0;
diff --git a/drivers/net/kirkwood_egiga.h b/drivers/net/kirkwood_egiga.h
index 30c773c..6ff3bb7 100644
--- a/drivers/net/kirkwood_egiga.h
+++ b/drivers/net/kirkwood_egiga.h
@@ -30,11 +30,11 @@
 
 #define MAX_KWGBE_DEVS 2       /*controller has two ports */
 
-/* PHY_BASE_ADR is board specific and can be configured */
-#if defined (CONFIG_PHY_BASE_ADR)
-#define PHY_BASE_ADR           CONFIG_PHY_BASE_ADR
+/* PHY addresses is board specific and can be configured */
+#if defined (CONFIG_PHY_ADDRS)
+#define PHY_ADDRS              CONFIG_PHY_ADDRS
 #else
-#define PHY_BASE_ADR           0x08    /* default phy base addr */
+#define PHY_ADDRS              {0x08,0x09}     /* default phy base addr */
 #endif
 
 /* Constants */
diff --git a/include/configs/guruplug.h b/include/configs/guruplug.h
index 2fbc6ad..028eee7 100644
--- a/include/configs/guruplug.h
+++ b/include/configs/guruplug.h
@@ -175,7 +175,7 @@
 #define CONFIG_KIRKWOOD_EGIGA  /* Enable kirkwood Gbe Controller Driver */
 #define CONFIG_SYS_FAULT_ECHO_LINK_DOWN        /* detect link using phy */
 #define CONFIG_KIRKWOOD_EGIGA_PORTS    {1,1}   /* enable both ports */
-#define CONFIG_PHY_BASE_ADR    0
+#define CONFIG_PHY_ADDRS       {0,1}
 #define CONFIG_ENV_OVERWRITE   /* ethaddr can be reprogrammed */
 #define CONFIG_RESET_PHY_R     /* use reset_phy() to init mv88e1121 PHY */
 #endif /* CONFIG_CMD_NET */
diff --git a/include/configs/km_arm.h b/include/configs/km_arm.h
index a928c2c..1c3fa0d 100644
--- a/include/configs/km_arm.h
+++ b/include/configs/km_arm.h
@@ -130,7 +130,7 @@
 #define CONFIG_KIRKWOOD_EGIGA  /* Enable kirkwood Gbe Controller Driver */
 #define CONFIG_SYS_FAULT_ECHO_LINK_DOWN        /* detect link using phy */
 #define CONFIG_KIRKWOOD_EGIGA_PORTS    {1,0}   /* enable port 0 only */
-#define CONFIG_PHY_BASE_ADR    0
+#define CONFIG_PHY_ADDRS       {0,1}
 #define CONFIG_ENV_OVERWRITE   /* ethaddr can be reprogrammed */
 #define CONFIG_RESET_PHY_R     /* use reset_phy() to init 88E1118 PHY */
 
diff --git a/include/configs/openrd_base.h b/include/configs/openrd_base.h
index d2f4502..37574ac 100644
--- a/include/configs/openrd_base.h
+++ b/include/configs/openrd_base.h
@@ -186,7 +186,7 @@
 #define CONFIG_KIRKWOOD_EGIGA  /* Enable kirkwood Gbe Controller Driver */
 #define CONFIG_SYS_FAULT_ECHO_LINK_DOWN        /* detect link using phy */
 #define CONFIG_KIRKWOOD_EGIGA_PORTS    {1,0}   /* enable port 0 only */
-#define CONFIG_PHY_BASE_ADR    0x8
+#define CONFIG_PHY_ADDRS       {0x8,0x9}
 #define CONFIG_ENV_OVERWRITE   /* ethaddr can be reprogrammed */
 #define CONFIG_RESET_PHY_R     /* use reset_phy() to init mv8831116 PHY */
 #endif /* CONFIG_CMD_NET */
diff --git a/include/configs/rd6281a.h b/include/configs/rd6281a.h
index 3d8e25c..01550d1 100644
--- a/include/configs/rd6281a.h
+++ b/include/configs/rd6281a.h
@@ -176,7 +176,7 @@
 #define CONFIG_MV88E61XX_MULTICHIP_ADRMODE
 #define CONFIG_DIS_AUTO_NEG_SPEED_GMII /*Disable Auto speed negociation */
 #define CONFIG_PHY_SPEED       _1000BASET      /*Force PHYspeed to 1GBPs */
-#define CONFIG_PHY_BASE_ADR    0x0A
+#define CONFIG_PHY_ADDRS       {0x0A,0x0B}
 #define CONFIG_ENV_OVERWRITE   /* ethaddr can be reprogrammed */
 #define CONFIG_RESET_PHY_R     /* use reset_phy() to init switch and PHY */
 #define CONFIG_MV88E61XX_SWITCH        /* Enable MV88E61XX switch driver */
diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h
index e9edc44..9fdfd7e 100644
--- a/include/configs/sheevaplug.h
+++ b/include/configs/sheevaplug.h
@@ -177,7 +177,7 @@
 #define CONFIG_KIRKWOOD_EGIGA  /* Enable kirkwood Gbe Controller Driver */
 #define CONFIG_SYS_FAULT_ECHO_LINK_DOWN        /* detect link using phy */
 #define CONFIG_KIRKWOOD_EGIGA_PORTS    {1,0}   /* enable port 0 only */
-#define CONFIG_PHY_BASE_ADR    0
+#define CONFIG_PHY_ADDRS       {0,1}
 #define CONFIG_ENV_OVERWRITE   /* ethaddr can be reprogrammed */
 #define CONFIG_RESET_PHY_R     /* use reset_phy() to init mv8831116 PHY */
 #endif /* CONFIG_CMD_NET */
-- 
1.7.0.4

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

Reply via email to