eav.h (3254B)
1 /* 2 * 3 * 4 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 5 * 6 * Copyright 2007-2020 Broadcom Inc. All rights reserved. 7 * 8 * DO NOT EDIT THIS FILE! 9 * This file is auto-generated. 10 * Edits to this file will be lost when it is regenerated. 11 */ 12 13 #ifndef __BCM_EAV_H__ 14 #define __BCM_EAV_H__ 15 16 #include <bcm/types.h> 17 #include <bcm/port.h> 18 19 /* bcm_eav_control_e */ 20 typedef enum bcm_eav_control_e { 21 bcmEAVControlTimeBase = 1, 22 bcmEAVControlTimeAdjust = 2, 23 bcmEAVControlStreamClassAPCP = 7, 24 bcmEAVControlStreamClassBPCP = 8 25 } bcm_eav_control_t; 26 27 #define BCM_EAV_TIMEREF_MODE_FREERUN 0x0 28 #define BCM_EAV_TIMEREF_MODE_PHASE_ADJUSTMENT 0x1 29 #define BCM_EAV_TIMEREF_MODE_FREQ_ADJUMENT1 0x2 30 #define BCM_EAV_TIMEREF_MODE_FREQ_ADJUMENT2 0x3 31 32 /* bcm_eav_stream_class_e */ 33 typedef enum bcm_eav_stream_class_e { 34 bcmEAVCStreamClassA = 0, 35 bcmEAVCStreamClassB = 1 36 } bcm_eav_stream_class_t; 37 38 #ifndef BCM_HIDE_DISPATCHABLE 39 40 /* bcm_eav_init */ 41 extern int bcm_eav_init( 42 int unit); 43 44 /* bcm_eav_port_enable_get */ 45 extern int bcm_eav_port_enable_get( 46 int unit, 47 bcm_port_t port, 48 int *enable); 49 50 /* bcm_eav_port_enable_set */ 51 extern int bcm_eav_port_enable_set( 52 int unit, 53 bcm_port_t port, 54 int enable); 55 56 /* bcm_eav_link_status_get */ 57 extern int bcm_eav_link_status_get( 58 int unit, 59 bcm_port_t port, 60 int *link); 61 62 /* bcm_eav_link_status_set */ 63 extern int bcm_eav_link_status_set( 64 int unit, 65 bcm_port_t port, 66 int link); 67 68 /* bcm_eav_control_get */ 69 extern int bcm_eav_control_get( 70 int unit, 71 bcm_eav_control_t type, 72 uint32 *arg, 73 uint32 *arg2); 74 75 /* bcm_eav_control_set */ 76 extern int bcm_eav_control_set( 77 int unit, 78 bcm_eav_control_t type, 79 uint32 arg, 80 uint32 arg2); 81 82 /* bcm_eav_timestamp_get */ 83 extern int bcm_eav_timestamp_get( 84 int unit, 85 bcm_port_t port, 86 uint32 *timestamp); 87 88 /* bcm_eav_timesync_mac_set */ 89 extern int bcm_eav_timesync_mac_set( 90 int unit, 91 bcm_mac_t eav_mac); 92 93 /* bcm_eav_timesync_mac_get */ 94 extern int bcm_eav_timesync_mac_get( 95 int unit, 96 bcm_mac_t eav_mac); 97 98 /* bcm_eav_srp_mac_ethertype_set */ 99 extern int bcm_eav_srp_mac_ethertype_set( 100 int unit, 101 bcm_mac_t mac, 102 bcm_port_ethertype_t ethertype); 103 104 /* bcm_eav_srp_mac_ethertype_get */ 105 extern int bcm_eav_srp_mac_ethertype_get( 106 int unit, 107 bcm_mac_t mac, 108 bcm_port_ethertype_t *ethertype); 109 110 /* bcm_eav_pcp_mapping_set */ 111 extern int bcm_eav_pcp_mapping_set( 112 int unit, 113 bcm_eav_stream_class_t type, 114 int pcp, 115 int remapped_pcp); 116 117 /* bcm_eav_pcp_mapping_get */ 118 extern int bcm_eav_pcp_mapping_get( 119 int unit, 120 bcm_eav_stream_class_t type, 121 int *pcp, 122 int *remapped_pcp); 123 124 /* bcm_bandwidth_set */ 125 extern int bcm_eav_bandwidth_set( 126 int unit, 127 bcm_port_t port, 128 bcm_eav_stream_class_t type, 129 uint32 bytes_sec, 130 uint32 bytes_burst); 131 132 /* bcm_eav_bandwidth_get */ 133 extern int bcm_eav_bandwidth_get( 134 int unit, 135 bcm_port_t port, 136 bcm_eav_stream_class_t type, 137 uint32 *bytes_sec, 138 uint32 *bytes_burst); 139 140 #endif /* BCM_HIDE_DISPATCHABLE */ 141 142 #endif /* __BCM_EAV_H__ */