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

cpm4x25.h (44648B)


      1 /*
      2  *         
      3  * 
      4  * 
      5  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      6  * 
      7  * Copyright 2007-2019 Broadcom Inc. All rights reserved.
      8  *         
      9  *     
     10  * DO NOT EDIT THIS FILE!
     11  */
     12 
     13 #ifndef _CPM4X25_H__H_
     14 #define _CPM4X25_H__H_
     15 
     16 #include <phymod/phymod.h>
     17 #include <phymod/phymod_diagnostics.h>
     18 #include <phymod/phymod_reg.h>
     19 #include <soc/cprimod/cprimod.h>
     20 #include <soc/portmod/portmod_defs.h>
     21 /*Add new port*/
     22 int cpm4x25_port_attach(int unit, int port, pm_info_t pm_info, const portmod_port_add_info_t* add_info);
     23 
     24 /*Port remove in PM level*/
     25 int cpm4x25_port_detach(int unit, int port, pm_info_t pm_info);
     26 
     27 /*Port replace in PM level*/
     28 int cpm4x25_port_replace(int unit, int port, pm_info_t pm_info, int new_port);
     29 
     30 /*Port enable*/
     31 int cpm4x25_port_enable_set(int unit, int port, pm_info_t pm_info, int flags, int enable);
     32 int cpm4x25_port_enable_get(int unit, int port, pm_info_t pm_info, int flags, int* enable);
     33 
     34 /* set/get the interface, speed and encapsulation for the specified port.
     35             For the First port within core this function initialize the PM, MAC and PHY before configure the port.*/
     36 int cpm4x25_port_interface_config_set(int unit, int port, pm_info_t pm_info, const portmod_port_interface_config_t* config, int phy_init_flags);
     37 int cpm4x25_port_interface_config_get(int unit, int port, pm_info_t pm_info, portmod_port_interface_config_t* config, int phy_init_flags);
     38 
     39 /*Port speed set\get*/
     40 int cpm4x25_port_loopback_set(int unit, int port, pm_info_t pm_info, portmod_loopback_mode_t loopback_type, int enable);
     41 int cpm4x25_port_loopback_get(int unit, int port, pm_info_t pm_info, portmod_loopback_mode_t loopback_type, int* enable);
     42 
     43 /*Port RX MAC ENABLE set\get*/
     44 int cpm4x25_port_rx_mac_enable_set(int unit, int port, pm_info_t pm_info, int enable);
     45 int cpm4x25_port_rx_mac_enable_get(int unit, int port, pm_info_t pm_info, int* enable);
     46 
     47 /*Port TX MAC ENABLE set\get*/
     48 int cpm4x25_port_tx_mac_enable_set(int unit, int port, pm_info_t pm_info, int enable);
     49 int cpm4x25_port_tx_mac_enable_get(int unit, int port, pm_info_t pm_info, int* enable);
     50 
     51 /*Set\Get autoneg*/
     52 int cpm4x25_port_autoneg_set(int unit, int port, pm_info_t pm_info, uint32 phy_flags, const phymod_autoneg_control_t* an);
     53 int cpm4x25_port_autoneg_get(int unit, int port, pm_info_t pm_info, uint32 phy_flags, phymod_autoneg_control_t* an);
     54 
     55 /*Get autoneg status*/
     56 int cpm4x25_port_autoneg_status_get(int unit, int port, pm_info_t pm_info, phymod_autoneg_status_t* an_status);
     57 
     58 /*get link status*/
     59 int cpm4x25_port_link_get(int unit, int port, pm_info_t pm_info, int flags, int* link);
     60 
     61 /* link up event */
     62 int cpm4x25_port_phy_link_up_event(int unit, int port, pm_info_t pm_info);
     63 
     64 /* link down event */
     65 int cpm4x25_port_phy_link_down_event(int unit, int port, pm_info_t pm_info);
     66 
     67 /*get port auto negotiation local ability*/
     68 int cpm4x25_port_ability_advert_set(int unit, int port, pm_info_t pm_info, uint32 phy_flags, portmod_port_ability_t* ability);
     69 int cpm4x25_port_ability_advert_get(int unit, int port, pm_info_t pm_info, uint32 phy_flags, portmod_port_ability_t* ability);
     70 
     71 /*Port ability remote Adv get*/
     72 int cpm4x25_port_ability_remote_get(int unit, int port, pm_info_t pm_info, uint32 phy_flags, portmod_port_ability_t* ability);
     73 
     74 /*set port encap.*/
     75 int cpm4x25_port_encap_set(int unit, int port, pm_info_t pm_info, int flags, portmod_encap_t encap);
     76 int cpm4x25_port_encap_get(int unit, int port, pm_info_t pm_info, int* flags, portmod_encap_t* encap);
     77 
     78 /*Restore informaation after drain cells.*/
     79 int cpm4x25_port_drain_cell_stop(int unit, int port, pm_info_t pm_info, const portmod_drain_cells_t* drain_cells);
     80 
     81 /*Restore informaation after drain cells.*/
     82 int cpm4x25_port_drain_cell_start(int unit, int port, pm_info_t pm_info);
     83 
     84 /**/
     85 int cpm4x25_port_drain_cells_rx_enable(int unit, int port, pm_info_t pm_info, int rx_en);
     86 
     87 /**/
     88 int cpm4x25_port_egress_queue_drain_rx_en(int unit, int port, pm_info_t pm_info, int rx_en);
     89 
     90 /**/
     91 int cpm4x25_port_mac_ctrl_set(int unit, int port, pm_info_t pm_info, uint64 ctrl);
     92 
     93 /**/
     94 int cpm4x25_port_egress_queue_drain_get(int unit, int port, pm_info_t pm_info, uint64* ctrl, int* rxen);
     95 
     96 /*Set/get port mac reset */
     97 int cpm4x25_port_mac_reset_set(int unit, int port, pm_info_t pm_info, int val);
     98 int cpm4x25_port_mac_reset_get(int unit, int port, pm_info_t pm_info, int* val);
     99 
    100 /*Check if MAC needs to be reset.*/
    101 int cpm4x25_port_mac_reset_check(int unit, int port, pm_info_t pm_info, int enable, int* reset);
    102 
    103 /*get the speed for the specified port*/
    104 int cpm4x25_port_speed_get(int unit, int port, pm_info_t pm_info, int* speed);
    105 
    106 /*Port tx_en=0 and softreset mac*/
    107 int cpm4x25_port_tx_down(int unit, int port, pm_info_t pm_info);
    108 
    109 /*"port control phy timesync config set/get"*/
    110 int cpm4x25_port_control_phy_timesync_set(int unit, int port, pm_info_t pm_info, portmod_port_control_phy_timesync_t config, uint64 value);
    111 int cpm4x25_port_control_phy_timesync_get(int unit, int port, pm_info_t pm_info, portmod_port_control_phy_timesync_t config, uint64* value);
    112 
    113 /*"port timesync config set/get"*/
    114 int cpm4x25_port_timesync_config_set(int unit, int port, pm_info_t pm_info, const portmod_phy_timesync_config_t* config);
    115 int cpm4x25_port_timesync_config_get(int unit, int port, pm_info_t pm_info, portmod_phy_timesync_config_t* config);
    116 
    117 /*"port timesync enable set/get"*/
    118 int cpm4x25_port_timesync_enable_set(int unit, int port, pm_info_t pm_info, uint32 enable);
    119 int cpm4x25_port_timesync_enable_get(int unit, int port, pm_info_t pm_info, uint32* enable);
    120 
    121 /* Activate the basic framer standby table. */
    122 #ifdef CPRIMOD_SUPPORT
    123 int cpm4x25_cpri_port_stage_activate(int unit, int port, pm_info_t pm_info, portmod_cpri_stage_t stage);
    124 #endif /* CPRIMOD_SUPPORT */
    125 
    126 /*Set rsvd4 fsm state */
    127 #ifdef CPRIMOD_SUPPORT
    128 int cpm4x25_cpri_port_rsvd4_tx_fsm_state_set(int unit, int port, pm_info_t pm_info, cprimod_rsvd4_tx_fsm_state_t state);
    129 #endif /* CPRIMOD_SUPPORT */
    130 
    131 /*Set rsvd4 tx override */
    132 #ifdef CPRIMOD_SUPPORT
    133 int cpm4x25_cpri_port_rsvd4_tx_override_set(int unit, int port, pm_info_t pm_info, cprimod_rsvd4_tx_overide_t parameter, int enable, int value);
    134 #endif /* CPRIMOD_SUPPORT */
    135 
    136 /*Set rsvd4 rx override */
    137 #ifdef CPRIMOD_SUPPORT
    138 int cpm4x25_cpri_port_rsvd4_rx_override_set(int unit, int port, pm_info_t pm_info, cprimod_rsvd4_rx_overide_t parameter, int enable, int value);
    139 #endif /* CPRIMOD_SUPPORT */
    140 
    141 /*Add Rx AxC to the framer. */
    142 #ifdef CPRIMOD_SUPPORT
    143 int cpm4x25_cpri_port_rx_axc_frame_add(int unit, int port, pm_info_t pm_info, uint32 axc_id, const portmod_cpri_axc_frame_info_t* frame_info);
    144 #endif /* CPRIMOD_SUPPORT */
    145 
    146 /*Set/Get Rx required field. */
    147 #ifdef CPRIMOD_SUPPORT
    148 int cpm4x25_cpri_port_rx_frame_optional_config_set(int unit, int port, pm_info_t pm_info, cprimod_rx_config_field_t field, int value);
    149 #endif /* CPRIMOD_SUPPORT */
    150 #ifdef CPRIMOD_SUPPORT
    151 int cpm4x25_cpri_port_rx_frame_optional_config_get(int unit, int port, pm_info_t pm_info, cprimod_rx_config_field_t field, int* value);
    152 #endif /* CPRIMOD_SUPPORT */
    153 
    154 /*Set/Get Tx required field. */
    155 #ifdef CPRIMOD_SUPPORT
    156 int cpm4x25_cpri_port_tx_frame_optional_config_set(int unit, int port, pm_info_t pm_info, cprimod_tx_config_field_t field, uint32 value);
    157 #endif /* CPRIMOD_SUPPORT */
    158 #ifdef CPRIMOD_SUPPORT
    159 int cpm4x25_cpri_port_tx_frame_optional_config_get(int unit, int port, pm_info_t pm_info, cprimod_tx_config_field_t field, uint32* value);
    160 #endif /* CPRIMOD_SUPPORT */
    161 
    162 /*Set/Get Rx required field. */
    163 #ifdef CPRIMOD_SUPPORT
    164 int cpm4x25_port_rsvd4_rx_frame_optional_config_set(int unit, int port, pm_info_t pm_info, cprimod_rsvd4_rx_config_field_t field, int value);
    165 #endif /* CPRIMOD_SUPPORT */
    166 #ifdef CPRIMOD_SUPPORT
    167 int cpm4x25_port_rsvd4_rx_frame_optional_config_get(int unit, int port, pm_info_t pm_info, cprimod_rsvd4_rx_config_field_t field, int* value);
    168 #endif /* CPRIMOD_SUPPORT */
    169 
    170 /*Set/Get Tx required field. */
    171 #ifdef CPRIMOD_SUPPORT
    172 int cpm4x25_port_rsvd4_tx_frame_optional_config_set(int unit, int port, pm_info_t pm_info, cprimod_rsvd4_tx_config_field_t field, int value);
    173 #endif /* CPRIMOD_SUPPORT */
    174 #ifdef CPRIMOD_SUPPORT
    175 int cpm4x25_port_rsvd4_tx_frame_optional_config_get(int unit, int port, pm_info_t pm_info, cprimod_rsvd4_tx_config_field_t field, int* value);
    176 #endif /* CPRIMOD_SUPPORT */
    177 
    178 /*Set/Get Tx required field. */
    179 #ifdef CPRIMOD_SUPPORT
    180 int cpm4x25_port_rsvd4_rx_speed_set(int unit, int port, pm_info_t pm_info, cprimod_port_rsvd4_speed_mult_t speed);
    181 #endif /* CPRIMOD_SUPPORT */
    182 #ifdef CPRIMOD_SUPPORT
    183 int cpm4x25_port_rsvd4_rx_speed_get(int unit, int port, pm_info_t pm_info, cprimod_port_rsvd4_speed_mult_t* speed);
    184 #endif /* CPRIMOD_SUPPORT */
    185 
    186 /*Set/Get Tx required field. */
    187 #ifdef CPRIMOD_SUPPORT
    188 int cpm4x25_port_rsvd4_tx_speed_set(int unit, int port, pm_info_t pm_info, cprimod_port_rsvd4_speed_mult_t speed);
    189 #endif /* CPRIMOD_SUPPORT */
    190 #ifdef CPRIMOD_SUPPORT
    191 int cpm4x25_port_rsvd4_tx_speed_get(int unit, int port, pm_info_t pm_info, cprimod_port_rsvd4_speed_mult_t* speed);
    192 #endif /* CPRIMOD_SUPPORT */
    193 
    194 /*Delete Rx AxC to the framer. */
    195 #ifdef CPRIMOD_SUPPORT
    196 int cpm4x25_cpri_port_rx_axc_frame_delete(int unit, int port, pm_info_t pm_info, uint32 axc_id);
    197 #endif /* CPRIMOD_SUPPORT */
    198 
    199 /*Get Rx AxC to the framer. */
    200 #ifdef CPRIMOD_SUPPORT
    201 int cpm4x25_cpri_port_rx_axc_frame_get(int unit, int port, pm_info_t pm_info, uint32 axc_id, uint32 from_get_all, portmod_cpri_axc_frame_info_t* frame_info);
    202 #endif /* CPRIMOD_SUPPORT */
    203 
    204 /*Set rsvd4 fsm state */
    205 #ifdef CPRIMOD_SUPPORT
    206 int cpm4x25_cpri_port_rsvd4_rx_fsm_state_set(int unit, int port, pm_info_t pm_info, cprimod_rsvd4_rx_fsm_state_t state);
    207 #endif /* CPRIMOD_SUPPORT */
    208 
    209 /*Add Tx AxC to the framer. */
    210 #ifdef CPRIMOD_SUPPORT
    211 int cpm4x25_cpri_port_tx_axc_frame_add(int unit, int port, pm_info_t pm_info, uint32 axc_id, const portmod_cpri_axc_frame_info_t* frame_info);
    212 #endif /* CPRIMOD_SUPPORT */
    213 
    214 /*Delete Tx AxC to the framer. */
    215 #ifdef CPRIMOD_SUPPORT
    216 int cpm4x25_cpri_port_tx_axc_frame_delete(int unit, int port, pm_info_t pm_info, uint32 axc_id);
    217 #endif /* CPRIMOD_SUPPORT */
    218 
    219 /*Get Tx AxC to the framer. */
    220 #ifdef CPRIMOD_SUPPORT
    221 int cpm4x25_cpri_port_tx_axc_frame_get(int unit, int port, pm_info_t pm_info, uint32 axc_id, uint32 from_get_all, portmod_cpri_axc_frame_info_t* frame_info);
    222 #endif /* CPRIMOD_SUPPORT */
    223 
    224 /*Encap Header Configuration. */
    225 #ifdef CPRIMOD_SUPPORT
    226 int cpm4x25_cpri_port_encap_set(int unit, int port, pm_info_t pm_info, uint32 queue_num, const cprimod_encap_header_config_t* config);
    227 #endif /* CPRIMOD_SUPPORT */
    228 #ifdef CPRIMOD_SUPPORT
    229 int cpm4x25_cpri_port_encap_get(int unit, int port, pm_info_t pm_info, uint32 queue_num, cprimod_encap_header_config_t* config);
    230 #endif /* CPRIMOD_SUPPORT */
    231 
    232 /*Encap Ordering info. */
    233 #ifdef CPRIMOD_SUPPORT
    234 int cpm4x25_cpri_port_encap_roe_ordering_info_set(int unit, int port, pm_info_t pm_info, uint32 index, const cprimod_encap_ordering_info_entry_t* config);
    235 #endif /* CPRIMOD_SUPPORT */
    236 #ifdef CPRIMOD_SUPPORT
    237 int cpm4x25_cpri_port_encap_roe_ordering_info_get(int unit, int port, pm_info_t pm_info, uint32 index, cprimod_encap_ordering_info_entry_t* config);
    238 #endif /* CPRIMOD_SUPPORT */
    239 
    240 /*Encap Ordering info Offset. */
    241 #ifdef CPRIMOD_SUPPORT
    242 int cpm4x25_cpri_port_encap_roe_ordering_sequence_offset_set(int unit, int port, pm_info_t pm_info, uint32 queue_num, uint32 control, const cprimod_cpri_ordering_info_offset_t* config);
    243 #endif /* CPRIMOD_SUPPORT */
    244 #ifdef CPRIMOD_SUPPORT
    245 int cpm4x25_cpri_port_encap_roe_ordering_sequence_offset_get(int unit, int port, pm_info_t pm_info, uint32 queue_num, uint32 control, cprimod_cpri_ordering_info_offset_t* config);
    246 #endif /* CPRIMOD_SUPPORT */
    247 
    248 /*Encap Mac Da. */
    249 #ifdef CPRIMOD_SUPPORT
    250 int cpm4x25_cpri_port_roe_encap_macda_entry_set(int unit, int port, pm_info_t pm_info, uint32 index, cprimod_mac_addr_t mac_addr);
    251 #endif /* CPRIMOD_SUPPORT */
    252 #ifdef CPRIMOD_SUPPORT
    253 int cpm4x25_cpri_port_roe_encap_macda_entry_get(int unit, int port, pm_info_t pm_info, uint32 index, cprimod_mac_addr_t mac_addr);
    254 #endif /* CPRIMOD_SUPPORT */
    255 
    256 /*Encap Mac Sa. */
    257 #ifdef CPRIMOD_SUPPORT
    258 int cpm4x25_cpri_port_roe_encap_macsa_entry_set(int unit, int port, pm_info_t pm_info, uint32 index, cprimod_mac_addr_t mac_addr);
    259 #endif /* CPRIMOD_SUPPORT */
    260 #ifdef CPRIMOD_SUPPORT
    261 int cpm4x25_cpri_port_roe_encap_macsa_entry_get(int unit, int port, pm_info_t pm_info, uint32 index, cprimod_mac_addr_t mac_addr);
    262 #endif /* CPRIMOD_SUPPORT */
    263 
    264 /*Encap VLAN. */
    265 #ifdef CPRIMOD_SUPPORT
    266 int cpm4x25_cpri_port_roe_encap_vlan_entry_set(int unit, int port, pm_info_t pm_info, uint32 index, cprimod_vlan_table_id_t table_id, uint32 vlan_id);
    267 #endif /* CPRIMOD_SUPPORT */
    268 #ifdef CPRIMOD_SUPPORT
    269 int cpm4x25_cpri_port_roe_encap_vlan_entry_get(int unit, int port, pm_info_t pm_info, uint32 index, cprimod_vlan_table_id_t table_id, uint32* vlan_id);
    270 #endif /* CPRIMOD_SUPPORT */
    271 
    272 /* Set Decap ethtype for a packet type. */
    273 #ifdef CPRIMOD_SUPPORT
    274 int cpm4x25_cpri_port_decap_ethertype_config_set(int unit, int port, pm_info_t pm_info, cprimod_ethertype_t pkt_type, uint16 ethtype);
    275 #endif /* CPRIMOD_SUPPORT */
    276 #ifdef CPRIMOD_SUPPORT
    277 int cpm4x25_cpri_port_decap_ethertype_config_get(int unit, int port, pm_info_t pm_info, cprimod_ethertype_t pkt_type, uint16* ethtype);
    278 #endif /* CPRIMOD_SUPPORT */
    279 
    280 /* Set Encap ethtype for a packet type. */
    281 #ifdef CPRIMOD_SUPPORT
    282 int cpm4x25_cpri_port_encap_ethertype_config_set(int unit, int port, pm_info_t pm_info, cprimod_ethertype_t pkt_type, uint16 ethtype);
    283 #endif /* CPRIMOD_SUPPORT */
    284 #ifdef CPRIMOD_SUPPORT
    285 int cpm4x25_cpri_port_encap_ethertype_config_get(int unit, int port, pm_info_t pm_info, cprimod_ethertype_t pkt_type, uint16* ethtype);
    286 #endif /* CPRIMOD_SUPPORT */
    287 
    288 /* Flow Classification. */
    289 #ifdef CPRIMOD_SUPPORT
    290 int cpm4x25_cpri_port_decap_flow_config_set(int unit, int port, pm_info_t pm_info, uint8 roe_subtype, uint32 queue_num, cprimod_cls_option_t cls_option, cprimod_cls_flow_type_t flow_type);
    291 #endif /* CPRIMOD_SUPPORT */
    292 #ifdef CPRIMOD_SUPPORT
    293 int cpm4x25_cpri_port_decap_flow_config_get(int unit, int port, pm_info_t pm_info, uint8 roe_subtype, uint32* queue_num, cprimod_cls_option_t* cls_option, cprimod_cls_flow_type_t* flow_type);
    294 #endif /* CPRIMOD_SUPPORT */
    295 
    296 /* Queue to Ordering info Index. */
    297 #ifdef CPRIMOD_SUPPORT
    298 int cpm4x25_cpri_port_decap_queue_to_ordering_info_index_set(int unit, int port, pm_info_t pm_info, uint32 queue_num, uint32 ordering_info_index);
    299 #endif /* CPRIMOD_SUPPORT */
    300 #ifdef CPRIMOD_SUPPORT
    301 int cpm4x25_cpri_port_decap_queue_to_ordering_info_index_get(int unit, int port, pm_info_t pm_info, uint32 queue_num, uint32* ordering_info_index);
    302 #endif /* CPRIMOD_SUPPORT */
    303 
    304 /* Queue to Ordering info Index. */
    305 #ifdef CPRIMOD_SUPPORT
    306 int cpm4x25_cpri_port_decap_flow_to_queue_mapping_set(int unit, int port, pm_info_t pm_info, uint32 flow_id, uint32 queue_num);
    307 #endif /* CPRIMOD_SUPPORT */
    308 #ifdef CPRIMOD_SUPPORT
    309 int cpm4x25_cpri_port_decap_flow_to_queue_mapping_get(int unit, int port, pm_info_t pm_info, uint32 flow_id, uint32* queue_num);
    310 #endif /* CPRIMOD_SUPPORT */
    311 
    312 /*Decap Ordering info. */
    313 #ifdef CPRIMOD_SUPPORT
    314 int cpm4x25_cpri_port_decap_roe_ordering_info_set(int unit, int port, pm_info_t pm_info, uint32 index, const cprimod_decap_ordering_info_entry_t* config);
    315 #endif /* CPRIMOD_SUPPORT */
    316 #ifdef CPRIMOD_SUPPORT
    317 int cpm4x25_cpri_port_decap_roe_ordering_info_get(int unit, int port, pm_info_t pm_info, uint32 index, cprimod_decap_ordering_info_entry_t* config);
    318 #endif /* CPRIMOD_SUPPORT */
    319 
    320 /*Encap Ordering info Offset. */
    321 #ifdef CPRIMOD_SUPPORT
    322 int cpm4x25_cpri_port_decap_roe_ordering_sequence_offset_set(int unit, int port, pm_info_t pm_info, uint32 queue_num, const cprimod_cpri_ordering_info_offset_t* config);
    323 #endif /* CPRIMOD_SUPPORT */
    324 #ifdef CPRIMOD_SUPPORT
    325 int cpm4x25_cpri_port_decap_roe_ordering_sequence_offset_get(int unit, int port, pm_info_t pm_info, uint32 queue_num, cprimod_cpri_ordering_info_offset_t* config);
    326 #endif /* CPRIMOD_SUPPORT */
    327 
    328 /*TGEN configuration.*/
    329 #ifdef CPRIMOD_SUPPORT
    330 int cpm4x25_cpri_port_tx_frame_tgen_config_set(int unit, int port, pm_info_t pm_info, const portmod_tx_frame_tgen_config_t* config);
    331 #endif /* CPRIMOD_SUPPORT */
    332 #ifdef CPRIMOD_SUPPORT
    333 int cpm4x25_cpri_port_tx_frame_tgen_config_get(int unit, int port, pm_info_t pm_info, portmod_tx_frame_tgen_config_t* config);
    334 #endif /* CPRIMOD_SUPPORT */
    335 
    336 /*TGEN configuration.*/
    337 #ifdef CPRIMOD_SUPPORT
    338 int cpm4x25_cpri_port_tx_frame_tgen_enable(int unit, int port, pm_info_t pm_info, uint32 enable);
    339 #endif /* CPRIMOD_SUPPORT */
    340 
    341 /*TGEN Offset.*/
    342 #ifdef CPRIMOD_SUPPORT
    343 int cpm4x25_cpri_port_tx_frame_tgen_ts_offset_set(int unit, int port, pm_info_t pm_info, uint64 offset);
    344 #endif /* CPRIMOD_SUPPORT */
    345 #ifdef CPRIMOD_SUPPORT
    346 int cpm4x25_cpri_port_tx_frame_tgen_ts_offset_get(int unit, int port, pm_info_t pm_info, uint64* offset);
    347 #endif /* CPRIMOD_SUPPORT */
    348 
    349 /*Get next hyper frame number.*/
    350 #ifdef CPRIMOD_SUPPORT
    351 int cpm4x25_cpri_port_tx_frame_next_hfn_get(int unit, int port, pm_info_t pm_info, uint32* hfn);
    352 #endif /* CPRIMOD_SUPPORT */
    353 
    354 /*Get next radio frame/master frame number.*/
    355 #ifdef CPRIMOD_SUPPORT
    356 int cpm4x25_cpri_port_tx_frame_next_bfn_get(int unit, int port, pm_info_t pm_info, uint32* bfn);
    357 #endif /* CPRIMOD_SUPPORT */
    358 
    359 /* RSVD4 rx data flow add.*/
    360 #ifdef CPRIMOD_SUPPORT
    361 int cpm4x25_cpri_port_rsvd4_rx_flow_add(int unit, int port, pm_info_t pm_info, uint32 flow_id, const portmod_rsvd4_rx_flow_info_t* info);
    362 #endif /* CPRIMOD_SUPPORT */
    363 
    364 /* RSVD4 rx data flow delete.*/
    365 #ifdef CPRIMOD_SUPPORT
    366 int cpm4x25_cpri_port_rsvd4_rx_flow_delete(int unit, int port, pm_info_t pm_info, uint32 flow_id);
    367 #endif /* CPRIMOD_SUPPORT */
    368 
    369 /* RSVD4 Tx Flow add.*/
    370 #ifdef CPRIMOD_SUPPORT
    371 int cpm4x25_cpri_port_rsvd4_tx_flow_add(int unit, int port, pm_info_t pm_info, uint32 flow_id, const portmod_rsvd4_tx_flow_info_t* info);
    372 #endif /* CPRIMOD_SUPPORT */
    373 
    374 /* RSVD4 tx data flow delete.*/
    375 #ifdef CPRIMOD_SUPPORT
    376 int cpm4x25_cpri_port_rsvd4_tx_flow_delete(int unit, int port, pm_info_t pm_info, uint32 flow_id);
    377 #endif /* CPRIMOD_SUPPORT */
    378 
    379 /* RSVD4 Set/Get DBM Profile.*/
    380 #ifdef CPRIMOD_SUPPORT
    381 int cpm4x25_cpri_port_rsvd4_dbm_entry_set(int unit, int port, pm_info_t pm_info, uint32 profile_id, const cprimod_dbm_rule_entry_t* profile);
    382 #endif /* CPRIMOD_SUPPORT */
    383 #ifdef CPRIMOD_SUPPORT
    384 int cpm4x25_cpri_port_rsvd4_dbm_entry_get(int unit, int port, pm_info_t pm_info, uint32 profile_id, cprimod_dbm_rule_entry_t* profile);
    385 #endif /* CPRIMOD_SUPPORT */
    386 
    387 /* RSVD4 Set/Get Secondary DBM Profile.*/
    388 #ifdef CPRIMOD_SUPPORT
    389 int cpm4x25_cpri_port_rsvd4_secondary_dbm_entry_set(int unit, int port, pm_info_t pm_info, uint32 profile_id, const cprimod_secondary_dbm_rule_entry_t* profile);
    390 #endif /* CPRIMOD_SUPPORT */
    391 #ifdef CPRIMOD_SUPPORT
    392 int cpm4x25_cpri_port_rsvd4_secondary_dbm_entry_get(int unit, int port, pm_info_t pm_info, uint32 profile_id, cprimod_secondary_dbm_rule_entry_t* profile);
    393 #endif /* CPRIMOD_SUPPORT */
    394 
    395 /* Modulo Rule Entry Set/Get.  */
    396 #ifdef CPRIMOD_SUPPORT
    397 int cpm4x25_cpri_port_rsvd4_modulo_rule_entry_set(int unit, int port, pm_info_t pm_info, uint32 modulo_rule_num, cprimod_transmission_rule_type_t modulo_rule_type, const cprimod_modulo_rule_entry_t* modulo_rule);
    398 #endif /* CPRIMOD_SUPPORT */
    399 #ifdef CPRIMOD_SUPPORT
    400 int cpm4x25_cpri_port_rsvd4_modulo_rule_entry_get(int unit, int port, pm_info_t pm_info, uint32 modulo_rule_num, cprimod_transmission_rule_type_t modulo_rule_type, cprimod_modulo_rule_entry_t* modulo_rule);
    401 #endif /* CPRIMOD_SUPPORT */
    402 
    403 /* Dual Bitmap Position Table Entry Set/Get.  */
    404 #ifdef CPRIMOD_SUPPORT
    405 int cpm4x25_cpri_port_rsvd4_dbm_position_entry_set(int unit, int port, pm_info_t pm_info, uint32 index, const cprimod_dbm_pos_table_entry_t* pos_entry);
    406 #endif /* CPRIMOD_SUPPORT */
    407 #ifdef CPRIMOD_SUPPORT
    408 int cpm4x25_cpri_port_rsvd4_dbm_position_entry_get(int unit, int port, pm_info_t pm_info, uint32 index, cprimod_dbm_pos_table_entry_t* pos_entry);
    409 #endif /* CPRIMOD_SUPPORT */
    410 
    411 /*Set/Get Rx Master Frame Synchronizaiton */
    412 #ifdef CPRIMOD_SUPPORT
    413 int cpm4x25_cpri_port_rsvd4_rx_master_frame_sync_config_set(int unit, int port, pm_info_t pm_info, uint32 master_frame_number, uint64 master_frame_start_time);
    414 #endif /* CPRIMOD_SUPPORT */
    415 #ifdef CPRIMOD_SUPPORT
    416 int cpm4x25_cpri_port_rsvd4_rx_master_frame_sync_config_get(int unit, int port, pm_info_t pm_info, uint32* master_frame_number, uint64* master_frame_start_time);
    417 #endif /* CPRIMOD_SUPPORT */
    418 
    419 /*Get supported VCOs*/
    420 int cpm4x25_port_vcos_get(int unit, int port, pm_info_t pm_info, const portmod_vcos_speed_config_t* speed_config_list, int size, portmod_dual_vcos_t* dual_vco);
    421 
    422 /* CPRI Sync information. */
    423 #ifdef CPRIMOD_SUPPORT
    424 int cpm4x25_cpri_port_rx_cw_sync_info_get(int unit, int port, pm_info_t pm_info, uint32* hyper_frame_num, uint32* radio_frame_num);
    425 #endif /* CPRIMOD_SUPPORT */
    426 
    427 /*Get L1 portocol information. */
    428 #ifdef CPRIMOD_SUPPORT
    429 int cpm4x25_cpri_port_rx_cw_l1_signal_info_get(int unit, int port, pm_info_t pm_info, portmod_cpri_cw_l1_protocol_info_t* l1_info);
    430 #endif /* CPRIMOD_SUPPORT */
    431 
    432 /*Set/Get L1 Protection. */
    433 #ifdef CPRIMOD_SUPPORT
    434 int cpm4x25_cpri_port_rx_cw_l1_signal_signal_protection_set(int unit, int port, pm_info_t pm_info, uint32 signal_map, uint32 enable);
    435 #endif /* CPRIMOD_SUPPORT */
    436 #ifdef CPRIMOD_SUPPORT
    437 int cpm4x25_cpri_port_rx_cw_l1_signal_signal_protection_get(int unit, int port, pm_info_t pm_info, uint32 signal_map, uint32* enable);
    438 #endif /* CPRIMOD_SUPPORT */
    439 
    440 /*HDLC Config Set/Get. */
    441 #ifdef CPRIMOD_SUPPORT
    442 int cpm4x25_cpri_port_cw_slow_hdlc_config_set(int unit, int port, pm_info_t pm_info, const portmod_cpri_slow_hdlc_config_info_t* config_info);
    443 #endif /* CPRIMOD_SUPPORT */
    444 #ifdef CPRIMOD_SUPPORT
    445 int cpm4x25_cpri_port_cw_slow_hdlc_config_get(int unit, int port, pm_info_t pm_info, portmod_cpri_slow_hdlc_config_info_t* config_info);
    446 #endif /* CPRIMOD_SUPPORT */
    447 
    448 /*Fast ETH Config Set/Get. */
    449 #ifdef CPRIMOD_SUPPORT
    450 int cpm4x25_cpri_port_cw_fast_eth_config_set(int unit, int port, pm_info_t pm_info, const portmod_cpri_fast_eth_config_info_t* config_info);
    451 #endif /* CPRIMOD_SUPPORT */
    452 #ifdef CPRIMOD_SUPPORT
    453 int cpm4x25_cpri_port_cw_fast_eth_config_get(int unit, int port, pm_info_t pm_info, portmod_cpri_fast_eth_config_info_t* config_info);
    454 #endif /* CPRIMOD_SUPPORT */
    455 
    456 /*CPRI Rx VSD  Config Set/Get. */
    457 #ifdef CPRIMOD_SUPPORT
    458 int cpm4x25_cpri_port_rx_vsd_config_set(int unit, int port, pm_info_t pm_info, const portmod_cpri_rx_vsd_config_info_t* config_info);
    459 #endif /* CPRIMOD_SUPPORT */
    460 #ifdef CPRIMOD_SUPPORT
    461 int cpm4x25_cpri_port_rx_vsd_config_get(int unit, int port, pm_info_t pm_info, portmod_cpri_rx_vsd_config_info_t* config_info);
    462 #endif /* CPRIMOD_SUPPORT */
    463 
    464 /*CPRI Tx VSD Config Set/Get. */
    465 #ifdef CPRIMOD_SUPPORT
    466 int cpm4x25_cpri_port_tx_vsd_config_set(int unit, int port, pm_info_t pm_info, const portmod_cpri_tx_vsd_config_info_t* config_info);
    467 #endif /* CPRIMOD_SUPPORT */
    468 #ifdef CPRIMOD_SUPPORT
    469 int cpm4x25_cpri_port_tx_vsd_config_get(int unit, int port, pm_info_t pm_info, portmod_cpri_tx_vsd_config_info_t* config_info);
    470 #endif /* CPRIMOD_SUPPORT */
    471 
    472 /*CPRI Rx VSD Config Flow Add. */
    473 #ifdef CPRIMOD_SUPPORT
    474 int cpm4x25_cpri_port_rx_vsd_flow_add(int unit, int port, pm_info_t pm_info, uint32 group_id, const portmod_cpri_rx_vsd_flow_info_t* flow_info);
    475 #endif /* CPRIMOD_SUPPORT */
    476 
    477 /*CPRI Rx VSD Config Flow Get. */
    478 #ifdef CPRIMOD_SUPPORT
    479 int cpm4x25_cpri_port_rx_vsd_flow_get(int unit, int port, pm_info_t pm_info, uint32 group_id, portmod_cpri_rx_vsd_flow_info_t* flow_info);
    480 #endif /* CPRIMOD_SUPPORT */
    481 
    482 /* Delete CPRI Rx VSD Group Flow. */
    483 #ifdef CPRIMOD_SUPPORT
    484 int cpm4x25_cpri_port_rx_vsd_flow_delete(int unit, int port, pm_info_t pm_info, uint32 group_id);
    485 #endif /* CPRIMOD_SUPPORT */
    486 
    487 /*CPRI Rx VSD Config Flow Add. */
    488 #ifdef CPRIMOD_SUPPORT
    489 int cpm4x25_cpri_port_tx_vsd_flow_add(int unit, int port, pm_info_t pm_info, uint32 group_id, const portmod_cpri_tx_vsd_flow_info_t* flow_info);
    490 #endif /* CPRIMOD_SUPPORT */
    491 
    492 /* Delete CPRI Rx VSD Group Flow. */
    493 #ifdef CPRIMOD_SUPPORT
    494 int cpm4x25_cpri_port_tx_vsd_flow_delete(int unit, int port, pm_info_t pm_info, uint32 group_id);
    495 #endif /* CPRIMOD_SUPPORT */
    496 
    497 /*CPRI Rx VSD Config Flow Get. */
    498 #ifdef CPRIMOD_SUPPORT
    499 int cpm4x25_cpri_port_tx_vsd_flow_get(int unit, int port, pm_info_t pm_info, uint32 group_id, portmod_cpri_tx_vsd_flow_info_t* flow_info);
    500 #endif /* CPRIMOD_SUPPORT */
    501 
    502 /*CPRI Rx VSD  Config Set/Get. */
    503 #ifdef CPRIMOD_SUPPORT
    504 int cpm4x25_cpri_port_encap_queue_control_tag_to_flow_map_set(int unit, int port, pm_info_t pm_info, uint32 tag_id, uint32 flow_id);
    505 #endif /* CPRIMOD_SUPPORT */
    506 #ifdef CPRIMOD_SUPPORT
    507 int cpm4x25_cpri_port_encap_queue_control_tag_to_flow_map_get(int unit, int port, pm_info_t pm_info, uint32 tag_id, uint32* flow_id);
    508 #endif /* CPRIMOD_SUPPORT */
    509 
    510 /* Get/Set VSD Raw Configuration. */
    511 #ifdef CPRIMOD_SUPPORT
    512 int cpm4x25_cpri_port_rx_vsd_raw_config_set(int unit, int port, pm_info_t pm_info, uint32 index, const portmod_cpri_rx_vsd_raw_config_t* config_info);
    513 #endif /* CPRIMOD_SUPPORT */
    514 #ifdef CPRIMOD_SUPPORT
    515 int cpm4x25_cpri_port_rx_vsd_raw_config_get(int unit, int port, pm_info_t pm_info, uint32 index, portmod_cpri_rx_vsd_raw_config_t* config_info);
    516 #endif /* CPRIMOD_SUPPORT */
    517 
    518 /* Get/Set Tx VSD Raw Configuration. */
    519 #ifdef CPRIMOD_SUPPORT
    520 int cpm4x25_cpri_port_tx_vsd_raw_config_set(int unit, int port, pm_info_t pm_info, uint32 index, const portmod_cpri_tx_vsd_raw_config_t* config_info);
    521 #endif /* CPRIMOD_SUPPORT */
    522 #ifdef CPRIMOD_SUPPORT
    523 int cpm4x25_cpri_port_tx_vsd_raw_config_get(int unit, int port, pm_info_t pm_info, uint32 index, portmod_cpri_tx_vsd_raw_config_t* config_info);
    524 #endif /* CPRIMOD_SUPPORT */
    525 
    526 /* VSD Raw Radio Frame Filter Set/Get. */
    527 #ifdef CPRIMOD_SUPPORT
    528 int cpm4x25_cpri_port_tx_vsd_raw_filter_set(int unit, int port, pm_info_t pm_info, uint32 bfn0_value, uint32 bfn0_mask, uint32 bfn1_value, uint32 bfn1_mask);
    529 #endif /* CPRIMOD_SUPPORT */
    530 #ifdef CPRIMOD_SUPPORT
    531 int cpm4x25_cpri_port_tx_vsd_raw_filter_get(int unit, int port, pm_info_t pm_info, uint32* bfn0_value, uint32* bfn0_mask, uint32* bfn1_value, uint32* bfn1_mask);
    532 #endif /* CPRIMOD_SUPPORT */
    533 
    534 /* Get/Set Rx RSVD5 Configuration. */
    535 #ifdef CPRIMOD_SUPPORT
    536 int cpm4x25_cpri_port_rx_brcm_rsvd5_config_set(int unit, int port, pm_info_t pm_info, const portmod_cpri_rx_brcm_rsvd5_config_t* config_info);
    537 #endif /* CPRIMOD_SUPPORT */
    538 #ifdef CPRIMOD_SUPPORT
    539 int cpm4x25_cpri_port_rx_brcm_rsvd5_config_get(int unit, int port, pm_info_t pm_info, portmod_cpri_rx_brcm_rsvd5_config_t* config_info);
    540 #endif /* CPRIMOD_SUPPORT */
    541 
    542 /* Get/Set Tx RSVD5 Configuration. */
    543 #ifdef CPRIMOD_SUPPORT
    544 int cpm4x25_cpri_port_tx_brcm_rsvd5_config_set(int unit, int port, pm_info_t pm_info, const portmod_cpri_tx_brcm_rsvd5_config_t* config_info);
    545 #endif /* CPRIMOD_SUPPORT */
    546 #ifdef CPRIMOD_SUPPORT
    547 int cpm4x25_cpri_port_tx_brcm_rsvd5_config_get(int unit, int port, pm_info_t pm_info, portmod_cpri_tx_brcm_rsvd5_config_t* config_info);
    548 #endif /* CPRIMOD_SUPPORT */
    549 
    550 /* Get/Set Rx GCW Configuration. */
    551 #ifdef CPRIMOD_SUPPORT
    552 int cpm4x25_cpri_port_rx_gcw_config_set(int unit, int port, pm_info_t pm_info, uint32 index, const portmod_cpri_rx_gcw_config_t* config_info);
    553 #endif /* CPRIMOD_SUPPORT */
    554 #ifdef CPRIMOD_SUPPORT
    555 int cpm4x25_cpri_port_rx_gcw_config_get(int unit, int port, pm_info_t pm_info, uint32 index, portmod_cpri_rx_gcw_config_t* config_info);
    556 #endif /* CPRIMOD_SUPPORT */
    557 
    558 /* Get/Set Tx GCW Configuration. */
    559 #ifdef CPRIMOD_SUPPORT
    560 int cpm4x25_cpri_port_tx_gcw_config_set(int unit, int port, pm_info_t pm_info, uint32 index, const portmod_cpri_tx_gcw_config_t* config_info);
    561 #endif /* CPRIMOD_SUPPORT */
    562 #ifdef CPRIMOD_SUPPORT
    563 int cpm4x25_cpri_port_tx_gcw_config_get(int unit, int port, pm_info_t pm_info, uint32 index, portmod_cpri_tx_gcw_config_t* config_info);
    564 #endif /* CPRIMOD_SUPPORT */
    565 
    566 /* GCW Radio Frame Filter Set/Get. */
    567 #ifdef CPRIMOD_SUPPORT
    568 int cpm4x25_cpri_port_tx_gcw_filter_set(int unit, int port, pm_info_t pm_info, uint32 bfn0_value, uint32 bfn0_mask, uint32 bfn1_value, uint32 bfn1_mask);
    569 #endif /* CPRIMOD_SUPPORT */
    570 #ifdef CPRIMOD_SUPPORT
    571 int cpm4x25_cpri_port_tx_gcw_filter_get(int unit, int port, pm_info_t pm_info, uint32* bfn0_value, uint32* bfn0_mask, uint32* bfn1_value, uint32* bfn1_mask);
    572 #endif /* CPRIMOD_SUPPORT */
    573 
    574 /* CPRI Sync information. */
    575 #ifdef CPRIMOD_SUPPORT
    576 int cpm4x25_cpri_port_tx_cw_sync_info_set(int unit, int port, pm_info_t pm_info, uint32 hyper_frame_num, uint32 radio_frame_num);
    577 #endif /* CPRIMOD_SUPPORT */
    578 #ifdef CPRIMOD_SUPPORT
    579 int cpm4x25_cpri_port_tx_cw_sync_info_get(int unit, int port, pm_info_t pm_info, uint32* hyper_frame_num, uint32* radio_frame_num);
    580 #endif /* CPRIMOD_SUPPORT */
    581 
    582 /* CPRI Tx Control Word information. */
    583 #ifdef CPRIMOD_SUPPORT
    584 int cpm4x25_cpri_port_tx_cw_l1_config_set(int unit, int port, pm_info_t pm_info, const portmod_cpri_cw_l1_config_info_t* control_info);
    585 #endif /* CPRIMOD_SUPPORT */
    586 
    587 /* Set Control Message Configuration.. */
    588 #ifdef CPRIMOD_SUPPORT
    589 int cpm4x25_rsvd4_rx_control_flow_add(int unit, int port, pm_info_t pm_info, uint32 flow_id, const portmod_control_flow_config_t* config);
    590 #endif /* CPRIMOD_SUPPORT */
    591 
    592 /* Set Control Message Configuration.. */
    593 #ifdef CPRIMOD_SUPPORT
    594 int cpm4x25_rsvd4_rx_control_flow_delete(int unit, int port, pm_info_t pm_info, uint32 flow_id, const portmod_control_flow_config_t* config);
    595 #endif /* CPRIMOD_SUPPORT */
    596 
    597 /* Set Fast Ethernet configuration.. */
    598 #ifdef CPRIMOD_SUPPORT
    599 int cpm4x25_rsvd4_fast_eth_config_set(int unit, int port, pm_info_t pm_info, const portmod_cpri_fast_eth_config_t* config_info);
    600 #endif /* CPRIMOD_SUPPORT */
    601 
    602 /* Sync Profile Entry.. */
    603 #ifdef CPRIMOD_SUPPORT
    604 int cpm4x25_rsvd4_rx_sync_profile_entry_set(int unit, int port, pm_info_t pm_info, uint32 profile_id, const portmod_sync_profile_entry_t* entry);
    605 #endif /* CPRIMOD_SUPPORT */
    606 #ifdef CPRIMOD_SUPPORT
    607 int cpm4x25_rsvd4_rx_sync_profile_entry_get(int unit, int port, pm_info_t pm_info, uint32 profile_id, portmod_sync_profile_entry_t* entry);
    608 #endif /* CPRIMOD_SUPPORT */
    609 
    610 /* Tag Generation Entry.. */
    611 int cpm4x25_rx_tag_config_set(int unit, int port, pm_info_t pm_info, uint32 default_tag, uint32 no_match_tag);
    612 
    613 /* Tag Generation Entry.. */
    614 int cpm4x25_rx_tag_gen_entry_add(int unit, int port, pm_info_t pm_info, const portmod_tag_gen_entry_t* entry);
    615 
    616 /* Tag Generation Entry.. */
    617 int cpm4x25_rx_tag_gen_entry_delete(int unit, int port, pm_info_t pm_info, const portmod_tag_gen_entry_t* entry);
    618 
    619 /* Add member to the Tx Control Flow Group.. */
    620 #ifdef CPRIMOD_SUPPORT
    621 int cpm4x25_rsvd4_tx_control_flow_group_member_add(int unit, int port, pm_info_t pm_info, uint32 group_id, uint32 priority, uint32 queue_num, portmod_control_msg_proc_type_t proc_type);
    622 #endif /* CPRIMOD_SUPPORT */
    623 
    624 /* Delete member to the Tx Control Flow Group.. */
    625 #ifdef CPRIMOD_SUPPORT
    626 int cpm4x25_rsvd4_tx_control_flow_group_member_delete(int unit, int port, pm_info_t pm_info, uint32 group_id, uint32 priority);
    627 #endif /* CPRIMOD_SUPPORT */
    628 
    629 /* Setting RSVD4 Fast Ethernet Control Message Configuration.. */
    630 #ifdef CPRIMOD_SUPPORT
    631 int cpm4x25_rsvd4_tx_eth_message_config_set(int unit, int port, pm_info_t pm_info, uint32 msg_node, uint32 msg_subnode, uint32 msg_type, uint32 msg_padding);
    632 #endif /* CPRIMOD_SUPPORT */
    633 
    634 /* Setting RSVD4 Single Raw Control Message Configuration.. */
    635 #ifdef CPRIMOD_SUPPORT
    636 int cpm4x25_rsvd4_tx_single_raw_message_config_set(int unit, int port, pm_info_t pm_info, uint32 msg_id, uint32 msg_type);
    637 #endif /* CPRIMOD_SUPPORT */
    638 
    639 /* Set Control Message Configuration.. */
    640 #ifdef CPRIMOD_SUPPORT
    641 int cpm4x25_rsvd4_tx_control_flow_config_set(int unit, int port, pm_info_t pm_info, uint32 flow_id, const portmod_rsvd4_tx_config_info_t* config_info);
    642 #endif /* CPRIMOD_SUPPORT */
    643 #ifdef CPRIMOD_SUPPORT
    644 int cpm4x25_rsvd4_tx_control_flow_config_get(int unit, int port, pm_info_t pm_info, uint32 flow_id, portmod_rsvd4_tx_config_info_t* config_info);
    645 #endif /* CPRIMOD_SUPPORT */
    646 
    647 /* Set Index to header config table for a particular flow.. */
    648 #ifdef CPRIMOD_SUPPORT
    649 int cpm4x25_rsvd4_tx_control_flow_header_index_set(int unit, int port, pm_info_t pm_info, uint32 roe_flow_id, uint32 index);
    650 #endif /* CPRIMOD_SUPPORT */
    651 #ifdef CPRIMOD_SUPPORT
    652 int cpm4x25_rsvd4_tx_control_flow_header_index_get(int unit, int port, pm_info_t pm_info, uint32 roe_flow_id, uint32* index);
    653 #endif /* CPRIMOD_SUPPORT */
    654 
    655 /*  Header Look up Entry.. */
    656 #ifdef CPRIMOD_SUPPORT
    657 int cpm4x25_rsvd4_tx_control_header_entry_set(int unit, int port, pm_info_t pm_info, uint32 index, uint32 header_node, uint32 header_subnode, uint32 payload_node);
    658 #endif /* CPRIMOD_SUPPORT */
    659 #ifdef CPRIMOD_SUPPORT
    660 int cpm4x25_rsvd4_tx_control_header_entry_get(int unit, int port, pm_info_t pm_info, uint32 index, uint32* header_node, uint32* header_subnode, uint32* payload_node);
    661 #endif /* CPRIMOD_SUPPORT */
    662 
    663 /* Setting RSVD4 Single Raw Control Message Configuration.. */
    664 #ifdef CPRIMOD_SUPPORT
    665 int cpm4x25_rsvd4_tx_single_tunnel_message_config_set(int unit, int port, pm_info_t pm_info, portmod_cpri_crc_option_t crc_option);
    666 #endif /* CPRIMOD_SUPPORT */
    667 
    668 /* Get the CPRI Port interrupt status of the ports in the core. */
    669 #ifdef CPRIMOD_SUPPORT
    670 int cpm4x25_cpri_port_interrupt_link_status_get(int unit, int port, pm_info_t pm_info, const int* is_link_intr_status);
    671 #endif /* CPRIMOD_SUPPORT */
    672 
    673 /* Get the CPRI Port interrupt status. */
    674 #ifdef CPRIMOD_SUPPORT
    675 int cpm4x25_cpri_port_interrupt_enable_set(int unit, int port, pm_info_t pm_info, portmod_cpri_port_intr_type_t cpri_intr_type, int data, int enable);
    676 #endif /* CPRIMOD_SUPPORT */
    677 
    678 /* Get the CPRI Port interrupt status. */
    679 #ifdef CPRIMOD_SUPPORT
    680 int cpm4x25_cpri_port_interrupt_process(int unit, int port, pm_info_t pm_info);
    681 #endif /* CPRIMOD_SUPPORT */
    682 
    683 /* set/get fast clk bit period */
    684 #ifdef CPRIMOD_SUPPORT
    685 int cpm4x25_fast_clk_bit_time_period_set(int unit, int port, pm_info_t pm_info, uint32 bit_time_period);
    686 #endif /* CPRIMOD_SUPPORT */
    687 #ifdef CPRIMOD_SUPPORT
    688 int cpm4x25_fast_clk_bit_time_period_get(int unit, int port, pm_info_t pm_info, uint32* bit_time_period);
    689 #endif /* CPRIMOD_SUPPORT */
    690 
    691 /* set/get time stamp bit period */
    692 #ifdef CPRIMOD_SUPPORT
    693 int cpm4x25_1588_bit_time_period_set(int unit, int port, pm_info_t pm_info, portmod_direction_t direction, cprimod_port_speed_t speed);
    694 #endif /* CPRIMOD_SUPPORT */
    695 #ifdef CPRIMOD_SUPPORT
    696 int cpm4x25_1588_bit_time_period_get(int unit, int port, pm_info_t pm_info, portmod_direction_t direction, uint32* bit_time_period);
    697 #endif /* CPRIMOD_SUPPORT */
    698 
    699 /* set/get time stamp config */
    700 #ifdef CPRIMOD_SUPPORT
    701 int cpm4x25_1588_timestamp_capture_config_set(int unit, int port, pm_info_t pm_info, portmod_direction_t direction, const cprimod_1588_capture_config_t* config);
    702 #endif /* CPRIMOD_SUPPORT */
    703 #ifdef CPRIMOD_SUPPORT
    704 int cpm4x25_1588_timestamp_capture_config_get(int unit, int port, pm_info_t pm_info, portmod_direction_t direction, cprimod_1588_capture_config_t* config);
    705 #endif /* CPRIMOD_SUPPORT */
    706 
    707 /* Get timestemp */
    708 #ifdef CPRIMOD_SUPPORT
    709 int cpm4x25_1588_captured_timestamp_get(int unit, int port, pm_info_t pm_info, portmod_direction_t direction, portmod_1588_ts_type_t ts_type, uint8 mx_cnt, uint8* count, uint64* captured_time);
    710 #endif /* CPRIMOD_SUPPORT */
    711 
    712 /* set/get time stamp config */
    713 #ifdef CPRIMOD_SUPPORT
    714 int cpm4x25_1588_timestamp_adjust_set(int unit, int port, pm_info_t pm_info, portmod_direction_t direction, const cprimod_1588_time_t* adjust_time);
    715 #endif /* CPRIMOD_SUPPORT */
    716 #ifdef CPRIMOD_SUPPORT
    717 int cpm4x25_1588_timestamp_adjust_get(int unit, int port, pm_info_t pm_info, portmod_direction_t direction, cprimod_1588_time_t* adjust_time);
    718 #endif /* CPRIMOD_SUPPORT */
    719 
    720 /* set/get time stamp modulo for fifo */
    721 #ifdef CPRIMOD_SUPPORT
    722 int cpm4x25_1588_timestamp_fifo_config_set(int unit, int port, pm_info_t pm_info, portmod_direction_t direction, uint16 modulo);
    723 #endif /* CPRIMOD_SUPPORT */
    724 #ifdef CPRIMOD_SUPPORT
    725 int cpm4x25_1588_timestamp_fifo_config_get(int unit, int port, pm_info_t pm_info, portmod_direction_t direction, uint16* modulo);
    726 #endif /* CPRIMOD_SUPPORT */
    727 
    728 /* set/get time stamp modulo for cmic */
    729 #ifdef CPRIMOD_SUPPORT
    730 int cpm4x25_1588_timestamp_cmic_config_set(int unit, int port, pm_info_t pm_info, portmod_direction_t direction, uint16 modulo);
    731 #endif /* CPRIMOD_SUPPORT */
    732 #ifdef CPRIMOD_SUPPORT
    733 int cpm4x25_1588_timestamp_cmic_config_get(int unit, int port, pm_info_t pm_info, portmod_direction_t direction, uint16* modulo);
    734 #endif /* CPRIMOD_SUPPORT */
    735 
    736 /* Setup Rx framer for agnostic mode. */
    737 #ifdef CPRIMOD_SUPPORT
    738 int cpm4x25_cpri_port_rx_agnostic_config_set(int unit, int port, pm_info_t pm_info, int enable, const portmod_cpri_rx_agnostic_config_info_t* config_info);
    739 #endif /* CPRIMOD_SUPPORT */
    740 #ifdef CPRIMOD_SUPPORT
    741 int cpm4x25_cpri_port_rx_agnostic_config_get(int unit, int port, pm_info_t pm_info, int* enable, portmod_cpri_rx_agnostic_config_info_t* config_info);
    742 #endif /* CPRIMOD_SUPPORT */
    743 
    744 /* Setup Tx framer for agnostic mode. */
    745 #ifdef CPRIMOD_SUPPORT
    746 int cpm4x25_cpri_port_tx_agnostic_config_set(int unit, int port, pm_info_t pm_info, int enable, const portmod_cpri_tx_agnostic_config_info_t* config_info);
    747 #endif /* CPRIMOD_SUPPORT */
    748 #ifdef CPRIMOD_SUPPORT
    749 int cpm4x25_cpri_port_tx_agnostic_config_get(int unit, int port, pm_info_t pm_info, int* enable, portmod_cpri_tx_agnostic_config_info_t* config_info);
    750 #endif /* CPRIMOD_SUPPORT */
    751 
    752 /* Set/Get Encap Presentation time configuration. */
    753 #ifdef CPRIMOD_SUPPORT
    754 int cpm4x25_cpri_port_encap_presentation_time_config_set(int unit, int port, pm_info_t pm_info, portmod_presentation_time_attribute_t attribute, const portmod_presentation_time_t* time);
    755 #endif /* CPRIMOD_SUPPORT */
    756 #ifdef CPRIMOD_SUPPORT
    757 int cpm4x25_cpri_port_encap_presentation_time_config_get(int unit, int port, pm_info_t pm_info, portmod_presentation_time_attribute_t attribute, portmod_presentation_time_t* time);
    758 #endif /* CPRIMOD_SUPPORT */
    759 
    760 /* Set/Get Decap Presentation time configuration. */
    761 #ifdef CPRIMOD_SUPPORT
    762 int cpm4x25_cpri_port_decap_presentation_time_config_set(int unit, int port, pm_info_t pm_info, const portmod_decap_presentation_time_config_t* config);
    763 #endif /* CPRIMOD_SUPPORT */
    764 #ifdef CPRIMOD_SUPPORT
    765 int cpm4x25_cpri_port_decap_presentation_time_config_get(int unit, int port, pm_info_t pm_info, portmod_decap_presentation_time_config_t* config);
    766 #endif /* CPRIMOD_SUPPORT */
    767 
    768 /* Set/Get Compression Lookup Table. */
    769 #ifdef CPRIMOD_SUPPORT
    770 int cpm4x25_cpri_port_compression_lookup_table_set(int unit, int port, pm_info_t pm_info, int table_depth, const uint32* table);
    771 #endif /* CPRIMOD_SUPPORT */
    772 #ifdef CPRIMOD_SUPPORT
    773 int cpm4x25_cpri_port_compression_lookup_table_get(int unit, int port, pm_info_t pm_info, int max_depth, int* table_depth, uint32* table);
    774 #endif /* CPRIMOD_SUPPORT */
    775 
    776 /* Set/Get DeCompression Lookup Table. */
    777 #ifdef CPRIMOD_SUPPORT
    778 int cpm4x25_cpri_port_decompression_lookup_table_set(int unit, int port, pm_info_t pm_info, int table_depth, const uint32* table);
    779 #endif /* CPRIMOD_SUPPORT */
    780 #ifdef CPRIMOD_SUPPORT
    781 int cpm4x25_cpri_port_decompression_lookup_table_get(int unit, int port, pm_info_t pm_info, int max_depth, int* table_depth, uint32* table);
    782 #endif /* CPRIMOD_SUPPORT */
    783 
    784 /* Set/Get control queue flow control. */
    785 #ifdef CPRIMOD_SUPPORT
    786 int cpm4x25_cpri_port_decap_queue_flow_control_set(int unit, int port, pm_info_t pm_info, uint32 queue_num, int enable, uint32_t xon_threshold, uint32_t xoff_threshold);
    787 #endif /* CPRIMOD_SUPPORT */
    788 #ifdef CPRIMOD_SUPPORT
    789 int cpm4x25_cpri_port_decap_queue_flow_control_get(int unit, int port, pm_info_t pm_info, uint32 queue_num, int* enable, uint32_t* xon_threshold, uint32_t* xoff_threshold);
    790 #endif /* CPRIMOD_SUPPORT */
    791 
    792 /* Set/Get FEC enable. */
    793 #ifdef CPRIMOD_SUPPORT
    794 int cpm4x25_cpri_port_fec_enable_set(int unit, int port, pm_info_t pm_info, portmod_direction_t dir, int enable);
    795 #endif /* CPRIMOD_SUPPORT */
    796 #ifdef CPRIMOD_SUPPORT
    797 int cpm4x25_cpri_port_fec_enable_get(int unit, int port, pm_info_t pm_info, portmod_direction_t dir, int* enable);
    798 #endif /* CPRIMOD_SUPPORT */
    799 
    800 /* Set/Get Fec timestamp config. */
    801 #ifdef CPRIMOD_SUPPORT
    802 int cpm4x25_cpri_port_fec_timestamp_config_set(int unit, int port, pm_info_t pm_info, portmod_direction_t dir, const portmod_fec_timestamp_config_t* config);
    803 #endif /* CPRIMOD_SUPPORT */
    804 #ifdef CPRIMOD_SUPPORT
    805 int cpm4x25_cpri_port_fec_timestamp_config_get(int unit, int port, pm_info_t pm_info, portmod_direction_t dir, portmod_fec_timestamp_config_t* config);
    806 #endif /* CPRIMOD_SUPPORT */
    807 
    808 /* Set/Get Fec Auxiliry config. */
    809 #ifdef CPRIMOD_SUPPORT
    810 int cpm4x25_cpri_port_fec_aux_config_set(int unit, int port, pm_info_t pm_info, portmod_fec_aux_config_para_t parameter_id, uint32 value);
    811 #endif /* CPRIMOD_SUPPORT */
    812 #ifdef CPRIMOD_SUPPORT
    813 int cpm4x25_cpri_port_fec_aux_config_get(int unit, int port, pm_info_t pm_info, portmod_fec_aux_config_para_t parameter_id, uint32* value);
    814 #endif /* CPRIMOD_SUPPORT */
    815 
    816 /* Enable/Disable ECC interrupts. */
    817 #ifdef CPRIMOD_SUPPORT
    818 int cpm4x25_cpri_port_ecc_interrupt_enable_set(int unit, int port, pm_info_t pm_info, int enable);
    819 #endif /* CPRIMOD_SUPPORT */
    820 
    821 /* ECC interrupt status and information get. */
    822 #ifdef CPRIMOD_SUPPORT
    823 int cpm4x25_cpri_port_ecc_interrupt_status_get(int unit, int port, pm_info_t pm_info, const portmod_cpri_ecc_intr_info_t* ecc_err_info);
    824 #endif /* CPRIMOD_SUPPORT */
    825 
    826 /* Reset cpri port */
    827 #ifdef CPRIMOD_SUPPORT
    828 int cpm4x25_cpri_init(int unit, int port, pm_info_t pm_info);
    829 #endif /* CPRIMOD_SUPPORT */
    830 
    831 /* Get Rx GCW word */
    832 #ifdef CPRIMOD_SUPPORT
    833 int cpm4x25_cpri_port_rx_gcw_word_get(int unit, int port, pm_info_t pm_info, int group_index, uint16* gcw_word);
    834 #endif /* CPRIMOD_SUPPORT */
    835 
    836 /* Get Tx GCW word */
    837 #ifdef CPRIMOD_SUPPORT
    838 int cpm4x25_cpri_port_tx_gcw_word_set(int unit, int port, pm_info_t pm_info, int group_index, uint16 gcw_word);
    839 #endif /* CPRIMOD_SUPPORT */
    840 
    841 /* Setup Rx framer for Tunnel  mode. */
    842 #ifdef CPRIMOD_SUPPORT
    843 int cpm4x25_cpri_port_rx_tunnel_mode_config_set(int unit, int port, pm_info_t pm_info, int enable, const portmod_cpri_rx_tunnel_mode_config_t* config_info);
    844 #endif /* CPRIMOD_SUPPORT */
    845 #ifdef CPRIMOD_SUPPORT
    846 int cpm4x25_cpri_port_rx_tunnel_mode_config_get(int unit, int port, pm_info_t pm_info, int* enable, portmod_cpri_rx_tunnel_mode_config_t* config_info);
    847 #endif /* CPRIMOD_SUPPORT */
    848 
    849 /* Setup Tx framer for Tunnel  mode. */
    850 #ifdef CPRIMOD_SUPPORT
    851 int cpm4x25_cpri_port_tx_tunnel_mode_config_set(int unit, int port, pm_info_t pm_info, int enable, const portmod_cpri_tx_tunnel_mode_config_t* config_info);
    852 #endif /* CPRIMOD_SUPPORT */
    853 #ifdef CPRIMOD_SUPPORT
    854 int cpm4x25_cpri_port_tx_tunnel_mode_config_get(int unit, int port, pm_info_t pm_info, int* enable, portmod_cpri_tx_tunnel_mode_config_t* config_info);
    855 #endif /* CPRIMOD_SUPPORT */
    856 
    857 /* Setup Rx framer for RSVD4 Agnostic. */
    858 #ifdef CPRIMOD_SUPPORT
    859 int cpm4x25_rsvd4_port_rx_agnostic_config_set(int unit, int port, pm_info_t pm_info, int enable, const portmod_rsvd4_rx_agnostic_config_t* config_info);
    860 #endif /* CPRIMOD_SUPPORT */
    861 #ifdef CPRIMOD_SUPPORT
    862 int cpm4x25_rsvd4_port_rx_agnostic_config_get(int unit, int port, pm_info_t pm_info, int* enable, portmod_rsvd4_rx_agnostic_config_t* config_info);
    863 #endif /* CPRIMOD_SUPPORT */
    864 
    865 /* Setup Tx framer for RSVD4 Agnstic. */
    866 #ifdef CPRIMOD_SUPPORT
    867 int cpm4x25_rsvd4_port_tx_agnostic_config_set(int unit, int port, pm_info_t pm_info, int enable, const portmod_rsvd4_tx_agnostic_config_t* config_info);
    868 #endif /* CPRIMOD_SUPPORT */
    869 #ifdef CPRIMOD_SUPPORT
    870 int cpm4x25_rsvd4_port_tx_agnostic_config_get(int unit, int port, pm_info_t pm_info, int* enable, portmod_rsvd4_tx_agnostic_config_t* config_info);
    871 #endif /* CPRIMOD_SUPPORT */
    872 
    873 /* Set CPRI port RoE frame formation configuration. */
    874 #ifdef CPRIMOD_SUPPORT
    875 int cpm4x25_cpri_port_frame_config_set(int unit, int port, pm_info_t pm_info, const portmod_cpri_port_frame_config_t* config);
    876 #endif /* CPRIMOD_SUPPORT */
    877 
    878 /* Setting the compression saturation threshold. */
    879 #ifdef CPRIMOD_SUPPORT
    880 int cpm4x25_cpri_port_compression_saturation_config_set(int unit, int port, pm_info_t pm_info, uint32 threshold_value);
    881 #endif /* CPRIMOD_SUPPORT */
    882 #ifdef CPRIMOD_SUPPORT
    883 int cpm4x25_cpri_port_compression_saturation_config_get(int unit, int port, pm_info_t pm_info, uint32* threshold_value);
    884 #endif /* CPRIMOD_SUPPORT */
    885 
    886 /* Setting the decompression saturation value. */
    887 #ifdef CPRIMOD_SUPPORT
    888 int cpm4x25_cpri_port_decompression_saturation_config_set(int unit, int port, pm_info_t pm_info, uint32 sat_value);
    889 #endif /* CPRIMOD_SUPPORT */
    890 #ifdef CPRIMOD_SUPPORT
    891 int cpm4x25_cpri_port_decompression_saturation_config_get(int unit, int port, pm_info_t pm_info, uint32* sat_value);
    892 #endif /* CPRIMOD_SUPPORT */
    893 
    894 #endif /*_CPM4X25_H_*/