aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/uart
diff options
context:
space:
mode:
authorYoshihiro Takahashi <nyan@FreeBSD.org>2017-01-28 02:22:15 +0000
committerYoshihiro Takahashi <nyan@FreeBSD.org>2017-01-28 02:22:15 +0000
commit2b375b4edd1b98884c3031d6ccd61acb10bd895d (patch)
treef35e4f57ad890ac86d5cb5d3ef760344a41fc0e6 /sys/dev/uart
parent34bac11eba2841255bf6319ec78728f0f941c6ac (diff)
Notes
Diffstat (limited to 'sys/dev/uart')
-rw-r--r--sys/dev/uart/uart.h4
-rw-r--r--sys/dev/uart/uart_bus_isa.c21
-rw-r--r--sys/dev/uart/uart_cpu_pc98.c132
3 files changed, 1 insertions, 156 deletions
diff --git a/sys/dev/uart/uart.h b/sys/dev/uart/uart.h
index c40846b758de..987f4a0d1bdf 100644
--- a/sys/dev/uart/uart.h
+++ b/sys/dev/uart/uart.h
@@ -71,10 +71,6 @@ extern struct uart_class uart_sab82532_class __attribute__((weak));
extern struct uart_class uart_sbbc_class __attribute__((weak));
extern struct uart_class uart_z8530_class __attribute__((weak));
-#ifdef PC98
-struct uart_class *uart_pc98_getdev(u_long port);
-#endif
-
/*
* Device flags.
*/
diff --git a/sys/dev/uart/uart_bus_isa.c b/sys/dev/uart/uart_bus_isa.c
index 1fda15f2be02..e22bc78a4b9d 100644
--- a/sys/dev/uart/uart_bus_isa.c
+++ b/sys/dev/uart/uart_bus_isa.c
@@ -146,18 +146,6 @@ static struct isa_pnp_id isa_ns8250_ids[] = {
{0x0300695c, NULL}, /* WCI0003 - Fax/Voice/Modem/Speakphone/Asvd */
{0x01a0896a, NULL}, /* ZTIA001 - Zoom Internal V90 Faxmodem */
{0x61f7896a, NULL}, /* ZTIF761 - Zoom ComStar 33.6 */
- /* The following are found in PC98 hardware. */
- {0x4180a3b8, NULL}, /* NEC8041 - PC-9821CB-B04 */
- {0x0181a3b8, NULL}, /* NEC8101 - PC-9821CB2-B04 */
- {0x5181a3b8, NULL}, /* NEC8151 - Internal FAX/Modem for Cx3, Cb3 */
- {0x9181a3b8, NULL}, /* NEC8191 - PC-9801-120 */
- {0xe181a3b8, NULL}, /* NEC81E1 - Internal FAX/Modem */
- {0x1182a3b8, NULL}, /* NEC8211 - PC-9801-123 */
- {0x3182a3b8, NULL}, /* NEC8231 - Internal FAX/Modem (Voice) */
- {0x4182a3b8, NULL}, /* NEC8241 - PC-9821NR-B05 */
- {0x5182a3b8, NULL}, /* NEC8251 - Internel FAX/Modem */
- {0x7182a3b8, NULL}, /* NEC8271 - PC-9801-125 */
- {0x11802fbf, NULL}, /* OYO8011 - Internal FAX/Modem (Ring) */
{0}
};
@@ -175,15 +163,8 @@ uart_isa_probe(device_t dev)
return (ENXIO);
/* Probe PnP _and_ non-PnP ns8250 here. */
-#ifdef PC98
- if (isa_get_logicalid(dev))
- sc->sc_class = &uart_ns8250_class;
- else
- sc->sc_class = uart_pc98_getdev(bus_get_resource_start(dev,
- SYS_RES_IOPORT, 0));
-#else
sc->sc_class = &uart_ns8250_class;
-#endif
+
return (uart_bus_probe(dev, 0, 0, 0, 0));
}
diff --git a/sys/dev/uart/uart_cpu_pc98.c b/sys/dev/uart/uart_cpu_pc98.c
deleted file mode 100644
index c211b3dbe95d..000000000000
--- a/sys/dev/uart/uart_cpu_pc98.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*-
- * Copyright (c) 2008 TAKAHASHI Yoshihiro
- * Copyright (c) 2003 M. Warner Losh, Marcel Moolenaar
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/bus.h>
-
-#include <machine/bus.h>
-
-#include <dev/uart/uart.h>
-#include <dev/uart/uart_cpu.h>
-
-bus_space_tag_t uart_bus_space_io = X86_BUS_SPACE_IO;
-bus_space_tag_t uart_bus_space_mem = X86_BUS_SPACE_MEM;
-
-static struct {
- u_long iobase;
- struct uart_class *class;
-} uart_pc98_devs[] = {
- { 0x238, &uart_ns8250_class },
- { 0, NULL }
-};
-
-struct uart_class *
-uart_pc98_getdev(u_long port)
-{
- int i;
-
- for (i = 0; uart_pc98_devs[i].iobase; i++) {
- if (port == uart_pc98_devs[i].iobase)
- return (uart_pc98_devs[i].class);
- }
- return (NULL);
-}
-
-int
-uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
-{
-
- if (bus_space_compare(b1->bst, b1->bsh, b2->bst, b2->bsh) == 0)
- return (1);
-
- return (0);
-}
-
-int
-uart_cpu_getdev(int devtype, struct uart_devinfo *di)
-{
- struct uart_class *class;
- unsigned int i, ivar;
-
- class = &uart_ns8250_class;
- if (class == NULL)
- return (ENXIO);
-
- /* Check the environment. */
- if (uart_getenv(devtype, di, class) == 0)
- return (0);
-
- /*
- * There is a serial port on all pc98 hardware. It is 8251 or
- * an enhance version of that. Some pc98 have the second serial
- * port which is 16550A compatible.
- */
- for (i = 0; i < 2; i++) {
- if (resource_int_value("uart", i, "flags", &ivar))
- continue;
- if (devtype == UART_DEV_CONSOLE && !UART_FLAGS_CONSOLE(ivar))
- continue;
- if (devtype == UART_DEV_DBGPORT && !UART_FLAGS_DBGPORT(ivar))
- continue;
- /*
- * We have a possible device. Make sure it's enabled and
- * that we have an I/O port.
- */
- if (resource_int_value("uart", i, "disabled", &ivar) == 0 &&
- ivar != 0)
- continue;
- if (resource_int_value("uart", i, "port", &ivar) != 0 ||
- ivar == 0)
- continue;
-
- class = uart_pc98_getdev(ivar);
- if (class == NULL)
- continue;
-
- di->ops = uart_getops(class);
- di->bas.chan = 0;
- di->bas.bst = uart_bus_space_io;
- if (bus_space_map(di->bas.bst, ivar, uart_getrange(class), 0,
- &di->bas.bsh) != 0)
- continue;
- di->bas.regshft = 0;
- di->bas.rclk = 0;
- if (resource_int_value("uart", i, "baud", &ivar) != 0)
- ivar = 0;
- di->baudrate = ivar;
- di->databits = 8;
- di->stopbits = 1;
- di->parity = UART_PARITY_NONE;
- return (0);
- }
-
- return (ENXIO);
-}