|
@@ -73,40 +73,8 @@ static int cds_pci_slot = 2;
|
|
|
static volatile u8 * cadmus;
|
|
|
|
|
|
/* Internal interrupts are all Level Sensitive, and Positive Polarity */
|
|
|
-
|
|
|
static u_char mpc85xx_cds_openpic_initsenses[] __initdata = {
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 0: L2 Cache */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 1: ECM */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 2: DDR DRAM */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 3: LBIU */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 4: DMA 0 */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 5: DMA 1 */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 6: DMA 2 */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 7: DMA 3 */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 8: PCI/PCI-X */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 9: RIO Inbound Port Write Error */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 10: RIO Doorbell Inbound */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 11: RIO Outbound Message */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 12: RIO Inbound Message */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 13: TSEC 0 Transmit */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 14: TSEC 0 Receive */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 15: Unused */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 16: Unused */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 17: Unused */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 18: TSEC 0 Receive/Transmit Error */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 19: TSEC 1 Transmit */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 20: TSEC 1 Receive */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 21: Unused */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 22: Unused */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 23: Unused */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 24: TSEC 1 Receive/Transmit Error */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 25: Fast Ethernet */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 26: DUART */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 27: I2C */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 28: Performance Monitor */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 29: Unused */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 30: CPM */
|
|
|
- (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* Internal 31: Unused */
|
|
|
+ MPC85XX_INTERNAL_IRQ_SENSES,
|
|
|
#if defined(CONFIG_PCI)
|
|
|
(IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* External 0: PCI1 slot */
|
|
|
(IRQ_SENSE_LEVEL | IRQ_POLARITY_NEGATIVE), /* External 1: PCI1 slot */
|
|
@@ -182,7 +150,6 @@ void __init
|
|
|
mpc85xx_cds_init_IRQ(void)
|
|
|
{
|
|
|
bd_t *binfo = (bd_t *) __res;
|
|
|
- int i;
|
|
|
|
|
|
/* Determine the Physical Address of the OpenPIC regs */
|
|
|
phys_addr_t OpenPIC_PAddr = binfo->bi_immr_base + MPC85xx_OPENPIC_OFFSET;
|
|
@@ -191,9 +158,13 @@ mpc85xx_cds_init_IRQ(void)
|
|
|
OpenPIC_NumInitSenses = sizeof (mpc85xx_cds_openpic_initsenses);
|
|
|
|
|
|
/* Skip reserved space and internal sources */
|
|
|
+#ifdef CONFIG_MPC8548
|
|
|
+ openpic_set_sources(0, 48, OpenPIC_Addr + 0x10200);
|
|
|
+#else
|
|
|
openpic_set_sources(0, 32, OpenPIC_Addr + 0x10200);
|
|
|
+#endif
|
|
|
/* Map PIC IRQs 0-11 */
|
|
|
- openpic_set_sources(32, 12, OpenPIC_Addr + 0x10000);
|
|
|
+ openpic_set_sources(48, 12, OpenPIC_Addr + 0x10000);
|
|
|
|
|
|
/* we let openpic interrupts starting from an offset, to
|
|
|
* leave space for cascading interrupts underneath.
|