diff options
Diffstat (limited to 'arch/mips/mti-sead3/sead3-serial.c')
| -rw-r--r-- | arch/mips/mti-sead3/sead3-serial.c | 45 | 
1 files changed, 45 insertions, 0 deletions
diff --git a/arch/mips/mti-sead3/sead3-serial.c b/arch/mips/mti-sead3/sead3-serial.c new file mode 100644 index 00000000000..bc52705bbee --- /dev/null +++ b/arch/mips/mti-sead3/sead3-serial.c @@ -0,0 +1,45 @@ +/* + * 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. + * + * Copyright (C) 2012 MIPS Technologies, Inc.  All rights reserved. + */ +#include <linux/module.h> +#include <linux/init.h> +#include <linux/serial_8250.h> + +#define UART(base, int)							\ +{									\ +	.mapbase	= base,						\ +	.irq		= int,						\ +	.uartclk	= 14745600,					\ +	.iotype		= UPIO_MEM32,					\ +	.flags		= UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP, \ +	.regshift	= 2,						\ +} + +static struct plat_serial8250_port uart8250_data[] = { +	UART(0x1f000900, MIPS_CPU_IRQ_BASE + 4),   /* ttyS0 = USB   */ +	UART(0x1f000800, MIPS_CPU_IRQ_BASE + 4),   /* ttyS1 = RS232 */ +	{ }, +}; + +static struct platform_device uart8250_device = { +	.name			= "serial8250", +	.id			= PLAT8250_DEV_PLATFORM, +	.dev			= { +		.platform_data	= uart8250_data, +	}, +}; + +static int __init uart8250_init(void) +{ +	return platform_device_register(&uart8250_device); +} + +module_init(uart8250_init); + +MODULE_AUTHOR("Chris Dearman <chris@mips.com>"); +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("8250 UART probe driver for the SEAD-3 platform");  | 
