blob: 96bb12fab4383582fbd11d5c979d0112fbd85180 [file] [log] [blame]
Tony Lindgren120db2c2006-04-02 17:46:27 +01001/*
2 * linux/include/asm-arm/arch-omap/irda.h
3 *
4 * Copyright (C) 2005-2006 Komal Shah <komal_shah802003@yahoo.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10#ifndef ASMARM_ARCH_IRDA_H
11#define ASMARM_ARCH_IRDA_H
12
13/* board specific transceiver capabilities */
14
15#define IR_SEL 1 /* Selects IrDA */
16#define IR_SIRMODE 2
17#define IR_FIRMODE 4
18#define IR_MIRMODE 8
19
20struct omap_irda_config {
21 int transceiver_cap;
22 int (*transceiver_mode)(struct device *dev, int mode);
23 int (*select_irda)(struct device *dev, int state);
24 /* Very specific to the needs of some platforms (h3,h4)
25 * having calls which can sleep in irda_set_speed.
26 */
David Howells6d5aefb2006-12-05 19:36:26 +000027 struct delayed_work gpio_expa;
Tony Lindgren120db2c2006-04-02 17:46:27 +010028 int rx_channel;
29 int tx_channel;
30 unsigned long dest_start;
31 unsigned long src_start;
32 int tx_trigger;
33 int rx_trigger;
Dirk Behme666cd172007-01-25 16:26:46 -080034 int mode;
Tony Lindgren120db2c2006-04-02 17:46:27 +010035};
36
37#endif