custom ads8272 board PCI interrupt no response

Sam Song samlinuxppc at yahoo.com.cn
Wed Jul 27 23:52:33 EST 2005


Hi all,

A PCI interrupt probelm confused me when porting
2.6.13-rc3 on a custom 8248 board. There was a 
Gb ethernet RTL8110S on board with IDSEL AD25 and
IRQ3. So I made some changes as follows:

--- linux-2.6.13-rc3/arch/ppc/platforms/pq2ads.h
+++ linux-2.6.13-rc3-sam/arch/ppc/platforms/pq2ads.h
@@ -74,11 +78,11 @@
-#define PCI_INT_TO_SIU 	SIU_INT_IRQ2
+#define PCI_INT_TO_SIU 	SIU_INT_IRQ3

--- linux-2.6.13-rc3/arch/ppc/syslib/m82xx_pci.c
+++ linux-2.6.13-rc3-sam/arch/ppc/syslib/m82xx_pci.c
@@ -60,12 +60,20 @@
      * 	  A      B      C      D
      */
      {
+#if 0
    { PIRQA, PIRQB, PIRQC, PIRQD },/* IDSEL 22 - PCI 
slot 0 */
    { PIRQD, PIRQA, PIRQB, PIRQC }, /* IDSEL 23 - PCI 
slot 1 */
    { PIRQC, PIRQD, PIRQA, PIRQB }, /* IDSEL 24 - PCI 
slot 2 */
+#else  
+ {22, 22, 22, 22},/* IDSEL 22/IRQ4-PCI slot 0-USB */
+ {23, 23, 23, 23},/* IDSEL 23/IRQ5-PCI slot 1-IDE */
+ {24, 24, 0,   0},/* IDSEL 24 - PCI slot # - NULL */
+ {25, 25, 25, 25},/* IDSEL 25/IRQ3-PCI slot 2- Gb */
+
+#endif
    };
- const long min_idsel = 22, max_idsel = 24, 
irqs_per_slot = 4;
+ const long min_idsel = 22, max_idsel = 25, 
irqs_per_slot = 4;

Then got a interrupt map:
# cat /proc/interrupts
        CPU0
 21:     0   CPM2 SIU  Level    PQ2 PCI cascade
 25:     0   CPM2 SIU  Level    eth0
 40:    14   CPM2 SIU  Level    cpm_uart
 BAD:    2

Gb interrupt remained unchangable in the whole test
process. I could ping target itself but not for 
outside machine. So I suspect this result was due to
PCI interrupt setting but don't know where the probelm
is. Any idea?

Thanks in advance,

Sam


	

	
		
___________________________________________________________ 
雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱
http://cn.mail.yahoo.com/?id=77071




More information about the Linuxppc-embedded mailing list