Teach UART to attach Exynos/s3/s5 class driver.
Submitted by: Ruslan Bukin <br@bsdpad.com> Reviewed by: gonzo
This commit is contained in:
parent
cbda62170f
commit
5d490515c3
@ -67,6 +67,7 @@ struct uart_class;
|
|||||||
extern struct uart_class uart_imx_class __attribute__((weak));
|
extern struct uart_class uart_imx_class __attribute__((weak));
|
||||||
extern struct uart_class uart_ns8250_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_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_sab82532_class __attribute__((weak));
|
||||||
extern struct uart_class uart_sbbc_class __attribute__((weak));
|
extern struct uart_class uart_sbbc_class __attribute__((weak));
|
||||||
extern struct uart_class uart_z8530_class __attribute__((weak));
|
extern struct uart_class uart_z8530_class __attribute__((weak));
|
||||||
|
@ -109,6 +109,8 @@ uart_fdt_probe(device_t dev)
|
|||||||
sc->sc_class = &uart_imx_class;
|
sc->sc_class = &uart_imx_class;
|
||||||
else if (ofw_bus_is_compatible(dev, "arm,pl011"))
|
else if (ofw_bus_is_compatible(dev, "arm,pl011"))
|
||||||
sc->sc_class = &uart_pl011_class;
|
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"))
|
else if (ofw_bus_is_compatible(dev, "cadence,uart"))
|
||||||
sc->sc_class = &uart_cdnc_class;
|
sc->sc_class = &uart_cdnc_class;
|
||||||
else
|
else
|
||||||
|
@ -149,6 +149,8 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
|
|||||||
class = &uart_ns8250_class;
|
class = &uart_ns8250_class;
|
||||||
if (fdt_is_compatible(node, "arm,pl011"))
|
if (fdt_is_compatible(node, "arm,pl011"))
|
||||||
class = &uart_pl011_class;
|
class = &uart_pl011_class;
|
||||||
|
if (fdt_is_compatible(node, "exynos"))
|
||||||
|
class = &uart_s3c2410_class;
|
||||||
if (fdt_is_compatible(node, "cadence,uart"))
|
if (fdt_is_compatible(node, "cadence,uart"))
|
||||||
class = &uart_cdnc_class;
|
class = &uart_cdnc_class;
|
||||||
|
|
||||||
|
@ -54,6 +54,7 @@ static struct uart_class *uart_classes[] = {
|
|||||||
&uart_z8530_class,
|
&uart_z8530_class,
|
||||||
#if defined(__arm__)
|
#if defined(__arm__)
|
||||||
&uart_lpc_class,
|
&uart_lpc_class,
|
||||||
|
&uart_s3c2410_class,
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
static size_t uart_nclasses = sizeof(uart_classes) / sizeof(uart_classes[0]);
|
static size_t uart_nclasses = sizeof(uart_classes) / sizeof(uart_classes[0]);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user