18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Written by Paul B Schroeder < pschroeder "at" uplogix "dot" com > 48c2ecf20Sopenharmony_ci * Based on 8250_boca. 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * Copyright (C) 2005 Russell King. 78c2ecf20Sopenharmony_ci * Data taken from include/asm-i386/serial.h 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_ci#include <linux/module.h> 108c2ecf20Sopenharmony_ci#include <linux/init.h> 118c2ecf20Sopenharmony_ci#include <linux/serial_8250.h> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci#include "8250.h" 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_cistatic struct plat_serial8250_port exar_data[] = { 168c2ecf20Sopenharmony_ci SERIAL8250_PORT(0x100, 5), 178c2ecf20Sopenharmony_ci SERIAL8250_PORT(0x108, 5), 188c2ecf20Sopenharmony_ci SERIAL8250_PORT(0x110, 5), 198c2ecf20Sopenharmony_ci SERIAL8250_PORT(0x118, 5), 208c2ecf20Sopenharmony_ci { }, 218c2ecf20Sopenharmony_ci}; 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_cistatic struct platform_device exar_device = { 248c2ecf20Sopenharmony_ci .name = "serial8250", 258c2ecf20Sopenharmony_ci .id = PLAT8250_DEV_EXAR_ST16C554, 268c2ecf20Sopenharmony_ci .dev = { 278c2ecf20Sopenharmony_ci .platform_data = exar_data, 288c2ecf20Sopenharmony_ci }, 298c2ecf20Sopenharmony_ci}; 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_cistatic int __init exar_init(void) 328c2ecf20Sopenharmony_ci{ 338c2ecf20Sopenharmony_ci return platform_device_register(&exar_device); 348c2ecf20Sopenharmony_ci} 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_cimodule_init(exar_init); 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciMODULE_AUTHOR("Paul B Schroeder"); 398c2ecf20Sopenharmony_ciMODULE_DESCRIPTION("8250 serial probe module for Exar cards"); 408c2ecf20Sopenharmony_ciMODULE_LICENSE("GPL"); 41