--- titan_ge.c.pmc 2006-05-25 20:10:29.000000000 -0700 +++ titan_ge.c 2006-05-25 20:12:34.000000000 -0700 @@ -2094,6 +2094,28 @@ udelay(30); +#ifdef CONFIG_PMC_SEQUOIA + +// XD_OOD_INTSMSG = 0x61, XD_INTSMSG = 0x62, +// XD_RX_INTSMSG = XD_TX_INTSMSG = 0x60 + TITAN_GE_WRITE(0x0060, RM9150_GCIC_INTMSG >> 4); + + reg_data = 0x61626060; + TITAN_GE_WRITE(0x0044, reg_data); + reg_data = TITAN_GE_READ(0x0080); + reg_data |= 0x1; + TITAN_GE_WRITE(0x0080, reg_data); + +#else +#ifdef TITAN_GE_12 + TITAN_GE_WRITE(0x0024, 0x04844424); +#else + TITAN_GE_WRITE(0x0024, 0x04000024); /* IRQ vector */ +#endif + TITAN_GE_WRITE(0x0020, 0x000fb000); /* INTMSG base */ +#endif // CONFIG_PMC_SEQUOIA + } + /* * Enable the Interrupts for Tx and Rx */ @@ -2128,28 +2150,6 @@ TITAN_GE_WRITE(0x003c, 0x00300); #endif -#ifdef CONFIG_PMC_SEQUOIA - -// XD_OOD_INTSMSG = 0x61, XD_INTSMSG = 0x62, -// XD_RX_INTSMSG = XD_TX_INTSMSG = 0x60 - TITAN_GE_WRITE(0x0060, RM9150_GCIC_INTMSG >> 4); - - reg_data = 0x61626060; - TITAN_GE_WRITE(0x0044, reg_data); - reg_data = TITAN_GE_READ(0x0080); - reg_data |= 0x1; - TITAN_GE_WRITE(0x0080, reg_data); - -#else -#ifdef TITAN_GE_12 - TITAN_GE_WRITE(0x0024, 0x04844424); -#else - TITAN_GE_WRITE(0x0024, 0x04000024); /* IRQ vector */ -#endif - TITAN_GE_WRITE(0x0020, 0x000fb000); /* INTMSG base */ -#endif // CONFIG_PMC_SEQUOIA - } - /* Priority */ reg_data = TITAN_GE_READ(0x1038 + (port_num << 12)); reg_data &= ~(0x00f00000);