mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-13 00:29:50 +00:00
[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>
This commit is contained in:
parent
05d9c84dfb
commit
5579345546
@ -812,7 +812,7 @@ config SMC91X
|
|||||||
tristate "SMC 91C9x/91C1xxx support"
|
tristate "SMC 91C9x/91C1xxx support"
|
||||||
select CRC32
|
select CRC32
|
||||||
select MII
|
select MII
|
||||||
depends on NET_ETHERNET && (ARM || REDWOOD_5 || REDWOOD_6 || M32R || SUPERH)
|
depends on NET_ETHERNET && (ARM || REDWOOD_5 || REDWOOD_6 || M32R || SUPERH || SOC_AU1X00)
|
||||||
help
|
help
|
||||||
This is a driver for SMC's 91x series of Ethernet chipsets,
|
This is a driver for SMC's 91x series of Ethernet chipsets,
|
||||||
including the SMC91C94 and the SMC91C111. Say Y if you want it
|
including the SMC91C94 and the SMC91C111. Say Y if you want it
|
||||||
|
@ -289,6 +289,38 @@ static inline void SMC_outsw (unsigned long a, int r, unsigned char* p, int l)
|
|||||||
#define RPC_LSA_DEFAULT RPC_LED_TX_RX
|
#define RPC_LSA_DEFAULT RPC_LED_TX_RX
|
||||||
#define RPC_LSB_DEFAULT RPC_LED_100_10
|
#define RPC_LSB_DEFAULT RPC_LED_100_10
|
||||||
|
|
||||||
|
#elif defined(CONFIG_SOC_AU1X00)
|
||||||
|
|
||||||
|
#include <au1xxx.h>
|
||||||
|
|
||||||
|
/* We can only do 16-bit reads and writes in the static memory space. */
|
||||||
|
#define SMC_CAN_USE_8BIT 0
|
||||||
|
#define SMC_CAN_USE_16BIT 1
|
||||||
|
#define SMC_CAN_USE_32BIT 0
|
||||||
|
#define SMC_IO_SHIFT 0
|
||||||
|
#define SMC_NOWAIT 1
|
||||||
|
|
||||||
|
#define SMC_inw(a, r) au_readw((unsigned long)((a) + (r)))
|
||||||
|
#define SMC_insw(a, r, p, l) \
|
||||||
|
do { \
|
||||||
|
unsigned long _a = (unsigned long)((a) + (r)); \
|
||||||
|
int _l = (l); \
|
||||||
|
u16 *_p = (u16 *)(p); \
|
||||||
|
while (_l-- > 0) \
|
||||||
|
*_p++ = au_readw(_a); \
|
||||||
|
} while(0)
|
||||||
|
#define SMC_outw(v, a, r) au_writew(v, (unsigned long)((a) + (r)))
|
||||||
|
#define SMC_outsw(a, r, p, l) \
|
||||||
|
do { \
|
||||||
|
unsigned long _a = (unsigned long)((a) + (r)); \
|
||||||
|
int _l = (l); \
|
||||||
|
const u16 *_p = (const u16 *)(p); \
|
||||||
|
while (_l-- > 0) \
|
||||||
|
au_writew(*_p++ , _a); \
|
||||||
|
} while(0)
|
||||||
|
|
||||||
|
#define set_irq_type(irq, type) do {} while (0)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#define SMC_CAN_USE_8BIT 1
|
#define SMC_CAN_USE_8BIT 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user