1*e3b3d0f5SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0
29bef3d41SPaul Gortmaker /*
39bef3d41SPaul Gortmaker * Written by Paul B Schroeder < pschroeder "at" uplogix "dot" com >
49bef3d41SPaul Gortmaker * Based on 8250_boca.
59bef3d41SPaul Gortmaker *
69bef3d41SPaul Gortmaker * Copyright (C) 2005 Russell King.
79bef3d41SPaul Gortmaker * Data taken from include/asm-i386/serial.h
89bef3d41SPaul Gortmaker */
99bef3d41SPaul Gortmaker #include <linux/module.h>
109bef3d41SPaul Gortmaker #include <linux/init.h>
119bef3d41SPaul Gortmaker #include <linux/serial_8250.h>
129bef3d41SPaul Gortmaker
13b3bd6668SAnton Wuerfel #include "8250.h"
149bef3d41SPaul Gortmaker
159bef3d41SPaul Gortmaker static struct plat_serial8250_port exar_data[] = {
16b3bd6668SAnton Wuerfel SERIAL8250_PORT(0x100, 5),
17b3bd6668SAnton Wuerfel SERIAL8250_PORT(0x108, 5),
18b3bd6668SAnton Wuerfel SERIAL8250_PORT(0x110, 5),
19b3bd6668SAnton Wuerfel SERIAL8250_PORT(0x118, 5),
209bef3d41SPaul Gortmaker { },
219bef3d41SPaul Gortmaker };
229bef3d41SPaul Gortmaker
239bef3d41SPaul Gortmaker static struct platform_device exar_device = {
249bef3d41SPaul Gortmaker .name = "serial8250",
259bef3d41SPaul Gortmaker .id = PLAT8250_DEV_EXAR_ST16C554,
269bef3d41SPaul Gortmaker .dev = {
279bef3d41SPaul Gortmaker .platform_data = exar_data,
289bef3d41SPaul Gortmaker },
299bef3d41SPaul Gortmaker };
309bef3d41SPaul Gortmaker
exar_init(void)319bef3d41SPaul Gortmaker static int __init exar_init(void)
329bef3d41SPaul Gortmaker {
339bef3d41SPaul Gortmaker return platform_device_register(&exar_device);
349bef3d41SPaul Gortmaker }
359bef3d41SPaul Gortmaker
369bef3d41SPaul Gortmaker module_init(exar_init);
379bef3d41SPaul Gortmaker
389bef3d41SPaul Gortmaker MODULE_AUTHOR("Paul B Schroeder");
399bef3d41SPaul Gortmaker MODULE_DESCRIPTION("8250 serial probe module for Exar cards");
409bef3d41SPaul Gortmaker MODULE_LICENSE("GPL");
41