diff options
author | marius <marius@FreeBSD.org> | 2006-02-04 23:27:16 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2006-02-04 23:27:16 +0000 |
commit | d8dc7b1b43b47371a532abe378dbb63e21d589d0 (patch) | |
tree | c1c1ba14e59d7e0689089f66727adc8c1407e14c /sys/dev/uart/uart_bus_ebus.c | |
parent | 677f6ed4cebf9baa3b58d5630c9614780a1d959c (diff) | |
download | FreeBSD-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.c | 10 |
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)); } |