pm4x25_shared.h (1432B)
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 #ifndef _PM4X25TD_SHARED_H_ 11 #define _PM4X25TD_SHARED_H_ 12 13 #define PM4X25_LANES_PER_CORE (4) 14 #define MAX_PORTS_PER_PM4X25 (4) 15 #define NUM_VSD_ACTIVE_GROUP_WORD 4 16 17 struct pm4x25_s{ 18 portmod_pbmp_t phys; 19 int first_phy; 20 phymod_ref_clk_t ref_clk; 21 phymod_polarity_t polarity; 22 phymod_lane_map_t lane_map; 23 phymod_firmware_load_method_t fw_load_method; 24 phymod_firmware_loader_f external_fw_loader; 25 phymod_core_access_t int_core_access; 26 int nof_phys[PM4X25_LANES_PER_CORE] ; /* internal + external phys for each lane */ 27 uint8 in_pm12x10; 28 uint8 core_num; 29 portmod_mac_soft_reset_f portmod_mac_soft_reset; 30 portmod_xphy_lane_connection_t lane_conn[MAX_PHYN][PM4X25_LANES_PER_CORE]; 31 phymod_afe_pll_t afe_pll; 32 int warmboot_skip_db_restore; 33 int rescal; 34 int is_mixed_mode; 35 }; 36 37 #define PM_4x25_INFO(pm_info) ((pm_info)->pm_data.pm4x25_db) 38 39 40 int _pm4x25_txpi_sdm_scheme_set(int unit, int port, pm_info_t pm_info, portmod_txpi_sdm_type_t type); 41 int _pm4x25_txpi_lane_select_set(int unit, int port, pm_info_t pm_info, uint32_t *lane_select); 42 int _pm4x25_port_phy_txpi_mode_set(int unit, int port, pm_info_t pm_info, uint32 mode); 43 44 #endif /*_PM4X25TD_SHARED_H_*/