Merge git://oss.sgi.com:8090/xfs-2.6
[linux-2.6] / include / linux / fs_uart_pd.h
1 /*
2  * Platform information definitions for the CPM Uart driver.
3  *
4  * 2006 (c) MontaVista Software, Inc.
5  * Vitaly Bordug <vbordug@ru.mvista.com>
6  *
7  * This file is licensed under the terms of the GNU General Public License
8  * version 2. This program is licensed "as is" without any warranty of any
9  * kind, whether express or implied.
10  */
11
12 #ifndef FS_UART_PD_H
13 #define FS_UART_PD_H
14
15 #include <linux/version.h>
16 #include <asm/types.h>
17
18 enum fs_uart_id {
19         fsid_smc1_uart,
20         fsid_smc2_uart,
21         fsid_scc1_uart,
22         fsid_scc2_uart,
23         fsid_scc3_uart,
24         fsid_scc4_uart,
25         fs_uart_nr,
26 };
27
28 static inline int fs_uart_id_scc2fsid(int id)
29 {
30     return fsid_scc1_uart + id - 1;
31 }
32
33 static inline int fs_uart_id_fsid2scc(int id)
34 {
35     return id - fsid_scc1_uart + 1;
36 }
37
38 static inline int fs_uart_id_smc2fsid(int id)
39 {
40     return fsid_smc1_uart + id - 1;
41 }
42
43 static inline int fs_uart_id_fsid2smc(int id)
44 {
45     return id - fsid_smc1_uart + 1;
46 }
47
48 struct fs_uart_platform_info {
49         void(*init_ioports)(void);
50         /* device specific information */
51         int fs_no;              /* controller index */
52         u32 uart_clk;
53         u8 tx_num_fifo;
54         u8 tx_buf_size;
55         u8 rx_num_fifo;
56         u8 rx_buf_size;
57         u8 brg;
58 };
59
60 #endif