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_*/