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

pm12x10.h (20183B)


      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 _PM12X10_H__H_
     14 #define _PM12X10_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 /*Get whether the inerface type is supported by PM */
     22 int pm12x10_pm_interface_type_is_supported(int unit, soc_port_if_t interface, int* is_supported);
     23 
     24 /*Add new pm.*/
     25 int pm12x10_pm_init(int unit, const portmod_pm_create_info_internal_t* pm_add_info, int wb_buffer_index, pm_info_t pm_info);
     26 
     27 /*Release PM resources*/
     28 int pm12x10_pm_destroy(int unit, pm_info_t pm_info);
     29 
     30 /*Add new port*/
     31 int pm12x10_port_attach(int unit, int port, pm_info_t pm_info, const portmod_port_add_info_t* add_info);
     32 
     33 /*get port cores' phymod access*/
     34 int pm12x10_pm_core_info_get(int unit, pm_info_t pm_info, int phyn, portmod_pm_core_info_t* core_info);
     35 
     36 /*Port remove in PM level*/
     37 int pm12x10_port_detach(int unit, int port, pm_info_t pm_info);
     38 
     39 /*Port replace in PM level*/
     40 int pm12x10_port_replace(int unit, int port, pm_info_t pm_info, int new_port);
     41 
     42 /*Port enable*/
     43 int pm12x10_port_enable_set(int unit, int port, pm_info_t pm_info, int flags, int enable);
     44 int pm12x10_port_enable_get(int unit, int port, pm_info_t pm_info, int flags, int* enable);
     45 
     46 /* set/get the interface, speed and encapsulation for the specified port.
     47             For the First port within core this function initialize the PM, MAC and PHY before configure the port.*/
     48 int pm12x10_port_interface_config_set(int unit, int port, pm_info_t pm_info, const portmod_port_interface_config_t* config, int phy_init_flags);
     49 int pm12x10_port_interface_config_get(int unit, int port, pm_info_t pm_info, portmod_port_interface_config_t* config, int phy_init_flags);
     50 
     51 /* get the default line-side (outmost) interface type of a port based on its speed, encap, number of lanes, etc, when there is or there is not an ext PHY*/
     52 int pm12x10_port_default_interface_get(int unit, int port, pm_info_t pm_info, const portmod_port_interface_config_t* config, soc_port_if_t* interface);
     53 
     54 /*Port cl72 set\get*/
     55 int pm12x10_port_cl72_set(int unit, int port, pm_info_t pm_info, uint32 enable);
     56 int pm12x10_port_cl72_get(int unit, int port, pm_info_t pm_info, uint32* enable);
     57 
     58 /*Port speed set\get*/
     59 int pm12x10_port_loopback_set(int unit, int port, pm_info_t pm_info, portmod_loopback_mode_t loopback_type, int enable);
     60 int pm12x10_port_loopback_get(int unit, int port, pm_info_t pm_info, portmod_loopback_mode_t loopback_type, int* enable);
     61 
     62 /*Port RX MAC ENABLE set\get*/
     63 int pm12x10_port_rx_mac_enable_set(int unit, int port, pm_info_t pm_info, int enable);
     64 int pm12x10_port_rx_mac_enable_get(int unit, int port, pm_info_t pm_info, int* enable);
     65 
     66 /*Port TX MAC ENABLE set\get*/
     67 int pm12x10_port_tx_mac_enable_set(int unit, int port, pm_info_t pm_info, int enable);
     68 int pm12x10_port_tx_mac_enable_get(int unit, int port, pm_info_t pm_info, int* enable);
     69 
     70 /*get port auto negotiation local ability*/
     71 int pm12x10_port_ability_local_get(int unit, int port, pm_info_t pm_info, uint32 phy_flags, portmod_port_ability_t* ability);
     72 
     73 /*Set\Get autoneg*/
     74 int pm12x10_port_autoneg_set(int unit, int port, pm_info_t pm_info, uint32 phy_flags, const phymod_autoneg_control_t* an);
     75 int pm12x10_port_autoneg_get(int unit, int port, pm_info_t pm_info, uint32 phy_flags, phymod_autoneg_control_t* an);
     76 
     77 /*Get autoneg status*/
     78 int pm12x10_port_autoneg_status_get(int unit, int port, pm_info_t pm_info, phymod_autoneg_status_t* an_status);
     79 
     80 /*get link status*/
     81 int pm12x10_port_link_get(int unit, int port, pm_info_t pm_info, int flags, int* link);
     82 
     83 /* link up event */
     84 int pm12x10_port_phy_link_up_event(int unit, int port, pm_info_t pm_info);
     85 
     86 /* link down event */
     87 int pm12x10_port_phy_link_down_event(int unit, int port, pm_info_t pm_info);
     88 
     89 /*PRBS configuration set/get*/
     90 int pm12x10_port_prbs_config_set(int unit, int port, pm_info_t pm_info, portmod_prbs_mode_t mode, int flags, const phymod_prbs_t* config);
     91 int pm12x10_port_prbs_config_get(int unit, int port, pm_info_t pm_info, portmod_prbs_mode_t mode, int flags, phymod_prbs_t* config);
     92 
     93 /*PRBS enable set/get*/
     94 int pm12x10_port_prbs_enable_set(int unit, int port, pm_info_t pm_info, portmod_prbs_mode_t mode, int flags, int enable);
     95 int pm12x10_port_prbs_enable_get(int unit, int port, pm_info_t pm_info, portmod_prbs_mode_t mode, int flags, int* enable);
     96 
     97 /*PRBS status get*/
     98 int pm12x10_port_prbs_status_get(int unit, int port, pm_info_t pm_info, portmod_prbs_mode_t mode, int flags, phymod_prbs_status_t* status);
     99 
    100 /*Set port PHYs' firmware mode*/
    101 int pm12x10_port_firmware_mode_set(int unit, int port, pm_info_t pm_info, phymod_firmware_mode_t fw_mode);
    102 int pm12x10_port_firmware_mode_get(int unit, int port, pm_info_t pm_info, phymod_firmware_mode_t* fw_mode);
    103 
    104 /*Filter packets smaller than the specified threshold*/
    105 int pm12x10_port_runt_threshold_set(int unit, int port, pm_info_t pm_info, int value);
    106 int pm12x10_port_runt_threshold_get(int unit, int port, pm_info_t pm_info, int* value);
    107 
    108 /*Filter packets bigger than the specified value*/
    109 int pm12x10_port_max_packet_size_set(int unit, int port, pm_info_t pm_info, int value);
    110 int pm12x10_port_max_packet_size_get(int unit, int port, pm_info_t pm_info, int* value);
    111 
    112 /*TX pad packets to the specified size. values smaller than 17 means pad is disabled.*/
    113 int pm12x10_port_pad_size_set(int unit, int port, pm_info_t pm_info, int value);
    114 int pm12x10_port_pad_size_get(int unit, int port, pm_info_t pm_info, int* value);
    115 
    116 /*set/get the MAC source address that will be sent in case of Pause/LLFC*/
    117 int pm12x10_port_tx_mac_sa_set(int unit, int port, pm_info_t pm_info, sal_mac_addr_t mac_sa);
    118 int pm12x10_port_tx_mac_sa_get(int unit, int port, pm_info_t pm_info, sal_mac_addr_t mac_sa);
    119 
    120 /*set/get Average inter-packet gap*/
    121 int pm12x10_port_tx_average_ipg_set(int unit, int port, pm_info_t pm_info, int value);
    122 int pm12x10_port_tx_average_ipg_get(int unit, int port, pm_info_t pm_info, int* value);
    123 
    124 /*local fault set/get*/
    125 int pm12x10_port_local_fault_control_set(int unit, int port, pm_info_t pm_info, const portmod_local_fault_control_t* control);
    126 int pm12x10_port_local_fault_control_get(int unit, int port, pm_info_t pm_info, portmod_local_fault_control_t* control);
    127 
    128 /*remote fault set/get*/
    129 int pm12x10_port_remote_fault_control_set(int unit, int port, pm_info_t pm_info, const portmod_remote_fault_control_t* control);
    130 int pm12x10_port_remote_fault_control_get(int unit, int port, pm_info_t pm_info, portmod_remote_fault_control_t* control);
    131 
    132 /*local fault steatus get*/
    133 int pm12x10_port_local_fault_status_get(int unit, int port, pm_info_t pm_info, int* value);
    134 
    135 /*remote fault status get*/
    136 int pm12x10_port_remote_fault_status_get(int unit, int port, pm_info_t pm_info, int* value);
    137 
    138 /*set/get Pause FC configuration*/
    139 int pm12x10_port_pause_control_set(int unit, int port, pm_info_t pm_info, const portmod_pause_control_t* control);
    140 int pm12x10_port_pause_control_get(int unit, int port, pm_info_t pm_info, portmod_pause_control_t* control);
    141 
    142 /*set/get PFC FC configuration*/
    143 int pm12x10_port_pfc_control_set(int unit, int port, pm_info_t pm_info, const portmod_pfc_control_t* control);
    144 int pm12x10_port_pfc_control_get(int unit, int port, pm_info_t pm_info, portmod_pfc_control_t* control);
    145 
    146 /*set/get LLFC FC configuration*/
    147 int pm12x10_port_llfc_control_set(int unit, int port, pm_info_t pm_info, const portmod_llfc_control_t* control);
    148 int pm12x10_port_llfc_control_get(int unit, int port, pm_info_t pm_info, portmod_llfc_control_t* control);
    149 
    150 /*Routine for MAC\PHY sync.*/
    151 int pm12x10_port_update(int unit, int port, pm_info_t pm_info, const portmod_port_update_control_t* update_control);
    152 
    153 /*get port cores' phymod access*/
    154 int pm12x10_port_core_access_get(int unit, int port, pm_info_t pm_info, int phyn, int max_cores, phymod_core_access_t* core_access_arr, int* nof_cores, int* is_most_ext);
    155 
    156 /*Get lane phymod access structure. can be used for per lane operations*/
    157 int pm12x10_port_phy_lane_access_get(int unit, int port, pm_info_t pm_info, const portmod_access_get_params_t* params, int max_phys, phymod_phy_access_t* access, int* nof_phys, int* is_most_ext);
    158 
    159 /*Port duplex set\get*/
    160 int pm12x10_port_duplex_set(int unit, int port, pm_info_t pm_info, int enable);
    161 int pm12x10_port_duplex_get(int unit, int port, pm_info_t pm_info, int* enable);
    162 
    163 /*Port PHY Control register read*/
    164 int pm12x10_port_phy_reg_read(int unit, int port, pm_info_t pm_info, int lane, int flags, int reg_addr, uint32* value);
    165 
    166 /*Port PHY Control register write*/
    167 int pm12x10_port_phy_reg_write(int unit, int port, pm_info_t pm_info, int lane, int flags, int reg_addr, uint32 value);
    168 
    169 /*Port Reset set\get*/
    170 int pm12x10_port_reset_set(int unit, int port, pm_info_t pm_info, int mode, int opcode, int value);
    171 int pm12x10_port_reset_get(int unit, int port, pm_info_t pm_info, int mode, int opcode, int* value);
    172 
    173 /*Port remote Adv get*/
    174 int pm12x10_port_adv_remote_get(int unit, int port, pm_info_t pm_info, int* value);
    175 
    176 /*Drv Name Get*/
    177 int pm12x10_port_drv_name_get(int unit, int port, pm_info_t pm_info, char* name, int len);
    178 
    179 /*get port auto negotiation local ability*/
    180 int pm12x10_port_ability_advert_set(int unit, int port, pm_info_t pm_info, uint32 phy_flags, portmod_port_ability_t* ability);
    181 int pm12x10_port_ability_advert_get(int unit, int port, pm_info_t pm_info, uint32 phy_flags, portmod_port_ability_t* ability);
    182 
    183 /*Port ability remote Adv get*/
    184 int pm12x10_port_ability_remote_get(int unit, int port, pm_info_t pm_info, uint32 phy_flags, portmod_port_ability_t* ability);
    185 
    186 /*Port Mac Control Spacing Stretch*/
    187 int pm12x10_port_frame_spacing_stretch_set(int unit, int port, pm_info_t pm_info, int spacing);
    188 int pm12x10_port_frame_spacing_stretch_get(int unit, int port, pm_info_t pm_info, const int* spacing);
    189 
    190 /*get port timestamps in fifo*/
    191 int pm12x10_port_diag_fifo_status_get(int unit, int port, pm_info_t pm_info, const portmod_fifo_status_t* diag_info);
    192 
    193 /*set/get pass control frames.*/
    194 int pm12x10_port_rx_control_set(int unit, int port, pm_info_t pm_info, const portmod_rx_control_t* rx_ctrl);
    195 int pm12x10_port_rx_control_get(int unit, int port, pm_info_t pm_info, portmod_rx_control_t* rx_ctrl);
    196 
    197 /*set PFC config registers.*/
    198 int pm12x10_port_pfc_config_set(int unit, int port, pm_info_t pm_info, const portmod_pfc_config_t* pfc_cfg);
    199 int pm12x10_port_pfc_config_get(int unit, int port, pm_info_t pm_info, portmod_pfc_config_t* pfc_cfg);
    200 
    201 /*set EEE Config.*/
    202 int pm12x10_port_eee_set(int unit, int port, pm_info_t pm_info, const portmod_eee_t* eee);
    203 int pm12x10_port_eee_get(int unit, int port, pm_info_t pm_info, portmod_eee_t* eee);
    204 
    205 /*set EEE Config.*/
    206 int pm12x10_port_eee_clock_set(int unit, int port, pm_info_t pm_info, const portmod_eee_clock_t* eee_clk);
    207 int pm12x10_port_eee_clock_get(int unit, int port, pm_info_t pm_info, portmod_eee_clock_t* eee_clk);
    208 
    209 /*set Vlan Inner/Outer tag.*/
    210 int pm12x10_port_vlan_tag_set(int unit, int port, pm_info_t pm_info, const portmod_vlan_tag_t* vlan_tag);
    211 int pm12x10_port_vlan_tag_get(int unit, int port, pm_info_t pm_info, portmod_vlan_tag_t* vlan_tag);
    212 
    213 /*set modid field.*/
    214 int pm12x10_port_modid_set(int unit, int port, pm_info_t pm_info, int value);
    215 
    216 /*set modid field.*/
    217 int pm12x10_port_clear_rx_lss_status_set(int unit, int port, pm_info_t pm_info, int lcl_fault, int rmt_fault);
    218 int pm12x10_port_clear_rx_lss_status_get(int unit, int port, pm_info_t pm_info, int* lcl_fault, int* rmt_fault);
    219 
    220 /*Attaches an external phy lane to a specific port macro*/
    221 int pm12x10_xphy_lane_attach_to_pm(int unit, pm_info_t pm_info, int iphy, int phyn, const portmod_xphy_lane_connection_t* lane_connection);
    222 
    223 /*Attaches an external phy lane to a specific port macro*/
    224 int pm12x10_xphy_lane_detach_from_pm(int unit, pm_info_t pm_info, int iphy, int phyn, portmod_xphy_lane_connection_t* lane_connection);
    225 
    226 /*Toggle Lag Failover Status.*/
    227 int pm12x10_port_lag_failover_status_toggle(int unit, int port, pm_info_t pm_info);
    228 
    229 /*Toggle Lag Failover loopback set / get.*/
    230 int pm12x10_port_lag_failover_loopback_set(int unit, int port, pm_info_t pm_info, int value);
    231 int pm12x10_port_lag_failover_loopback_get(int unit, int port, pm_info_t pm_info, int* value);
    232 
    233 /*set port mode.*/
    234 int pm12x10_port_mode_set(int unit, int port, pm_info_t pm_info, const portmod_port_mode_info_t* mode);
    235 int pm12x10_port_mode_get(int unit, int port, pm_info_t pm_info, portmod_port_mode_info_t* mode);
    236 
    237 /*set port encap.*/
    238 int pm12x10_port_encap_set(int unit, int port, pm_info_t pm_info, int flags, portmod_encap_t encap);
    239 int pm12x10_port_encap_get(int unit, int port, pm_info_t pm_info, int* flags, portmod_encap_t* encap);
    240 
    241 /*set port register higig field.*/
    242 int pm12x10_port_higig_mode_set(int unit, int port, pm_info_t pm_info, int mode);
    243 int pm12x10_port_higig_mode_get(int unit, int port, pm_info_t pm_info, int* mode);
    244 
    245 /*set port register higig field.*/
    246 int pm12x10_port_higig2_mode_set(int unit, int port, pm_info_t pm_info, int mode);
    247 int pm12x10_port_higig2_mode_get(int unit, int port, pm_info_t pm_info, int* mode);
    248 
    249 /*set port register port type field.*/
    250 int pm12x10_port_config_port_type_set(int unit, int port, pm_info_t pm_info, int type);
    251 int pm12x10_port_config_port_type_get(int unit, int port, pm_info_t pm_info, int* type);
    252 
    253 /*set/get hwfailover for trident.*/
    254 int pm12x10_port_trunk_hwfailover_config_set(int unit, int port, pm_info_t pm_info, int hw_count);
    255 int pm12x10_port_trunk_hwfailover_config_get(int unit, int port, pm_info_t pm_info, int* enable);
    256 
    257 /*set/get hwfailover for trident.*/
    258 int pm12x10_port_trunk_hwfailover_status_get(int unit, int port, pm_info_t pm_info, int* loopback);
    259 
    260 /*port diagnostics control.*/
    261 int pm12x10_port_diag_ctrl(int unit, int port, pm_info_t pm_info, uint32 inst, int op_type, int op_cmd, const void* arg);
    262 
    263 /*Get the reference clock value 156 or 125.*/
    264 int pm12x10_port_ref_clk_get(int unit, int port, pm_info_t pm_info, int* ref_clk);
    265 
    266 /*Disable lag failover.*/
    267 int pm12x10_port_lag_failover_disable(int unit, int port, pm_info_t pm_info);
    268 
    269 /*Disable lag failover.*/
    270 int pm12x10_port_lag_remove_failover_lpbk_set(int unit, int port, pm_info_t pm_info, int val);
    271 int pm12x10_port_lag_remove_failover_lpbk_get(int unit, int port, pm_info_t pm_info, int* val);
    272 
    273 /*Disable lag failover.*/
    274 int pm12x10_port_cntmaxsize_set(int unit, int port, pm_info_t pm_info, int val);
    275 int pm12x10_port_cntmaxsize_get(int unit, int port, pm_info_t pm_info, int* val);
    276 
    277 /*Read multiple bytes get.*/
    278 int pm12x10_port_multi_get(int unit, int port, pm_info_t pm_info, portmod_multi_get_t* multi_get);
    279 
    280 /*Get Info needed to restore after drain cells.*/
    281 int pm12x10_port_drain_cell_get(int unit, int port, pm_info_t pm_info, portmod_drain_cells_t* drain_cells);
    282 
    283 /*Restore informaation after drain cells.*/
    284 int pm12x10_port_drain_cell_stop(int unit, int port, pm_info_t pm_info, const portmod_drain_cells_t* drain_cells);
    285 
    286 /*Restore informaation after drain cells.*/
    287 int pm12x10_port_drain_cell_start(int unit, int port, pm_info_t pm_info);
    288 
    289 /**/
    290 int pm12x10_port_drain_cells_rx_enable(int unit, int port, pm_info_t pm_info, int rx_en);
    291 
    292 /**/
    293 int pm12x10_port_egress_queue_drain_rx_en(int unit, int port, pm_info_t pm_info, int rx_en);
    294 
    295 /**/
    296 int pm12x10_port_mac_ctrl_set(int unit, int port, pm_info_t pm_info, uint64 ctrl);
    297 
    298 /**/
    299 int pm12x10_port_txfifo_cell_cnt_get(int unit, int port, pm_info_t pm_info, uint32* cnt);
    300 
    301 /**/
    302 int pm12x10_port_egress_queue_drain_get(int unit, int port, pm_info_t pm_info, uint64* ctrl, int* rxen);
    303 
    304 /*Set/get port mac reset */
    305 int pm12x10_port_mac_reset_set(int unit, int port, pm_info_t pm_info, int val);
    306 int pm12x10_port_mac_reset_get(int unit, int port, pm_info_t pm_info, int* val);
    307 
    308 /**/
    309 int pm12x10_port_soft_reset_toggle(int unit, int port, pm_info_t pm_info, int idx);
    310 
    311 /*Check if MAC needs to be reset.*/
    312 int pm12x10_port_mac_reset_check(int unit, int port, pm_info_t pm_info, int enable, int* reset);
    313 
    314 /**/
    315 int pm12x10_port_core_num_get(int unit, int port, pm_info_t pm_info, int* core_num);
    316 
    317 /*get the speed for the specified port*/
    318 int pm12x10_port_speed_get(int unit, int port, pm_info_t pm_info, int* speed);
    319 
    320 /*Port discard set*/
    321 int pm12x10_port_discard_set(int unit, int port, pm_info_t pm_info, int discard);
    322 
    323 /*Port soft reset set set*/
    324 int pm12x10_port_soft_reset_set(int unit, int port, pm_info_t pm_info, int idx, int val, int flags);
    325 
    326 /*Port tx_en=0 and softreset mac*/
    327 int pm12x10_port_tx_down(int unit, int port, pm_info_t pm_info);
    328 
    329 /*reconfig pgw.*/
    330 int pm12x10_port_pgw_reconfig(int unit, int port, pm_info_t pm_info, const portmod_port_mode_info_t* pmode, int phy_port, int flags);
    331 
    332 /*Routine to notify internal phy of external phy link state.*/
    333 int pm12x10_port_notify(int unit, int port, pm_info_t pm_info, int link);
    334 
    335 /*"port timestamp adjust set/get"*/
    336 int pm12x10_port_timestamp_adjust_set(int unit, int port, pm_info_t pm_info, const soc_port_timestamp_adjust_t* ts_adjust);
    337 int pm12x10_port_timestamp_adjust_get(int unit, int port, pm_info_t pm_info, soc_port_timestamp_adjust_t* ts_adjust);
    338 
    339 /*set/get interrupt enable value. */
    340 int pm12x10_port_interrupt_enable_set(int unit, int port, pm_info_t pm_info, int intr_type, uint32 val);
    341 int pm12x10_port_interrupt_enable_get(int unit, int port, pm_info_t pm_info, int intr_type, uint32* val);
    342 
    343 /*get interrupt status value. */
    344 int pm12x10_port_interrupt_get(int unit, int port, pm_info_t pm_info, int intr_type, uint32* val);
    345 
    346 /*get interrupt value array. */
    347 int pm12x10_port_interrupts_get(int unit, int port, pm_info_t pm_info, int arr_max_size, uint32* intr_arr, uint32* size);
    348 
    349 /* portmod check if external phy is legacy*/
    350 int pm12x10_port_check_legacy_phy(int unit, int port, pm_info_t pm_info, int* legacy_phy);
    351 
    352 /* portmod phy failover mode*/
    353 int pm12x10_port_failover_mode_set(int unit, int port, pm_info_t pm_info, phymod_failover_mode_t failover);
    354 int pm12x10_port_failover_mode_get(int unit, int port, pm_info_t pm_info, phymod_failover_mode_t* failover);
    355 
    356 /* portmod port rsv mask set*/
    357 int pm12x10_port_mac_rsv_mask_set(int unit, int port, pm_info_t pm_info, uint32 rsv_mask);
    358 
    359 /* portmod port mib reset toggle*/
    360 int pm12x10_port_mib_reset_toggle(int unit, int port, pm_info_t pm_info, int port_index);
    361 
    362 /* portmod restore information after warmboot*/
    363 int pm12x10_port_warmboot_db_restore(int unit, int port, pm_info_t pm_info, const portmod_port_interface_config_t* intf_config, const portmod_port_init_config_t* init_config, phymod_operation_mode_t phy_op_mode);
    364 
    365 /* portmod port flow control config*/
    366 int pm12x10_port_flow_control_set(int unit, int port, pm_info_t pm_info, int merge_mode_en, int parallel_fc_en);
    367 
    368 /*Portmod state for any logical port dynamixc settings*/
    369 int pm12x10_port_update_dynamic_state(int unit, int port, pm_info_t pm_info, uint32_t port_dynamic_state);
    370 
    371 /*get phy operation mode. */
    372 int pm12x10_port_phy_op_mode_get(int unit, int port, pm_info_t pm_info, phymod_operation_mode_t* val);
    373 
    374 /*override function for board lane swap. */
    375 int pm12x10_port_lane_map_set(int unit, int port, pm_info_t pm_info, uint32 flags, const phymod_lane_map_t* lane_map);
    376 int pm12x10_port_lane_map_get(int unit, int port, pm_info_t pm_info, uint32 flags, phymod_lane_map_t* lane_map);
    377 
    378 /*set/get port medium type config. */
    379 int pm12x10_port_medium_config_set(int unit, int port, pm_info_t pm_info, soc_port_medium_t medium, soc_phy_config_t* config);
    380 int pm12x10_port_medium_config_get(int unit, int port, pm_info_t pm_info, soc_port_medium_t medium, soc_phy_config_t* config);
    381 
    382 /*get port medium type. */
    383 int pm12x10_port_medium_get(int unit, int port, pm_info_t pm_info, soc_port_medium_t* medium);
    384 
    385 /*get pll multiplier*/
    386 int pm12x10_port_pll_div_get(int unit, int port, pm_info_t pm_info, const portmod_port_resources_t* port_resource, uint32_t* pll_div);
    387 
    388 /*Get the number of lanes belong to  a logical port.*/
    389 int pm12x10_port_lane_count_get(int unit, int port, pm_info_t pm_info, int line_side, int* num_lanes);
    390 
    391 #endif /*_PM12X10_H_*/