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