1/*
2 *  linux/drivers/serial/8250_boca.c
3 *
4 *  Copyright (C) 2005 Russell King.
5 *  Data taken from include/asm-i386/serial.h
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11#include <linux/module.h>
12#include <linux/init.h>
13#include <linux/serial_8250.h>
14
15#define PORT(_base,_irq)				\
16	{						\
17		.iobase		= _base,		\
18		.irq		= _irq,			\
19		.uartclk	= 1843200,		\
20		.iotype		= UPIO_PORT,		\
21		.flags		= UPF_BOOT_AUTOCONF,	\
22	}
23
24static struct plat_serial8250_port boca_data[] = {
25	PORT(0x100, 12),
26	PORT(0x108, 12),
27	PORT(0x110, 12),
28	PORT(0x118, 12),
29	PORT(0x120, 12),
30	PORT(0x128, 12),
31	PORT(0x130, 12),
32	PORT(0x138, 12),
33	PORT(0x140, 12),
34	PORT(0x148, 12),
35	PORT(0x150, 12),
36	PORT(0x158, 12),
37	PORT(0x160, 12),
38	PORT(0x168, 12),
39	PORT(0x170, 12),
40	PORT(0x178, 12),
41	{ },
42};
43
44static struct platform_device boca_device = {
45	.name			= "serial8250",
46	.id			= PLAT8250_DEV_BOCA,
47	.dev			= {
48		.platform_data	= boca_data,
49	},
50};
51
52static int __init boca_init(void)
53{
54	return platform_device_register(&boca_device);
55}
56
57module_init(boca_init);
58
59MODULE_AUTHOR("Russell King");
60MODULE_DESCRIPTION("8250 serial probe module for Boca cards");
61MODULE_LICENSE("GPL");
62