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

quadra28.h (8019B)


      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 _QUADRA28_H__H_
     14 #define _QUADRA28_H__H_
     15 
     16 #include <phymod/phymod_definitions.h>
     17 /*Initialize phymod module*/
     18 int quadra28_core_identify(const phymod_core_access_t* core, uint32_t core_id, uint32_t* is_identified);
     19 
     20 /*Retrive core information*/
     21 int quadra28_core_info_get(const phymod_core_access_t* core, phymod_core_info_t* info);
     22 
     23 /*Set\get lane mapping*/
     24 int quadra28_core_lane_map_set(const phymod_core_access_t* core, const phymod_lane_map_t* lane_map);
     25 int quadra28_core_lane_map_get(const phymod_core_access_t* core, phymod_lane_map_t* lane_map);
     26 
     27 /*Reset Core*/
     28 int quadra28_core_reset_set(const phymod_core_access_t* core, phymod_reset_mode_t reset_mode, phymod_reset_direction_t direction);
     29 int quadra28_core_reset_get(const phymod_core_access_t* core, phymod_reset_mode_t reset_mode, phymod_reset_direction_t* direction);
     30 
     31 /*Retrive firmware information*/
     32 int quadra28_core_firmware_info_get(const phymod_core_access_t* core, phymod_core_firmware_info_t* fw_info);
     33 
     34 /*Set\get firmware operation mode*/
     35 int quadra28_phy_firmware_core_config_set(const phymod_phy_access_t* phy, phymod_firmware_core_config_t fw_core_config);
     36 int quadra28_phy_firmware_core_config_get(const phymod_phy_access_t* phy, phymod_firmware_core_config_t* fw_core_config);
     37 
     38 /*Set\get firmware operation mode*/
     39 int quadra28_phy_firmware_lane_config_set(const phymod_phy_access_t* phy, phymod_firmware_lane_config_t fw_lane_config);
     40 int quadra28_phy_firmware_lane_config_get(const phymod_phy_access_t* phy, phymod_firmware_lane_config_t* fw_lane_config);
     41 
     42 /*Start\Stop the sequencer*/
     43 int quadra28_core_pll_sequencer_restart(const phymod_core_access_t* core, uint32_t flags, phymod_sequencer_operation_t operation);
     44 
     45 /* re-tune rx path*/
     46 int quadra28_phy_rx_restart(const phymod_phy_access_t* phy);
     47 
     48 /*Set phy polarity*/
     49 int quadra28_phy_polarity_set(const phymod_phy_access_t* phy, const phymod_polarity_t* polarity);
     50 int quadra28_phy_polarity_get(const phymod_phy_access_t* phy, phymod_polarity_t* polarity);
     51 
     52 /*Set\Get TX Parameters*/
     53 int quadra28_phy_tx_set(const phymod_phy_access_t* phy, const phymod_tx_t* tx);
     54 int quadra28_phy_tx_get(const phymod_phy_access_t* phy, phymod_tx_t* tx);
     55 
     56 /*Request for default TX parameters configuration per media type*/
     57 int quadra28_phy_media_type_tx_get(const phymod_phy_access_t* phy, phymod_media_typed_t media, phymod_tx_t* tx);
     58 
     59 /*Set\Get RX Parameters*/
     60 int quadra28_phy_rx_set(const phymod_phy_access_t* phy, const phymod_rx_t* rx);
     61 int quadra28_phy_rx_get(const phymod_phy_access_t* phy, phymod_rx_t* rx);
     62 
     63 /*PHY Rx adaptation resume*/
     64 int quadra28_phy_rx_adaptation_resume(const phymod_phy_access_t* phy);
     65 
     66 /*Reset phy*/
     67 int quadra28_phy_reset_set(const phymod_phy_access_t* phy, const phymod_phy_reset_t* reset);
     68 int quadra28_phy_reset_get(const phymod_phy_access_t* phy, phymod_phy_reset_t* reset);
     69 
     70 /*Control phy power*/
     71 int quadra28_phy_power_set(const phymod_phy_access_t* phy, const phymod_phy_power_t* power);
     72 int quadra28_phy_power_get(const phymod_phy_access_t* phy, phymod_phy_power_t* power);
     73 
     74 /*TX transmission control*/
     75 int quadra28_phy_tx_lane_control_set(const phymod_phy_access_t* phy, phymod_phy_tx_lane_control_t tx_control);
     76 int quadra28_phy_tx_lane_control_get(const phymod_phy_access_t* phy, phymod_phy_tx_lane_control_t* tx_control);
     77 
     78 /*Rx control*/
     79 int quadra28_phy_rx_lane_control_set(const phymod_phy_access_t* phy, phymod_phy_rx_lane_control_t rx_control);
     80 int quadra28_phy_rx_lane_control_get(const phymod_phy_access_t* phy, phymod_phy_rx_lane_control_t* rx_control);
     81 
     82 /*forced speed FEC control*/
     83 int quadra28_phy_fec_enable_set(const phymod_phy_access_t* phy, uint32_t enable);
     84 int quadra28_phy_fec_enable_get(const phymod_phy_access_t* phy, uint32_t* enable);
     85 
     86 /*Set the interface mode, speed and other configuration related to interface.*/
     87 int quadra28_phy_interface_config_set(const phymod_phy_access_t* phy, uint32_t flags, const phymod_phy_inf_config_t* config);
     88 int quadra28_phy_interface_config_get(const phymod_phy_access_t* phy, uint32_t flags, phymod_ref_clk_t ref_clock, phymod_phy_inf_config_t* config);
     89 
     90 /*Set\Get CL72*/
     91 int quadra28_phy_cl72_set(const phymod_phy_access_t* phy, uint32_t cl72_en);
     92 int quadra28_phy_cl72_get(const phymod_phy_access_t* phy, uint32_t* cl72_en);
     93 
     94 /*Get CL72 status*/
     95 int quadra28_phy_cl72_status_get(const phymod_phy_access_t* phy, phymod_cl72_status_t* status);
     96 
     97 /*Set\Get autoneg*/
     98 int quadra28_phy_autoneg_ability_set(const phymod_phy_access_t* phy, const phymod_autoneg_ability_t* an_ability_set_type);
     99 int quadra28_phy_autoneg_ability_get(const phymod_phy_access_t* phy, phymod_autoneg_ability_t* an_ability_get_type);
    100 
    101 /*Get  remote link autoneg*/
    102 int quadra28_phy_autoneg_remote_ability_get(const phymod_phy_access_t* phy, phymod_autoneg_ability_t* an_ability_get_type);
    103 
    104 /*Set\Get autoneg*/
    105 int quadra28_phy_autoneg_set(const phymod_phy_access_t* phy, const phymod_autoneg_control_t* an);
    106 int quadra28_phy_autoneg_get(const phymod_phy_access_t* phy, phymod_autoneg_control_t* an, uint32_t* an_done);
    107 
    108 /*Core Initialization*/
    109 int quadra28_core_init(const phymod_core_access_t* core, const phymod_core_init_config_t* init_config, const phymod_core_status_t* core_status);
    110 
    111 /*Phy Initialization*/
    112 int quadra28_phy_init(const phymod_phy_access_t* phy, const phymod_phy_init_config_t* init_config);
    113 
    114 /*Set\get loopback mode*/
    115 int quadra28_phy_loopback_set(const phymod_phy_access_t* phy, phymod_loopback_mode_t loopback, uint32_t enable);
    116 int quadra28_phy_loopback_get(const phymod_phy_access_t* phy, phymod_loopback_mode_t loopback, uint32_t* enable);
    117 
    118 /*Get rx pmd locked indication*/
    119 int quadra28_phy_rx_pmd_locked_get(const phymod_phy_access_t* phy, uint32_t* rx_pmd_locked);
    120 
    121 /*Get link up status indication*/
    122 int quadra28_phy_link_status_get(const phymod_phy_access_t* phy, uint32_t* link_status);
    123 
    124 /*Get the serdes status*/
    125 int quadra28_phy_status_dump(const phymod_phy_access_t* phy);
    126 
    127 /*Read phymod register*/
    128 int quadra28_phy_reg_read(const phymod_phy_access_t* phy, uint32_t reg_addr, uint32_t* val);
    129 
    130 /*Write phymod register*/
    131 int quadra28_phy_reg_write(const phymod_phy_access_t* phy, uint32_t reg_addr, uint32_t val);
    132 
    133 /*Read data from I2C device attached to PHY*/
    134 int quadra28_phy_i2c_read(const phymod_phy_access_t* phy, uint32_t flags, uint32_t addr, uint32_t offset, uint32_t size, uint8_t* data);
    135 
    136 /*Write data to I2C device attached to PHY*/
    137 int quadra28_phy_i2c_write(const phymod_phy_access_t* phy, uint32_t flags, uint32_t addr, uint32_t offset, uint32_t size, const uint8_t* data);
    138 
    139 /*Set/Get the configuration of a PHY GPIO pin*/
    140 int quadra28_phy_gpio_config_set(const phymod_phy_access_t* phy, int pin_no, phymod_gpio_mode_t gpio_mode);
    141 int quadra28_phy_gpio_config_get(const phymod_phy_access_t* phy, int pin_no, phymod_gpio_mode_t* gpio_mode);
    142 
    143 /*Set/Get the output/input value of a PHY GPIO pin*/
    144 int quadra28_phy_gpio_pin_value_set(const phymod_phy_access_t* phy, int pin_no, int value);
    145 int quadra28_phy_gpio_pin_value_get(const phymod_phy_access_t* phy, int pin_no, int* value);
    146 
    147 /*Set/get EDC mode*/
    148 int quadra28_edc_config_set(const phymod_phy_access_t* phy, const phymod_edc_config_t* edc_config);
    149 int quadra28_edc_config_get(const phymod_phy_access_t* phy, phymod_edc_config_t* edc_config);
    150 
    151 /*Set/get failover mode */
    152 int quadra28_failover_mode_set(const phymod_phy_access_t* phy, phymod_failover_mode_t failover_mode);
    153 int quadra28_failover_mode_get(const phymod_phy_access_t* phy, phymod_failover_mode_t* failover_mode);
    154 
    155 /*phy multi data get*/
    156 int quadra28_phy_multi_get(const phymod_phy_access_t* phy, phymod_multi_data_t* multi_data);
    157 
    158 /* get phy working operation mode*/
    159 int quadra28_phy_op_mode_get(const phymod_phy_access_t* phy, phymod_operation_mode_t* op_mode);
    160 
    161 #endif /*_QUADRA28_H_*/