162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Written by Paul B Schroeder < pschroeder "at" uplogix "dot" com > 462306a36Sopenharmony_ci * Based on 8250_boca. 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Copyright (C) 2005 Russell King. 762306a36Sopenharmony_ci * Data taken from include/asm-i386/serial.h 862306a36Sopenharmony_ci */ 962306a36Sopenharmony_ci#include <linux/module.h> 1062306a36Sopenharmony_ci#include <linux/init.h> 1162306a36Sopenharmony_ci#include <linux/serial_8250.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include "8250.h" 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cistatic struct plat_serial8250_port exar_data[] = { 1662306a36Sopenharmony_ci SERIAL8250_PORT(0x100, 5), 1762306a36Sopenharmony_ci SERIAL8250_PORT(0x108, 5), 1862306a36Sopenharmony_ci SERIAL8250_PORT(0x110, 5), 1962306a36Sopenharmony_ci SERIAL8250_PORT(0x118, 5), 2062306a36Sopenharmony_ci { }, 2162306a36Sopenharmony_ci}; 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_cistatic struct platform_device exar_device = { 2462306a36Sopenharmony_ci .name = "serial8250", 2562306a36Sopenharmony_ci .id = PLAT8250_DEV_EXAR_ST16C554, 2662306a36Sopenharmony_ci .dev = { 2762306a36Sopenharmony_ci .platform_data = exar_data, 2862306a36Sopenharmony_ci }, 2962306a36Sopenharmony_ci}; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_cistatic int __init exar_init(void) 3262306a36Sopenharmony_ci{ 3362306a36Sopenharmony_ci return platform_device_register(&exar_device); 3462306a36Sopenharmony_ci} 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_cimodule_init(exar_init); 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciMODULE_AUTHOR("Paul B Schroeder"); 3962306a36Sopenharmony_ciMODULE_DESCRIPTION("8250 serial probe module for Exar cards"); 4062306a36Sopenharmony_ciMODULE_LICENSE("GPL"); 41