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 Ralf Baechle (ralf@linux-mips.org)
7 */
8#include <linux/init.h>
9#include <linux/serial_8250.h>
10
11#define PORT(base, int)							\
12{									\
13	.iobase		= base,						\
14	.irq		= int,						\
15	.uartclk	= 1843200,					\
16	.iotype		= UPIO_PORT,					\
17	.flags		= UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,		\
18	.regshift	= 0,						\
19}
20
21static struct plat_serial8250_port uart8250_data[] = {
22	PORT(0x3F8, 4),
23	PORT(0x2F8, 3),
24	PORT(0x3E8, 4),
25	PORT(0x2E8, 3),
26	{ },
27};
28
29static struct platform_device uart8250_device = {
30	.name			= "serial8250",
31	.id			= PLAT8250_DEV_PLATFORM,
32	.dev			= {
33		.platform_data	= uart8250_data,
34	},
35};
36
37static int __init uart8250_init(void)
38{
39	return platform_device_register(&uart8250_device);
40}
41
42module_init(uart8250_init);
43
44MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>");
45MODULE_LICENSE("GPL");
46MODULE_DESCRIPTION("Generic 8250 UART probe driver");
47