• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/serial/
1/*
2 *  linux/drivers/serial/8250_hub6.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 HUB6(card,port)							\
16	{								\
17		.iobase		= 0x302,				\
18		.irq		= 3,					\
19		.uartclk	= 1843200,				\
20		.iotype		= UPIO_HUB6,				\
21		.flags		= UPF_BOOT_AUTOCONF,			\
22		.hub6		= (card) << 6 | (port) << 3 | 1,	\
23	}
24
25static struct plat_serial8250_port hub6_data[] = {
26	HUB6(0, 0),
27	HUB6(0, 1),
28	HUB6(0, 2),
29	HUB6(0, 3),
30	HUB6(0, 4),
31	HUB6(0, 5),
32	HUB6(1, 0),
33	HUB6(1, 1),
34	HUB6(1, 2),
35	HUB6(1, 3),
36	HUB6(1, 4),
37	HUB6(1, 5),
38	{ },
39};
40
41static struct platform_device hub6_device = {
42	.name			= "serial8250",
43	.id			= PLAT8250_DEV_HUB6,
44	.dev			= {
45		.platform_data	= hub6_data,
46	},
47};
48
49static int __init hub6_init(void)
50{
51	return platform_device_register(&hub6_device);
52}
53
54module_init(hub6_init);
55
56MODULE_AUTHOR("Russell King");
57MODULE_DESCRIPTION("8250 serial probe module for Hub6 cards");
58MODULE_LICENSE("GPL");
59