summaryrefslogtreecommitdiff
path: root/include/asm-arm/mach/serial_at91.h
diff options
context:
space:
mode:
authorAndrew Victor <andrew@sanpeople.com>2006-06-19 19:53:19 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-06-19 19:53:19 +0100
commitafefc4158f3c8529e4bb99c1dc119fd792bac220 (patch)
treec985ca3b92ac101a6da45a5d372a2f873429ed02 /include/asm-arm/mach/serial_at91.h
parent82dc0772a892f8b430a2d567c981fe47a11489c3 (diff)
[ARM] 3592/1: AT91RM9200 Serial driver update
Patch from Andrew Victor This patch includes a number of updates to the AT91RM9200 serial driver. Changes include: 1. Conversion to a platform_driver. [Ivan Kokshaysky] 2. Replaced all references to AT91RM9200 with AT91. This driver can now also be used for the AT91SAM9216. 3. Allow TIOCM_LOOP to configure local loopback mode. 4. Cleaned up the 'read_status_mask' usage and interrupt handler code. [Chip Coldwell] 5. Suspend/resume support. [David Brownell] There are a few 'unused variable' warning when compiling this - I removed the new DMA support to keep this first patch simpler. Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm/mach/serial_at91.h')
-rw-r--r--include/asm-arm/mach/serial_at91.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/include/asm-arm/mach/serial_at91.h b/include/asm-arm/mach/serial_at91.h
new file mode 100644
index 000000000000..18bc4e00e475
--- /dev/null
+++ b/include/asm-arm/mach/serial_at91.h
@@ -0,0 +1,34 @@
+/*
+ * linux/include/asm-arm/mach/serial_at91.h
+ *
+ * Based on serial_sa1100.h by Nicolas Pitre
+ *
+ * Copyright (C) 2002 ATMEL Rousset
+ *
+ * Low level machine dependent UART functions.
+ */
+#include <linux/config.h>
+
+struct uart_port;
+
+/*
+ * This is a temporary structure for registering these
+ * functions; it is intended to be discarded after boot.
+ */
+struct at91_port_fns {
+ void (*set_mctrl)(struct uart_port *, u_int);
+ u_int (*get_mctrl)(struct uart_port *);
+ void (*enable_ms)(struct uart_port *);
+ void (*pm)(struct uart_port *, u_int, u_int);
+ int (*set_wake)(struct uart_port *, u_int);
+ int (*open)(struct uart_port *);
+ void (*close)(struct uart_port *);
+};
+
+#if defined(CONFIG_SERIAL_AT91)
+void at91_register_uart_fns(struct at91_port_fns *fns);
+#else
+#define at91_register_uart_fns(fns) do { } while (0)
+#endif
+
+