summaryrefslogtreecommitdiffstats
path: root/sys/dev/uart/uart_bus_fdt.c
diff options
context:
space:
mode:
authorgonzo <gonzo@FreeBSD.org>2012-08-30 20:31:53 +0000
committergonzo <gonzo@FreeBSD.org>2012-08-30 20:31:53 +0000
commitda02f17baac746980ae553303880f79449d0a766 (patch)
tree113cfc5a71598be83833344242de9475f7ea0b43 /sys/dev/uart/uart_bus_fdt.c
parent353407bd01046f0b9832399ddf2d649956ad5bff (diff)
downloadFreeBSD-src-da02f17baac746980ae553303880f79449d0a766.zip
FreeBSD-src-da02f17baac746980ae553303880f79449d0a766.tar.gz
Add PrimeCell UART (PL011) driver
Obtained from: Semihalf
Diffstat (limited to 'sys/dev/uart/uart_bus_fdt.c')
-rw-r--r--sys/dev/uart/uart_bus_fdt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/uart/uart_bus_fdt.c b/sys/dev/uart/uart_bus_fdt.c
index 6517007..8dbbb25 100644
--- a/sys/dev/uart/uart_bus_fdt.c
+++ b/sys/dev/uart/uart_bus_fdt.c
@@ -105,6 +105,8 @@ uart_fdt_probe(device_t dev)
sc->sc_class = &uart_ns8250_class;
else if (ofw_bus_is_compatible(dev, "lpc,uart"))
sc->sc_class = &uart_lpc_class;
+ else if (ofw_bus_is_compatible(dev, "arm,pl011"))
+ sc->sc_class = &uart_pl011_class;
else
return (ENXIO);
@@ -188,6 +190,8 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
class = &uart_lpc_class;
if (fdt_is_compatible(node, "ns16550"))
class = &uart_ns8250_class;
+ if (fdt_is_compatible(node, "arm,pl011"))
+ class = &uart_pl011_class;
di->bas.chan = 0;
di->bas.regshft = (u_int)shift;
OpenPOWER on IntegriCloud