forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This is on our "Envoy" boxes which we have, according to the documentation, an "Exar ST16C554/554D Quad UART with 16-byte Fifo's". The box also has two other "on-board" serial ports and a modem chip. The two on-board serial UARTs were being detected along with the first two Exar UARTs. The last two Exar UARTs were not showing up and neither was the modem. This patch was the only way I could the kernel to see beyond the standard four serial ports and get all four of the Exar UARTs to show up. [[email protected]: build fix] Signed-off-by: Paul B Schroeder <[email protected]> Cc: Lennart Sorensen <[email protected]> Acked-by: Alan Cox <[email protected]> Cc: Russell King <[email protected]> Cc: Greg KH <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
- Loading branch information
Paul B Schroeder
authored and
Linus Torvalds
committed
Dec 7, 2006
1 parent
f89d75f
commit e0980da
Showing
4 changed files
with
65 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/* | ||
* linux/drivers/serial/8250_exar.c | ||
* | ||
* Written by Paul B Schroeder < pschroeder "at" uplogix "dot" com > | ||
* Based on 8250_boca. | ||
* | ||
* Copyright (C) 2005 Russell King. | ||
* Data taken from include/asm-i386/serial.h | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
*/ | ||
#include <linux/module.h> | ||
#include <linux/init.h> | ||
#include <linux/serial_8250.h> | ||
|
||
#define PORT(_base,_irq) \ | ||
{ \ | ||
.iobase = _base, \ | ||
.irq = _irq, \ | ||
.uartclk = 1843200, \ | ||
.iotype = UPIO_PORT, \ | ||
.flags = UPF_BOOT_AUTOCONF, \ | ||
} | ||
|
||
static struct plat_serial8250_port exar_data[] = { | ||
PORT(0x100, 5), | ||
PORT(0x108, 5), | ||
PORT(0x110, 5), | ||
PORT(0x118, 5), | ||
{ }, | ||
}; | ||
|
||
static struct platform_device exar_device = { | ||
.name = "serial8250", | ||
.id = PLAT8250_DEV_EXAR_ST16C554, | ||
.dev = { | ||
.platform_data = exar_data, | ||
}, | ||
}; | ||
|
||
static int __init exar_init(void) | ||
{ | ||
return platform_device_register(&exar_device); | ||
} | ||
|
||
module_init(exar_init); | ||
|
||
MODULE_AUTHOR("Paul B Schroeder"); | ||
MODULE_DESCRIPTION("8250 serial probe module for Exar cards"); | ||
MODULE_LICENSE("GPL"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters