Commit 0d2fe946 authored by Greg Ungerer's avatar Greg Ungerer

m68knommu: merge common ColdFire UART platform setup code

The ColdFire UART is common to all ColdFire CPU's. No need to duplicate
its platform setup code for every CPU family member. Merge all the setup
code into a single shared file.
Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
parent b9a0c3f8
...@@ -20,30 +20,6 @@ ...@@ -20,30 +20,6 @@
/***************************************************************************/ /***************************************************************************/
static struct mcf_platform_uart m5206_uart_platform[] = {
{
.mapbase = MCFUART_BASE0,
.irq = MCF_IRQ_UART0,
},
{
.mapbase = MCFUART_BASE1,
.irq = MCF_IRQ_UART1,
},
{ },
};
static struct platform_device m5206_uart = {
.name = "mcfuart",
.id = 0,
.dev.platform_data = m5206_uart_platform,
};
static struct platform_device *m5206_devices[] __initdata = {
&m5206_uart,
};
/***************************************************************************/
static void __init m5206_uarts_init(void) static void __init m5206_uarts_init(void)
{ {
/* UART0 interrupt setup */ /* UART0 interrupt setup */
...@@ -107,13 +83,3 @@ void __init config_BSP(char *commandp, int size) ...@@ -107,13 +83,3 @@ void __init config_BSP(char *commandp, int size)
} }
/***************************************************************************/ /***************************************************************************/
static int __init init_BSP(void)
{
platform_add_devices(m5206_devices, ARRAY_SIZE(m5206_devices));
return 0;
}
arch_initcall(init_BSP);
/***************************************************************************/
...@@ -25,28 +25,6 @@ ...@@ -25,28 +25,6 @@
/***************************************************************************/ /***************************************************************************/
static struct mcf_platform_uart m520x_uart_platform[] = {
{
.mapbase = MCFUART_BASE0,
.irq = MCF_IRQ_UART0,
},
{
.mapbase = MCFUART_BASE1,
.irq = MCF_IRQ_UART1,
},
{
.mapbase = MCFUART_BASE2,
.irq = MCF_IRQ_UART2,
},
{ },
};
static struct platform_device m520x_uart = {
.name = "mcfuart",
.id = 0,
.dev.platform_data = m520x_uart_platform,
};
static struct resource m520x_fec_resources[] = { static struct resource m520x_fec_resources[] = {
{ {
.start = MCFFEC_BASE, .start = MCFFEC_BASE,
...@@ -218,7 +196,6 @@ static void __init m520x_qspi_init(void) ...@@ -218,7 +196,6 @@ static void __init m520x_qspi_init(void)
static struct platform_device *m520x_devices[] __initdata = { static struct platform_device *m520x_devices[] __initdata = {
&m520x_uart,
&m520x_fec, &m520x_fec,
#if defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE) #if defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE)
&m520x_qspi, &m520x_qspi,
......
...@@ -26,28 +26,6 @@ ...@@ -26,28 +26,6 @@
/***************************************************************************/ /***************************************************************************/
static struct mcf_platform_uart m523x_uart_platform[] = {
{
.mapbase = MCFUART_BASE0,
.irq = MCF_IRQ_UART0,
},
{
.mapbase = MCFUART_BASE1,
.irq = MCF_IRQ_UART1,
},
{
.mapbase = MCFUART_BASE2,
.irq = MCF_IRQ_UART2,
},
{ },
};
static struct platform_device m523x_uart = {
.name = "mcfuart",
.id = 0,
.dev.platform_data = m523x_uart_platform,
};
static struct resource m523x_fec_resources[] = { static struct resource m523x_fec_resources[] = {
{ {
.start = MCFFEC_BASE, .start = MCFFEC_BASE,
...@@ -240,7 +218,6 @@ static void __init m523x_qspi_init(void) ...@@ -240,7 +218,6 @@ static void __init m523x_qspi_init(void)
#endif /* defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE) */ #endif /* defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE) */
static struct platform_device *m523x_devices[] __initdata = { static struct platform_device *m523x_devices[] __initdata = {
&m523x_uart,
&m523x_fec, &m523x_fec,
#if defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE) #if defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE)
&m523x_qspi, &m523x_qspi,
......
...@@ -22,24 +22,6 @@ ...@@ -22,24 +22,6 @@
/***************************************************************************/ /***************************************************************************/
static struct mcf_platform_uart m5249_uart_platform[] = {
{
.mapbase = MCFUART_BASE0,
.irq = MCF_IRQ_UART0,
},
{
.mapbase = MCFUART_BASE1,
.irq = MCF_IRQ_UART1,
},
{ },
};
static struct platform_device m5249_uart = {
.name = "mcfuart",
.id = 0,
.dev.platform_data = m5249_uart_platform,
};
#ifdef CONFIG_M5249C3 #ifdef CONFIG_M5249C3
static struct resource m5249_smc91x_resources[] = { static struct resource m5249_smc91x_resources[] = {
...@@ -223,7 +205,6 @@ static void __init m5249_qspi_init(void) ...@@ -223,7 +205,6 @@ static void __init m5249_qspi_init(void)
static struct platform_device *m5249_devices[] __initdata = { static struct platform_device *m5249_devices[] __initdata = {
&m5249_uart,
#ifdef CONFIG_M5249C3 #ifdef CONFIG_M5249C3
&m5249_smc91x, &m5249_smc91x,
#endif #endif
......
...@@ -30,24 +30,6 @@ unsigned char ledbank = 0xff; ...@@ -30,24 +30,6 @@ unsigned char ledbank = 0xff;
/***************************************************************************/ /***************************************************************************/
static struct mcf_platform_uart m5272_uart_platform[] = {
{
.mapbase = MCFUART_BASE0,
.irq = MCF_IRQ_UART0,
},
{
.mapbase = MCFUART_BASE1,
.irq = MCF_IRQ_UART1,
},
{ },
};
static struct platform_device m5272_uart = {
.name = "mcfuart",
.id = 0,
.dev.platform_data = m5272_uart_platform,
};
static struct resource m5272_fec_resources[] = { static struct resource m5272_fec_resources[] = {
{ {
.start = MCF_MBAR + 0x840, .start = MCF_MBAR + 0x840,
...@@ -79,7 +61,6 @@ static struct platform_device m5272_fec = { ...@@ -79,7 +61,6 @@ static struct platform_device m5272_fec = {
}; };
static struct platform_device *m5272_devices[] __initdata = { static struct platform_device *m5272_devices[] __initdata = {
&m5272_uart,
&m5272_fec, &m5272_fec,
}; };
......
...@@ -26,28 +26,6 @@ ...@@ -26,28 +26,6 @@
/***************************************************************************/ /***************************************************************************/
static struct mcf_platform_uart m527x_uart_platform[] = {
{
.mapbase = MCFUART_BASE0,
.irq = MCF_IRQ_UART0,
},
{
.mapbase = MCFUART_BASE1,
.irq = MCF_IRQ_UART1,
},
{
.mapbase = MCFUART_BASE2,
.irq = MCF_IRQ_UART2,
},
{ },
};
static struct platform_device m527x_uart = {
.name = "mcfuart",
.id = 0,
.dev.platform_data = m527x_uart_platform,
};
static struct resource m527x_fec0_resources[] = { static struct resource m527x_fec0_resources[] = {
{ {
.start = MCFFEC_BASE0, .start = MCFFEC_BASE0,
...@@ -283,7 +261,6 @@ static void __init m527x_qspi_init(void) ...@@ -283,7 +261,6 @@ static void __init m527x_qspi_init(void)
#endif /* defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE) */ #endif /* defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE) */
static struct platform_device *m527x_devices[] __initdata = { static struct platform_device *m527x_devices[] __initdata = {
&m527x_uart,
&m527x_fec[0], &m527x_fec[0],
#ifdef CONFIG_FEC2 #ifdef CONFIG_FEC2
&m527x_fec[1], &m527x_fec[1],
......
...@@ -27,28 +27,6 @@ ...@@ -27,28 +27,6 @@
/***************************************************************************/ /***************************************************************************/
static struct mcf_platform_uart m528x_uart_platform[] = {
{
.mapbase = MCFUART_BASE0,
.irq = MCF_IRQ_UART0,
},
{
.mapbase = MCFUART_BASE1,
.irq = MCF_IRQ_UART1,
},
{
.mapbase = MCFUART_BASE2,
.irq = MCF_IRQ_UART2,
},
{ },
};
static struct platform_device m528x_uart = {
.name = "mcfuart",
.id = 0,
.dev.platform_data = m528x_uart_platform,
};
static struct resource m528x_fec_resources[] = { static struct resource m528x_fec_resources[] = {
{ {
.start = MCFFEC_BASE, .start = MCFFEC_BASE,
...@@ -209,7 +187,6 @@ static void __init m528x_qspi_init(void) ...@@ -209,7 +187,6 @@ static void __init m528x_qspi_init(void)
#endif /* defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE) */ #endif /* defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE) */
static struct platform_device *m528x_devices[] __initdata = { static struct platform_device *m528x_devices[] __initdata = {
&m528x_uart,
&m528x_fec, &m528x_fec,
#if defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE) #if defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE)
&m528x_qspi, &m528x_qspi,
......
...@@ -29,30 +29,6 @@ unsigned char ledbank = 0xff; ...@@ -29,30 +29,6 @@ unsigned char ledbank = 0xff;
/***************************************************************************/ /***************************************************************************/
static struct mcf_platform_uart m5307_uart_platform[] = {
{
.mapbase = MCFUART_BASE0,
.irq = MCF_IRQ_UART0,
},
{
.mapbase = MCFUART_BASE1,
.irq = MCF_IRQ_UART1,
},
{ },
};
static struct platform_device m5307_uart = {
.name = "mcfuart",
.id = 0,
.dev.platform_data = m5307_uart_platform,
};
static struct platform_device *m5307_devices[] __initdata = {
&m5307_uart,
};
/***************************************************************************/
static void __init m5307_uarts_init(void) static void __init m5307_uarts_init(void)
{ {
/* UART0 interrupt setup */ /* UART0 interrupt setup */
...@@ -127,13 +103,3 @@ void __init config_BSP(char *commandp, int size) ...@@ -127,13 +103,3 @@ void __init config_BSP(char *commandp, int size)
} }
/***************************************************************************/ /***************************************************************************/
static int __init init_BSP(void)
{
platform_add_devices(m5307_devices, ARRAY_SIZE(m5307_devices));
return 0;
}
arch_initcall(init_BSP);
/***************************************************************************/
...@@ -33,28 +33,6 @@ ...@@ -33,28 +33,6 @@
/***************************************************************************/ /***************************************************************************/
static struct mcf_platform_uart m532x_uart_platform[] = {
{
.mapbase = MCFUART_BASE0,
.irq = MCF_IRQ_UART0,
},
{
.mapbase = MCFUART_BASE1,
.irq = MCF_IRQ_UART1,
},
{
.mapbase = MCFUART_BASE2,
.irq = MCF_IRQ_UART2,
},
{ },
};
static struct platform_device m532x_uart = {
.name = "mcfuart",
.id = 0,
.dev.platform_data = m532x_uart_platform,
};
static struct resource m532x_fec_resources[] = { static struct resource m532x_fec_resources[] = {
{ {
.start = 0xfc030000, .start = 0xfc030000,
...@@ -201,7 +179,6 @@ static void __init m532x_qspi_init(void) ...@@ -201,7 +179,6 @@ static void __init m532x_qspi_init(void)
static struct platform_device *m532x_devices[] __initdata = { static struct platform_device *m532x_devices[] __initdata = {
&m532x_uart,
&m532x_fec, &m532x_fec,
#if defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE) #if defined(CONFIG_SPI_COLDFIRE_QSPI) || defined(CONFIG_SPI_COLDFIRE_QSPI_MODULE)
&m532x_qspi, &m532x_qspi,
......
...@@ -20,30 +20,6 @@ ...@@ -20,30 +20,6 @@
/***************************************************************************/ /***************************************************************************/
static struct mcf_platform_uart m5407_uart_platform[] = {
{
.mapbase = MCFUART_BASE0,
.irq = MCF_IRQ_UART0,
},
{
.mapbase = MCFUART_BASE1,
.irq = MCF_IRQ_UART1,
},
{ },
};
static struct platform_device m5407_uart = {
.name = "mcfuart",
.id = 0,
.dev.platform_data = m5407_uart_platform,
};
static struct platform_device *m5407_devices[] __initdata = {
&m5407_uart,
};
/***************************************************************************/
static void __init m5407_uarts_init(void) static void __init m5407_uarts_init(void)
{ {
/* UART0 interrupt setup */ /* UART0 interrupt setup */
...@@ -102,13 +78,3 @@ void __init config_BSP(char *commandp, int size) ...@@ -102,13 +78,3 @@ void __init config_BSP(char *commandp, int size)
} }
/***************************************************************************/ /***************************************************************************/
static int __init init_BSP(void)
{
platform_add_devices(m5407_devices, ARRAY_SIZE(m5407_devices));
return 0;
}
arch_initcall(init_BSP);
/***************************************************************************/
...@@ -25,38 +25,6 @@ ...@@ -25,38 +25,6 @@
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
#endif #endif
/***************************************************************************/
static struct mcf_platform_uart m54xx_uart_platform[] = {
{
.mapbase = MCFUART_BASE0,
.irq = MCF_IRQ_UART0,
},
{
.mapbase = MCFUART_BASE1,
.irq = MCF_IRQ_UART1,
},
{
.mapbase = MCFUART_BASE2,
.irq = MCF_IRQ_UART2,
},
{
.mapbase = MCFUART_BASE3,
.irq = MCF_IRQ_UART3,
},
};
static struct platform_device m54xx_uart = {
.name = "mcfuart",
.id = 0,
.dev.platform_data = m54xx_uart_platform,
};
static struct platform_device *m54xx_devices[] __initdata = {
&m54xx_uart,
};
/***************************************************************************/ /***************************************************************************/
static void __init m54xx_uarts_init(void) static void __init m54xx_uarts_init(void)
...@@ -135,14 +103,3 @@ void __init config_BSP(char *commandp, int size) ...@@ -135,14 +103,3 @@ void __init config_BSP(char *commandp, int size)
} }
/***************************************************************************/ /***************************************************************************/
static int __init init_BSP(void)
{
platform_add_devices(m54xx_devices, ARRAY_SIZE(m54xx_devices));
return 0;
}
arch_initcall(init_BSP);
/***************************************************************************/
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
asflags-$(CONFIG_FULLDEBUG) := -DDEBUGGER_COMPATIBLE_CACHE=1 asflags-$(CONFIG_FULLDEBUG) := -DDEBUGGER_COMPATIBLE_CACHE=1
obj-$(CONFIG_COLDFIRE) += cache.o clk.o dma.o entry.o vectors.o obj-$(CONFIG_COLDFIRE) += cache.o clk.o device.o dma.o entry.o vectors.o
obj-$(CONFIG_M5206) += timers.o intc.o obj-$(CONFIG_M5206) += timers.o intc.o
obj-$(CONFIG_M5206e) += timers.o intc.o obj-$(CONFIG_M5206e) += timers.o intc.o
obj-$(CONFIG_M520x) += pit.o intc-simr.o obj-$(CONFIG_M520x) += pit.o intc-simr.o
......
/*
* device.c -- common ColdFire SoC device support
*
* (C) Copyright 2011, Greg Ungerer <gerg@uclinux.org>
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file COPYING in the main directory of this archive
* for more details.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/io.h>
#include <asm/traps.h>
#include <asm/coldfire.h>
#include <asm/mcfsim.h>
#include <asm/mcfuart.h>
static struct mcf_platform_uart mcf_uart_platform_data[] = {
{
.mapbase = MCFUART_BASE0,
.irq = MCF_IRQ_UART0,
},
{
.mapbase = MCFUART_BASE1,
.irq = MCF_IRQ_UART1,
},
#ifdef MCFUART_BASE2
{
.mapbase = MCFUART_BASE2,
.irq = MCF_IRQ_UART2,
},
#endif
#ifdef MCFUART_BASE3
{
.mapbase = MCFUART_BASE3,
.irq = MCF_IRQ_UART3,
},
#endif
{ },
};
static struct platform_device mcf_uart = {
.name = "mcfuart",
.id = 0,
.dev.platform_data = mcf_uart_platform_data,
};
static struct platform_device *mcf_devices[] __initdata = {
&mcf_uart,
};
static int __init mcf_init_devices(void)
{
platform_add_devices(mcf_devices, ARRAY_SIZE(mcf_devices));
return 0;
}
arch_initcall(mcf_init_devices);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment