diff options
Diffstat (limited to 'arch/m68k/platform/coldfire/device.c')
| -rw-r--r-- | arch/m68k/platform/coldfire/device.c | 57 | 
1 files changed, 54 insertions, 3 deletions
diff --git a/arch/m68k/platform/coldfire/device.c b/arch/m68k/platform/coldfire/device.c index 3aa77ddea89..81f0fb5e51c 100644 --- a/arch/m68k/platform/coldfire/device.c +++ b/arch/m68k/platform/coldfire/device.c @@ -13,6 +13,7 @@  #include <linux/io.h>  #include <linux/spi/spi.h>  #include <linux/gpio.h> +#include <linux/fec.h>  #include <asm/traps.h>  #include <asm/coldfire.h>  #include <asm/mcfsim.h> @@ -20,7 +21,7 @@  #include <asm/mcfqspi.h>  /* - *	All current ColdFire parts contain from 2, 3 or 4 UARTS. + *	All current ColdFire parts contain from 2, 3, 4 or 10 UARTS.   */  static struct mcf_platform_uart mcf_uart_platform_data[] = {  	{ @@ -43,6 +44,42 @@ static struct mcf_platform_uart mcf_uart_platform_data[] = {  		.irq		= MCF_IRQ_UART3,  	},  #endif +#ifdef MCFUART_BASE4 +	{ +		.mapbase	= MCFUART_BASE4, +		.irq		= MCF_IRQ_UART4, +	}, +#endif +#ifdef MCFUART_BASE5 +	{ +		.mapbase	= MCFUART_BASE5, +		.irq		= MCF_IRQ_UART5, +	}, +#endif +#ifdef MCFUART_BASE6 +	{ +		.mapbase	= MCFUART_BASE6, +		.irq		= MCF_IRQ_UART6, +	}, +#endif +#ifdef MCFUART_BASE7 +	{ +		.mapbase	= MCFUART_BASE7, +		.irq		= MCF_IRQ_UART7, +	}, +#endif +#ifdef MCFUART_BASE8 +	{ +		.mapbase	= MCFUART_BASE8, +		.irq		= MCF_IRQ_UART8, +	}, +#endif +#ifdef MCFUART_BASE9 +	{ +		.mapbase	= MCFUART_BASE9, +		.irq		= MCF_IRQ_UART9, +	}, +#endif  	{ },  }; @@ -53,6 +90,18 @@ static struct platform_device mcf_uart = {  };  #ifdef CONFIG_FEC + +#ifdef CONFIG_M5441x +#define FEC_NAME	"enet-fec" +static struct fec_platform_data fec_pdata = { +	.phy		= PHY_INTERFACE_MODE_RMII, +}; +#define FEC_PDATA	(&fec_pdata) +#else +#define FEC_NAME	"fec" +#define FEC_PDATA	NULL +#endif +  /*   *	Some ColdFire cores contain the Fast Ethernet Controller (FEC)   *	block. It is Freescale's own hardware block. Some ColdFires @@ -82,10 +131,11 @@ static struct resource mcf_fec0_resources[] = {  };  static struct platform_device mcf_fec0 = { -	.name			= "fec", +	.name			= FEC_NAME,  	.id			= 0,  	.num_resources		= ARRAY_SIZE(mcf_fec0_resources),  	.resource		= mcf_fec0_resources, +	.dev.platform_data	= FEC_PDATA,  };  #ifdef MCFFEC_BASE1 @@ -113,10 +163,11 @@ static struct resource mcf_fec1_resources[] = {  };  static struct platform_device mcf_fec1 = { -	.name			= "fec", +	.name			= FEC_NAME,  	.id			= 1,  	.num_resources		= ARRAY_SIZE(mcf_fec1_resources),  	.resource		= mcf_fec1_resources, +	.dev.platform_data	= FEC_PDATA,  };  #endif /* MCFFEC_BASE1 */  #endif /* CONFIG_FEC */  |