diff options
| author | Pete Popov <ppopov@embeddedalley.com> | 2005-11-09 22:46:05 -0500 |
|---|---|---|
| committer | Jeff Garzik <jgarzik@pobox.com> | 2005-11-11 08:32:47 -0500 |
| commit | 557934554655ac119d96a1bdb6ed75319bb9d1b1 (patch) | |
| tree | be50370f30729f13e5488162369861c8bad4f9aa | |
| parent | 05d9c84dfbbb654f60d98d465b58d4c68222ef1c (diff) | |
[PATCH] smc91x: DB1200 support.
The following patch support the SMC9111 present on DB1200 boards.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| -rw-r--r-- | drivers/net/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/net/smc91x.h | 32 |
2 files changed, 33 insertions, 1 deletions
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 5c69d57f8548..ebd7313d7fc1 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig | |||
| @@ -812,7 +812,7 @@ config SMC91X | |||
| 812 | tristate "SMC 91C9x/91C1xxx support" | 812 | tristate "SMC 91C9x/91C1xxx support" |
| 813 | select CRC32 | 813 | select CRC32 |
| 814 | select MII | 814 | select MII |
| 815 | depends on NET_ETHERNET && (ARM || REDWOOD_5 || REDWOOD_6 || M32R || SUPERH) | 815 | depends on NET_ETHERNET && (ARM || REDWOOD_5 || REDWOOD_6 || M32R || SUPERH || SOC_AU1X00) |
| 816 | help | 816 | help |
| 817 | This is a driver for SMC's 91x series of Ethernet chipsets, | 817 | This is a driver for SMC's 91x series of Ethernet chipsets, |
| 818 | including the SMC91C94 and the SMC91C111. Say Y if you want it | 818 | including the SMC91C94 and the SMC91C111. Say Y if you want it |
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index 817f200742c3..a10cd184d597 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h | |||
| @@ -289,6 +289,38 @@ static inline void SMC_outsw (unsigned long a, int r, unsigned char* p, int l) | |||
| 289 | #define RPC_LSA_DEFAULT RPC_LED_TX_RX | 289 | #define RPC_LSA_DEFAULT RPC_LED_TX_RX |
| 290 | #define RPC_LSB_DEFAULT RPC_LED_100_10 | 290 | #define RPC_LSB_DEFAULT RPC_LED_100_10 |
| 291 | 291 | ||
| 292 | #elif defined(CONFIG_SOC_AU1X00) | ||
| 293 | |||
| 294 | #include <au1xxx.h> | ||
| 295 | |||
| 296 | /* We can only do 16-bit reads and writes in the static memory space. */ | ||
| 297 | #define SMC_CAN_USE_8BIT 0 | ||
| 298 | #define SMC_CAN_USE_16BIT 1 | ||
| 299 | #define SMC_CAN_USE_32BIT 0 | ||
| 300 | #define SMC_IO_SHIFT 0 | ||
| 301 | #define SMC_NOWAIT 1 | ||
| 302 | |||
| 303 | #define SMC_inw(a, r) au_readw((unsigned long)((a) + (r))) | ||
| 304 | #define SMC_insw(a, r, p, l) \ | ||
| 305 | do { \ | ||
| 306 | unsigned long _a = (unsigned long)((a) + (r)); \ | ||
| 307 | int _l = (l); \ | ||
| 308 | u16 *_p = (u16 *)(p); \ | ||
| 309 | while (_l-- > 0) \ | ||
| 310 | *_p++ = au_readw(_a); \ | ||
| 311 | } while(0) | ||
| 312 | #define SMC_outw(v, a, r) au_writew(v, (unsigned long)((a) + (r))) | ||
| 313 | #define SMC_outsw(a, r, p, l) \ | ||
| 314 | do { \ | ||
| 315 | unsigned long _a = (unsigned long)((a) + (r)); \ | ||
| 316 | int _l = (l); \ | ||
| 317 | const u16 *_p = (const u16 *)(p); \ | ||
| 318 | while (_l-- > 0) \ | ||
| 319 | au_writew(*_p++ , _a); \ | ||
| 320 | } while(0) | ||
| 321 | |||
| 322 | #define set_irq_type(irq, type) do {} while (0) | ||
| 323 | |||
| 292 | #else | 324 | #else |
| 293 | 325 | ||
| 294 | #define SMC_CAN_USE_8BIT 1 | 326 | #define SMC_CAN_USE_8BIT 1 |
