123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /*
- * Platform information definitions for the CPM Uart driver.
- *
- * 2006 (c) MontaVista Software, Inc.
- * Vitaly Bordug <vbordug@ru.mvista.com>
- *
- * This file is licensed under the terms of the GNU General Public License
- * version 2. This program is licensed "as is" without any warranty of any
- * kind, whether express or implied.
- */
- #ifndef FS_UART_PD_H
- #define FS_UART_PD_H
- #include <asm/types.h>
- enum fs_uart_id {
- fsid_smc1_uart,
- fsid_smc2_uart,
- fsid_scc1_uart,
- fsid_scc2_uart,
- fsid_scc3_uart,
- fsid_scc4_uart,
- fs_uart_nr,
- };
- static inline int fs_uart_id_scc2fsid(int id)
- {
- return fsid_scc1_uart + id - 1;
- }
- static inline int fs_uart_id_fsid2scc(int id)
- {
- return id - fsid_scc1_uart + 1;
- }
- static inline int fs_uart_id_smc2fsid(int id)
- {
- return fsid_smc1_uart + id - 1;
- }
- static inline int fs_uart_id_fsid2smc(int id)
- {
- return id - fsid_smc1_uart + 1;
- }
- struct fs_uart_platform_info {
- void(*init_ioports)(struct fs_uart_platform_info *);
- /* device specific information */
- int fs_no; /* controller index */
- char fs_type[4]; /* controller type */
- u32 uart_clk;
- u8 tx_num_fifo;
- u8 tx_buf_size;
- u8 rx_num_fifo;
- u8 rx_buf_size;
- u8 brg;
- u8 clk_rx;
- u8 clk_tx;
- };
- static inline int fs_uart_get_id(struct fs_uart_platform_info *fpi)
- {
- if(strstr(fpi->fs_type, "SMC"))
- return fs_uart_id_smc2fsid(fpi->fs_no);
- if(strstr(fpi->fs_type, "SCC"))
- return fs_uart_id_scc2fsid(fpi->fs_no);
- return fpi->fs_no;
- }
- #endif
|