xref: /openbmc/linux/drivers/tty/serial/8250/8250_fourport.c (revision 664b0bae0b87f69bc9deb098f5e0158b9cf18e04)
1*e3b3d0f5SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0
29bef3d41SPaul Gortmaker /*
39bef3d41SPaul Gortmaker  *  Copyright (C) 2005 Russell King.
49bef3d41SPaul Gortmaker  *  Data taken from include/asm-i386/serial.h
59bef3d41SPaul Gortmaker  */
69bef3d41SPaul Gortmaker #include <linux/module.h>
79bef3d41SPaul Gortmaker #include <linux/init.h>
89bef3d41SPaul Gortmaker #include <linux/serial_8250.h>
99bef3d41SPaul Gortmaker 
10b3bd6668SAnton Wuerfel #include "8250.h"
11b3bd6668SAnton Wuerfel 
12b3bd6668SAnton Wuerfel #define SERIAL8250_FOURPORT(_base, _irq) \
13b3bd6668SAnton Wuerfel 	SERIAL8250_PORT_FLAGS(_base, _irq, UPF_FOURPORT)
149bef3d41SPaul Gortmaker 
159bef3d41SPaul Gortmaker static struct plat_serial8250_port fourport_data[] = {
16b3bd6668SAnton Wuerfel 	SERIAL8250_FOURPORT(0x1a0, 9),
17b3bd6668SAnton Wuerfel 	SERIAL8250_FOURPORT(0x1a8, 9),
18b3bd6668SAnton Wuerfel 	SERIAL8250_FOURPORT(0x1b0, 9),
19b3bd6668SAnton Wuerfel 	SERIAL8250_FOURPORT(0x1b8, 9),
20b3bd6668SAnton Wuerfel 	SERIAL8250_FOURPORT(0x2a0, 5),
21b3bd6668SAnton Wuerfel 	SERIAL8250_FOURPORT(0x2a8, 5),
22b3bd6668SAnton Wuerfel 	SERIAL8250_FOURPORT(0x2b0, 5),
23b3bd6668SAnton Wuerfel 	SERIAL8250_FOURPORT(0x2b8, 5),
249bef3d41SPaul Gortmaker 	{ },
259bef3d41SPaul Gortmaker };
269bef3d41SPaul Gortmaker 
279bef3d41SPaul Gortmaker static struct platform_device fourport_device = {
289bef3d41SPaul Gortmaker 	.name			= "serial8250",
299bef3d41SPaul Gortmaker 	.id			= PLAT8250_DEV_FOURPORT,
309bef3d41SPaul Gortmaker 	.dev			= {
319bef3d41SPaul Gortmaker 		.platform_data	= fourport_data,
329bef3d41SPaul Gortmaker 	},
339bef3d41SPaul Gortmaker };
349bef3d41SPaul Gortmaker 
fourport_init(void)359bef3d41SPaul Gortmaker static int __init fourport_init(void)
369bef3d41SPaul Gortmaker {
379bef3d41SPaul Gortmaker 	return platform_device_register(&fourport_device);
389bef3d41SPaul Gortmaker }
399bef3d41SPaul Gortmaker 
409bef3d41SPaul Gortmaker module_init(fourport_init);
419bef3d41SPaul Gortmaker 
429bef3d41SPaul Gortmaker MODULE_AUTHOR("Russell King");
439bef3d41SPaul Gortmaker MODULE_DESCRIPTION("8250 serial probe module for AST Fourport cards");
449bef3d41SPaul Gortmaker MODULE_LICENSE("GPL");
45