18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2005 Russell King. 48c2ecf20Sopenharmony_ci * Data taken from include/asm-i386/serial.h 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci#include <linux/module.h> 78c2ecf20Sopenharmony_ci#include <linux/init.h> 88c2ecf20Sopenharmony_ci#include <linux/serial_8250.h> 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#include "8250.h" 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#define SERIAL8250_FOURPORT(_base, _irq) \ 138c2ecf20Sopenharmony_ci SERIAL8250_PORT_FLAGS(_base, _irq, UPF_FOURPORT) 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_cistatic struct plat_serial8250_port fourport_data[] = { 168c2ecf20Sopenharmony_ci SERIAL8250_FOURPORT(0x1a0, 9), 178c2ecf20Sopenharmony_ci SERIAL8250_FOURPORT(0x1a8, 9), 188c2ecf20Sopenharmony_ci SERIAL8250_FOURPORT(0x1b0, 9), 198c2ecf20Sopenharmony_ci SERIAL8250_FOURPORT(0x1b8, 9), 208c2ecf20Sopenharmony_ci SERIAL8250_FOURPORT(0x2a0, 5), 218c2ecf20Sopenharmony_ci SERIAL8250_FOURPORT(0x2a8, 5), 228c2ecf20Sopenharmony_ci SERIAL8250_FOURPORT(0x2b0, 5), 238c2ecf20Sopenharmony_ci SERIAL8250_FOURPORT(0x2b8, 5), 248c2ecf20Sopenharmony_ci { }, 258c2ecf20Sopenharmony_ci}; 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_cistatic struct platform_device fourport_device = { 288c2ecf20Sopenharmony_ci .name = "serial8250", 298c2ecf20Sopenharmony_ci .id = PLAT8250_DEV_FOURPORT, 308c2ecf20Sopenharmony_ci .dev = { 318c2ecf20Sopenharmony_ci .platform_data = fourport_data, 328c2ecf20Sopenharmony_ci }, 338c2ecf20Sopenharmony_ci}; 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_cistatic int __init fourport_init(void) 368c2ecf20Sopenharmony_ci{ 378c2ecf20Sopenharmony_ci return platform_device_register(&fourport_device); 388c2ecf20Sopenharmony_ci} 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_cimodule_init(fourport_init); 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ciMODULE_AUTHOR("Russell King"); 438c2ecf20Sopenharmony_ciMODULE_DESCRIPTION("8250 serial probe module for AST Fourport cards"); 448c2ecf20Sopenharmony_ciMODULE_LICENSE("GPL"); 45