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

bcm_xmod_pe_api.h (2478B)


      1 /*
      2  * 
      3  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      4  * 
      5  * Copyright 2007-2019 Broadcom Inc. All rights reserved.
      6  *
      7  * File:       bcm_xmod_pe_api.h
      8  */
      9 
     10 #include "bcm_xmod_api.h"
     11 
     12 
     13 #define SBUS_LOCK_INIT if (sbus_lock == NULL) \
     14             SOC_IF_ERROR_RETURN(bcm_sbus_mutex_init())
     15 #define SBUS_LOCK bcm_mutex_take(sbus_lock, sal_mutex_FOREVER)
     16 #define SBUS_UNLOCK bcm_mutex_give(sbus_lock)
     17 
     18 #define AXI_LOCK_INIT if (axi_lock == NULL) \
     19             SOC_IF_ERROR_RETURN(bcm_axi_mutex_init())
     20 #define AXI_LOCK bcm_mutex_take(axi_lock, sal_mutex_FOREVER)
     21 #define AXI_UNLOCK bcm_mutex_give(axi_lock)
     22 
     23 #define XMOD_LOCK_INIT if (sbus_lock == NULL) \
     24             SOC_IF_ERROR_RETURN(bcm_xmod_mutex_init())
     25 #define XMOD_LOCK bcm_mutex_take(xmod_lock, sal_mutex_FOREVER)
     26 #define XMOD_UNLOCK bcm_mutex_give(xmod_lock)
     27 
     28 extern int bcm_initialize(void);
     29 extern int bcm_sbus_mutex_init(void);
     30 extern void bcm_sbus_mutex_cleanup(void);
     31 extern int bcm_axi_mutex_init(void);
     32 extern void bcm_axi_mutex_cleanup(void);
     33 extern int bcm_xmod_mutex_init(void);
     34 extern void bcm_xmod_mutex_cleanup(void);
     35 extern int bcm_firmware_download(int unit, int module, void *data, int len);
     36 extern int bcm_port_lane_mask(int unit, int module, int sys_port);
     37 extern int bcm_xmod_pe_init(int unit, int module, xmod_pe_config_t *config);
     38 extern int bcm_xmod_pe_status_get(int unit, int module, xmod_pe_status_t *status);
     39 extern int bcm_xmod_pe_port_stats_get(int unit, int module, int pe_port, xmod_pe_port_stats_t *stats, int reset);
     40 extern int bcm_xmod_pe_fw_ver_get(int unit, int module, xmod_pe_fw_ver_t *ver);
     41 extern int bcm_device_rev_id(int unit, int module, int *rev_id);
     42 extern int bcm_device_die_temp(int unit, int module, int *temp);
     43 extern int bcm_tsc_reg_access(int unit, int module, int sys_port, int write, int reg, int *val);
     44 extern int bcm_mdio_access(int unit, int module, int write, int reg, int *val);
     45 extern int bcm_sbus_access(int unit, int module, uint32 reg, uint32 cmd, int ring, uint32 arg[]);
     46 extern int bcm_axi_reg_access(int unit, int module, int write, uint32 reg, uint32 *val);
     47 extern int bcm_top_reg_access(int unit, int module, int write, uint32 reg, uint32 *val);
     48 extern int bcm_eyescan(int unit, int module, int sys_port);
     49 extern int bcm_dscdump(int unit, int module, int sys_port);
     50 extern int bcm_prbs(int unit, int module, int sys_port, int action, int dir, int poly, int invert);
     51