diff options
author | marius <marius@FreeBSD.org> | 2005-08-07 13:37:25 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2005-08-07 13:37:25 +0000 |
commit | 5b05eff84f475c0b5d83a5fe053d628f1e387018 (patch) | |
tree | fcdd0a0042a7db233dd928061bab8fed6de30f4c | |
parent | ba45e92a8c6c7a5d781d36e0da52f0b615ca9106 (diff) | |
download | FreeBSD-src-5b05eff84f475c0b5d83a5fe053d628f1e387018.zip FreeBSD-src-5b05eff84f475c0b5d83a5fe053d628f1e387018.tar.gz |
Recognize the SAB82532 in USIII machines.
-rw-r--r-- | sys/dev/puc/puc_ebus.c | 5 | ||||
-rw-r--r-- | sys/dev/uart/uart_bus_ebus.c | 2 | ||||
-rw-r--r-- | sys/dev/uart/uart_cpu_sparc64.c | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/puc/puc_ebus.c b/sys/dev/puc/puc_ebus.c index 1e6696c..a94576a 100644 --- a/sys/dev/puc/puc_ebus.c +++ b/sys/dev/puc/puc_ebus.c @@ -48,10 +48,11 @@ __FBSDID("$FreeBSD$"); static int puc_ebus_probe(device_t dev) { - const char *nm; + const char *nm, *cmpt; nm = ofw_bus_get_name(dev); - if (!strcmp(nm, "se")) { + cmpt = ofw_bus_get_compat(dev); + if (!strcmp(nm, "se") || (cmpt != NULL && !strcmp(cmpt, "sab82532"))) { device_set_desc(dev, "Siemens SAB 82532 dual channel SCC"); return (0); } diff --git a/sys/dev/uart/uart_bus_ebus.c b/sys/dev/uart/uart_bus_ebus.c index 16a4411..090dc46 100644 --- a/sys/dev/uart/uart_bus_ebus.c +++ b/sys/dev/uart/uart_bus_ebus.c @@ -96,7 +96,7 @@ uart_ebus_probe(device_t dev) sc->sc_class = &uart_ns8250_class; return (uart_bus_probe(dev, 0, 0, 0, 0)); } - if (!strcmp(nm, "se")) { + if (!strcmp(nm, "se") || (cmpt != NULL && !strcmp(cmpt, "sab82532"))) { sc->sc_class = &uart_sab82532_class; error = uart_bus_probe(dev, 0, 0, 0, 1); return ((error) ? error : -1); diff --git a/sys/dev/uart/uart_cpu_sparc64.c b/sys/dev/uart/uart_cpu_sparc64.c index b08e80e..bd7a429 100644 --- a/sys/dev/uart/uart_cpu_sparc64.c +++ b/sys/dev/uart/uart_cpu_sparc64.c @@ -216,7 +216,7 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di) compat[0] = '\0'; di->bas.regshft = 0; di->bas.rclk = 0; - if (!strcmp(buf, "se")) { + if (!strcmp(buf, "se") || !strcmp(compat, "sab82532")) { di->ops = uart_sab82532_ops; /* SAB82532 are only known to be used for TTYs. */ if ((di->bas.chan = uart_cpu_channel(dev)) == 0) |