• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/arch/mips/mti-sead3/
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License.  See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2007 MIPS Technologies, Inc.
7 *   written by Ralf Baechle (ralf@linux-mips.org)
8 *
9 * Probe driver for the SEAD3 UART ports
10 *
11 */
12#include <linux/module.h>
13#include <linux/init.h>
14#include <linux/serial_8250.h>
15
16#define UART(base, int)							\
17{									\
18	.mapbase	= base,						\
19	.irq		= int,						\
20	.uartclk	= 14745600,					\
21	.iotype		= UPIO_MEM32,					\
22	.flags		= UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP, \
23	.regshift	= 2,						\
24}
25
26static struct plat_serial8250_port uart8250_data[] = {
27	UART(0x1f000900, MIPS_CPU_IRQ_BASE + 4),   /* ttyS0 = USB   */
28	UART(0x1f000800, MIPS_CPU_IRQ_BASE + 4),   /* ttyS1 = RS232 */
29	{ },
30};
31
32static struct platform_device uart8250_device = {
33	.name			= "serial8250",
34	.id			= PLAT8250_DEV_PLATFORM2,
35	.dev			= {
36		.platform_data	= uart8250_data,
37	},
38};
39
40static int __init uart8250_init(void)
41{
42	return platform_device_register(&uart8250_device);
43}
44
45module_init(uart8250_init);
46
47MODULE_AUTHOR("Chris Dearman <chris@mips.com>");
48MODULE_LICENSE("GPL");
49MODULE_DESCRIPTION("8250 UART probe driver for SEAD3");
50