pm8x50_shared.h (1220B)
1 2 /* 3 * 4 * 5 * 6 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 7 * 8 * Copyright 2007-2019 Broadcom Inc. All rights reserved. 9 */ 10 11 #ifndef _PM8X50_SHARED_H_ 12 #define _PM8X50_SHARED_H_ 13 14 #define PM8X50_LANES_PER_CORE (8) 15 #define MAX_PORTS_PER_PM8X50 (8) 16 #define PM8X50_MAX_NUM_PHYS (1) 17 #define PMD_INFO_DATA_STRUCTURE_SIZE 128 /* in bytes */ 18 19 20 struct pm8x50_s{ 21 portmod_pbmp_t phys; 22 int first_phy; 23 phymod_ref_clk_t ref_clk; 24 phymod_polarity_t polarity; 25 phymod_lane_map_t lane_map; 26 phymod_firmware_load_method_t fw_load_method; 27 phymod_firmware_loader_f external_fw_loader; 28 phymod_core_access_t int_core_access; 29 uint8 core_num; 30 portmod_mac_soft_reset_f portmod_mac_soft_reset; 31 phymod_afe_pll_t afe_pll; 32 int warmboot_skip_db_restore; 33 uint8 tvco; 34 uint8 ovco; 35 int rescal; 36 int is_master_pm; 37 portmod_egress_buffer_reset_f portmod_egress_buffer_reset; 38 void* pmd_info; 39 int allow_20p625g_tvco; 40 }; 41 42 /* for a bypass port: convert speed to VCO rate */ 43 int pm8x50_shared_pcs_bypassed_vco_get(int speed, portmod_vco_type_t* vco); 44 45 #endif /*_PM8X50_SHARED_H_*/