linux/drivers/serial/8250_exar_st16c554.c
<<
>>
Prefs
   1/*
   2 *  linux/drivers/serial/8250_exar.c
   3 *
   4 *  Written by Paul B Schroeder < pschroeder "at" uplogix "dot" com >
   5 *  Based on 8250_boca.
   6 *
   7 *  Copyright (C) 2005 Russell King.
   8 *  Data taken from include/asm-i386/serial.h
   9 *
  10 * This program is free software; you can redistribute it and/or modify
  11 * it under the terms of the GNU General Public License version 2 as
  12 * published by the Free Software Foundation.
  13 */
  14#include <linux/module.h>
  15#include <linux/init.h>
  16#include <linux/serial_8250.h>
  17
  18#define PORT(_base,_irq)                                \
  19        {                                               \
  20                .iobase         = _base,                \
  21                .irq            = _irq,                 \
  22                .uartclk        = 1843200,              \
  23                .iotype         = UPIO_PORT,            \
  24                .flags          = UPF_BOOT_AUTOCONF,    \
  25        }
  26
  27static struct plat_serial8250_port exar_data[] = {
  28        PORT(0x100, 5),
  29        PORT(0x108, 5),
  30        PORT(0x110, 5),
  31        PORT(0x118, 5),
  32        { },
  33};
  34
  35static struct platform_device exar_device = {
  36        .name                   = "serial8250",
  37        .id                     = PLAT8250_DEV_EXAR_ST16C554,
  38        .dev                    = {
  39                .platform_data  = exar_data,
  40        },
  41};
  42
  43static int __init exar_init(void)
  44{
  45        return platform_device_register(&exar_device);
  46}
  47
  48module_init(exar_init);
  49
  50MODULE_AUTHOR("Paul B Schroeder");
  51MODULE_DESCRIPTION("8250 serial probe module for Exar cards");
  52MODULE_LICENSE("GPL");
  53