Linux Audio

Check our new training course

Linux kernel drivers training

Mar 31-Apr 9, 2025, special US time zones
Register
Loading...
Note: File does not exist in v3.1.
 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) 2012 MIPS Technologies, Inc.  All rights reserved.
 7 */
 8#include <linux/module.h>
 9#include <linux/init.h>
10#include <linux/serial_8250.h>
11
12#define UART(base, int)							\
13{									\
14	.mapbase	= base,						\
15	.irq		= int,						\
16	.uartclk	= 14745600,					\
17	.iotype		= UPIO_MEM32,					\
18	.flags		= UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP, \
19	.regshift	= 2,						\
20}
21
22static struct plat_serial8250_port uart8250_data[] = {
23	UART(0x1f000900, MIPS_CPU_IRQ_BASE + 4),   /* ttyS0 = USB   */
24	UART(0x1f000800, MIPS_CPU_IRQ_BASE + 4),   /* ttyS1 = RS232 */
25	{ },
26};
27
28static struct platform_device uart8250_device = {
29	.name			= "serial8250",
30	.id			= PLAT8250_DEV_PLATFORM,
31	.dev			= {
32		.platform_data	= uart8250_data,
33	},
34};
35
36static int __init uart8250_init(void)
37{
38	return platform_device_register(&uart8250_device);
39}
40
41module_init(uart8250_init);
42
43MODULE_AUTHOR("Chris Dearman <chris@mips.com>");
44MODULE_LICENSE("GPL");
45MODULE_DESCRIPTION("8250 UART probe driver for the SEAD-3 platform");