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
21 static 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
29 static struct platform_device uart8250_device = {
30 .name = "serial8250",
31 .id = PLAT8250_DEV_PLATFORM,
32 .dev = {
33 .platform_data = uart8250_data,
34 },
35 };
36
uart8250_init(void)37 static int __init uart8250_init(void)
38 {
39 return platform_device_register(&uart8250_device);
40 }
41
42 module_init(uart8250_init);
43
44 MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>");
45 MODULE_LICENSE("GPL");
46 MODULE_DESCRIPTION("Generic 8250 UART probe driver");
47