[U-Boot] last step to go - dead PHY

My apologies, I've posted this is AVR32_u-boot where it probably belongs.
But I'm running out of time to ship some prototypes tomorrow, and this is my last major issue with them, so could I throw myself on the mercy of the assembled wisdom please? Maybe someone will say - you stupid person, you need to change this line to that....
We have built a new design based on the ATNGW100, but we were pushed for space, so we fitted the Nat Semi DP83849C dual PHY
It works great under Linux, but Linux seems to do a probe for PHYs at multiple addresses on the MII busses.
Yes, I know the very latest u-boot sources can do similar, but I had to freeze on 2008-10 because of the saveenv issue. Too late to update now.
Anyway, only my 2nd PHY works under u-boot, and that's not the WAN interface for Linux ( as painted on the box ), so I can't use the same cable for both.
Could anyone look at the problem report below and see if they can instantly tell me what to change, or what to examine
Can I squeeze any more progress info out of u-boot ?
Truly grateful.
David Collier
www.dexdyne.com
============= question ==================
Both Ethernets work under Linux.. so it can't be too serious.
the linux startup says:
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:10, irq=-1) eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=1:00, irq=-1)
now we have strapped PHYAD4 high, so the 2 phys should have addresses binary 10000 and 10001
I can't see any relationship between 0:10 and 1:00 and 10000 and 10001 !!!
well maybe - the first one looks right - binary 10000 is hex 10 but the other port should be on hex 11, not hex 0!!!!!!
--------------- but under u-boot
in my file derived from ATNGW10.c I have
void board_init_info(void) { gd->bd->bi_phy_id[0] = 0x01; gd->bd->bi_phy_id[1] = 0x03; }
I THINK the first line refers to the PHY that doesn't work, and the 2nd to the one that does, but I'm aware of the possibility of a cross-over
but changing either/both those values seems to make no difference to what happens....
I still get MACB0 "no PHY" and MACB1 connects...

Dear "David Collier",
In message <memo.20091026103604.2092f@postmaster+dexdyne.com.cix.co.uk> you wrote:
My apologies, I've posted this is AVR32_u-boot where it probably belongs.
But I'm running out of time to ship some prototypes tomorrow, and this is my last major issue with them, so could I throw myself on the mercy of the assembled wisdom please? Maybe someone will say - you stupid person, you need to change this line to that....
I don;t say that, but I do say this: With such a short deadline, you should have hired an expert a couple of days (or weeks) ago.
Yes, I know the very latest u-boot sources can do similar, but I had to freeze on 2008-10 because of the saveenv issue. Too late to update now.
This is unlogical. Instead of updating and fixing "the saveenv issue" (whatever this is) you are using old code - where you now have to fix "the PHY issue". Is this any better?
...
the linux startup says:
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:10, irq=-1) eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=1:00, irq=-1)
now we have strapped PHYAD4 high, so the 2 phys should have addresses binary 10000 and 10001
I can't see any relationship between 0:10 and 1:00 and 10000 and 10001 !!!
...
well maybe - the first one looks right - binary 10000 is hex 10 but the other port should be on hex 11, not hex 0!!!!!!
Maybe your haredware is not what you think it is?
but under u-boot
in my file derived from ATNGW10.c I have
void board_init_info(void) { gd->bd->bi_phy_id[0] = 0x01; gd->bd->bi_phy_id[1] = 0x03; }
I can't see any relationship between 0x01 and 0x03 and 10000 and 10001 (or 0:10 and 1:00 either). Maybe you try these instead?
Best regards,
Wolfgang Denk

This is unlogical. Instead of updating and fixing "the saveenv issue" (whatever this is) you are using old code - where you now have to fix "the PHY issue".
the saveenv issue was that when I tried to work with the latest sources for the AVR32 it wouldn't do savenv.
So I backed off to the last commit which did it OK, which was 2008.10.
Is this any better?
well yes, in that I don't HAVE to fix this now, I just want to, and I have no experience in producing diff patches, and getting them included.
I really need to go through the whole business of defining a new board, but I don't have the time for tomorrow's timescale.
SOmetimes pragmatism is required.
David
...
the linux startup says:
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:10, irq=-1) eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=1:00, irq=-1)
now we have strapped PHYAD4 high, so the 2 phys should have addresses binary 10000 and 10001
I can't see any relationship between 0:10 and 1:00 and 10000 and 10001 !!!
...
well maybe - the first one looks right - binary 10000 is hex 10 but the other port should be on hex 11, not hex 0!!!!!!
Maybe your haredware is not what you think it is?
but under u-boot
in my file derived from ATNGW10.c I have
void board_init_info(void) { gd->bd->bi_phy_id[0] = 0x01; gd->bd->bi_phy_id[1] = 0x03; }
I can't see any relationship between 0x01 and 0x03 and 10000 and 10001 (or 0:10 and 1:00 either). Maybe you try these instead?
Best regards,
Wolfgang Denk
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de Even if you can deceive people about a product through misleading statements, sooner or later the product will speak for itself.
- Hajime Karatsu
David Collier
www.dexdyne.com

well I don't need to have the Ethernet running for the shipped product...
but I would like to use it in production test of the next batch - so if I can avoid an extra issue of u-boot I will....
D.
But I'm running out of time to ship some prototypes tomorrow, and this is my last major issue with them, so could I throw myself on the mercy of the assembled wisdom please? Maybe someone will say - you stupid person, you need to change this line to that....
I don;t say that, but I do say this: With such a short deadline, you should have hired an expert a couple of days (or weeks) ago.
Yes, I know the very latest u-boot sources can do similar, but I had to freeze on 2008-10 because of the saveenv issue. Too late to update now.
This is unlogical. Instead of updating and fixing "the saveenv issue" (whatever this is) you are using old code - where you now have to fix "the PHY issue". Is this any better?
...
the linux startup says:
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:10, irq=-1) eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=1:00, irq=-1)
now we have strapped PHYAD4 high, so the 2 phys should have addresses binary 10000 and 10001
I can't see any relationship between 0:10 and 1:00 and 10000 and 10001 !!!
...
well maybe - the first one looks right - binary 10000 is hex 10 but the other port should be on hex 11, not hex 0!!!!!!
Maybe your haredware is not what you think it is?
but under u-boot
in my file derived from ATNGW10.c I have
void board_init_info(void) { gd->bd->bi_phy_id[0] = 0x01; gd->bd->bi_phy_id[1] = 0x03; }
I can't see any relationship between 0x01 and 0x03 and 10000 and 10001 (or 0:10 and 1:00 either). Maybe you try these instead?
Best regards,
Wolfgang Denk
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de Even if you can deceive people about a product through misleading statements, sooner or later the product will speak for itself.
- Hajime Karatsu
David Collier
www.dexdyne.com
participants (2)
-
David Collier
-
Wolfgang Denk