diff options
Diffstat (limited to 'sys/dev/uart/uart_cpu_powerpc.c')
-rw-r--r-- | sys/dev/uart/uart_cpu_powerpc.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sys/dev/uart/uart_cpu_powerpc.c b/sys/dev/uart/uart_cpu_powerpc.c index de6af2b..0945970 100644 --- a/sys/dev/uart/uart_cpu_powerpc.c +++ b/sys/dev/uart/uart_cpu_powerpc.c @@ -27,19 +27,28 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); +#include "opt_platform.h" + #include <sys/param.h> #include <sys/systm.h> #include <machine/bus.h> +#ifndef MPC85XX #include <dev/ofw/openfirm.h> #include <machine/ofw_machdep.h> +#endif #include <dev/uart/uart.h> #include <dev/uart/uart_cpu.h> +#ifdef MPC85XX +bus_space_tag_t uart_bus_space_io = &bs_be_tag; +bus_space_tag_t uart_bus_space_mem = &bs_be_tag; +#else bus_space_tag_t uart_bus_space_io = &bs_le_tag; bus_space_tag_t uart_bus_space_mem = &bs_le_tag; +#endif int uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2) @@ -48,6 +57,22 @@ uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2) return ((b1->bsh == b2->bsh) ? 1 : 0); } +#ifdef MPC85XX +int +uart_cpu_getdev(int devtype, struct uart_devinfo *di) +{ + struct uart_class *class; + + class = &uart_ns8250_class; + if (class == NULL) + class = &uart_quicc_class; + if (class == NULL) + return (ENXIO); + + /* Check the environment. */ + return (uart_getenv(devtype, di, class)); +} +#else int uart_cpu_getdev(int devtype, struct uart_devinfo *di) { @@ -110,3 +135,4 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di) di->parity = UART_PARITY_NONE; return (0); } +#endif |