[U-Boot] [PATCH] net: Add option to disable fibre on M88E1111 PHY for PPC4xx

By defining CONFIG_M88E1111_DISABLE_FIBRE boards can configure the M88E1111 PYH to disable fibre. This is needed for an upcoming PPC460GT based board, which has fibre/copper auto-selection enabled by default. This doesn't seem to work. So we disable fibre in the PHY register.
Signed-off-by: Stefan Roese sr@denx.de Cc: Ben Warren biggerbadderben@gmail.com --- drivers/net/4xx_enet.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/net/4xx_enet.c b/drivers/net/4xx_enet.c index 2fac641..2958903 100644 --- a/drivers/net/4xx_enet.c +++ b/drivers/net/4xx_enet.c @@ -1095,6 +1095,11 @@ static int ppc_4xx_eth_init (struct eth_device *dev, bd_t * bis) miiphy_write (dev->name, reg, 0x18, 0x4101); miiphy_write (dev->name, reg, 0x09, 0x0e00); miiphy_write (dev->name, reg, 0x04, 0x01e1); +#if defined(CONFIG_M88E1111_DISABLE_FIBRE) + miiphy_read(dev->name, reg, 0x1b, ®_short); + reg_short |= 0x8000; + miiphy_write(dev->name, reg, 0x1b, reg_short); +#endif #endif #if defined(CONFIG_M88E1112_PHY) if (bis->bi_phymode[devnum] == BI_PHYMODE_SGMII) {

Hi Stefan,
On 6/10/2010 2:28 AM, Stefan Roese wrote:
By defining CONFIG_M88E1111_DISABLE_FIBRE boards can configure the M88E1111 PYH to disable fibre. This is needed for an upcoming PPC460GT based board, which has fibre/copper auto-selection enabled by default. This doesn't seem to work. So we disable fibre in the PHY register.
I don't mean to be pedantic, but unless this is a Fibre Channel link (and it isn't), the appropriate spelling is 'FIBER'. I say this reluctantly, having been raised using British/European spelling...
Signed-off-by: Stefan Roesesr@denx.de Cc: Ben Warrenbiggerbadderben@gmail.com
drivers/net/4xx_enet.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/net/4xx_enet.c b/drivers/net/4xx_enet.c index 2fac641..2958903 100644 --- a/drivers/net/4xx_enet.c +++ b/drivers/net/4xx_enet.c @@ -1095,6 +1095,11 @@ static int ppc_4xx_eth_init (struct eth_device *dev, bd_t * bis) miiphy_write (dev->name, reg, 0x18, 0x4101); miiphy_write (dev->name, reg, 0x09, 0x0e00); miiphy_write (dev->name, reg, 0x04, 0x01e1); +#if defined(CONFIG_M88E1111_DISABLE_FIBRE)
miiphy_read(dev->name, reg, 0x1b,®_short);
reg_short |= 0x8000;
miiphy_write(dev->name, reg, 0x1b, reg_short);
+#endif #endif #if defined(CONFIG_M88E1112_PHY) if (bis->bi_phymode[devnum] == BI_PHYMODE_SGMII) {
regards, Ben

Hi Ben,
On Monday 21 June 2010 07:56:17 Ben Warren wrote:
By defining CONFIG_M88E1111_DISABLE_FIBRE boards can configure the M88E1111 PYH to disable fibre. This is needed for an upcoming PPC460GT based board, which has fibre/copper auto-selection enabled by default. This doesn't seem to work. So we disable fibre in the PHY register.
I don't mean to be pedantic, but unless this is a Fibre Channel link (and it isn't), the appropriate spelling is 'FIBER'. I say this reluctantly, having been raised using British/European spelling...
Thanks. I'll send an updated patch version tomorrow.
Cheers, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de
participants (2)
-
Ben Warren
-
Stefan Roese