|
@@ -170,11 +170,7 @@ static char version[] __initdata =
|
|
|
/* The cs8900 has 4 IRQ pins, software selectable. cs8900_irq_map maps
|
|
|
them to system IRQ numbers. This mapping is card specific and is set to
|
|
|
the configuration of the Cirrus Eval board for this chip. */
|
|
|
-#if defined(CONFIG_SH_HICOSH4)
|
|
|
-static unsigned int netcard_portlist[] __used __initdata =
|
|
|
- { 0x0300, 0};
|
|
|
-static unsigned int cs8900_irq_map[] = {1,0,0,0};
|
|
|
-#elif defined(CONFIG_MACH_IXDP2351)
|
|
|
+#if defined(CONFIG_MACH_IXDP2351)
|
|
|
static unsigned int netcard_portlist[] __used __initdata = {IXDP2351_VIRT_CS8900_BASE, 0};
|
|
|
static unsigned int cs8900_irq_map[] = {IRQ_IXDP2351_CS8900, 0, 0, 0};
|
|
|
#elif defined(CONFIG_ARCH_IXDP2X01)
|
|
@@ -578,12 +574,6 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular)
|
|
|
goto out1;
|
|
|
}
|
|
|
|
|
|
-#ifdef CONFIG_SH_HICOSH4
|
|
|
- /* truly reset the chip */
|
|
|
- writeword(ioaddr, ADD_PORT, 0x0114);
|
|
|
- writeword(ioaddr, DATA_PORT, 0x0040);
|
|
|
-#endif
|
|
|
-
|
|
|
/* if they give us an odd I/O address, then do ONE write to
|
|
|
the address port, to get it back to address zero, where we
|
|
|
expect to find the EISA signature word. An IO with a base of 0x3
|
|
@@ -649,37 +639,6 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular)
|
|
|
the driver will always do *something* instead of complain that
|
|
|
adapter_cnf is 0. */
|
|
|
|
|
|
-#ifdef CONFIG_SH_HICOSH4
|
|
|
- if (1) {
|
|
|
- /* For the HiCO.SH4 board, things are different: we don't
|
|
|
- have EEPROM, but there is some data in flash, so we go
|
|
|
- get it there directly (MAC). */
|
|
|
- __u16 *confd;
|
|
|
- short cnt;
|
|
|
- if (((* (volatile __u32 *) 0xa0013ff0) & 0x00ffffff)
|
|
|
- == 0x006c3000) {
|
|
|
- confd = (__u16*) 0xa0013fc0;
|
|
|
- } else {
|
|
|
- confd = (__u16*) 0xa001ffc0;
|
|
|
- }
|
|
|
- cnt = (*confd++ & 0x00ff) >> 1;
|
|
|
- while (--cnt > 0) {
|
|
|
- __u16 j = *confd++;
|
|
|
-
|
|
|
- switch (j & 0x0fff) {
|
|
|
- case PP_IA:
|
|
|
- for (i = 0; i < ETH_ALEN/2; i++) {
|
|
|
- dev->dev_addr[i*2] = confd[i] & 0xFF;
|
|
|
- dev->dev_addr[i*2+1] = confd[i] >> 8;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
- j = (j >> 12) + 1;
|
|
|
- confd += j;
|
|
|
- cnt -= j;
|
|
|
- }
|
|
|
- } else
|
|
|
-#endif
|
|
|
|
|
|
if ((readreg(dev, PP_SelfST) & (EEPROM_OK | EEPROM_PRESENT)) ==
|
|
|
(EEPROM_OK|EEPROM_PRESENT)) {
|
|
@@ -734,11 +693,7 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular)
|
|
|
printk("\n");
|
|
|
|
|
|
/* First check to see if an EEPROM is attached. */
|
|
|
-#ifdef CONFIG_SH_HICOSH4 /* no EEPROM on HiCO, don't hazzle with it here */
|
|
|
- if (1) {
|
|
|
- printk(KERN_NOTICE "cs89x0: No EEPROM on HiCO.SH4\n");
|
|
|
- } else
|
|
|
-#endif
|
|
|
+
|
|
|
if ((readreg(dev, PP_SelfST) & EEPROM_PRESENT) == 0)
|
|
|
printk(KERN_WARNING "cs89x0: No EEPROM, relying on command line....\n");
|
|
|
else if (get_eeprom_data(dev, START_EEPROM_DATA,CHKSUM_LEN,eeprom_buff) < 0) {
|
|
@@ -1275,7 +1230,6 @@ net_open(struct net_device *dev)
|
|
|
int i;
|
|
|
int ret;
|
|
|
|
|
|
-#if !defined(CONFIG_SH_HICOSH4) && !defined(CONFIG_ARCH_PNX010X) /* uses irq#1, so this won't work */
|
|
|
if (dev->irq < 2) {
|
|
|
/* Allow interrupts to be generated by the chip */
|
|
|
/* Cirrus' release had this: */
|
|
@@ -1304,7 +1258,6 @@ net_open(struct net_device *dev)
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
-#endif
|
|
|
{
|
|
|
#ifndef CONFIG_CS89x0_NONISA_IRQ
|
|
|
if (((1 << dev->irq) & lp->irq_map) == 0) {
|