summaryrefslogtreecommitdiffstats
path: root/sys/dev/uart/uart_bus_ebus.c
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2006-02-04 23:27:16 +0000
committermarius <marius@FreeBSD.org>2006-02-04 23:27:16 +0000
commitd8dc7b1b43b47371a532abe378dbb63e21d589d0 (patch)
treec1c1ba14e59d7e0689089f66727adc8c1407e14c /sys/dev/uart/uart_bus_ebus.c
parent677f6ed4cebf9baa3b58d5630c9614780a1d959c (diff)
downloadFreeBSD-src-d8dc7b1b43b47371a532abe378dbb63e21d589d0.zip
FreeBSD-src-d8dc7b1b43b47371a532abe378dbb63e21d589d0.tar.gz
- Add support for using LOM (Lights Out Management) and RSC (Remote System
Control) devices as console. These are microcontrollers which are either on-board or part of an add-on card and provide terminal server, remote power switch and monitoring functionality. For console usage these are connected to the rest of the system via a SCC or an UART. This commit adds support for the following variants (corresponds to what 'input-device' and 'output-device' have to be set to): rsc found on-board in E250 and supposedly some Netra, connected via a SAB82532, com. parameters can be determined via OFW rsc-console RSC card found in E280R, Fire V4x0, Fire V8x0, connected via a NS16550, hardwired to 115200 8N1 lom-console LOMlite2 card found in Netra 20/T4, connected via a NS16550, hardwired to 9600 8N1 - Add my copyright to uart_cpu_sparc64.c as I've rewritten about one third of that file over time. Tested on: E250, E280R Thanks to: dwhite@ for providing access to an E280R OK'ed by: marcel MFC after: 1 week
Diffstat (limited to 'sys/dev/uart/uart_bus_ebus.c')
-rw-r--r--sys/dev/uart/uart_bus_ebus.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/dev/uart/uart_bus_ebus.c b/sys/dev/uart/uart_bus_ebus.c
index cdff725..76e36b3 100644
--- a/sys/dev/uart/uart_bus_ebus.c
+++ b/sys/dev/uart/uart_bus_ebus.c
@@ -72,8 +72,12 @@ uart_ebus_probe(device_t dev)
nm = ofw_bus_get_name(dev);
cmpt = ofw_bus_get_compat(dev);
- if (!strcmp(nm, "su") || !strcmp(nm, "su_pnp") || (cmpt != NULL &&
- (!strcmp(cmpt, "su") || !strcmp(cmpt, "su16550")))) {
+ if (cmpt == NULL)
+ cmpt = "";
+ if (!strcmp(nm, "lom-console") || !strcmp(nm, "su") ||
+ !strcmp(nm, "su_pnp") || !strcmp(cmpt, "rsc-console") ||
+ !strcmp(cmpt, "rsc-control") || !strcmp(cmpt, "su") ||
+ !strcmp(cmpt, "su16550")) {
/*
* On AXi and AXmp boards the NS16550 (used to connect
* keyboard/mouse) share their IRQ lines with the i8042.
@@ -95,7 +99,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") || (cmpt != NULL && !strcmp(cmpt, "sab82532"))) {
+ if (!strcmp(nm, "se") || !strcmp(cmpt, "sab82532")) {
sc->sc_class = &uart_sab82532_class;
return (uart_bus_probe(dev, 0, 0, 0, 1));
}
OpenPOWER on IntegriCloud