From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Schwarz Date: Thu, 10 Mar 2011 16:38:07 +0100 Subject: [U-Boot] MPC837x PCIe no link In-Reply-To: <4D7112E0.30603@matrix-vision.de> References: <4D7112E0.30603@matrix-vision.de> Message-ID: <4D78F05F.7090507@matrix-vision.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 03/04/2011 05:27 PM, Andre Schwarz wrote: > All, > > sorry to bother you again. > After my harddisk died I'm porting my latest 8377 work to TOT. > Unfortunately I'm lacking some commits that haven't been pushed to backup. > > > But everything's fine so far and the system is up and running, except PCIe. > > Using the "old" binary left on the server PCIe has been working fine : > > U-Boot 2010.12-rc1-00596-gcef659f-dirty (Nov 22 2010 - 17:22:20) MPC83XX > ... > PCIE1: link > > and the Wifi card is present and usable by Linux. > > => pci 2 > Scanning PCI devices on bus 2 > BusDevFun VendorId DeviceId Device Class Sub-Class > _____________________________________________________________ > 02.00.00 0x168c 0x001c Network controller 0x00 > > > > With latest code running on the *same piece of hardware* > > U-Boot 2011.03-rc1-00129-g1ce1ed1-dirty (Mar 04 2011 - 16:31:40) MPC83XX > > I get "PCIE1: No link" > > > Dumping SerDes (e3000 + e3100) and PCIe core (400-7ff) registers shows > now difference between both versions. > > Any ideas what might be responsible for the link not being established ? > got it - solution is somewhat unrelated but quite annoying : serdes setup has been done twice : 1. during board_early_init_f 2. during pci_init_board Although CONFIG_BOARD_EARLY_INIT_F has been defined in the board-config.h the function is not called - don't know why. serdes needs some time to establish a link and the delay between serdes and pcie setup within pci_init_board has been to small. This is why the registers always looked fine. Now I do an early serdes init during DDR setup and everything works fine. sorry for the noise. Cheers, Andr? MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner