openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

cmicx_sim_schan.h (24998B)


      1 /*
      2  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      3  * 
      4  * Copyright 2007-2019 Broadcom Inc. All rights reserved.
      5  */
      6 
      7 
      8 /*
      9  * cmicx_sim_schan.h
     10  *
     11  * defines functions and defines used for chan functionality of the
     12  */
     13 
     14 
     15 #ifndef _CMICX_SIM_SCHAN_H_
     16 #define _CMICX_SIM_SCHAN_H_
     17 
     18 /* includes */
     19 #include "cmicx_sim_util.h"
     20 
     21 
     22 /* bit defines for schan regs */
     23 #define CMIC_SCHAN_CTRL_REG_SCHAN_ERROR_BIT                23
     24 #define CMIC_SCHAN_CTRL_REG_TIMEOUT_BIT                    22
     25 #define CMIC_SCHAN_CTRL_REG_NACK_BIT                       21
     26 #define CMIC_SCHAN_CTRL_REG_SER_CHECK_FAIL_BIT             20
     27 #define CMIC_SCHAN_CTRL_REG_ABORT_BIT                       2
     28 #define CMIC_SCHAN_CTRL_REG_MSG_DONE_BIT                    1
     29 #define CMIC_SCHAN_CTRL_REG_MSG_START_BIT                   0
     30 #define CMIC_SCHAN_ERR_REG_OP_CODE_LSB                     26
     31 #define CMIC_SCHAN_ERR_REG_OP_CODE_MSB                     31
     32 #define CMIC_SCHAN_ERR_REG_DST_PORT_LSB                    20
     33 #define CMIC_SCHAN_ERR_REG_DST_PORT_MSB                    25
     34 #define CMIC_SCHAN_ERR_REG_SRC_PORT_LSB                    14
     35 #define CMIC_SCHAN_ERR_REG_SRC_PORT_MSB                    19
     36 #define CMIC_SCHAN_ERR_REG_DATA_LEN_LSB                     7
     37 #define CMIC_SCHAN_ERR_REG_DATA_LEN_MSB                    13
     38 #define CMIC_SCHAN_ERR_REG_ERRBIT_BIT                       6
     39 #define CMIC_SCHAN_ERR_REG_ERR_CODE_LSB                     4
     40 #define CMIC_SCHAN_ERR_REG_ERR_CODE_MSB                     5
     41 #define CMIC_SCHAN_ERR_REG_NACK_BIT                         0
     42 #define CMIC_SCHAN_ACK_DATA_BEAT_COUNT_REG_BEAT_COUNT_LSB   0
     43 #define CMIC_SCHAN_ACK_DATA_BEAT_COUNT_REG_BEAT_COUNT_MSB   4
     44 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_7_LSB          28
     45 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_7_MSB          30
     46 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_6_LSB          24
     47 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_6_MSB          26
     48 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_5_LSB          20
     49 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_5_MSB          22
     50 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_4_LSB          16
     51 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_4_MSB          18
     52 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_3_LSB          12
     53 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_3_MSB          14
     54 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_2_LSB           8
     55 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_2_MSB          10
     56 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_1_LSB           4
     57 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_1_MSB           6
     58 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_0_LSB           0
     59 #define CMIC_SBUS_RING_MAP_RING_NUM_SBUS_ID_0_MSB           2
     60 #define CMIC_TOP_SBUS_RING_ARB_CTRL_SCHAN_REG_COMMON_CH0_WEIGHT_LSB    0
     61 #define CMIC_TOP_SBUS_RING_ARB_CTRL_SCHAN_REG_COMMON_CH0_WEIGHT_MSB    3
     62 #define CMIC_TOP_SBUS_RING_ARB_CTRL_SCHAN_REG_COMMON_CH1_WEIGHT_LSB    4
     63 #define CMIC_TOP_SBUS_RING_ARB_CTRL_SCHAN_REG_COMMON_CH1_WEIGHT_MSB    7
     64 #define CMIC_TOP_SBUS_RING_ARB_CTRL_SCHAN_REG_COMMON_CH2_WEIGHT_LSB    8
     65 #define CMIC_TOP_SBUS_RING_ARB_CTRL_SCHAN_REG_COMMON_CH2_WEIGHT_MSB   11
     66 #define CMIC_TOP_SBUS_RING_ARB_CTRL_SCHAN_REG_COMMON_CH3_WEIGHT_LSB   12
     67 #define CMIC_TOP_SBUS_RING_ARB_CTRL_SCHAN_REG_COMMON_CH3_WEIGHT_MSB   15
     68 #define CMIC_TOP_SBUS_RING_ARB_CTRL_SCHAN_REG_COMMON_CH4_WEIGHT_LSB   16
     69 #define CMIC_TOP_SBUS_RING_ARB_CTRL_SCHAN_REG_COMMON_CH4_WEIGHT_MSB   19
     70 #define CMIC_TOP_SBUS_RING_ARB_CTRL_SCHAN_REG_COMMON_FIFO_WEIGHT_LSB  20
     71 #define CMIC_TOP_SBUS_RING_ARB_CTRL_SCHAN_REG_COMMON_FIFO_WEIGHT_MSB  23
     72 
     73 /* bit defines for schan opcode access */
     74 /* see appendix A of CMICD A0 programmer reference guide */
     75 #define CMIC_SCHAN_COMMAND_OPCODE_LSB     26
     76 #define CMIC_SCHAN_COMMAND_OPCODE_MSB     31
     77 #define CMIC_SCHAN_COMMAND_DPORT_LSB      19
     78 #define CMIC_SCHAN_COMMAND_DPORT_MSB      25
     79 #define CMIC_SCHAN_COMMAND_DLEN_LSB        7
     80 #define CMIC_SCHAN_COMMAND_DLEN_MSB       13
     81 #define CMIC_SCHAN_COMMAND_ERR_BIT         6
     82 #define CMIC_SCHAN_COMMAND_ECODE_LSB       4
     83 #define CMIC_SCHAN_COMMAND_ECODE_MSB       5
     84 #define CMIC_SCHAN_COMMAND_DMA_BIT         3
     85 #define CMIC_SCHAN_COMMAND_BANK_LSB        1
     86 #define CMIC_SCHAN_COMMAND_BANK_MSB        2
     87 #define CMIC_SCHAN_COMMAND_NACK_BIT        0
     88 #define CMIC_SCHAN_COMMAND_STRIP_OPCODE(command)     REG_FIELD_GET(command,CMIC_SCHAN_COMMAND_OPCODE_MSB,  CMIC_SCHAN_COMMAND_OPCODE_LSB)
     89 #define CMIC_SCHAN_COMMAND_STRIP_DPORT(command)      REG_FIELD_GET(command,CMIC_SCHAN_COMMAND_DPORT_MSB,   CMIC_SCHAN_COMMAND_DPORT_LSB)
     90 #define CMIC_SCHAN_COMMAND_STRIP_DLEN(command)       REG_FIELD_GET(command,CMIC_SCHAN_COMMAND_DLEN_MSB,    CMIC_SCHAN_COMMAND_DLEN_LSB)
     91 #define CMIC_SCHAN_COMMAND_STRIP_ERR(command)        REG_BIT_GET(command,CMIC_SCHAN_COMMAND_ERR_BIT)
     92 #define CMIC_SCHAN_COMMAND_STRIP_ECODE(command)      REG_FIELD_GET(command,CMIC_SCHAN_COMMAND_ECODE_MSB,   CMIC_SCHAN_COMMAND_ECODE_LSB)
     93 #define CMIC_SCHAN_COMMAND_STRIP_DMA(command)        REG_BIT_GET(command,CMIC_SCHAN_COMMAND_DMA_BIT)
     94 #define CMIC_SCHAN_COMMAND_STRIP_BANK(command)       REG_FIELD_GET(command,CMIC_SCHAN_COMMAND_BANK_MSB,    CMIC_SCHAN_COMMAND_BANK_LSB)
     95 #define CMIC_SCHAN_COMMAND_STRIP_NACK(command)       REG_BIT_GET(command,CMIC_SCHAN_COMMAND_NACK_BIT)
     96 
     97 /* defines for the schan functionality */
     98 #define CMIC_SCHAN_ACCESS_COUNTDOWN_VALUE  4
     99 #define CMIC_SCHAN_ID_STRING_LENGTH       32
    100 #define CMIC_SCHAN_NUM_MESSAGE_REGS       22
    101 #define CMIC_SBUS_RINGS_PER_MAP_REG        8
    102 
    103 
    104 /* enum for schan command opcodes */
    105 typedef enum {
    106     SCHAN_MEM_RD     = 0x07,   SCHAN_MEM_RD_ACK     = 0x08,
    107     SCHAN_MEM_WR     = 0x09,   SCHAN_MEM_WR_ACK     = 0x0A,
    108     SCHAN_REG_RD     = 0x0B,   SCHAN_REG_RD_ACK     = 0x0C,
    109     SCHAN_REG_WR     = 0x0D,   SCHAN_REG_WR_ACK     = 0x0E,
    110     SCHAN_L2_INSERT  = 0x0F,   SCHAN_L2_INSERT_ACK  = 0x10,
    111     SCHAN_L2_DELETE  = 0x11,   SCHAN_L2_DELETE_ACK  = 0x12,
    112     SCHAN_L3_INSERT  = 0x1A,   SCHAN_L3_INSERT_ACK  = 0x1B,
    113     SCHAN_L3_DELETE  = 0x1C,   SCHAN_L3_DELETE_ACK  = 0x1D,
    114     SCHAN_FB_L2_LKUP = 0x20,   SCHAN_FB_L2_LKUP_ACK = 0x21,
    115     SCHAN_FB_L3_LKUP = 0x20,   SCHAN_FB_L3_LKUP_ACK = 0x21,
    116     SCHAN_TBL_INSERT = 0x24,   SCHAN_TBL_INSERT_ACK = 0x25,
    117     SCHAN_TBL_DELETE = 0x26,   SCHAN_TBL_DELETE_ACK = 0x27,
    118     SCHAN_TBL_LOOKUP = 0x28,   SCHAN_TBL_LOOKUP_ACK = 0x29,
    119     SCHAN_POP        = 0x2A,   SCHAN_POP_ACK        = 0x2B,
    120     SCHAN_PUSH       = 0x2C,   SCHAN_PUSH_ACK       = 0x2D
    121 } schan_command_opcode;
    122 
    123 
    124 /* structure definition for schan resources */
    125 typedef struct {
    126 
    127     char                      id_string[CMIC_SCHAN_ID_STRING_LENGTH];
    128 
    129     /* control register states */
    130     bool                      ctrl_schan_error;
    131     bool                      ctrl_timeout;
    132     bool                      ctrl_nack;
    133     bool                      ctrl_ser_check_fail;
    134     bool                      ctrl_abort;
    135     bool                      ctrl_msg_done;
    136     bool                      ctrl_msg_start;
    137 
    138     /* error register states */
    139     schan_command_opcode      err_op_code;
    140     char                      err_dst_port;
    141     char                      err_src_port;
    142     char                      err_data_len;
    143     bool                      err_errbit;
    144     char                      err_err_code;
    145     bool                      err_nack;
    146 
    147     /* ack data beat count register states */
    148     char                      ack_data_beat_count;
    149 
    150     /* message registers */
    151     reg_t                     message_reg[CMIC_SCHAN_NUM_MESSAGE_REGS];
    152 
    153     /* internal states */
    154     bool                      access_running;
    155     schan_command_opcode      access_opcode;
    156     int                       access_countdown;   /* update countdown until schan access completes */
    157 
    158 } cmicx_schan_data_t;
    159 
    160 
    161 /* schan register access functions */
    162 pcid_read_func_t  cmic_top_sbus_ring_arb_ctrl_schan_read;
    163 pcid_write_func_t cmic_top_sbus_ring_arb_ctrl_schan_write;
    164 pcid_read_func_t  cmic_top_sbus_timeout_read;
    165 pcid_write_func_t cmic_top_sbus_timeout_write;
    166 pcid_read_func_t  cmic_top_sbus_ring_map_0_7_read;
    167 pcid_write_func_t cmic_top_sbus_ring_map_0_7_write;
    168 pcid_read_func_t  cmic_top_sbus_ring_map_8_15_read;
    169 pcid_write_func_t cmic_top_sbus_ring_map_8_15_write;
    170 pcid_read_func_t  cmic_top_sbus_ring_map_16_23_read;
    171 pcid_write_func_t cmic_top_sbus_ring_map_16_23_write;
    172 pcid_read_func_t  cmic_top_sbus_ring_map_24_31_read;
    173 pcid_write_func_t cmic_top_sbus_ring_map_24_31_write;
    174 pcid_read_func_t  cmic_top_sbus_ring_map_32_39_read;
    175 pcid_write_func_t cmic_top_sbus_ring_map_32_39_write;
    176 pcid_read_func_t  cmic_top_sbus_ring_map_40_47_read;
    177 pcid_write_func_t cmic_top_sbus_ring_map_40_47_write;
    178 pcid_read_func_t  cmic_top_sbus_ring_map_48_55_read;
    179 pcid_write_func_t cmic_top_sbus_ring_map_48_55_write;
    180 pcid_read_func_t  cmic_top_sbus_ring_map_56_63_read;
    181 pcid_write_func_t cmic_top_sbus_ring_map_56_63_write;
    182 pcid_read_func_t  cmic_top_sbus_ring_map_64_71_read;
    183 pcid_write_func_t cmic_top_sbus_ring_map_64_71_write;
    184 pcid_read_func_t  cmic_top_sbus_ring_map_72_79_read;
    185 pcid_write_func_t cmic_top_sbus_ring_map_72_79_write;
    186 pcid_read_func_t  cmic_top_sbus_ring_map_80_87_read;
    187 pcid_write_func_t cmic_top_sbus_ring_map_80_87_write;
    188 pcid_read_func_t  cmic_top_sbus_ring_map_88_95_read;
    189 pcid_write_func_t cmic_top_sbus_ring_map_88_95_write;
    190 pcid_read_func_t  cmic_top_sbus_ring_map_96_103_read;
    191 pcid_write_func_t cmic_top_sbus_ring_map_96_103_write;
    192 pcid_read_func_t  cmic_top_sbus_ring_map_104_111_read;
    193 pcid_write_func_t cmic_top_sbus_ring_map_104_111_write;
    194 pcid_read_func_t  cmic_top_sbus_ring_map_112_119_read;
    195 pcid_write_func_t cmic_top_sbus_ring_map_112_119_write;
    196 pcid_read_func_t  cmic_top_sbus_ring_map_120_127_read;
    197 pcid_write_func_t cmic_top_sbus_ring_map_120_127_write;
    198 pcid_read_func_t  cmic_common_pool_schan_ch0_message0_read;
    199 pcid_write_func_t cmic_common_pool_schan_ch0_message0_write;
    200 pcid_read_func_t  cmic_common_pool_schan_ch0_message1_read;
    201 pcid_write_func_t cmic_common_pool_schan_ch0_message1_write;
    202 pcid_read_func_t  cmic_common_pool_schan_ch0_message2_read;
    203 pcid_write_func_t cmic_common_pool_schan_ch0_message2_write;
    204 pcid_read_func_t  cmic_common_pool_schan_ch0_message3_read;
    205 pcid_write_func_t cmic_common_pool_schan_ch0_message3_write;
    206 pcid_read_func_t  cmic_common_pool_schan_ch0_message4_read;
    207 pcid_write_func_t cmic_common_pool_schan_ch0_message4_write;
    208 pcid_read_func_t  cmic_common_pool_schan_ch0_message5_read;
    209 pcid_write_func_t cmic_common_pool_schan_ch0_message5_write;
    210 pcid_read_func_t  cmic_common_pool_schan_ch0_message6_read;
    211 pcid_write_func_t cmic_common_pool_schan_ch0_message6_write;
    212 pcid_read_func_t  cmic_common_pool_schan_ch0_message7_read;
    213 pcid_write_func_t cmic_common_pool_schan_ch0_message7_write;
    214 pcid_read_func_t  cmic_common_pool_schan_ch0_message8_read;
    215 pcid_write_func_t cmic_common_pool_schan_ch0_message8_write;
    216 pcid_read_func_t  cmic_common_pool_schan_ch0_message9_read;
    217 pcid_write_func_t cmic_common_pool_schan_ch0_message9_write;
    218 pcid_read_func_t  cmic_common_pool_schan_ch0_message10_read;
    219 pcid_write_func_t cmic_common_pool_schan_ch0_message10_write;
    220 pcid_read_func_t  cmic_common_pool_schan_ch0_message11_read;
    221 pcid_write_func_t cmic_common_pool_schan_ch0_message11_write;
    222 pcid_read_func_t  cmic_common_pool_schan_ch0_message12_read;
    223 pcid_write_func_t cmic_common_pool_schan_ch0_message12_write;
    224 pcid_read_func_t  cmic_common_pool_schan_ch0_message13_read;
    225 pcid_write_func_t cmic_common_pool_schan_ch0_message13_write;
    226 pcid_read_func_t  cmic_common_pool_schan_ch0_message14_read;
    227 pcid_write_func_t cmic_common_pool_schan_ch0_message14_write;
    228 pcid_read_func_t  cmic_common_pool_schan_ch0_message15_read;
    229 pcid_write_func_t cmic_common_pool_schan_ch0_message15_write;
    230 pcid_read_func_t  cmic_common_pool_schan_ch0_message16_read;
    231 pcid_write_func_t cmic_common_pool_schan_ch0_message16_write;
    232 pcid_read_func_t  cmic_common_pool_schan_ch0_message17_read;
    233 pcid_write_func_t cmic_common_pool_schan_ch0_message17_write;
    234 pcid_read_func_t  cmic_common_pool_schan_ch0_message18_read;
    235 pcid_write_func_t cmic_common_pool_schan_ch0_message18_write;
    236 pcid_read_func_t  cmic_common_pool_schan_ch0_message19_read;
    237 pcid_write_func_t cmic_common_pool_schan_ch0_message19_write;
    238 pcid_read_func_t  cmic_common_pool_schan_ch0_message20_read;
    239 pcid_write_func_t cmic_common_pool_schan_ch0_message20_write;
    240 pcid_read_func_t  cmic_common_pool_schan_ch0_message21_read;
    241 pcid_write_func_t cmic_common_pool_schan_ch0_message21_write;
    242 pcid_read_func_t  cmic_common_pool_schan_ch1_message0_read;
    243 pcid_write_func_t cmic_common_pool_schan_ch1_message0_write;
    244 pcid_read_func_t  cmic_common_pool_schan_ch1_message1_read;
    245 pcid_write_func_t cmic_common_pool_schan_ch1_message1_write;
    246 pcid_read_func_t  cmic_common_pool_schan_ch1_message2_read;
    247 pcid_write_func_t cmic_common_pool_schan_ch1_message2_write;
    248 pcid_read_func_t  cmic_common_pool_schan_ch1_message3_read;
    249 pcid_write_func_t cmic_common_pool_schan_ch1_message3_write;
    250 pcid_read_func_t  cmic_common_pool_schan_ch1_message4_read;
    251 pcid_write_func_t cmic_common_pool_schan_ch1_message4_write;
    252 pcid_read_func_t  cmic_common_pool_schan_ch1_message5_read;
    253 pcid_write_func_t cmic_common_pool_schan_ch1_message5_write;
    254 pcid_read_func_t  cmic_common_pool_schan_ch1_message6_read;
    255 pcid_write_func_t cmic_common_pool_schan_ch1_message6_write;
    256 pcid_read_func_t  cmic_common_pool_schan_ch1_message7_read;
    257 pcid_write_func_t cmic_common_pool_schan_ch1_message7_write;
    258 pcid_read_func_t  cmic_common_pool_schan_ch1_message8_read;
    259 pcid_write_func_t cmic_common_pool_schan_ch1_message8_write;
    260 pcid_read_func_t  cmic_common_pool_schan_ch1_message9_read;
    261 pcid_write_func_t cmic_common_pool_schan_ch1_message9_write;
    262 pcid_read_func_t  cmic_common_pool_schan_ch1_message10_read;
    263 pcid_write_func_t cmic_common_pool_schan_ch1_message10_write;
    264 pcid_read_func_t  cmic_common_pool_schan_ch1_message11_read;
    265 pcid_write_func_t cmic_common_pool_schan_ch1_message11_write;
    266 pcid_read_func_t  cmic_common_pool_schan_ch1_message12_read;
    267 pcid_write_func_t cmic_common_pool_schan_ch1_message12_write;
    268 pcid_read_func_t  cmic_common_pool_schan_ch1_message13_read;
    269 pcid_write_func_t cmic_common_pool_schan_ch1_message13_write;
    270 pcid_read_func_t  cmic_common_pool_schan_ch1_message14_read;
    271 pcid_write_func_t cmic_common_pool_schan_ch1_message14_write;
    272 pcid_read_func_t  cmic_common_pool_schan_ch1_message15_read;
    273 pcid_write_func_t cmic_common_pool_schan_ch1_message15_write;
    274 pcid_read_func_t  cmic_common_pool_schan_ch1_message16_read;
    275 pcid_write_func_t cmic_common_pool_schan_ch1_message16_write;
    276 pcid_read_func_t  cmic_common_pool_schan_ch1_message17_read;
    277 pcid_write_func_t cmic_common_pool_schan_ch1_message17_write;
    278 pcid_read_func_t  cmic_common_pool_schan_ch1_message18_read;
    279 pcid_write_func_t cmic_common_pool_schan_ch1_message18_write;
    280 pcid_read_func_t  cmic_common_pool_schan_ch1_message19_read;
    281 pcid_write_func_t cmic_common_pool_schan_ch1_message19_write;
    282 pcid_read_func_t  cmic_common_pool_schan_ch1_message20_read;
    283 pcid_write_func_t cmic_common_pool_schan_ch1_message20_write;
    284 pcid_read_func_t  cmic_common_pool_schan_ch1_message21_read;
    285 pcid_write_func_t cmic_common_pool_schan_ch1_message21_write;
    286 pcid_read_func_t  cmic_common_pool_schan_ch2_message0_read;
    287 pcid_write_func_t cmic_common_pool_schan_ch2_message0_write;
    288 pcid_read_func_t  cmic_common_pool_schan_ch2_message1_read;
    289 pcid_write_func_t cmic_common_pool_schan_ch2_message1_write;
    290 pcid_read_func_t  cmic_common_pool_schan_ch2_message2_read;
    291 pcid_write_func_t cmic_common_pool_schan_ch2_message2_write;
    292 pcid_read_func_t  cmic_common_pool_schan_ch2_message3_read;
    293 pcid_write_func_t cmic_common_pool_schan_ch2_message3_write;
    294 pcid_read_func_t  cmic_common_pool_schan_ch2_message4_read;
    295 pcid_write_func_t cmic_common_pool_schan_ch2_message4_write;
    296 pcid_read_func_t  cmic_common_pool_schan_ch2_message5_read;
    297 pcid_write_func_t cmic_common_pool_schan_ch2_message5_write;
    298 pcid_read_func_t  cmic_common_pool_schan_ch2_message6_read;
    299 pcid_write_func_t cmic_common_pool_schan_ch2_message6_write;
    300 pcid_read_func_t  cmic_common_pool_schan_ch2_message7_read;
    301 pcid_write_func_t cmic_common_pool_schan_ch2_message7_write;
    302 pcid_read_func_t  cmic_common_pool_schan_ch2_message8_read;
    303 pcid_write_func_t cmic_common_pool_schan_ch2_message8_write;
    304 pcid_read_func_t  cmic_common_pool_schan_ch2_message9_read;
    305 pcid_write_func_t cmic_common_pool_schan_ch2_message9_write;
    306 pcid_read_func_t  cmic_common_pool_schan_ch2_message10_read;
    307 pcid_write_func_t cmic_common_pool_schan_ch2_message10_write;
    308 pcid_read_func_t  cmic_common_pool_schan_ch2_message11_read;
    309 pcid_write_func_t cmic_common_pool_schan_ch2_message11_write;
    310 pcid_read_func_t  cmic_common_pool_schan_ch2_message12_read;
    311 pcid_write_func_t cmic_common_pool_schan_ch2_message12_write;
    312 pcid_read_func_t  cmic_common_pool_schan_ch2_message13_read;
    313 pcid_write_func_t cmic_common_pool_schan_ch2_message13_write;
    314 pcid_read_func_t  cmic_common_pool_schan_ch2_message14_read;
    315 pcid_write_func_t cmic_common_pool_schan_ch2_message14_write;
    316 pcid_read_func_t  cmic_common_pool_schan_ch2_message15_read;
    317 pcid_write_func_t cmic_common_pool_schan_ch2_message15_write;
    318 pcid_read_func_t  cmic_common_pool_schan_ch2_message16_read;
    319 pcid_write_func_t cmic_common_pool_schan_ch2_message16_write;
    320 pcid_read_func_t  cmic_common_pool_schan_ch2_message17_read;
    321 pcid_write_func_t cmic_common_pool_schan_ch2_message17_write;
    322 pcid_read_func_t  cmic_common_pool_schan_ch2_message18_read;
    323 pcid_write_func_t cmic_common_pool_schan_ch2_message18_write;
    324 pcid_read_func_t  cmic_common_pool_schan_ch2_message19_read;
    325 pcid_write_func_t cmic_common_pool_schan_ch2_message19_write;
    326 pcid_read_func_t  cmic_common_pool_schan_ch2_message20_read;
    327 pcid_write_func_t cmic_common_pool_schan_ch2_message20_write;
    328 pcid_read_func_t  cmic_common_pool_schan_ch2_message21_read;
    329 pcid_write_func_t cmic_common_pool_schan_ch2_message21_write;
    330 pcid_read_func_t  cmic_common_pool_schan_ch3_message0_read;
    331 pcid_write_func_t cmic_common_pool_schan_ch3_message0_write;
    332 pcid_read_func_t  cmic_common_pool_schan_ch3_message1_read;
    333 pcid_write_func_t cmic_common_pool_schan_ch3_message1_write;
    334 pcid_read_func_t  cmic_common_pool_schan_ch3_message2_read;
    335 pcid_write_func_t cmic_common_pool_schan_ch3_message2_write;
    336 pcid_read_func_t  cmic_common_pool_schan_ch3_message3_read;
    337 pcid_write_func_t cmic_common_pool_schan_ch3_message3_write;
    338 pcid_read_func_t  cmic_common_pool_schan_ch3_message4_read;
    339 pcid_write_func_t cmic_common_pool_schan_ch3_message4_write;
    340 pcid_read_func_t  cmic_common_pool_schan_ch3_message5_read;
    341 pcid_write_func_t cmic_common_pool_schan_ch3_message5_write;
    342 pcid_read_func_t  cmic_common_pool_schan_ch3_message6_read;
    343 pcid_write_func_t cmic_common_pool_schan_ch3_message6_write;
    344 pcid_read_func_t  cmic_common_pool_schan_ch3_message7_read;
    345 pcid_write_func_t cmic_common_pool_schan_ch3_message7_write;
    346 pcid_read_func_t  cmic_common_pool_schan_ch3_message8_read;
    347 pcid_write_func_t cmic_common_pool_schan_ch3_message8_write;
    348 pcid_read_func_t  cmic_common_pool_schan_ch3_message9_read;
    349 pcid_write_func_t cmic_common_pool_schan_ch3_message9_write;
    350 pcid_read_func_t  cmic_common_pool_schan_ch3_message10_read;
    351 pcid_write_func_t cmic_common_pool_schan_ch3_message10_write;
    352 pcid_read_func_t  cmic_common_pool_schan_ch3_message11_read;
    353 pcid_write_func_t cmic_common_pool_schan_ch3_message11_write;
    354 pcid_read_func_t  cmic_common_pool_schan_ch3_message12_read;
    355 pcid_write_func_t cmic_common_pool_schan_ch3_message12_write;
    356 pcid_read_func_t  cmic_common_pool_schan_ch3_message13_read;
    357 pcid_write_func_t cmic_common_pool_schan_ch3_message13_write;
    358 pcid_read_func_t  cmic_common_pool_schan_ch3_message14_read;
    359 pcid_write_func_t cmic_common_pool_schan_ch3_message14_write;
    360 pcid_read_func_t  cmic_common_pool_schan_ch3_message15_read;
    361 pcid_write_func_t cmic_common_pool_schan_ch3_message15_write;
    362 pcid_read_func_t  cmic_common_pool_schan_ch3_message16_read;
    363 pcid_write_func_t cmic_common_pool_schan_ch3_message16_write;
    364 pcid_read_func_t  cmic_common_pool_schan_ch3_message17_read;
    365 pcid_write_func_t cmic_common_pool_schan_ch3_message17_write;
    366 pcid_read_func_t  cmic_common_pool_schan_ch3_message18_read;
    367 pcid_write_func_t cmic_common_pool_schan_ch3_message18_write;
    368 pcid_read_func_t  cmic_common_pool_schan_ch3_message19_read;
    369 pcid_write_func_t cmic_common_pool_schan_ch3_message19_write;
    370 pcid_read_func_t  cmic_common_pool_schan_ch3_message20_read;
    371 pcid_write_func_t cmic_common_pool_schan_ch3_message20_write;
    372 pcid_read_func_t  cmic_common_pool_schan_ch3_message21_read;
    373 pcid_write_func_t cmic_common_pool_schan_ch3_message21_write;
    374 pcid_read_func_t  cmic_common_pool_schan_ch4_message0_read;
    375 pcid_write_func_t cmic_common_pool_schan_ch4_message0_write;
    376 pcid_read_func_t  cmic_common_pool_schan_ch4_message1_read;
    377 pcid_write_func_t cmic_common_pool_schan_ch4_message1_write;
    378 pcid_read_func_t  cmic_common_pool_schan_ch4_message2_read;
    379 pcid_write_func_t cmic_common_pool_schan_ch4_message2_write;
    380 pcid_read_func_t  cmic_common_pool_schan_ch4_message3_read;
    381 pcid_write_func_t cmic_common_pool_schan_ch4_message3_write;
    382 pcid_read_func_t  cmic_common_pool_schan_ch4_message4_read;
    383 pcid_write_func_t cmic_common_pool_schan_ch4_message4_write;
    384 pcid_read_func_t  cmic_common_pool_schan_ch4_message5_read;
    385 pcid_write_func_t cmic_common_pool_schan_ch4_message5_write;
    386 pcid_read_func_t  cmic_common_pool_schan_ch4_message6_read;
    387 pcid_write_func_t cmic_common_pool_schan_ch4_message6_write;
    388 pcid_read_func_t  cmic_common_pool_schan_ch4_message7_read;
    389 pcid_write_func_t cmic_common_pool_schan_ch4_message7_write;
    390 pcid_read_func_t  cmic_common_pool_schan_ch4_message8_read;
    391 pcid_write_func_t cmic_common_pool_schan_ch4_message8_write;
    392 pcid_read_func_t  cmic_common_pool_schan_ch4_message9_read;
    393 pcid_write_func_t cmic_common_pool_schan_ch4_message9_write;
    394 pcid_read_func_t  cmic_common_pool_schan_ch4_message10_read;
    395 pcid_write_func_t cmic_common_pool_schan_ch4_message10_write;
    396 pcid_read_func_t  cmic_common_pool_schan_ch4_message11_read;
    397 pcid_write_func_t cmic_common_pool_schan_ch4_message11_write;
    398 pcid_read_func_t  cmic_common_pool_schan_ch4_message12_read;
    399 pcid_write_func_t cmic_common_pool_schan_ch4_message12_write;
    400 pcid_read_func_t  cmic_common_pool_schan_ch4_message13_read;
    401 pcid_write_func_t cmic_common_pool_schan_ch4_message13_write;
    402 pcid_read_func_t  cmic_common_pool_schan_ch4_message14_read;
    403 pcid_write_func_t cmic_common_pool_schan_ch4_message14_write;
    404 pcid_read_func_t  cmic_common_pool_schan_ch4_message15_read;
    405 pcid_write_func_t cmic_common_pool_schan_ch4_message15_write;
    406 pcid_read_func_t  cmic_common_pool_schan_ch4_message16_read;
    407 pcid_write_func_t cmic_common_pool_schan_ch4_message16_write;
    408 pcid_read_func_t  cmic_common_pool_schan_ch4_message17_read;
    409 pcid_write_func_t cmic_common_pool_schan_ch4_message17_write;
    410 pcid_read_func_t  cmic_common_pool_schan_ch4_message18_read;
    411 pcid_write_func_t cmic_common_pool_schan_ch4_message18_write;
    412 pcid_read_func_t  cmic_common_pool_schan_ch4_message19_read;
    413 pcid_write_func_t cmic_common_pool_schan_ch4_message19_write;
    414 pcid_read_func_t  cmic_common_pool_schan_ch4_message20_read;
    415 pcid_write_func_t cmic_common_pool_schan_ch4_message20_write;
    416 pcid_read_func_t  cmic_common_pool_schan_ch4_message21_read;
    417 pcid_write_func_t cmic_common_pool_schan_ch4_message21_write;
    418 pcid_read_func_t cmic_common_pool_schan_ch0_ctrl_read;
    419 pcid_write_func_t cmic_common_pool_schan_ch0_ctrl_write;
    420 pcid_read_func_t cmic_common_pool_schan_ch0_ack_data_beat_count_read;
    421 pcid_write_func_t cmic_common_pool_schan_ch0_ack_data_beat_count_write;
    422 pcid_read_func_t cmic_common_pool_schan_ch0_err_read;
    423 pcid_write_func_t cmic_common_pool_schan_ch0_err_write;
    424 pcid_read_func_t cmic_common_pool_schan_ch1_ctrl_read;
    425 pcid_write_func_t cmic_common_pool_schan_ch1_ctrl_write;
    426 pcid_read_func_t cmic_common_pool_schan_ch1_ack_data_beat_count_read;
    427 pcid_write_func_t cmic_common_pool_schan_ch1_ack_data_beat_count_write;
    428 pcid_read_func_t cmic_common_pool_schan_ch1_err_read;
    429 pcid_write_func_t cmic_common_pool_schan_ch1_err_write;
    430 pcid_read_func_t cmic_common_pool_schan_ch2_ctrl_read;
    431 pcid_write_func_t cmic_common_pool_schan_ch2_ctrl_write;
    432 pcid_read_func_t cmic_common_pool_schan_ch2_ack_data_beat_count_read;
    433 pcid_write_func_t cmic_common_pool_schan_ch2_ack_data_beat_count_write;
    434 pcid_read_func_t cmic_common_pool_schan_ch2_err_read;
    435 pcid_write_func_t cmic_common_pool_schan_ch2_err_write;
    436 pcid_read_func_t cmic_common_pool_schan_ch3_ctrl_read;
    437 pcid_write_func_t cmic_common_pool_schan_ch3_ctrl_write;
    438 pcid_read_func_t cmic_common_pool_schan_ch3_ack_data_beat_count_read;
    439 pcid_write_func_t cmic_common_pool_schan_ch3_ack_data_beat_count_write;
    440 pcid_read_func_t cmic_common_pool_schan_ch3_err_read;
    441 pcid_write_func_t cmic_common_pool_schan_ch3_err_write;
    442 pcid_read_func_t cmic_common_pool_schan_ch4_ctrl_read;
    443 pcid_write_func_t cmic_common_pool_schan_ch4_ctrl_write;
    444 pcid_read_func_t cmic_common_pool_schan_ch4_ack_data_beat_count_read;
    445 pcid_write_func_t cmic_common_pool_schan_ch4_ack_data_beat_count_write;
    446 pcid_read_func_t cmic_common_pool_schan_ch4_err_read;
    447 pcid_write_func_t cmic_common_pool_schan_ch4_err_write;
    448 
    449 #endif   /* SCHAN_H */
    450