diff options
| author | Domenico Andreoli <cavokz@gmail.com> | 2011-03-13 23:47:07 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2011-03-14 19:49:28 -0400 |
| commit | 2ce8c07d63cf860d6869eb4948522a0fef5ccc19 (patch) | |
| tree | 6b0feb7e499af25d5333a623091906284608b949 | |
| parent | d181a6171ec84a6139dd11d3dd546748c640dcaa (diff) | |
CS89x0: Add networking support for QQ2440
QQ2440 is only another non-ISA board using CS89x0. This patch adds the
minimum bits required to make QQ2440 work with CS89x0.
Signed-off-by: Domenico Andreoli <cavokz@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/Kconfig | 4 | ||||
| -rw-r--r-- | drivers/net/cs89x0.c | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 925c25c295f0..46e1b1a28b80 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig | |||
| @@ -1498,7 +1498,7 @@ config FORCEDETH | |||
| 1498 | config CS89x0 | 1498 | config CS89x0 |
| 1499 | tristate "CS89x0 support" | 1499 | tristate "CS89x0 support" |
| 1500 | depends on NET_ETHERNET && (ISA || EISA || MACH_IXDP2351 \ | 1500 | depends on NET_ETHERNET && (ISA || EISA || MACH_IXDP2351 \ |
| 1501 | || ARCH_IXDP2X01 || MACH_MX31ADS) | 1501 | || ARCH_IXDP2X01 || MACH_MX31ADS || MACH_QQ2440) |
| 1502 | ---help--- | 1502 | ---help--- |
| 1503 | Support for CS89x0 chipset based Ethernet cards. If you have a | 1503 | Support for CS89x0 chipset based Ethernet cards. If you have a |
| 1504 | network (Ethernet) card of this type, say Y and read the | 1504 | network (Ethernet) card of this type, say Y and read the |
| @@ -1512,7 +1512,7 @@ config CS89x0 | |||
| 1512 | config CS89x0_NONISA_IRQ | 1512 | config CS89x0_NONISA_IRQ |
| 1513 | def_bool y | 1513 | def_bool y |
| 1514 | depends on CS89x0 != n | 1514 | depends on CS89x0 != n |
| 1515 | depends on MACH_IXDP2351 || ARCH_IXDP2X01 || MACH_MX31ADS | 1515 | depends on MACH_IXDP2351 || ARCH_IXDP2X01 || MACH_MX31ADS || MACH_QQ2440 |
| 1516 | 1516 | ||
| 1517 | config TC35815 | 1517 | config TC35815 |
| 1518 | tristate "TOSHIBA TC35815 Ethernet support" | 1518 | tristate "TOSHIBA TC35815 Ethernet support" |
diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c index e6ac755ff5ce..537a4b2e2020 100644 --- a/drivers/net/cs89x0.c +++ b/drivers/net/cs89x0.c | |||
| @@ -95,6 +95,9 @@ | |||
| 95 | Dmitry Pervushin : dpervushin@ru.mvista.com | 95 | Dmitry Pervushin : dpervushin@ru.mvista.com |
| 96 | : PNX010X platform support | 96 | : PNX010X platform support |
| 97 | 97 | ||
| 98 | Domenico Andreoli : cavokz@gmail.com | ||
| 99 | : QQ2440 platform support | ||
| 100 | |||
| 98 | */ | 101 | */ |
| 99 | 102 | ||
| 100 | /* Always include 'config.h' first in case the user wants to turn on | 103 | /* Always include 'config.h' first in case the user wants to turn on |
| @@ -176,6 +179,10 @@ static unsigned int cs8900_irq_map[] = {IRQ_IXDP2351_CS8900, 0, 0, 0}; | |||
| 176 | #elif defined(CONFIG_ARCH_IXDP2X01) | 179 | #elif defined(CONFIG_ARCH_IXDP2X01) |
| 177 | static unsigned int netcard_portlist[] __used __initdata = {IXDP2X01_CS8900_VIRT_BASE, 0}; | 180 | static unsigned int netcard_portlist[] __used __initdata = {IXDP2X01_CS8900_VIRT_BASE, 0}; |
| 178 | static unsigned int cs8900_irq_map[] = {IRQ_IXDP2X01_CS8900, 0, 0, 0}; | 181 | static unsigned int cs8900_irq_map[] = {IRQ_IXDP2X01_CS8900, 0, 0, 0}; |
| 182 | #elif defined(CONFIG_MACH_QQ2440) | ||
| 183 | #include <mach/qq2440.h> | ||
| 184 | static unsigned int netcard_portlist[] __used __initdata = { QQ2440_CS8900_VIRT_BASE + 0x300, 0 }; | ||
| 185 | static unsigned int cs8900_irq_map[] = { QQ2440_CS8900_IRQ, 0, 0, 0 }; | ||
| 179 | #elif defined(CONFIG_MACH_MX31ADS) | 186 | #elif defined(CONFIG_MACH_MX31ADS) |
| 180 | #include <mach/board-mx31ads.h> | 187 | #include <mach/board-mx31ads.h> |
| 181 | static unsigned int netcard_portlist[] __used __initdata = { | 188 | static unsigned int netcard_portlist[] __used __initdata = { |
| @@ -521,6 +528,10 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular) | |||
| 521 | #endif | 528 | #endif |
| 522 | lp->force = g_cs89x0_media__force; | 529 | lp->force = g_cs89x0_media__force; |
| 523 | #endif | 530 | #endif |
| 531 | |||
| 532 | #if defined(CONFIG_MACH_QQ2440) | ||
| 533 | lp->force |= FORCE_RJ45 | FORCE_FULL; | ||
| 534 | #endif | ||
| 524 | } | 535 | } |
| 525 | 536 | ||
| 526 | /* Grab the region so we can find another board if autoIRQ fails. */ | 537 | /* Grab the region so we can find another board if autoIRQ fails. */ |
