1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-07-05 03:35:28 +03:00

fix irq sharing issue on bcm4710

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5160 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2006-10-16 15:00:10 +00:00
parent 47be900c56
commit 00ce76e8b9

View File

@ -1829,22 +1829,22 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbmips.c linux.dev/arch/mips/bcm
+ BCMINIT(sb_setirq)(sbh, 0, SB_CODEC, 0);
+ BCMINIT(sb_setirq)(sbh, 0, SB_EXTIF, 0);
+ BCMINIT(sb_setirq)(sbh, 2, SB_ENET, 1);
+ BCMINIT(sb_setirq)(sbh, 3, SB_ILINE20, 0);
+ // BCMINIT(sb_setirq)(sbh, 3, SB_ILINE20, 0); /* seems to be unused */
+ BCMINIT(sb_setirq)(sbh, 4, SB_PCI, 0);
+ ASSERT(eir);
+ value = BCMINIT(early_nvram_get)("et0phyaddr");
+ if (value && !strcmp(value, "31")) {
+ /* Enable internal UART */
+ W_REG(&eir->corecontrol, CC_UE);
+ /* Give USB its own interrupt */
+ BCMINIT(sb_setirq)(sbh, 1, SB_USB, 0);
+ } else {
+ /* Disable internal UART */
+ W_REG(&eir->corecontrol, 0);
+ /* Give Ethernet its own interrupt */
+ BCMINIT(sb_setirq)(sbh, 1, SB_ENET, 0);
+ BCMINIT(sb_setirq)(sbh, 0, SB_USB, 0);
+ }
+ /* USB gets its own interrupt */
+ BCMINIT(sb_setirq)(sbh, 3, SB_USB, 0);
+
+ break;
+ case BCM5350_DEVICE_ID:
+ /* Clear interrupt map */
@ -2512,6 +2512,7 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbmips.c linux.dev/arch/mips/bcm
+}
+
+
diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbpci.c linux.dev/arch/mips/bcm947xx/broadcom/sbpci.c
--- linux.old/arch/mips/bcm947xx/broadcom/sbpci.c 1970-01-01 01:00:00.000000000 +0100
+++ linux.dev/arch/mips/bcm947xx/broadcom/sbpci.c 2006-10-15 23:29:14.000000000 +0200