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