[U-Boot] [PATCH 13/13] add support for fixed-speed MII ports (no standard PHY registers)

Michael Schwingen
2010-12-28T12:43:31Z

arch/arm/cpu/ixp/npe/npe.c | 18 +++++++++++++++++-
include/configs/actux2.h | 5 +++++
include/configs/actux3.h | 5 +++++
3 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/arch/arm/cpu/ixp/npe/npe.c b/arch/arm/cpu/ixp/npe/npe.c
index 9d1090e..87f4600 100644
--- a/arch/arm/cpu/ixp/npe/npe.c
+++ b/arch/arm/cpu/ixp/npe/npe.c
@@ -359,6 +359,21 @@ static int npe_init(struct eth_device *dev, bd_t * bis)

debug("%s: 1\n", __FUNCTION__);

+#ifdef CONFIG_MII_NPE0_FIXEDLINK
+ if (0 == p_npe->eth_id) {
+ speed = CONFIG_MII_NPE0_SPEED;
+ duplex = CONFIG_MII_NPE0_FULLDUPLEX ? FULL : HALF;
+ }
+ else
+#endif
+#ifdef CONFIG_MII_NPE1_FIXEDLINK
+ if (1 == p_npe->eth_id) {
+ speed = CONFIG_MII_NPE1_SPEED;
+ duplex = CONFIG_MII_NPE1_FULLDUPLEX ? FULL : HALF;
+ }
+ else
+#endif
+ {
miiphy_read (dev->name, p_npe->phy_no, PHY_BMSR, &reg_short);

/*
@@ -388,7 +403,8 @@ static int npe_init(struct eth_device *dev, bd_t * bis)

speed = miiphy_speed (dev->name, p_npe->phy_no);
duplex = miiphy_duplex (dev->name, p_npe->phy_no);
-
+ }
+
if (p_npe->print_speed) {
p_npe->print_speed = 0;
printf ("ENET Speed is %d Mbps - %s duplex connection\n",
diff --git a/include/configs/actux2.h b/include/configs/actux2.h
index bef5bc0..fa9e20a 100644
--- a/include/configs/actux2.h
+++ b/include/configs/actux2.h
@@ -153,6 +153,11 @@
#define CONFIG_PHY_ADDR 0x00
/* MII PHY management */
#define CONFIG_MII 1
+/* fixed-speed switch without standard PHY registers on MII */
+#define CONFIG_MII_NPE0_FIXEDLINK 1
+#define CONFIG_MII_NPE0_SPEED 100
+#define CONFIG_MII_NPE0_FULLDUPLEX 1
+
/* Number of ethernet rx buffers & descriptors */
#define CONFIG_SYS_RX_ETH_BUFFER 16
#define CONFIG_RESET_PHY_R 1
diff --git a/include/configs/actux3.h b/include/configs/actux3.h
index 33d2db1..1a3b2cf 100644
--- a/include/configs/actux3.h
+++ b/include/configs/actux3.h
@@ -153,6 +153,11 @@
#define CONFIG_PHY_ADDR 0x10
/* MII PHY management */
#define CONFIG_MII 1
+/* fixed-speed switch without standard PHY registers on MII */
+#define CONFIG_MII_NPE0_FIXEDLINK 1
+#define CONFIG_MII_NPE0_SPEED 100
+#define CONFIG_MII_NPE0_FULLDUPLEX 1
+
/* Number of ethernet rx buffers & descriptors */
#define CONFIG_SYS_RX_ETH_BUFFER 16
#define CONFIG_RESET_PHY_R 1
--
1.7.2.3