Page MenuHomeFreeBSD

D57629.diff
No OneTemporary

D57629.diff

diff --git a/sys/dev/uart/uart_dev_ns8250.c b/sys/dev/uart/uart_dev_ns8250.c
--- a/sys/dev/uart/uart_dev_ns8250.c
+++ b/sys/dev/uart/uart_dev_ns8250.c
@@ -562,6 +562,7 @@
static struct ofw_compat_data compat_data[] = {
{"ns16550", (uintptr_t)&uart_ns8250_class},
{"ns16550a", (uintptr_t)&uart_ns8250_class},
+ {"intel,xscale-uart", (uintptr_t)&uart_ns8250_class},
{NULL, (uintptr_t)NULL},
};
UART_FDT_CLASS_AND_DEVICE(compat_data);
@@ -647,6 +648,12 @@
/* Get IER RX interrupt bits */
ivar = IER_EMSC | IER_ERLS | IER_ERXRDY;
+#ifdef FDT
+ /* Intel XScale models won't work without IER_RXTMOUT set. */
+ if (ofw_bus_is_compatible(sc->sc_dev, "intel,xscale-uart"))
+ ivar |= IER_RXTMOUT;
+#endif
+
resource_int_value("uart", device_get_unit(sc->sc_dev), "ier_rxbits",
&ivar);
ns8250->ier_rxbits = (uint8_t)(ivar & 0xff);

File Metadata

Mime Type
text/plain
Expires
Wed, Jun 24, 5:13 AM (11 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34064967
Default Alt Text
D57629.diff (848 B)

Event Timeline