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