MPC8641D PCI-Express problem

Kumar Gala galak at
Thu Mar 27 23:52:51 EST 2008

On Mar 25, 2008, at 8:03 AM, Marco Stornelli wrote:
> Kumar Gala ha scritto:
>> On Mar 25, 2008, at 3:02 AM, Marco Stornelli wrote:
>>> Hi,
>>> do you remember my problem with the pci-express? I have an  
>>> mpc8641d_hpcn (rev. 2.0) board connected via pci-express with the  
>>> Xilinx ML555 evaluation board. I'm using the 2.6.24 kernel. I'm  
>>> observing this strange behavior:
>>> 1) I turn on the board and I stop the U-boot
>>> 2) I load the FPGA microcode
>>> 3) I start the system
>>> 4) I load the driver module and I read a version register in the  
>>> FPGA
>>> 5) The system crashes with a "machine check exception: transfer  
>>> error ack signal"
>>> 6) reboot
>>> 7) same procedure (without load the FPGA again)
>>> 8) now I can read the registers!
>>> If I repeat the procedure again it doesn't work anymore. I think  
>>> it's a problem with pci-express controller. Have you got any  
>>> suggestions?
>>> Thanks.
>> Where are you loading the FPGA microcode (linux, u-boot)?  Also, is  
>> the FPGA the only device connected over PCIe?
>> - k
> I load the FPGA with JTAG and with a Xilinx program without a  
> specific linux driver or u-boot. Yes, it is the only device  
> connected over PCIe.

The issue may be related to the PCIe link training.  Are you able to  
access the FPGA in u-boot?  Can you try reseting the PCIe controller  
after you've loaded up the FPGA (see u-boot code in drivers/pci/ 
fsl_pci_init.c and look for CONFIG_FSL_PCIE_RESET)

- k

More information about the Linuxppc-embedded mailing list