aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/uart
diff options
context:
space:
mode:
authorAleksandr Rybalko <ray@FreeBSD.org>2013-06-29 23:48:08 +0000
committerAleksandr Rybalko <ray@FreeBSD.org>2013-06-29 23:48:08 +0000
commit5d490515c3b2fbb8b05bad3fb2d1c280c5b9c81a (patch)
tree856dd2503714c260a19647922d4a50eb04ab3e6c /sys/dev/uart
parentcbda62170f647e2bd6d97c68410d901df8968e14 (diff)
Notes
Diffstat (limited to 'sys/dev/uart')
-rw-r--r--sys/dev/uart/uart.h1
-rw-r--r--sys/dev/uart/uart_bus_fdt.c2
-rw-r--r--sys/dev/uart/uart_cpu_fdt.c2
-rw-r--r--sys/dev/uart/uart_subr.c1
4 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/uart/uart.h b/sys/dev/uart/uart.h
index 772793f88284..fb0f6996dd86 100644
--- a/sys/dev/uart/uart.h
+++ b/sys/dev/uart/uart.h
@@ -67,6 +67,7 @@ struct uart_class;
extern struct uart_class uart_imx_class __attribute__((weak));
extern struct uart_class uart_ns8250_class __attribute__((weak));
extern struct uart_class uart_quicc_class __attribute__((weak));
+extern struct uart_class uart_s3c2410_class __attribute__((weak));
extern struct uart_class uart_sab82532_class __attribute__((weak));
extern struct uart_class uart_sbbc_class __attribute__((weak));
extern struct uart_class uart_z8530_class __attribute__((weak));
diff --git a/sys/dev/uart/uart_bus_fdt.c b/sys/dev/uart/uart_bus_fdt.c
index d7b6017b838e..4f6ac9bd22ef 100644
--- a/sys/dev/uart/uart_bus_fdt.c
+++ b/sys/dev/uart/uart_bus_fdt.c
@@ -109,6 +109,8 @@ uart_fdt_probe(device_t dev)
sc->sc_class = &uart_imx_class;
else if (ofw_bus_is_compatible(dev, "arm,pl011"))
sc->sc_class = &uart_pl011_class;
+ else if (ofw_bus_is_compatible(dev, "exynos"))
+ sc->sc_class = &uart_s3c2410_class;
else if (ofw_bus_is_compatible(dev, "cadence,uart"))
sc->sc_class = &uart_cdnc_class;
else
diff --git a/sys/dev/uart/uart_cpu_fdt.c b/sys/dev/uart/uart_cpu_fdt.c
index 52d5f00f94ba..0052388d3754 100644
--- a/sys/dev/uart/uart_cpu_fdt.c
+++ b/sys/dev/uart/uart_cpu_fdt.c
@@ -149,6 +149,8 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
class = &uart_ns8250_class;
if (fdt_is_compatible(node, "arm,pl011"))
class = &uart_pl011_class;
+ if (fdt_is_compatible(node, "exynos"))
+ class = &uart_s3c2410_class;
if (fdt_is_compatible(node, "cadence,uart"))
class = &uart_cdnc_class;
diff --git a/sys/dev/uart/uart_subr.c b/sys/dev/uart/uart_subr.c
index acbf3b408dee..0277b2137179 100644
--- a/sys/dev/uart/uart_subr.c
+++ b/sys/dev/uart/uart_subr.c
@@ -54,6 +54,7 @@ static struct uart_class *uart_classes[] = {
&uart_z8530_class,
#if defined(__arm__)
&uart_lpc_class,
+ &uart_s3c2410_class,
#endif
};
static size_t uart_nclasses = sizeof(uart_classes) / sizeof(uart_classes[0]);