MIPS: Alchemy: PB1200: use SMC91X platform data.
Add platform data for the smc91x on the PB1200/DB1200, and remove the now unused AU1X00 entry in smc91x.h. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
This commit is contained in:
Родитель
2f794d099d
Коммит
91e8a30e90
|
@ -22,6 +22,7 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/leds.h>
|
#include <linux/leds.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
|
#include <linux/smc91x.h>
|
||||||
|
|
||||||
#include <asm/mach-au1x00/au1xxx.h>
|
#include <asm/mach-au1x00/au1xxx.h>
|
||||||
#include <asm/mach-au1x00/au1100_mmc.h>
|
#include <asm/mach-au1x00/au1100_mmc.h>
|
||||||
|
@ -131,6 +132,12 @@ static struct platform_device ide_device = {
|
||||||
.resource = ide_resources
|
.resource = ide_resources
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct smc91x_platdata smc_data = {
|
||||||
|
.flags = SMC91X_NOWAIT | SMC91X_USE_16BIT,
|
||||||
|
.leda = RPC_LED_100_10,
|
||||||
|
.ledb = RPC_LED_TX_RX,
|
||||||
|
};
|
||||||
|
|
||||||
static struct resource smc91c111_resources[] = {
|
static struct resource smc91c111_resources[] = {
|
||||||
[0] = {
|
[0] = {
|
||||||
.name = "smc91x-regs",
|
.name = "smc91x-regs",
|
||||||
|
@ -146,6 +153,9 @@ static struct resource smc91c111_resources[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device smc91c111_device = {
|
static struct platform_device smc91c111_device = {
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &smc_data,
|
||||||
|
},
|
||||||
.name = "smc91x",
|
.name = "smc91x",
|
||||||
.id = -1,
|
.id = -1,
|
||||||
.num_resources = ARRAY_SIZE(smc91c111_resources),
|
.num_resources = ARRAY_SIZE(smc91c111_resources),
|
||||||
|
|
|
@ -346,38 +346,6 @@ static inline void LPD7_SMC_outsw (unsigned char* a, int r,
|
||||||
#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 SMC_IRQ_FLAGS (0)
|
|
||||||
|
|
||||||
#elif defined(CONFIG_ARCH_VERSATILE)
|
#elif defined(CONFIG_ARCH_VERSATILE)
|
||||||
|
|
||||||
#define SMC_CAN_USE_8BIT 1
|
#define SMC_CAN_USE_8BIT 1
|
||||||
|
|
Загрузка…
Ссылка в новой задаче