Blame view

include/linux/fs_uart_pd.h 1.49 KB
6e1976961   Vitaly Bordug   [PATCH] ppc32 CPM...
1
2
3
4
5
6
7
8
9
10
11
12
13
  /*
   * 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
6e1976961   Vitaly Bordug   [PATCH] ppc32 CPM...
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
  #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 {
d3465c921   Vitaly Bordug   POWERPC: overhaul...
47
          void(*init_ioports)(struct fs_uart_platform_info *);
6e1976961   Vitaly Bordug   [PATCH] ppc32 CPM...
48
49
  	/* device specific information */
  	int fs_no;		/* controller index */
611a15afc   Vitaly Bordug   POWERPC: Bring th...
50
  	char fs_type[4];        /* controller type  */
6e1976961   Vitaly Bordug   [PATCH] ppc32 CPM...
51
52
53
54
55
56
  	u32 uart_clk;
  	u8 tx_num_fifo;
  	u8 tx_buf_size;
  	u8 rx_num_fifo;
  	u8 rx_buf_size;
  	u8 brg;
d3465c921   Vitaly Bordug   POWERPC: overhaul...
57
58
  	u8 clk_rx;
  	u8 clk_tx;
6e1976961   Vitaly Bordug   [PATCH] ppc32 CPM...
59
  };
611a15afc   Vitaly Bordug   POWERPC: Bring th...
60
61
62
63
64
65
66
67
  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;
  }
6e1976961   Vitaly Bordug   [PATCH] ppc32 CPM...
68
  #endif