blob: 18bc4e00e475a4dedc62410e190c8a471bb5093e [file] [log] [blame]
Andrew Victor1e6c9c22006-01-10 16:59:27 +00001/*
Andrew Victorafefc412006-06-19 19:53:19 +01002 * linux/include/asm-arm/mach/serial_at91.h
Andrew Victor1e6c9c22006-01-10 16:59:27 +00003 *
4 * Based on serial_sa1100.h by Nicolas Pitre
5 *
6 * Copyright (C) 2002 ATMEL Rousset
7 *
8 * Low level machine dependent UART functions.
9 */
10#include <linux/config.h>
11
12struct uart_port;
13
14/*
15 * This is a temporary structure for registering these
16 * functions; it is intended to be discarded after boot.
17 */
Andrew Victorafefc412006-06-19 19:53:19 +010018struct at91_port_fns {
Andrew Victor1e6c9c22006-01-10 16:59:27 +000019 void (*set_mctrl)(struct uart_port *, u_int);
20 u_int (*get_mctrl)(struct uart_port *);
21 void (*enable_ms)(struct uart_port *);
22 void (*pm)(struct uart_port *, u_int, u_int);
23 int (*set_wake)(struct uart_port *, u_int);
24 int (*open)(struct uart_port *);
25 void (*close)(struct uart_port *);
26};
27
28#if defined(CONFIG_SERIAL_AT91)
Andrew Victorafefc412006-06-19 19:53:19 +010029void at91_register_uart_fns(struct at91_port_fns *fns);
Andrew Victor1e6c9c22006-01-10 16:59:27 +000030#else
31#define at91_register_uart_fns(fns) do { } while (0)
Andrew Victor1e6c9c22006-01-10 16:59:27 +000032#endif
33
34