2008-07-05 12:02:58 +04:00
/*
* Copyright 2006 - 2007 Freescale Semiconductor , Inc . All Rights Reserved .
* Copyright 2008 Juergen Beisert , kernel @ pengutronix . de
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation ; either version 2
* of the License , or ( at your option ) any later version .
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 51 Franklin Street , Fifth Floor , Boston ,
* MA 02110 - 1301 , USA .
*/
# include <linux/module.h>
# include <linux/platform_device.h>
# include <linux/serial.h>
2008-08-05 19:14:15 +04:00
# include <mach/hardware.h>
# include <mach/imx-uart.h>
2009-01-26 18:34:51 +03:00
# include "devices.h"
2008-07-05 12:02:58 +04:00
static struct resource uart0 [ ] = {
{
2010-01-15 12:13:30 +03:00
. start = MX2x_UART1_BASE_ADDR ,
. end = MX2x_UART1_BASE_ADDR + 0x0B5 ,
2008-07-05 12:02:58 +04:00
. flags = IORESOURCE_MEM ,
} , {
2010-01-15 12:13:30 +03:00
. start = MX2x_INT_UART1 ,
. end = MX2x_INT_UART1 ,
2008-07-05 12:02:58 +04:00
. flags = IORESOURCE_IRQ ,
} ,
} ;
2008-09-09 12:19:41 +04:00
struct platform_device mxc_uart_device0 = {
2008-07-05 12:02:58 +04:00
. name = " imx-uart " ,
. id = 0 ,
. resource = uart0 ,
. num_resources = ARRAY_SIZE ( uart0 ) ,
} ;
static struct resource uart1 [ ] = {
{
2010-01-15 12:13:30 +03:00
. start = MX2x_UART2_BASE_ADDR ,
. end = MX2x_UART2_BASE_ADDR + 0x0B5 ,
2008-07-05 12:02:58 +04:00
. flags = IORESOURCE_MEM ,
} , {
2010-01-15 12:13:30 +03:00
. start = MX2x_INT_UART2 ,
. end = MX2x_INT_UART2 ,
2008-07-05 12:02:58 +04:00
. flags = IORESOURCE_IRQ ,
} ,
} ;
2008-09-09 12:19:41 +04:00
struct platform_device mxc_uart_device1 = {
2008-07-05 12:02:58 +04:00
. name = " imx-uart " ,
. id = 1 ,
. resource = uart1 ,
. num_resources = ARRAY_SIZE ( uart1 ) ,
} ;
static struct resource uart2 [ ] = {
{
2010-01-15 12:13:30 +03:00
. start = MX2x_UART3_BASE_ADDR ,
. end = MX2x_UART3_BASE_ADDR + 0x0B5 ,
2008-07-05 12:02:58 +04:00
. flags = IORESOURCE_MEM ,
} , {
2010-01-15 12:13:30 +03:00
. start = MX2x_INT_UART3 ,
. end = MX2x_INT_UART3 ,
2008-07-05 12:02:58 +04:00
. flags = IORESOURCE_IRQ ,
} ,
} ;
2008-09-09 12:19:41 +04:00
struct platform_device mxc_uart_device2 = {
2008-07-05 12:02:58 +04:00
. name = " imx-uart " ,
. id = 2 ,
. resource = uart2 ,
. num_resources = ARRAY_SIZE ( uart2 ) ,
} ;
static struct resource uart3 [ ] = {
{
2010-01-15 12:13:30 +03:00
. start = MX2x_UART4_BASE_ADDR ,
. end = MX2x_UART4_BASE_ADDR + 0x0B5 ,
2008-07-05 12:02:58 +04:00
. flags = IORESOURCE_MEM ,
} , {
2010-01-15 12:13:30 +03:00
. start = MX2x_INT_UART4 ,
. end = MX2x_INT_UART4 ,
2008-07-05 12:02:58 +04:00
. flags = IORESOURCE_IRQ ,
} ,
} ;
2008-09-09 12:19:41 +04:00
struct platform_device mxc_uart_device3 = {
2008-07-05 12:02:58 +04:00
. name = " imx-uart " ,
. id = 3 ,
. resource = uart3 ,
. num_resources = ARRAY_SIZE ( uart3 ) ,
} ;
2009-01-26 18:34:52 +03:00
# ifdef CONFIG_MACH_MX27
2008-07-05 12:02:58 +04:00
static struct resource uart4 [ ] = {
{
2010-01-15 12:13:30 +03:00
. start = MX27_UART5_BASE_ADDR ,
. end = MX27_UART5_BASE_ADDR + 0x0B5 ,
2008-07-05 12:02:58 +04:00
. flags = IORESOURCE_MEM ,
} , {
2010-01-15 12:13:30 +03:00
. start = MX27_INT_UART5 ,
. end = MX27_INT_UART5 ,
2008-07-05 12:02:58 +04:00
. flags = IORESOURCE_IRQ ,
} ,
} ;
2008-09-09 12:19:41 +04:00
struct platform_device mxc_uart_device4 = {
2008-07-05 12:02:58 +04:00
. name = " imx-uart " ,
. id = 4 ,
. resource = uart4 ,
. num_resources = ARRAY_SIZE ( uart4 ) ,
} ;
static struct resource uart5 [ ] = {
{
2010-01-15 12:13:30 +03:00
. start = MX27_UART6_BASE_ADDR ,
. end = MX27_UART6_BASE_ADDR + 0x0B5 ,
2008-07-05 12:02:58 +04:00
. flags = IORESOURCE_MEM ,
} , {
2010-01-15 12:13:30 +03:00
. start = MX27_INT_UART6 ,
. end = MX27_INT_UART6 ,
2008-07-05 12:02:58 +04:00
. flags = IORESOURCE_IRQ ,
} ,
} ;
2008-09-09 12:19:41 +04:00
struct platform_device mxc_uart_device5 = {
2008-07-05 12:02:58 +04:00
. name = " imx-uart " ,
. id = 5 ,
. resource = uart5 ,
. num_resources = ARRAY_SIZE ( uart5 ) ,
} ;
2009-01-26 18:34:52 +03:00
# endif