Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎05-09-2010

ML410 PCI not working for ali south bridge

Hi, all,

I've read about rcolenbrander's PCI patch on ML510 and built my own hardware design based on xilinx wiki. But after finishing my porting for ALSA, I found that aplay returns error instead of playing sounds.


root@(none) \w # aplay /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
aplay: pcm_write:1528: write error: Input/output error


This error represents that there is a bug on irq or dma, and I detect that the linux is not catching the i8259 interrupt,


root@(none) \w # cat /proc/interrupts
  7:          0   i8259     Level     ALI 5451
 17:        414  Xilinx Edge  INTC Edge      uartlite
 18:     158409  Xilinx Level INTC Level     systemace
BAD:          0


What I was doing to make PCI integrated into ML410 are listed below:

1, add ip core plb46_pci 1.03a provided by Xilinx AR #31638,  following the steps shown in ml510_bsb1_pcores_ppc440.pdf;

2, change C_IPIFBAR2PCIBAR_0 to 0xa0000000;

3, download kernel code at with version 2.6.33, and stole the implemetation of ml510_pci_quirk for ppc40x by copying an identical file ml410.c in $arch/platform/40x;

4, mark PCI_SBR's interrupt NO. to be 1 rather than 0 by default;

5, replace DTS info of plb46_pci with that of virtex5_ml510.dts.


Do you have any ideas about this problem? I happened to notice that the cpu description inclues DMA specification for PPC440 while none for PPC405. As I do not add xps central DMA(which might be not available in current linux version) in my system, could this be a problem that account for my situation?

0 Kudos
2 Replies
Registered: ‎05-09-2010

I test the same kernel on ML510, but unfortunately the same error happens. I wonder whether there is someone making the ML510 board's ALI5451 work by applying the instructions provided by Xilinx wiki "Powerpc linux on ML510"?

0 Kudos
Registered: ‎01-17-2011

Hi xiheasas


I had the problem of losing interupts on the ML510 board also. It seemed that everything PCI related was not recognised with kernel version In my case the problem was "solved" by using a older kernel ( ). Since I'm not a linux expert, I have not been able to find the exact cause of the problem.


I hope this helps.

0 Kudos