[U-Boot-Users] Help debugging a PCI scanning problem
Richard Danter
richard.danter at ntlworld.com
Mon Jul 11 19:02:30 CEST 2005
Hi all,
I have almost completed the porting of U-Boot to my 7400/107 board. I am
now able to boot from flash, tftpload the hello_world example and run
it. :)
However, there is a hack which I don't like and hope maybe someone can
suggest why I need it and what the _correct_ solution is.
When eepro100_initialize() is called it loops scanning the PCI bus for
cards. I have such a card and it is found with no problems. The card is
initialised correctly which is how I am able to tftpload the example.
The problem comes after it has initialised the card. It looks for a
second card and this seems to crash the system.
For the moment I have added the following to the end of the
eepro100_initialize() function:
read_hw_addr (dev, bis);
#ifdef CONFIG_PPMC7xx
/* RAD
* FixMe: This prevents a crash but means only
* one network card can be installed
*/
break;
#endif
}
return card_number;
}
which works.
I can scan the bus with the "pci" command and get the following results.
Obviously the network controller Dev number changes depending on which
slot it is inserted into:
=> pci
Scanning PCI devices on bus 0
BusDevFun VendorId DeviceId Device Class Sub-Class
_____________________________________________________________
00.00.00 0x1057 0x0004 Bridge device 0x00
00.11.00 0x8086 0x1030 Network controller 0x00
00.12.00 0x1011 0x0026 Bridge device 0x04
=>
There are only 2 slots on this board. The ethernet card works in either
of them. The crash seems to happen within the pci_find_devices()
function. Any suggestions how I can debug this?
Many thanks
Rich
More information about the U-Boot
mailing list