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