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