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