Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 55793455 authored by Pete Popov's avatar Pete Popov Committed by Jeff Garzik
Browse files

[PATCH] smc91x: DB1200 support.



The following patch support the SMC9111 present on DB1200 boards.

Signed-off-by: default avatarNicolas Pitre <nico@cam.org>
Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
parent 05d9c84d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -812,7 +812,7 @@ config SMC91X
	tristate "SMC 91C9x/91C1xxx support"
	select CRC32
	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
	  This is a driver for SMC's 91x series of Ethernet chipsets,
	  including the SMC91C94 and the SMC91C111. Say Y if you want it
+32 −0
Original line number Diff line number Diff line
@@ -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_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

#define SMC_CAN_USE_8BIT	1