/***************************************************************************
 *     Copyright (c) 1999-2013, Broadcom Corporation
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 *
 * Module Description:
 *                     DO NOT EDIT THIS FILE DIRECTLY
 *
 * This module was generated magically with RDB from a source description
 * file. You must edit the source file for changes to be made to this file.
 *
 *
 * Date:           Generated on              Fri Oct 25 17:33:12 2013
 *                 Full Compile MD5 Checksum 8344a9003ae3c954c1e4a33b9128d4d6
 *                   (minus title and desc)  
 *                 MD5 Checksum              383dbfcd91460427fa61afa66d6c98f8
 *
 * Compiled with:  RDB Utility               combo_header.pl
 *                 RDB Parser                3.0
 *                 unknown                   unknown
 *                 Perl Interpreter          5.008005
 *                 Operating System          linux
 *
 * Revision History:
 *
 * $brcm_Log: $
 *
 ***************************************************************************/

#ifndef BCHP_SWITCH_ACB_H__
#define BCHP_SWITCH_ACB_H__

/***************************************************************************
 *SWITCH_ACB
 ***************************************************************************/
#define BCHP_SWITCH_ACB_ACB_CONTROL              0x04e40600 /* ACB Control Register */
#define BCHP_SWITCH_ACB_ACB_XON_THRESHOLD_CONFIGURATION 0x04e40604 /* ACB XON Threshold Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION 0x04e40608 /* ACB Queue 0 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION 0x04e4060c /* ACB Queue 1 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION 0x04e40610 /* ACB Queue 2 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION 0x04e40614 /* ACB Queue 3 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION 0x04e40618 /* ACB Queue 4 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION 0x04e4061c /* ACB Queue 5 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION 0x04e40620 /* ACB Queue 6 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION 0x04e40624 /* ACB Queue 7 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION 0x04e40628 /* ACB Queue 8 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION 0x04e4062c /* ACB Queue 9 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION 0x04e40630 /* ACB Queue 10 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION 0x04e40634 /* ACB Queue 11 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION 0x04e40638 /* ACB Queue 12 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION 0x04e4063c /* ACB Queue 13 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION 0x04e40640 /* ACB Queue 14 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION 0x04e40644 /* ACB Queue 15 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION 0x04e40648 /* ACB Queue 16 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION 0x04e4064c /* ACB Queue 17 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION 0x04e40650 /* ACB Queue 18 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION 0x04e40654 /* ACB Queue 19 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION 0x04e40658 /* ACB Queue 20 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION 0x04e4065c /* ACB Queue 21 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION 0x04e40660 /* ACB Queue 22 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION 0x04e40664 /* ACB Queue 23 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION 0x04e40668 /* ACB Queue 24 Configuration Register6 */
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION 0x04e4066c /* ACB Queue 25 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION 0x04e40670 /* ACB Queue 26 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION 0x04e40674 /* ACB Queue 27 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION 0x04e40678 /* ACB Queue 28 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION 0x04e4067c /* ACB Queue 29 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION 0x04e40680 /* ACB Queue 30 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION 0x04e40684 /* ACB Queue 31 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION 0x04e40688 /* ACB Queue 32 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION 0x04e4068c /* ACB Queue 33 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION 0x04e40690 /* ACB Queue 34 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION 0x04e40694 /* ACB Queue 35 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION 0x04e40698 /* ACB Queue 36 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION 0x04e4069c /* ACB Queue 37 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION 0x04e406a0 /* ACB Queue 38 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION 0x04e406a4 /* ACB Queue 39 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION 0x04e406a8 /* ACB Queue 40 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION 0x04e406ac /* ACB Queue 41 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION 0x04e406b0 /* ACB Queue 42 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION 0x04e406b4 /* ACB Queue 43 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION 0x04e406b8 /* ACB Queue 44 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION 0x04e406bc /* ACB Queue 45 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION 0x04e406c0 /* ACB Queue 46 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION 0x04e406c4 /* ACB Queue 47 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION 0x04e406c8 /* ACB Queue 48 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION 0x04e406cc /* ACB Queue 49 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION 0x04e406d0 /* ACB Queue 50 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION 0x04e406d4 /* ACB Queue 51 Configuration Register6 */
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION 0x04e406d8 /* ACB Queue 52 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION 0x04e406dc /* ACB Queue 53 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION 0x04e406e0 /* ACB Queue 54 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION 0x04e406e4 /* ACB Queue 55 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION 0x04e406e8 /* ACB Queue 56 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION 0x04e406ec /* ACB Queue 57 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION 0x04e406f0 /* ACB Queue 58 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION 0x04e406f4 /* ACB Queue 59 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION 0x04e406f8 /* ACB Queue 60 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION 0x04e406fc /* ACB Queue 61 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION 0x04e40700 /* ACB Queue 62 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION 0x04e40704 /* ACB Queue 63 Configuration Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_PACKETS_IN_FLIGHT 0x04e40708 /* ACB Queue 0 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_PACKETS_IN_FLIGHT 0x04e4070c /* ACB Queue 1 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_PACKETS_IN_FLIGHT 0x04e40710 /* ACB Queue 2 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_PACKETS_IN_FLIGHT 0x04e40714 /* ACB Queue 3 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_PACKETS_IN_FLIGHT 0x04e40718 /* ACB Queue 4 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_PACKETS_IN_FLIGHT 0x04e4071c /* ACB Queue 5 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_PACKETS_IN_FLIGHT 0x04e40720 /* ACB Queue 6 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_PACKETS_IN_FLIGHT 0x04e40724 /* ACB Queue 7 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_PACKETS_IN_FLIGHT 0x04e40728 /* ACB Queue 8 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_PACKETS_IN_FLIGHT 0x04e4072c /* ACB Queue 9 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_PACKETS_IN_FLIGHT 0x04e40730 /* ACB Queue 10 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_PACKETS_IN_FLIGHT 0x04e40734 /* ACB Queue 11 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_PACKETS_IN_FLIGHT 0x04e40738 /* ACB Queue 12 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_PACKETS_IN_FLIGHT 0x04e4073c /* ACB Queue 13 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_PACKETS_IN_FLIGHT 0x04e40740 /* ACB Queue 14 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_PACKETS_IN_FLIGHT 0x04e40744 /* ACB Queue 15 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_PACKETS_IN_FLIGHT 0x04e40748 /* ACB Queue 16 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_PACKETS_IN_FLIGHT 0x04e4074c /* ACB Queue 17 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_PACKETS_IN_FLIGHT 0x04e40750 /* ACB Queue 18 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_PACKETS_IN_FLIGHT 0x04e40754 /* ACB Queue 19 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_PACKETS_IN_FLIGHT 0x04e40758 /* ACB Queue 20 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_PACKETS_IN_FLIGHT 0x04e4075c /* ACB Queue 21 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_PACKETS_IN_FLIGHT 0x04e40760 /* ACB Queue 22 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_PACKETS_IN_FLIGHT 0x04e40764 /* ACB Queue 23 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_PACKETS_IN_FLIGHT 0x04e40768 /* ACB Queue 24 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_PACKETS_IN_FLIGHT 0x04e4076c /* ACB Queue 25 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_PACKETS_IN_FLIGHT 0x04e40770 /* ACB Queue 26 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_PACKETS_IN_FLIGHT 0x04e40774 /* ACB Queue 27 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_PACKETS_IN_FLIGHT 0x04e40778 /* ACB Queue 28 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_PACKETS_IN_FLIGHT 0x04e4077c /* ACB Queue 29 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_PACKETS_IN_FLIGHT 0x04e40780 /* ACB Queue 30 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_PACKETS_IN_FLIGHT 0x04e40784 /* ACB Queue 31 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_PACKETS_IN_FLIGHT 0x04e40788 /* ACB Queue 32 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_PACKETS_IN_FLIGHT 0x04e4078c /* ACB Queue 33 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_PACKETS_IN_FLIGHT 0x04e40790 /* ACB Queue 34 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_PACKETS_IN_FLIGHT 0x04e40794 /* ACB Queue 35 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_PACKETS_IN_FLIGHT 0x04e40798 /* ACB Queue 36 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_PACKETS_IN_FLIGHT 0x04e4079c /* ACB Queue 37 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_PACKETS_IN_FLIGHT 0x04e407a0 /* ACB Queue 38 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_PACKETS_IN_FLIGHT 0x04e407a4 /* ACB Queue 39 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_PACKETS_IN_FLIGHT 0x04e407a8 /* ACB Queue 40 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_PACKETS_IN_FLIGHT 0x04e407ac /* ACB Queue 41 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_PACKETS_IN_FLIGHT 0x04e407b0 /* ACB Queue 42 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_PACKETS_IN_FLIGHT 0x04e407b4 /* ACB Queue 43 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_PACKETS_IN_FLIGHT 0x04e407b8 /* ACB Queue 44 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_PACKETS_IN_FLIGHT 0x04e407bc /* ACB Queue 45 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_PACKETS_IN_FLIGHT 0x04e407c0 /* ACB Queue 46 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_PACKETS_IN_FLIGHT 0x04e407c4 /* ACB Queue 47 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_PACKETS_IN_FLIGHT 0x04e407c8 /* ACB Queue 48 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_PACKETS_IN_FLIGHT 0x04e407cc /* ACB Queue 49 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_PACKETS_IN_FLIGHT 0x04e407d0 /* ACB Queue 50 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_PACKETS_IN_FLIGHT 0x04e407d4 /* ACB Queue 51 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_PACKETS_IN_FLIGHT 0x04e407d8 /* ACB Queue 52 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_PACKETS_IN_FLIGHT 0x04e407dc /* ACB Queue 53 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_PACKETS_IN_FLIGHT 0x04e407e0 /* ACB Queue 54 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_PACKETS_IN_FLIGHT 0x04e407e4 /* ACB Queue 55 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_PACKETS_IN_FLIGHT 0x04e407e8 /* ACB Queue 56 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_PACKETS_IN_FLIGHT 0x04e407ec /* ACB Queue 57 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_PACKETS_IN_FLIGHT 0x04e407f0 /* ACB Queue 58 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_PACKETS_IN_FLIGHT 0x04e407f4 /* ACB Queue 59 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_PACKETS_IN_FLIGHT 0x04e407f8 /* ACB Queue 60 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_PACKETS_IN_FLIGHT 0x04e407fc /* ACB Queue 61 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_PACKETS_IN_FLIGHT 0x04e40800 /* ACB Queue 62 Packets In Flight Register */
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_PACKETS_IN_FLIGHT 0x04e40804 /* ACB Queue 63 Packets In Flight Register */

/***************************************************************************
 *ACB_CONTROL - ACB Control Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_CONTROL :: reserved0 [31:02] */
#define BCHP_SWITCH_ACB_ACB_CONTROL_reserved0_MASK                 0xfffffffc
#define BCHP_SWITCH_ACB_ACB_CONTROL_reserved0_SHIFT                2

/* SWITCH_ACB :: ACB_CONTROL :: acb_algorithm [01:01] */
#define BCHP_SWITCH_ACB_ACB_CONTROL_acb_algorithm_MASK             0x00000002
#define BCHP_SWITCH_ACB_ACB_CONTROL_acb_algorithm_SHIFT            1
#define BCHP_SWITCH_ACB_ACB_CONTROL_acb_algorithm_DEFAULT          0x00000000

/* SWITCH_ACB :: ACB_CONTROL :: acb_en [00:00] */
#define BCHP_SWITCH_ACB_ACB_CONTROL_acb_en_MASK                    0x00000001
#define BCHP_SWITCH_ACB_ACB_CONTROL_acb_en_SHIFT                   0
#define BCHP_SWITCH_ACB_ACB_CONTROL_acb_en_DEFAULT                 0x00000000

/***************************************************************************
 *ACB_XON_THRESHOLD_CONFIGURATION - ACB XON Threshold Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_XON_THRESHOLD_CONFIGURATION :: reserved0 [31:22] */
#define BCHP_SWITCH_ACB_ACB_XON_THRESHOLD_CONFIGURATION_reserved0_MASK 0xffc00000
#define BCHP_SWITCH_ACB_ACB_XON_THRESHOLD_CONFIGURATION_reserved0_SHIFT 22

/* SWITCH_ACB :: ACB_XON_THRESHOLD_CONFIGURATION :: total_xon_hyst [21:11] */
#define BCHP_SWITCH_ACB_ACB_XON_THRESHOLD_CONFIGURATION_total_xon_hyst_MASK 0x003ff800
#define BCHP_SWITCH_ACB_ACB_XON_THRESHOLD_CONFIGURATION_total_xon_hyst_SHIFT 11
#define BCHP_SWITCH_ACB_ACB_XON_THRESHOLD_CONFIGURATION_total_xon_hyst_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_XON_THRESHOLD_CONFIGURATION :: queue_xon_hyst [10:00] */
#define BCHP_SWITCH_ACB_ACB_XON_THRESHOLD_CONFIGURATION_queue_xon_hyst_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_XON_THRESHOLD_CONFIGURATION_queue_xon_hyst_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_XON_THRESHOLD_CONFIGURATION_queue_xon_hyst_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_0_CONFIGURATION - ACB Queue 0 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_0_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_0_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_0_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_0_CONFIGURATION :: input_is_acb_queue_0_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_input_is_acb_queue_0_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_input_is_acb_queue_0_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_input_is_acb_queue_0_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_0_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_0_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_0_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_0_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_xon_en_MASK      0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_xon_en_SHIFT     11
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_xon_en_DEFAULT   0x00000000

/* SWITCH_ACB :: ACB_QUEUE_0_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_1_CONFIGURATION - ACB Queue 1 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_1_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_1_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_1_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_1_CONFIGURATION :: input_is_acb_queue_1_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_input_is_acb_queue_1_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_input_is_acb_queue_1_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_input_is_acb_queue_1_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_1_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_1_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_1_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_1_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_xon_en_MASK      0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_xon_en_SHIFT     11
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_xon_en_DEFAULT   0x00000000

/* SWITCH_ACB :: ACB_QUEUE_1_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_2_CONFIGURATION - ACB Queue 2 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_2_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_2_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_2_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_2_CONFIGURATION :: input_is_acb_queue_2_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_input_is_acb_queue_2_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_input_is_acb_queue_2_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_input_is_acb_queue_2_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_2_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_2_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_2_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_2_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_xon_en_MASK      0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_xon_en_SHIFT     11
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_xon_en_DEFAULT   0x00000000

/* SWITCH_ACB :: ACB_QUEUE_2_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_3_CONFIGURATION - ACB Queue 3 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_3_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_3_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_3_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_3_CONFIGURATION :: input_is_acb_queue_3_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_input_is_acb_queue_3_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_input_is_acb_queue_3_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_input_is_acb_queue_3_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_3_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_3_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_3_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_3_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_xon_en_MASK      0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_xon_en_SHIFT     11
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_xon_en_DEFAULT   0x00000000

/* SWITCH_ACB :: ACB_QUEUE_3_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_4_CONFIGURATION - ACB Queue 4 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_4_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_4_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_4_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_4_CONFIGURATION :: input_is_acb_queue_4_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_input_is_acb_queue_4_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_input_is_acb_queue_4_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_input_is_acb_queue_4_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_4_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_4_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_4_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_4_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_xon_en_MASK      0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_xon_en_SHIFT     11
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_xon_en_DEFAULT   0x00000000

/* SWITCH_ACB :: ACB_QUEUE_4_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_5_CONFIGURATION - ACB Queue 5 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_5_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_5_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_5_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_5_CONFIGURATION :: input_is_acb_queue_5_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_input_is_acb_queue_5_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_input_is_acb_queue_5_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_input_is_acb_queue_5_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_5_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_5_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_5_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_5_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_xon_en_MASK      0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_xon_en_SHIFT     11
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_xon_en_DEFAULT   0x00000000

/* SWITCH_ACB :: ACB_QUEUE_5_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_6_CONFIGURATION - ACB Queue 6 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_6_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_6_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_6_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_6_CONFIGURATION :: input_is_acb_queue_6_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_input_is_acb_queue_6_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_input_is_acb_queue_6_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_input_is_acb_queue_6_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_6_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_6_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_6_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_6_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_xon_en_MASK      0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_xon_en_SHIFT     11
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_xon_en_DEFAULT   0x00000000

/* SWITCH_ACB :: ACB_QUEUE_6_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_7_CONFIGURATION - ACB Queue 7 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_7_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_7_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_7_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_7_CONFIGURATION :: input_is_acb_queue_7_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_input_is_acb_queue_7_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_input_is_acb_queue_7_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_input_is_acb_queue_7_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_7_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_7_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_7_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_7_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_xon_en_MASK      0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_xon_en_SHIFT     11
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_xon_en_DEFAULT   0x00000000

/* SWITCH_ACB :: ACB_QUEUE_7_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_8_CONFIGURATION - ACB Queue 8 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_8_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_8_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_8_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_8_CONFIGURATION :: input_is_acb_queue_8_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_input_is_acb_queue_8_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_input_is_acb_queue_8_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_input_is_acb_queue_8_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_8_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_8_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_8_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_8_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_xon_en_MASK      0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_xon_en_SHIFT     11
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_xon_en_DEFAULT   0x00000000

/* SWITCH_ACB :: ACB_QUEUE_8_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_9_CONFIGURATION - ACB Queue 9 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_9_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_9_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_9_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_9_CONFIGURATION :: input_is_acb_queue_9_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_input_is_acb_queue_9_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_input_is_acb_queue_9_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_input_is_acb_queue_9_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_9_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_9_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_9_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_9_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_xon_en_MASK      0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_xon_en_SHIFT     11
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_xon_en_DEFAULT   0x00000000

/* SWITCH_ACB :: ACB_QUEUE_9_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_10_CONFIGURATION - ACB Queue 10 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_10_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_10_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_10_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_10_CONFIGURATION :: input_is_acb_queue_10_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_input_is_acb_queue_10_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_input_is_acb_queue_10_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_input_is_acb_queue_10_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_10_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_10_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_10_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_10_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_10_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_11_CONFIGURATION - ACB Queue 11 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_11_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_11_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_11_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_11_CONFIGURATION :: input_is_acb_queue_11_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_input_is_acb_queue_11_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_input_is_acb_queue_11_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_input_is_acb_queue_11_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_11_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_11_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_11_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_11_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_11_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_12_CONFIGURATION - ACB Queue 12 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_12_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_12_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_12_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_12_CONFIGURATION :: input_is_acb_queue_12_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_input_is_acb_queue_12_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_input_is_acb_queue_12_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_input_is_acb_queue_12_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_12_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_12_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_12_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_12_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_12_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_13_CONFIGURATION - ACB Queue 13 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_13_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_13_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_13_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_13_CONFIGURATION :: input_is_acb_queue_13_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_input_is_acb_queue_13_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_input_is_acb_queue_13_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_input_is_acb_queue_13_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_13_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_13_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_13_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_13_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_13_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_14_CONFIGURATION - ACB Queue 14 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_14_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_14_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_14_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_14_CONFIGURATION :: input_is_acb_queue_14_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_input_is_acb_queue_14_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_input_is_acb_queue_14_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_input_is_acb_queue_14_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_14_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_14_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_14_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_14_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_14_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_15_CONFIGURATION - ACB Queue 15 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_15_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_15_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_15_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_15_CONFIGURATION :: input_is_acb_queue_15_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_input_is_acb_queue_15_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_input_is_acb_queue_15_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_input_is_acb_queue_15_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_15_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_15_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_15_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_15_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_15_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_16_CONFIGURATION - ACB Queue 16 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_16_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_16_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_16_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_16_CONFIGURATION :: input_is_acb_queue_16_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_input_is_acb_queue_16_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_input_is_acb_queue_16_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_input_is_acb_queue_16_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_16_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_16_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_16_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_16_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_16_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_17_CONFIGURATION - ACB Queue 17 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_17_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_17_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_17_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_17_CONFIGURATION :: input_is_acb_queue_17_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_input_is_acb_queue_17_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_input_is_acb_queue_17_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_input_is_acb_queue_17_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_17_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_17_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_17_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_17_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_17_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_18_CONFIGURATION - ACB Queue 18 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_18_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_18_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_18_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_18_CONFIGURATION :: input_is_acb_queue_18_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_input_is_acb_queue_18_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_input_is_acb_queue_18_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_input_is_acb_queue_18_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_18_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_18_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_18_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_18_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_18_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_19_CONFIGURATION - ACB Queue 19 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_19_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_19_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_19_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_19_CONFIGURATION :: input_is_acb_queue_19_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_input_is_acb_queue_19_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_input_is_acb_queue_19_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_input_is_acb_queue_19_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_19_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_19_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_19_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_19_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_19_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_20_CONFIGURATION - ACB Queue 20 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_20_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_20_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_20_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_20_CONFIGURATION :: input_is_acb_queue_20_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_input_is_acb_queue_20_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_input_is_acb_queue_20_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_input_is_acb_queue_20_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_20_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_20_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_20_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_20_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_20_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_21_CONFIGURATION - ACB Queue 21 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_21_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_21_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_21_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_21_CONFIGURATION :: input_is_acb_queue_21_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_input_is_acb_queue_21_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_input_is_acb_queue_21_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_input_is_acb_queue_21_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_21_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_21_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_21_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_21_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_21_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_22_CONFIGURATION - ACB Queue 22 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_22_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_22_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_22_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_22_CONFIGURATION :: input_is_acb_queue_22_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_input_is_acb_queue_22_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_input_is_acb_queue_22_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_input_is_acb_queue_22_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_22_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_22_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_22_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_22_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_22_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_23_CONFIGURATION - ACB Queue 23 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_23_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_23_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_23_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_23_CONFIGURATION :: input_is_acb_queue_23_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_input_is_acb_queue_23_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_input_is_acb_queue_23_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_input_is_acb_queue_23_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_23_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_23_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_23_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_23_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_23_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_24_CONFIGURATION - ACB Queue 24 Configuration Register6
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_24_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_24_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_24_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_24_CONFIGURATION :: input_is_acb_queue_24_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_input_is_acb_queue_24_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_input_is_acb_queue_24_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_input_is_acb_queue_24_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_24_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_24_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_24_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_24_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_24_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_25_CONFIGURATION - ACB Queue 25 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_25_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_25_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_25_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_25_CONFIGURATION :: input_is_acb_queue_25_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_input_is_acb_queue_25_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_input_is_acb_queue_25_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_input_is_acb_queue_25_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_25_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_25_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_25_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_25_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_25_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_26_CONFIGURATION - ACB Queue 26 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_26_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_26_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_26_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_26_CONFIGURATION :: input_is_acb_queue_26_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_input_is_acb_queue_26_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_input_is_acb_queue_26_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_input_is_acb_queue_26_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_26_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_26_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_26_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_26_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_26_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_27_CONFIGURATION - ACB Queue 27 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_27_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_27_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_27_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_27_CONFIGURATION :: input_is_acb_queue_27_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_input_is_acb_queue_27_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_input_is_acb_queue_27_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_input_is_acb_queue_27_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_27_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_27_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_27_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_27_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_27_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_28_CONFIGURATION - ACB Queue 28 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_28_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_28_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_28_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_28_CONFIGURATION :: input_is_acb_queue_28_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_input_is_acb_queue_28_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_input_is_acb_queue_28_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_input_is_acb_queue_28_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_28_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_28_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_28_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_28_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_28_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_29_CONFIGURATION - ACB Queue 29 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_29_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_29_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_29_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_29_CONFIGURATION :: input_is_acb_queue_29_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_input_is_acb_queue_29_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_input_is_acb_queue_29_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_input_is_acb_queue_29_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_29_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_29_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_29_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_29_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_29_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_30_CONFIGURATION - ACB Queue 30 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_30_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_30_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_30_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_30_CONFIGURATION :: input_is_acb_queue_30_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_input_is_acb_queue_30_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_input_is_acb_queue_30_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_input_is_acb_queue_30_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_30_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_30_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_30_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_30_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_30_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_31_CONFIGURATION - ACB Queue 31 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_31_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_31_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_31_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_31_CONFIGURATION :: input_is_acb_queue_31_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_input_is_acb_queue_31_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_input_is_acb_queue_31_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_input_is_acb_queue_31_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_31_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_31_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_31_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_31_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_31_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_32_CONFIGURATION - ACB Queue 32 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_32_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_32_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_32_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_32_CONFIGURATION :: input_is_acb_queue_32_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_input_is_acb_queue_32_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_input_is_acb_queue_32_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_input_is_acb_queue_32_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_32_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_32_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_32_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_32_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_32_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_33_CONFIGURATION - ACB Queue 33 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_33_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_33_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_33_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_33_CONFIGURATION :: input_is_acb_queue_33_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_input_is_acb_queue_33_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_input_is_acb_queue_33_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_input_is_acb_queue_33_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_33_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_33_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_33_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_33_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_33_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_34_CONFIGURATION - ACB Queue 34 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_34_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_34_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_34_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_34_CONFIGURATION :: input_is_acb_queue_34_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_input_is_acb_queue_34_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_input_is_acb_queue_34_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_input_is_acb_queue_34_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_34_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_34_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_34_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_34_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_34_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_35_CONFIGURATION - ACB Queue 35 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_35_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_35_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_35_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_35_CONFIGURATION :: input_is_acb_queue_35_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_input_is_acb_queue_35_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_input_is_acb_queue_35_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_input_is_acb_queue_35_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_35_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_35_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_35_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_35_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_35_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_36_CONFIGURATION - ACB Queue 36 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_36_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_36_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_36_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_36_CONFIGURATION :: input_is_acb_queue_36_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_input_is_acb_queue_36_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_input_is_acb_queue_36_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_input_is_acb_queue_36_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_36_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_36_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_36_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_36_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_36_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_37_CONFIGURATION - ACB Queue 37 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_37_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_37_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_37_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_37_CONFIGURATION :: input_is_acb_queue_37_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_input_is_acb_queue_37_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_input_is_acb_queue_37_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_input_is_acb_queue_37_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_37_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_37_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_37_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_37_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_37_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_38_CONFIGURATION - ACB Queue 38 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_38_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_38_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_38_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_38_CONFIGURATION :: input_is_acb_queue_38_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_input_is_acb_queue_38_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_input_is_acb_queue_38_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_input_is_acb_queue_38_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_38_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_38_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_38_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_38_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_38_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_39_CONFIGURATION - ACB Queue 39 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_39_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_39_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_39_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_39_CONFIGURATION :: input_is_acb_queue_39_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_input_is_acb_queue_39_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_input_is_acb_queue_39_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_input_is_acb_queue_39_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_39_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_39_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_39_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_39_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_39_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_40_CONFIGURATION - ACB Queue 40 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_40_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_40_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_40_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_40_CONFIGURATION :: input_is_acb_queue_40_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_input_is_acb_queue_40_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_input_is_acb_queue_40_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_input_is_acb_queue_40_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_40_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_40_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_40_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_40_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_40_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_41_CONFIGURATION - ACB Queue 41 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_41_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_41_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_41_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_41_CONFIGURATION :: input_is_acb_queue_41_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_input_is_acb_queue_41_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_input_is_acb_queue_41_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_input_is_acb_queue_41_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_41_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_41_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_41_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_41_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_41_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_42_CONFIGURATION - ACB Queue 42 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_42_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_42_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_42_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_42_CONFIGURATION :: input_is_acb_queue_42_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_input_is_acb_queue_42_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_input_is_acb_queue_42_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_input_is_acb_queue_42_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_42_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_42_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_42_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_42_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_42_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_43_CONFIGURATION - ACB Queue 43 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_43_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_43_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_43_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_43_CONFIGURATION :: input_is_acb_queue_43_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_input_is_acb_queue_43_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_input_is_acb_queue_43_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_input_is_acb_queue_43_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_43_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_43_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_43_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_43_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_43_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_44_CONFIGURATION - ACB Queue 44 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_44_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_44_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_44_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_44_CONFIGURATION :: input_is_acb_queue_44_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_input_is_acb_queue_44_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_input_is_acb_queue_44_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_input_is_acb_queue_44_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_44_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_44_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_44_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_44_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_44_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_45_CONFIGURATION - ACB Queue 45 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_45_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_45_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_45_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_45_CONFIGURATION :: input_is_acb_queue_45_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_input_is_acb_queue_45_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_input_is_acb_queue_45_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_input_is_acb_queue_45_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_45_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_45_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_45_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_45_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_45_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_46_CONFIGURATION - ACB Queue 46 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_46_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_46_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_46_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_46_CONFIGURATION :: input_is_acb_queue_46_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_input_is_acb_queue_46_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_input_is_acb_queue_46_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_input_is_acb_queue_46_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_46_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_46_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_46_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_46_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_46_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_47_CONFIGURATION - ACB Queue 47 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_47_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_47_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_47_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_47_CONFIGURATION :: input_is_acb_queue_47_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_input_is_acb_queue_47_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_input_is_acb_queue_47_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_input_is_acb_queue_47_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_47_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_47_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_47_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_47_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_47_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_48_CONFIGURATION - ACB Queue 48 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_48_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_48_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_48_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_48_CONFIGURATION :: input_is_acb_queue_48_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_input_is_acb_queue_48_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_input_is_acb_queue_48_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_input_is_acb_queue_48_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_48_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_48_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_48_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_48_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_48_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_49_CONFIGURATION - ACB Queue 49 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_49_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_49_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_49_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_49_CONFIGURATION :: input_is_acb_queue_49_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_input_is_acb_queue_49_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_input_is_acb_queue_49_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_input_is_acb_queue_49_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_49_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_49_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_49_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_49_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_49_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_50_CONFIGURATION - ACB Queue 50 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_50_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_50_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_50_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_50_CONFIGURATION :: input_is_acb_queue_50_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_input_is_acb_queue_50_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_input_is_acb_queue_50_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_input_is_acb_queue_50_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_50_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_50_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_50_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_50_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_50_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_51_CONFIGURATION - ACB Queue 51 Configuration Register6
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_51_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_51_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_51_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_51_CONFIGURATION :: input_is_acb_queue_51_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_input_is_acb_queue_51_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_input_is_acb_queue_51_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_input_is_acb_queue_51_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_51_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_51_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_51_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_51_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_51_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_52_CONFIGURATION - ACB Queue 52 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_52_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_52_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_52_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_52_CONFIGURATION :: input_is_acb_queue_52_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_input_is_acb_queue_52_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_input_is_acb_queue_52_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_input_is_acb_queue_52_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_52_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_52_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_52_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_52_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_52_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_53_CONFIGURATION - ACB Queue 53 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_53_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_53_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_53_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_53_CONFIGURATION :: input_is_acb_queue_53_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_input_is_acb_queue_53_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_input_is_acb_queue_53_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_input_is_acb_queue_53_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_53_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_53_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_53_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_53_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_53_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_54_CONFIGURATION - ACB Queue 54 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_54_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_54_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_54_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_54_CONFIGURATION :: input_is_acb_queue_54_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_input_is_acb_queue_54_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_input_is_acb_queue_54_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_input_is_acb_queue_54_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_54_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_54_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_54_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_54_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_54_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_55_CONFIGURATION - ACB Queue 55 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_55_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_55_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_55_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_55_CONFIGURATION :: input_is_acb_queue_55_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_input_is_acb_queue_55_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_input_is_acb_queue_55_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_input_is_acb_queue_55_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_55_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_55_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_55_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_55_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_55_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_56_CONFIGURATION - ACB Queue 56 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_56_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_56_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_56_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_56_CONFIGURATION :: input_is_acb_queue_56_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_input_is_acb_queue_56_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_input_is_acb_queue_56_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_input_is_acb_queue_56_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_56_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_56_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_56_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_56_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_56_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_57_CONFIGURATION - ACB Queue 57 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_57_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_57_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_57_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_57_CONFIGURATION :: input_is_acb_queue_57_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_input_is_acb_queue_57_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_input_is_acb_queue_57_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_input_is_acb_queue_57_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_57_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_57_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_57_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_57_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_57_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_58_CONFIGURATION - ACB Queue 58 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_58_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_58_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_58_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_58_CONFIGURATION :: input_is_acb_queue_58_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_input_is_acb_queue_58_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_input_is_acb_queue_58_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_input_is_acb_queue_58_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_58_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_58_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_58_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_58_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_58_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_59_CONFIGURATION - ACB Queue 59 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_59_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_59_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_59_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_59_CONFIGURATION :: input_is_acb_queue_59_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_input_is_acb_queue_59_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_input_is_acb_queue_59_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_input_is_acb_queue_59_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_59_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_59_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_59_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_59_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_59_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_60_CONFIGURATION - ACB Queue 60 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_60_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_60_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_60_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_60_CONFIGURATION :: input_is_acb_queue_60_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_input_is_acb_queue_60_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_input_is_acb_queue_60_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_input_is_acb_queue_60_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_60_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_60_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_60_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_60_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_60_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_61_CONFIGURATION - ACB Queue 61 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_61_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_61_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_61_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_61_CONFIGURATION :: input_is_acb_queue_61_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_input_is_acb_queue_61_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_input_is_acb_queue_61_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_input_is_acb_queue_61_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_61_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_61_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_61_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_61_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_61_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_62_CONFIGURATION - ACB Queue 62 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_62_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_62_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_62_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_62_CONFIGURATION :: input_is_acb_queue_62_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_input_is_acb_queue_62_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_input_is_acb_queue_62_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_input_is_acb_queue_62_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_62_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_62_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_62_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_62_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_62_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_63_CONFIGURATION - ACB Queue 63 Configuration Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_63_CONFIGURATION :: pessimistic_mode_en [31:31] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_pessimistic_mode_en_MASK 0x80000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_pessimistic_mode_en_SHIFT 31
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_pessimistic_mode_en_DEFAULT 0x00000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_pessimistic_mode_en_GISB 1
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_pessimistic_mode_en_PORT 0

/* union - case input_is_gisb [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_63_CONFIGURATION :: input_is_gisb :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_input_is_gisb_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_input_is_gisb_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_input_is_gisb_pktlen_DEFAULT 0x00000000

/* union - case input_is_acb_queue_63_configuration [30:25] */
/* SWITCH_ACB :: ACB_QUEUE_63_CONFIGURATION :: input_is_acb_queue_63_configuration :: pktlen [30:25] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_input_is_acb_queue_63_configuration_pktlen_MASK 0x7e000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_input_is_acb_queue_63_configuration_pktlen_SHIFT 25
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_input_is_acb_queue_63_configuration_pktlen_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_63_CONFIGURATION :: total_xon_en [24:24] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_total_xon_en_MASK 0x01000000
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_total_xon_en_SHIFT 24
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_total_xon_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_63_CONFIGURATION :: total_xoff_en [23:23] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_total_xoff_en_MASK 0x00800000
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_total_xoff_en_SHIFT 23
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_total_xoff_en_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_63_CONFIGURATION :: total_xoff_threshold [22:12] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_total_xoff_threshold_MASK 0x007ff000
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_total_xoff_threshold_SHIFT 12
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_total_xoff_threshold_DEFAULT 0x00000000

/* SWITCH_ACB :: ACB_QUEUE_63_CONFIGURATION :: xon_en [11:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_xon_en_MASK     0x00000800
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_xon_en_SHIFT    11
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_xon_en_DEFAULT  0x00000000

/* SWITCH_ACB :: ACB_QUEUE_63_CONFIGURATION :: xoff_threshold [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_xoff_threshold_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_xoff_threshold_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_CONFIGURATION_xoff_threshold_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_0_PACKETS_IN_FLIGHT - ACB Queue 0 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_0_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_0_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_0_PACKETS_IN_FLIGHT :: input_is_acb_queue_0_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_PACKETS_IN_FLIGHT_input_is_acb_queue_0_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_PACKETS_IN_FLIGHT_input_is_acb_queue_0_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_PACKETS_IN_FLIGHT_input_is_acb_queue_0_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_0_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_0_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_1_PACKETS_IN_FLIGHT - ACB Queue 1 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_1_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_1_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_1_PACKETS_IN_FLIGHT :: input_is_acb_queue_1_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_PACKETS_IN_FLIGHT_input_is_acb_queue_1_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_PACKETS_IN_FLIGHT_input_is_acb_queue_1_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_PACKETS_IN_FLIGHT_input_is_acb_queue_1_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_1_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_1_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_2_PACKETS_IN_FLIGHT - ACB Queue 2 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_2_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_2_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_2_PACKETS_IN_FLIGHT :: input_is_acb_queue_2_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_PACKETS_IN_FLIGHT_input_is_acb_queue_2_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_PACKETS_IN_FLIGHT_input_is_acb_queue_2_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_PACKETS_IN_FLIGHT_input_is_acb_queue_2_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_2_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_2_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_3_PACKETS_IN_FLIGHT - ACB Queue 3 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_3_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_3_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_3_PACKETS_IN_FLIGHT :: input_is_acb_queue_3_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_PACKETS_IN_FLIGHT_input_is_acb_queue_3_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_PACKETS_IN_FLIGHT_input_is_acb_queue_3_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_PACKETS_IN_FLIGHT_input_is_acb_queue_3_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_3_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_3_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_4_PACKETS_IN_FLIGHT - ACB Queue 4 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_4_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_4_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_4_PACKETS_IN_FLIGHT :: input_is_acb_queue_4_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_PACKETS_IN_FLIGHT_input_is_acb_queue_4_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_PACKETS_IN_FLIGHT_input_is_acb_queue_4_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_PACKETS_IN_FLIGHT_input_is_acb_queue_4_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_4_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_4_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_5_PACKETS_IN_FLIGHT - ACB Queue 5 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_5_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_5_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_5_PACKETS_IN_FLIGHT :: input_is_acb_queue_5_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_PACKETS_IN_FLIGHT_input_is_acb_queue_5_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_PACKETS_IN_FLIGHT_input_is_acb_queue_5_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_PACKETS_IN_FLIGHT_input_is_acb_queue_5_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_5_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_5_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_6_PACKETS_IN_FLIGHT - ACB Queue 6 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_6_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_6_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_6_PACKETS_IN_FLIGHT :: input_is_acb_queue_6_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_PACKETS_IN_FLIGHT_input_is_acb_queue_6_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_PACKETS_IN_FLIGHT_input_is_acb_queue_6_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_PACKETS_IN_FLIGHT_input_is_acb_queue_6_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_6_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_6_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_7_PACKETS_IN_FLIGHT - ACB Queue 7 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_7_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_7_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_7_PACKETS_IN_FLIGHT :: input_is_acb_queue_7_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_PACKETS_IN_FLIGHT_input_is_acb_queue_7_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_PACKETS_IN_FLIGHT_input_is_acb_queue_7_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_PACKETS_IN_FLIGHT_input_is_acb_queue_7_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_7_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_7_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_8_PACKETS_IN_FLIGHT - ACB Queue 8 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_8_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_8_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_8_PACKETS_IN_FLIGHT :: input_is_acb_queue_8_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_PACKETS_IN_FLIGHT_input_is_acb_queue_8_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_PACKETS_IN_FLIGHT_input_is_acb_queue_8_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_PACKETS_IN_FLIGHT_input_is_acb_queue_8_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_8_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_8_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_9_PACKETS_IN_FLIGHT - ACB Queue 9 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_9_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_9_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_9_PACKETS_IN_FLIGHT :: input_is_acb_queue_9_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_PACKETS_IN_FLIGHT_input_is_acb_queue_9_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_PACKETS_IN_FLIGHT_input_is_acb_queue_9_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_PACKETS_IN_FLIGHT_input_is_acb_queue_9_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_9_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_9_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_10_PACKETS_IN_FLIGHT - ACB Queue 10 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_10_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_10_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_10_PACKETS_IN_FLIGHT :: input_is_acb_queue_10_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_PACKETS_IN_FLIGHT_input_is_acb_queue_10_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_PACKETS_IN_FLIGHT_input_is_acb_queue_10_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_PACKETS_IN_FLIGHT_input_is_acb_queue_10_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_10_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_10_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_11_PACKETS_IN_FLIGHT - ACB Queue 11 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_11_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_11_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_11_PACKETS_IN_FLIGHT :: input_is_acb_queue_11_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_PACKETS_IN_FLIGHT_input_is_acb_queue_11_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_PACKETS_IN_FLIGHT_input_is_acb_queue_11_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_PACKETS_IN_FLIGHT_input_is_acb_queue_11_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_11_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_11_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_12_PACKETS_IN_FLIGHT - ACB Queue 12 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_12_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_13_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_12_PACKETS_IN_FLIGHT :: input_is_acb_queue_13_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_PACKETS_IN_FLIGHT_input_is_acb_queue_13_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_PACKETS_IN_FLIGHT_input_is_acb_queue_13_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_PACKETS_IN_FLIGHT_input_is_acb_queue_13_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_12_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_12_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_13_PACKETS_IN_FLIGHT - ACB Queue 13 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_13_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_13_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_13_PACKETS_IN_FLIGHT :: input_is_acb_queue_13_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_PACKETS_IN_FLIGHT_input_is_acb_queue_13_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_PACKETS_IN_FLIGHT_input_is_acb_queue_13_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_PACKETS_IN_FLIGHT_input_is_acb_queue_13_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_13_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_13_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_14_PACKETS_IN_FLIGHT - ACB Queue 14 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_14_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_14_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_14_PACKETS_IN_FLIGHT :: input_is_acb_queue_14_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_PACKETS_IN_FLIGHT_input_is_acb_queue_14_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_PACKETS_IN_FLIGHT_input_is_acb_queue_14_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_PACKETS_IN_FLIGHT_input_is_acb_queue_14_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_14_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_14_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_15_PACKETS_IN_FLIGHT - ACB Queue 15 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_15_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_15_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_15_PACKETS_IN_FLIGHT :: input_is_acb_queue_15_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_PACKETS_IN_FLIGHT_input_is_acb_queue_15_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_PACKETS_IN_FLIGHT_input_is_acb_queue_15_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_PACKETS_IN_FLIGHT_input_is_acb_queue_15_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_15_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_15_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_16_PACKETS_IN_FLIGHT - ACB Queue 16 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_16_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_16_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_16_PACKETS_IN_FLIGHT :: input_is_acb_queue_16_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_PACKETS_IN_FLIGHT_input_is_acb_queue_16_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_PACKETS_IN_FLIGHT_input_is_acb_queue_16_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_PACKETS_IN_FLIGHT_input_is_acb_queue_16_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_16_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_16_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_17_PACKETS_IN_FLIGHT - ACB Queue 17 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_17_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_17_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_17_PACKETS_IN_FLIGHT :: input_is_acb_queue_17_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_PACKETS_IN_FLIGHT_input_is_acb_queue_17_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_PACKETS_IN_FLIGHT_input_is_acb_queue_17_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_PACKETS_IN_FLIGHT_input_is_acb_queue_17_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_17_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_17_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_18_PACKETS_IN_FLIGHT - ACB Queue 18 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_18_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_18_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_18_PACKETS_IN_FLIGHT :: input_is_acb_queue_18_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_PACKETS_IN_FLIGHT_input_is_acb_queue_18_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_PACKETS_IN_FLIGHT_input_is_acb_queue_18_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_PACKETS_IN_FLIGHT_input_is_acb_queue_18_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_18_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_18_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_19_PACKETS_IN_FLIGHT - ACB Queue 19 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_19_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_19_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_19_PACKETS_IN_FLIGHT :: input_is_acb_queue_19_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_PACKETS_IN_FLIGHT_input_is_acb_queue_19_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_PACKETS_IN_FLIGHT_input_is_acb_queue_19_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_PACKETS_IN_FLIGHT_input_is_acb_queue_19_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_19_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_19_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_20_PACKETS_IN_FLIGHT - ACB Queue 20 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_20_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_20_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_20_PACKETS_IN_FLIGHT :: input_is_acb_queue_20_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_PACKETS_IN_FLIGHT_input_is_acb_queue_20_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_PACKETS_IN_FLIGHT_input_is_acb_queue_20_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_PACKETS_IN_FLIGHT_input_is_acb_queue_20_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_20_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_20_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_21_PACKETS_IN_FLIGHT - ACB Queue 21 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_21_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_21_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_21_PACKETS_IN_FLIGHT :: input_is_acb_queue_21_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_PACKETS_IN_FLIGHT_input_is_acb_queue_21_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_PACKETS_IN_FLIGHT_input_is_acb_queue_21_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_PACKETS_IN_FLIGHT_input_is_acb_queue_21_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_21_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_21_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_22_PACKETS_IN_FLIGHT - ACB Queue 22 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_22_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_22_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_22_PACKETS_IN_FLIGHT :: input_is_acb_queue_22_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_PACKETS_IN_FLIGHT_input_is_acb_queue_22_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_PACKETS_IN_FLIGHT_input_is_acb_queue_22_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_PACKETS_IN_FLIGHT_input_is_acb_queue_22_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_22_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_22_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_23_PACKETS_IN_FLIGHT - ACB Queue 23 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_23_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_23_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_23_PACKETS_IN_FLIGHT :: input_is_acb_queue_23_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_PACKETS_IN_FLIGHT_input_is_acb_queue_23_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_PACKETS_IN_FLIGHT_input_is_acb_queue_23_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_PACKETS_IN_FLIGHT_input_is_acb_queue_23_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_23_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_23_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_24_PACKETS_IN_FLIGHT - ACB Queue 24 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_24_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_24_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_24_PACKETS_IN_FLIGHT :: input_is_acb_queue_24_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_PACKETS_IN_FLIGHT_input_is_acb_queue_24_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_PACKETS_IN_FLIGHT_input_is_acb_queue_24_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_PACKETS_IN_FLIGHT_input_is_acb_queue_24_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_24_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_24_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_25_PACKETS_IN_FLIGHT - ACB Queue 25 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_25_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_25_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_25_PACKETS_IN_FLIGHT :: input_is_acb_queue_25_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_PACKETS_IN_FLIGHT_input_is_acb_queue_25_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_PACKETS_IN_FLIGHT_input_is_acb_queue_25_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_PACKETS_IN_FLIGHT_input_is_acb_queue_25_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_25_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_25_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_26_PACKETS_IN_FLIGHT - ACB Queue 26 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_26_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_26_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_26_PACKETS_IN_FLIGHT :: input_is_acb_queue_26_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_PACKETS_IN_FLIGHT_input_is_acb_queue_26_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_PACKETS_IN_FLIGHT_input_is_acb_queue_26_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_PACKETS_IN_FLIGHT_input_is_acb_queue_26_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_26_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_26_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_27_PACKETS_IN_FLIGHT - ACB Queue 27 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_27_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_27_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_27_PACKETS_IN_FLIGHT :: input_is_acb_queue_27_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_PACKETS_IN_FLIGHT_input_is_acb_queue_27_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_PACKETS_IN_FLIGHT_input_is_acb_queue_27_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_PACKETS_IN_FLIGHT_input_is_acb_queue_27_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_27_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_27_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_28_PACKETS_IN_FLIGHT - ACB Queue 28 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_28_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_28_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_28_PACKETS_IN_FLIGHT :: input_is_acb_queue_28_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_PACKETS_IN_FLIGHT_input_is_acb_queue_28_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_PACKETS_IN_FLIGHT_input_is_acb_queue_28_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_PACKETS_IN_FLIGHT_input_is_acb_queue_28_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_28_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_28_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_29_PACKETS_IN_FLIGHT - ACB Queue 29 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_29_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_29_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_29_PACKETS_IN_FLIGHT :: input_is_acb_queue_29_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_PACKETS_IN_FLIGHT_input_is_acb_queue_29_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_PACKETS_IN_FLIGHT_input_is_acb_queue_29_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_PACKETS_IN_FLIGHT_input_is_acb_queue_29_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_29_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_29_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_30_PACKETS_IN_FLIGHT - ACB Queue 30 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_30_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_30_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_30_PACKETS_IN_FLIGHT :: input_is_acb_queue_30_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_PACKETS_IN_FLIGHT_input_is_acb_queue_30_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_PACKETS_IN_FLIGHT_input_is_acb_queue_30_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_PACKETS_IN_FLIGHT_input_is_acb_queue_30_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_30_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_30_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_31_PACKETS_IN_FLIGHT - ACB Queue 31 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_31_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_31_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_31_PACKETS_IN_FLIGHT :: input_is_acb_queue_31_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_PACKETS_IN_FLIGHT_input_is_acb_queue_31_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_PACKETS_IN_FLIGHT_input_is_acb_queue_31_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_PACKETS_IN_FLIGHT_input_is_acb_queue_31_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_31_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_31_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_32_PACKETS_IN_FLIGHT - ACB Queue 32 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_32_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_32_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_32_PACKETS_IN_FLIGHT :: input_is_acb_queue_32_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_PACKETS_IN_FLIGHT_input_is_acb_queue_32_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_PACKETS_IN_FLIGHT_input_is_acb_queue_32_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_PACKETS_IN_FLIGHT_input_is_acb_queue_32_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_32_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_32_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_33_PACKETS_IN_FLIGHT - ACB Queue 33 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_33_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_33_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_33_PACKETS_IN_FLIGHT :: input_is_acb_queue_33_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_PACKETS_IN_FLIGHT_input_is_acb_queue_33_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_PACKETS_IN_FLIGHT_input_is_acb_queue_33_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_PACKETS_IN_FLIGHT_input_is_acb_queue_33_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_33_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_33_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_34_PACKETS_IN_FLIGHT - ACB Queue 34 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_34_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_34_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_34_PACKETS_IN_FLIGHT :: input_is_acb_queue_34_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_PACKETS_IN_FLIGHT_input_is_acb_queue_34_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_PACKETS_IN_FLIGHT_input_is_acb_queue_34_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_PACKETS_IN_FLIGHT_input_is_acb_queue_34_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_34_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_34_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_35_PACKETS_IN_FLIGHT - ACB Queue 35 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_35_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_35_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_35_PACKETS_IN_FLIGHT :: input_is_acb_queue_35_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_PACKETS_IN_FLIGHT_input_is_acb_queue_35_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_PACKETS_IN_FLIGHT_input_is_acb_queue_35_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_PACKETS_IN_FLIGHT_input_is_acb_queue_35_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_35_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_35_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_36_PACKETS_IN_FLIGHT - ACB Queue 36 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_36_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_36_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_36_PACKETS_IN_FLIGHT :: input_is_acb_queue_36_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_PACKETS_IN_FLIGHT_input_is_acb_queue_36_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_PACKETS_IN_FLIGHT_input_is_acb_queue_36_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_PACKETS_IN_FLIGHT_input_is_acb_queue_36_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_36_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_36_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_37_PACKETS_IN_FLIGHT - ACB Queue 37 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_37_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_37_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_37_PACKETS_IN_FLIGHT :: input_is_acb_queue_37_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_PACKETS_IN_FLIGHT_input_is_acb_queue_37_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_PACKETS_IN_FLIGHT_input_is_acb_queue_37_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_PACKETS_IN_FLIGHT_input_is_acb_queue_37_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_37_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_37_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_38_PACKETS_IN_FLIGHT - ACB Queue 38 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_38_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_38_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_38_PACKETS_IN_FLIGHT :: input_is_acb_queue_38_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_PACKETS_IN_FLIGHT_input_is_acb_queue_38_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_PACKETS_IN_FLIGHT_input_is_acb_queue_38_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_PACKETS_IN_FLIGHT_input_is_acb_queue_38_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_38_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_38_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_39_PACKETS_IN_FLIGHT - ACB Queue 39 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_39_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_39_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_39_PACKETS_IN_FLIGHT :: input_is_acb_queue_39_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_PACKETS_IN_FLIGHT_input_is_acb_queue_39_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_PACKETS_IN_FLIGHT_input_is_acb_queue_39_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_PACKETS_IN_FLIGHT_input_is_acb_queue_39_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_39_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_39_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_40_PACKETS_IN_FLIGHT - ACB Queue 40 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_40_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_40_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_40_PACKETS_IN_FLIGHT :: input_is_acb_queue_40_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_PACKETS_IN_FLIGHT_input_is_acb_queue_40_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_PACKETS_IN_FLIGHT_input_is_acb_queue_40_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_PACKETS_IN_FLIGHT_input_is_acb_queue_40_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_40_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_40_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_41_PACKETS_IN_FLIGHT - ACB Queue 41 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_41_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_41_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_41_PACKETS_IN_FLIGHT :: input_is_acb_queue_41_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_PACKETS_IN_FLIGHT_input_is_acb_queue_41_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_PACKETS_IN_FLIGHT_input_is_acb_queue_41_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_PACKETS_IN_FLIGHT_input_is_acb_queue_41_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_41_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_41_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_42_PACKETS_IN_FLIGHT - ACB Queue 42 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_42_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_42_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_42_PACKETS_IN_FLIGHT :: input_is_acb_queue_42_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_PACKETS_IN_FLIGHT_input_is_acb_queue_42_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_PACKETS_IN_FLIGHT_input_is_acb_queue_42_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_PACKETS_IN_FLIGHT_input_is_acb_queue_42_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_42_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_42_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_43_PACKETS_IN_FLIGHT - ACB Queue 43 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_43_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_43_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_43_PACKETS_IN_FLIGHT :: input_is_acb_queue_43_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_PACKETS_IN_FLIGHT_input_is_acb_queue_43_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_PACKETS_IN_FLIGHT_input_is_acb_queue_43_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_PACKETS_IN_FLIGHT_input_is_acb_queue_43_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_43_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_43_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_44_PACKETS_IN_FLIGHT - ACB Queue 44 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_44_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_44_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_44_PACKETS_IN_FLIGHT :: input_is_acb_queue_44_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_PACKETS_IN_FLIGHT_input_is_acb_queue_44_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_PACKETS_IN_FLIGHT_input_is_acb_queue_44_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_PACKETS_IN_FLIGHT_input_is_acb_queue_44_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_44_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_44_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_45_PACKETS_IN_FLIGHT - ACB Queue 45 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_45_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_45_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_45_PACKETS_IN_FLIGHT :: input_is_acb_queue_45_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_PACKETS_IN_FLIGHT_input_is_acb_queue_45_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_PACKETS_IN_FLIGHT_input_is_acb_queue_45_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_PACKETS_IN_FLIGHT_input_is_acb_queue_45_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_45_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_45_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_46_PACKETS_IN_FLIGHT - ACB Queue 46 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_46_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_46_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_46_PACKETS_IN_FLIGHT :: input_is_acb_queue_46_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_PACKETS_IN_FLIGHT_input_is_acb_queue_46_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_PACKETS_IN_FLIGHT_input_is_acb_queue_46_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_PACKETS_IN_FLIGHT_input_is_acb_queue_46_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_46_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_46_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_47_PACKETS_IN_FLIGHT - ACB Queue 47 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_47_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_47_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_47_PACKETS_IN_FLIGHT :: input_is_acb_queue_47_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_PACKETS_IN_FLIGHT_input_is_acb_queue_47_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_PACKETS_IN_FLIGHT_input_is_acb_queue_47_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_PACKETS_IN_FLIGHT_input_is_acb_queue_47_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_47_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_47_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_48_PACKETS_IN_FLIGHT - ACB Queue 48 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_48_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_48_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_48_PACKETS_IN_FLIGHT :: input_is_acb_queue_48_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_PACKETS_IN_FLIGHT_input_is_acb_queue_48_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_PACKETS_IN_FLIGHT_input_is_acb_queue_48_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_PACKETS_IN_FLIGHT_input_is_acb_queue_48_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_48_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_48_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_49_PACKETS_IN_FLIGHT - ACB Queue 49 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_49_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_49_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_49_PACKETS_IN_FLIGHT :: input_is_acb_queue_49_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_PACKETS_IN_FLIGHT_input_is_acb_queue_49_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_PACKETS_IN_FLIGHT_input_is_acb_queue_49_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_PACKETS_IN_FLIGHT_input_is_acb_queue_49_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_49_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_49_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_50_PACKETS_IN_FLIGHT - ACB Queue 50 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_50_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_50_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_50_PACKETS_IN_FLIGHT :: input_is_acb_queue_50_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_PACKETS_IN_FLIGHT_input_is_acb_queue_50_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_PACKETS_IN_FLIGHT_input_is_acb_queue_50_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_PACKETS_IN_FLIGHT_input_is_acb_queue_50_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_50_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_50_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_51_PACKETS_IN_FLIGHT - ACB Queue 51 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_51_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_51_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_51_PACKETS_IN_FLIGHT :: input_is_acb_queue_51_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_PACKETS_IN_FLIGHT_input_is_acb_queue_51_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_PACKETS_IN_FLIGHT_input_is_acb_queue_51_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_PACKETS_IN_FLIGHT_input_is_acb_queue_51_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_51_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_51_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_52_PACKETS_IN_FLIGHT - ACB Queue 52 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_52_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_52_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_52_PACKETS_IN_FLIGHT :: input_is_acb_queue_52_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_PACKETS_IN_FLIGHT_input_is_acb_queue_52_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_PACKETS_IN_FLIGHT_input_is_acb_queue_52_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_PACKETS_IN_FLIGHT_input_is_acb_queue_52_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_52_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_52_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_53_PACKETS_IN_FLIGHT - ACB Queue 53 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_53_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_53_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_53_PACKETS_IN_FLIGHT :: input_is_acb_queue_53_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_PACKETS_IN_FLIGHT_input_is_acb_queue_53_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_PACKETS_IN_FLIGHT_input_is_acb_queue_53_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_PACKETS_IN_FLIGHT_input_is_acb_queue_53_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_53_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_53_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_54_PACKETS_IN_FLIGHT - ACB Queue 54 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_54_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_54_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_54_PACKETS_IN_FLIGHT :: input_is_acb_queue_54_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_PACKETS_IN_FLIGHT_input_is_acb_queue_54_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_PACKETS_IN_FLIGHT_input_is_acb_queue_54_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_PACKETS_IN_FLIGHT_input_is_acb_queue_54_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_54_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_54_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_55_PACKETS_IN_FLIGHT - ACB Queue 55 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_55_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_55_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_55_PACKETS_IN_FLIGHT :: input_is_acb_queue_55_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_PACKETS_IN_FLIGHT_input_is_acb_queue_55_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_PACKETS_IN_FLIGHT_input_is_acb_queue_55_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_PACKETS_IN_FLIGHT_input_is_acb_queue_55_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_55_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_55_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_56_PACKETS_IN_FLIGHT - ACB Queue 56 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_56_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_56_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_56_PACKETS_IN_FLIGHT :: input_is_acb_queue_56_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_PACKETS_IN_FLIGHT_input_is_acb_queue_56_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_PACKETS_IN_FLIGHT_input_is_acb_queue_56_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_PACKETS_IN_FLIGHT_input_is_acb_queue_56_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_56_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_56_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_57_PACKETS_IN_FLIGHT - ACB Queue 57 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_57_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_57_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_57_PACKETS_IN_FLIGHT :: input_is_acb_queue_57_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_PACKETS_IN_FLIGHT_input_is_acb_queue_57_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_PACKETS_IN_FLIGHT_input_is_acb_queue_57_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_PACKETS_IN_FLIGHT_input_is_acb_queue_57_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_57_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_57_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_58_PACKETS_IN_FLIGHT - ACB Queue 58 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_58_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_58_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_58_PACKETS_IN_FLIGHT :: input_is_acb_queue_58_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_PACKETS_IN_FLIGHT_input_is_acb_queue_58_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_PACKETS_IN_FLIGHT_input_is_acb_queue_58_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_PACKETS_IN_FLIGHT_input_is_acb_queue_58_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_58_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_58_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_59_PACKETS_IN_FLIGHT - ACB Queue 59 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_59_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_59_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_59_PACKETS_IN_FLIGHT :: input_is_acb_queue_59_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_PACKETS_IN_FLIGHT_input_is_acb_queue_59_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_PACKETS_IN_FLIGHT_input_is_acb_queue_59_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_PACKETS_IN_FLIGHT_input_is_acb_queue_59_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_59_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_59_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_60_PACKETS_IN_FLIGHT - ACB Queue 60 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_60_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_60_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_60_PACKETS_IN_FLIGHT :: input_is_acb_queue_60_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_PACKETS_IN_FLIGHT_input_is_acb_queue_60_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_PACKETS_IN_FLIGHT_input_is_acb_queue_60_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_PACKETS_IN_FLIGHT_input_is_acb_queue_60_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_60_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_60_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_61_PACKETS_IN_FLIGHT - ACB Queue 61 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_61_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_61_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_61_PACKETS_IN_FLIGHT :: input_is_acb_queue_61_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_PACKETS_IN_FLIGHT_input_is_acb_queue_61_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_PACKETS_IN_FLIGHT_input_is_acb_queue_61_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_PACKETS_IN_FLIGHT_input_is_acb_queue_61_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_61_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_61_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_62_PACKETS_IN_FLIGHT - ACB Queue 62 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_62_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_62_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_62_PACKETS_IN_FLIGHT :: input_is_acb_queue_62_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_PACKETS_IN_FLIGHT_input_is_acb_queue_62_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_PACKETS_IN_FLIGHT_input_is_acb_queue_62_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_PACKETS_IN_FLIGHT_input_is_acb_queue_62_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_62_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_62_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

/***************************************************************************
 *ACB_QUEUE_63_PACKETS_IN_FLIGHT - ACB Queue 63 Packets In Flight Register
 ***************************************************************************/
/* SWITCH_ACB :: ACB_QUEUE_63_PACKETS_IN_FLIGHT :: reserved0 [31:11] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_PACKETS_IN_FLIGHT_reserved0_MASK 0xfffff800
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_PACKETS_IN_FLIGHT_reserved0_SHIFT 11

/* union - case input_is_acb_queue_63_packets_in_flight [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_63_PACKETS_IN_FLIGHT :: input_is_acb_queue_63_packets_in_flight :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_PACKETS_IN_FLIGHT_input_is_acb_queue_63_packets_in_flight_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_PACKETS_IN_FLIGHT_input_is_acb_queue_63_packets_in_flight_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_PACKETS_IN_FLIGHT_input_is_acb_queue_63_packets_in_flight_pktlen_DEFAULT 0x00000000

/* union - case input_is_gisb [10:00] */
/* SWITCH_ACB :: ACB_QUEUE_63_PACKETS_IN_FLIGHT :: input_is_gisb :: pktlen [10:00] */
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_MASK 0x000007ff
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_SHIFT 0
#define BCHP_SWITCH_ACB_ACB_QUEUE_63_PACKETS_IN_FLIGHT_input_is_gisb_pktlen_DEFAULT 0x00000000

#endif /* #ifndef BCHP_SWITCH_ACB_H__ */

/* End of File */
