1/* 2 * linux/drivers/serial/8250_fourport.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 | UPF_FOURPORT, \ 22 } 23 24static struct plat_serial8250_port fourport_data[] = { 25 PORT(0x1a0, 9), 26 PORT(0x1a8, 9), 27 PORT(0x1b0, 9), 28 PORT(0x1b8, 9), 29 PORT(0x2a0, 5), 30 PORT(0x2a8, 5), 31 PORT(0x2b0, 5), 32 PORT(0x2b8, 5), 33 { }, 34}; 35 36static struct platform_device fourport_device = { 37 .name = "serial8250", 38 .id = PLAT8250_DEV_FOURPORT, 39 .dev = { 40 .platform_data = fourport_data, 41 }, 42}; 43 44static int __init fourport_init(void) 45{ 46 return platform_device_register(&fourport_device); 47} 48 49module_init(fourport_init); 50 51MODULE_AUTHOR("Russell King"); 52MODULE_DESCRIPTION("8250 serial probe module for AST Fourport cards"); 53MODULE_LICENSE("GPL"); 54