From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Danter Date: Mon, 11 Jul 2005 18:02:30 +0100 Subject: [U-Boot-Users] Help debugging a PCI scanning problem Message-ID: <42D2A626.2080907@ntlworld.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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