summaryrefslogtreecommitdiffstats
path: root/sys/dev/uart/uart_cpu_powerpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/uart/uart_cpu_powerpc.c')
-rw-r--r--sys/dev/uart/uart_cpu_powerpc.c26
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
OpenPOWER on IntegriCloud