linux/drivers/serial/8250_fourport.c
<<
>>
Prefs
   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