diff options
Diffstat (limited to 'drivers/net/cs89x0.c')
| -rw-r--r-- | drivers/net/cs89x0.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c index a6078ad9b654..bfdae10036ed 100644 --- a/drivers/net/cs89x0.c +++ b/drivers/net/cs89x0.c | |||
| @@ -182,6 +182,10 @@ static unsigned int cs8900_irq_map[] = {IRQ_IXDP2X01_CS8900, 0, 0, 0}; | |||
| 182 | #define CIRRUS_DEFAULT_IRQ VH_INTC_INT_NUM_CASCADED_INTERRUPT_1 /* Event inputs bank 1 - ID 35/bit 3 */ | 182 | #define CIRRUS_DEFAULT_IRQ VH_INTC_INT_NUM_CASCADED_INTERRUPT_1 /* Event inputs bank 1 - ID 35/bit 3 */ |
| 183 | static unsigned int netcard_portlist[] __initdata = {CIRRUS_DEFAULT_BASE, 0}; | 183 | static unsigned int netcard_portlist[] __initdata = {CIRRUS_DEFAULT_BASE, 0}; |
| 184 | static unsigned int cs8900_irq_map[] = {CIRRUS_DEFAULT_IRQ, 0, 0, 0}; | 184 | static unsigned int cs8900_irq_map[] = {CIRRUS_DEFAULT_IRQ, 0, 0, 0}; |
| 185 | #elif defined(CONFIG_MACH_MP1000) | ||
| 186 | #include <asm/arch/mp1000-seprom.h> | ||
| 187 | static unsigned int netcard_portlist[] __initdata = {MP1000_EIO_BASE+0x300, 0}; | ||
| 188 | static unsigned int cs8900_irq_map[] = {IRQ_EINT3,0,0,0}; | ||
| 185 | #else | 189 | #else |
| 186 | static unsigned int netcard_portlist[] __initdata = | 190 | static unsigned int netcard_portlist[] __initdata = |
| 187 | { 0x300, 0x320, 0x340, 0x360, 0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, 0}; | 191 | { 0x300, 0x320, 0x340, 0x360, 0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, 0}; |
| @@ -590,6 +594,10 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular) | |||
| 590 | cnt -= j; | 594 | cnt -= j; |
| 591 | } | 595 | } |
| 592 | } else | 596 | } else |
| 597 | #elif defined(CONFIG_MACH_MP1000) | ||
| 598 | if (1) { | ||
| 599 | memcpy(dev->dev_addr, get_eeprom_mac_address(), ETH_ALEN); | ||
| 600 | } else | ||
| 593 | #endif | 601 | #endif |
| 594 | 602 | ||
| 595 | if ((readreg(dev, PP_SelfST) & (EEPROM_OK | EEPROM_PRESENT)) == | 603 | if ((readreg(dev, PP_SelfST) & (EEPROM_OK | EEPROM_PRESENT)) == |
| @@ -649,6 +657,10 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular) | |||
| 649 | if (1) { | 657 | if (1) { |
| 650 | printk(KERN_NOTICE "cs89x0: No EEPROM on HiCO.SH4\n"); | 658 | printk(KERN_NOTICE "cs89x0: No EEPROM on HiCO.SH4\n"); |
| 651 | } else | 659 | } else |
| 660 | #elif defined(CONFIG_MACH_MP1000) | ||
| 661 | if (1) { | ||
| 662 | lp->force |= FORCE_RJ45; | ||
| 663 | } else | ||
| 652 | #endif | 664 | #endif |
| 653 | if ((readreg(dev, PP_SelfST) & EEPROM_PRESENT) == 0) | 665 | if ((readreg(dev, PP_SelfST) & EEPROM_PRESENT) == 0) |
| 654 | printk(KERN_WARNING "cs89x0: No EEPROM, relying on command line....\n"); | 666 | printk(KERN_WARNING "cs89x0: No EEPROM, relying on command line....\n"); |
| @@ -1231,7 +1243,7 @@ net_open(struct net_device *dev) | |||
| 1231 | else | 1243 | else |
| 1232 | #endif | 1244 | #endif |
| 1233 | { | 1245 | { |
| 1234 | #if !defined(CONFIG_ARCH_IXDP2X01) && !defined(CONFIG_ARCH_PNX0105) | 1246 | #if !defined(CONFIG_ARCH_IXDP2X01) && !defined(CONFIG_ARCH_PNX0105) && !defined(CONFIG_MACH_MP1000) |
| 1235 | if (((1 << dev->irq) & lp->irq_map) == 0) { | 1247 | if (((1 << dev->irq) & lp->irq_map) == 0) { |
| 1236 | printk(KERN_ERR "%s: IRQ %d is not in our map of allowable IRQs, which is %x\n", | 1248 | printk(KERN_ERR "%s: IRQ %d is not in our map of allowable IRQs, which is %x\n", |
| 1237 | dev->name, dev->irq, lp->irq_map); | 1249 | dev->name, dev->irq, lp->irq_map); |
