diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2007-08-02 10:36:02 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-08-26 21:16:53 -0400 |
commit | c87abd75b35e8f991ff8ff1510d6fb62612c61fa (patch) | |
tree | de68c4446c35337c47c17253d769bfeee92f80b3 /include/asm-mips/tx4927 | |
parent | 8420fd00e88ef4f6082866aa151bc753b006b3b6 (diff) |
[MIPS] Cleanup TX39/TX49 irq code
Cleanup jmr3927, tx4927 and tx4938 irq codes, using common IRQ_CPU,
I8259 and IRQ_TXX9 irq routines.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include/asm-mips/tx4927')
-rw-r--r-- | include/asm-mips/tx4927/toshiba_rbtx4927.h | 2 | ||||
-rw-r--r-- | include/asm-mips/tx4927/tx4927.h | 49 | ||||
-rw-r--r-- | include/asm-mips/tx4927/tx4927_pci.h | 23 |
3 files changed, 7 insertions, 67 deletions
diff --git a/include/asm-mips/tx4927/toshiba_rbtx4927.h b/include/asm-mips/tx4927/toshiba_rbtx4927.h index 5dc40a867774..a60649569c2c 100644 --- a/include/asm-mips/tx4927/toshiba_rbtx4927.h +++ b/include/asm-mips/tx4927/toshiba_rbtx4927.h | |||
@@ -50,7 +50,7 @@ | |||
50 | 50 | ||
51 | 51 | ||
52 | #define RBTX4927_RTL_8019_BASE (0x1c020280-TBTX4927_ISA_IO_OFFSET) | 52 | #define RBTX4927_RTL_8019_BASE (0x1c020280-TBTX4927_ISA_IO_OFFSET) |
53 | #define RBTX4927_RTL_8019_IRQ (29) | 53 | #define RBTX4927_RTL_8019_IRQ (TX4927_IRQ_PIC_BEG + 5) |
54 | 54 | ||
55 | int toshiba_rbtx4927_irq_nested(int sw_irq); | 55 | int toshiba_rbtx4927_irq_nested(int sw_irq); |
56 | 56 | ||
diff --git a/include/asm-mips/tx4927/tx4927.h b/include/asm-mips/tx4927/tx4927.h index de85bd2245f7..4bd4368e188c 100644 --- a/include/asm-mips/tx4927/tx4927.h +++ b/include/asm-mips/tx4927/tx4927.h | |||
@@ -28,6 +28,7 @@ | |||
28 | #define __ASM_TX4927_TX4927_H | 28 | #define __ASM_TX4927_TX4927_H |
29 | 29 | ||
30 | #include <asm/tx4927/tx4927_mips.h> | 30 | #include <asm/tx4927/tx4927_mips.h> |
31 | #include <asm/txx9irq.h> | ||
31 | 32 | ||
32 | /* | 33 | /* |
33 | This register naming came from the integrated CPU/controller name TX4927 | 34 | This register naming came from the integrated CPU/controller name TX4927 |
@@ -421,32 +422,6 @@ | |||
421 | #define TX4927_PIO_LIMIT 0xf50f | 422 | #define TX4927_PIO_LIMIT 0xf50f |
422 | 423 | ||
423 | 424 | ||
424 | /* TX4927 Interrupt Controller (32-bit registers) */ | ||
425 | #define TX4927_IRC_BASE 0xf510 | ||
426 | #define TX4927_IRC_IRFLAG0 0xf510 | ||
427 | #define TX4927_IRC_IRFLAG1 0xf514 | ||
428 | #define TX4927_IRC_IRPOL 0xf518 | ||
429 | #define TX4927_IRC_IRRCNT 0xf51c | ||
430 | #define TX4927_IRC_IRMASKINT 0xf520 | ||
431 | #define TX4927_IRC_IRMASKEXT 0xf524 | ||
432 | #define TX4927_IRC_IRDEN 0xf600 | ||
433 | #define TX4927_IRC_IRDM0 0xf604 | ||
434 | #define TX4927_IRC_IRDM1 0xf608 | ||
435 | #define TX4927_IRC_IRLVL0 0xf610 | ||
436 | #define TX4927_IRC_IRLVL1 0xf614 | ||
437 | #define TX4927_IRC_IRLVL2 0xf618 | ||
438 | #define TX4927_IRC_IRLVL3 0xf61c | ||
439 | #define TX4927_IRC_IRLVL4 0xf620 | ||
440 | #define TX4927_IRC_IRLVL5 0xf624 | ||
441 | #define TX4927_IRC_IRLVL6 0xf628 | ||
442 | #define TX4927_IRC_IRLVL7 0xf62c | ||
443 | #define TX4927_IRC_IRMSK 0xf640 | ||
444 | #define TX4927_IRC_IREDC 0xf660 | ||
445 | #define TX4927_IRC_IRPND 0xf680 | ||
446 | #define TX4927_IRC_IRCS 0xf6a0 | ||
447 | #define TX4927_IRC_LIMIT 0xf6ff | ||
448 | |||
449 | |||
450 | /* TX4927 AC-link controller (32-bit registers) */ | 425 | /* TX4927 AC-link controller (32-bit registers) */ |
451 | #define TX4927_ACLC_BASE 0xf700 | 426 | #define TX4927_ACLC_BASE 0xf700 |
452 | #define TX4927_ACLC_ACCTLEN 0xf700 | 427 | #define TX4927_ACLC_ACCTLEN 0xf700 |
@@ -493,25 +468,11 @@ | |||
493 | #define TX4927_WR( reg, val ) TX4927_WR32( reg, val ) | 468 | #define TX4927_WR( reg, val ) TX4927_WR32( reg, val ) |
494 | 469 | ||
495 | 470 | ||
471 | #define TX4927_IRQ_CP0_BEG MIPS_CPU_IRQ_BASE | ||
472 | #define TX4927_IRQ_CP0_END (MIPS_CPU_IRQ_BASE + 8 - 1) | ||
496 | 473 | ||
497 | 474 | #define TX4927_IRQ_PIC_BEG TXX9_IRQ_BASE | |
498 | 475 | #define TX4927_IRQ_PIC_END (TXX9_IRQ_BASE + TXx9_MAX_IR - 1) | |
499 | #define MI8259_IRQ_ISA_RAW_BEG 0 /* optional backplane i8259 */ | ||
500 | #define MI8259_IRQ_ISA_RAW_END 15 | ||
501 | #define TX4927_IRQ_CP0_RAW_BEG 0 /* tx4927 cpu built-in cp0 */ | ||
502 | #define TX4927_IRQ_CP0_RAW_END 7 | ||
503 | #define TX4927_IRQ_PIC_RAW_BEG 0 /* tx4927 cpu build-in pic */ | ||
504 | #define TX4927_IRQ_PIC_RAW_END 31 | ||
505 | |||
506 | |||
507 | #define MI8259_IRQ_ISA_BEG MI8259_IRQ_ISA_RAW_BEG /* 0 */ | ||
508 | #define MI8259_IRQ_ISA_END MI8259_IRQ_ISA_RAW_END /* 15 */ | ||
509 | |||
510 | #define TX4927_IRQ_CP0_BEG ((MI8259_IRQ_ISA_END+1)+TX4927_IRQ_CP0_RAW_BEG) /* 16 */ | ||
511 | #define TX4927_IRQ_CP0_END ((MI8259_IRQ_ISA_END+1)+TX4927_IRQ_CP0_RAW_END) /* 23 */ | ||
512 | |||
513 | #define TX4927_IRQ_PIC_BEG ((TX4927_IRQ_CP0_END+1)+TX4927_IRQ_PIC_RAW_BEG) /* 24 */ | ||
514 | #define TX4927_IRQ_PIC_END ((TX4927_IRQ_CP0_END+1)+TX4927_IRQ_PIC_RAW_END) /* 55 */ | ||
515 | 476 | ||
516 | 477 | ||
517 | #define TX4927_IRQ_USER0 (TX4927_IRQ_CP0_BEG+0) | 478 | #define TX4927_IRQ_USER0 (TX4927_IRQ_CP0_BEG+0) |
diff --git a/include/asm-mips/tx4927/tx4927_pci.h b/include/asm-mips/tx4927/tx4927_pci.h index 66c064690f41..f98b2bb719d5 100644 --- a/include/asm-mips/tx4927/tx4927_pci.h +++ b/include/asm-mips/tx4927/tx4927_pci.h | |||
@@ -48,7 +48,7 @@ | |||
48 | #define TX4927_PCI_CLK_ACK 0x04 | 48 | #define TX4927_PCI_CLK_ACK 0x04 |
49 | #define TX4927_PCI_CLK_ACE 0x02 | 49 | #define TX4927_PCI_CLK_ACE 0x02 |
50 | #define TX4927_PCI_CLK_ENDIAN 0x01 | 50 | #define TX4927_PCI_CLK_ENDIAN 0x01 |
51 | #define TX4927_NR_IRQ_LOCAL (8+16) | 51 | #define TX4927_NR_IRQ_LOCAL TX4927_IRQ_PIC_BEG |
52 | #define TX4927_NR_IRQ_IRC 32 /* On-Chip IRC */ | 52 | #define TX4927_NR_IRQ_IRC 32 /* On-Chip IRC */ |
53 | 53 | ||
54 | #define TX4927_IR_PCIC 16 | 54 | #define TX4927_IR_PCIC 16 |
@@ -99,21 +99,6 @@ struct tx4927_ccfg_reg { | |||
99 | volatile unsigned long long ramp; | 99 | volatile unsigned long long ramp; |
100 | }; | 100 | }; |
101 | 101 | ||
102 | struct tx4927_irc_reg { | ||
103 | volatile unsigned long cer; | ||
104 | volatile unsigned long cr[2]; | ||
105 | volatile unsigned long unused0; | ||
106 | volatile unsigned long ilr[8]; | ||
107 | volatile unsigned long unused1[4]; | ||
108 | volatile unsigned long imr; | ||
109 | volatile unsigned long unused2[7]; | ||
110 | volatile unsigned long scr; | ||
111 | volatile unsigned long unused3[7]; | ||
112 | volatile unsigned long ssr; | ||
113 | volatile unsigned long unused4[7]; | ||
114 | volatile unsigned long csr; | ||
115 | }; | ||
116 | |||
117 | struct tx4927_pcic_reg { | 102 | struct tx4927_pcic_reg { |
118 | volatile unsigned long pciid; | 103 | volatile unsigned long pciid; |
119 | volatile unsigned long pcistatus; | 104 | volatile unsigned long pcistatus; |
@@ -182,11 +167,6 @@ struct tx4927_pcic_reg { | |||
182 | 167 | ||
183 | #endif /* _LANGUAGE_ASSEMBLY */ | 168 | #endif /* _LANGUAGE_ASSEMBLY */ |
184 | 169 | ||
185 | /* IRCSR : Int. Current Status */ | ||
186 | #define TX4927_IRCSR_IF 0x00010000 | ||
187 | #define TX4927_IRCSR_ILV_MASK 0x00000700 | ||
188 | #define TX4927_IRCSR_IVL_MASK 0x0000001f | ||
189 | |||
190 | /* | 170 | /* |
191 | * PCIC | 171 | * PCIC |
192 | */ | 172 | */ |
@@ -278,7 +258,6 @@ struct tx4927_pcic_reg { | |||
278 | #define tx4927_pcicptr ((struct tx4927_pcic_reg *)TX4927_PCIC_REG) | 258 | #define tx4927_pcicptr ((struct tx4927_pcic_reg *)TX4927_PCIC_REG) |
279 | #define tx4927_ccfgptr ((struct tx4927_ccfg_reg *)TX4927_CCFG_REG) | 259 | #define tx4927_ccfgptr ((struct tx4927_ccfg_reg *)TX4927_CCFG_REG) |
280 | #define tx4927_ebuscptr ((struct tx4927_ebusc_reg *)TX4927_EBUSC_REG) | 260 | #define tx4927_ebuscptr ((struct tx4927_ebusc_reg *)TX4927_EBUSC_REG) |
281 | #define tx4927_ircptr ((struct tx4927_irc_reg *)TX4927_IRC_REG) | ||
282 | 261 | ||
283 | #endif /* _LANGUAGE_ASSEMBLY */ | 262 | #endif /* _LANGUAGE_ASSEMBLY */ |
284 | 263 | ||