// Copyright (c) 2013 Qualcomm Atheros, Inc.  All rights reserved.
// $ATH_LICENSE_HW_HDR_C$
//
// DO NOT EDIT!  This file is automatically generated
//               These definitions are tied to a particular hardware layout


#ifndef _TX_PKT_END_H_
#define _TX_PKT_END_H_
#if !defined(__ASSEMBLER__)
#endif

// ################ START SUMMARY #################
//
//	Dword	Fields
//	0	status[7:0], user_mask[11:8], reserved[31:12]
//
// ################ END SUMMARY #################

#define NUM_OF_DWORDS_TX_PKT_END 1

struct tx_pkt_end {
    volatile uint32_t status                          :  8, //[7:0]
                      user_mask                       :  4, //[11:8]
                      reserved                        : 20; //[31:12]
};

/*

status
			
			Reason for early termination of TX packet by the PHY 
			
			<enum 1    error_tx_underrun> PHY ran out of transmit
			data due to transmit underrun - this field is user-specific
			(see user_mask field)
			
			<enum 2    error_tx_chain_mask_zero>
			
			<enum 3    error_tx_extra_sym_mismatch>
			
			<enum 4    error_tx_vht_length_not_multiple_of_3>
			
			<enum 5    error_tx_bw_is_gt_dyn_bw>
			
			<enum 6  error_tx_11b_rate_illegal>
			
			<enum 7  error_tx_legacy_rate_illegal>
			
			<enum 8  error_tx_ht_rate_illegal>
			
			<enum 9  error_tx_vht_rate_illegal>
			
			<enum 10  error_tx_overflow>
			
			<enum 11 error_mac_tx_abort>
			
			<enum 12 error_mac_rf_only_abort>
			
			<enum 13 error_unsupported_cbf>
			
			<enum 14 error_cv_static_bandwidth_mismatch>
			
			<enum 15 error_cv_dynamic_bandwidth_mismatch>
			
			<enum 16 error_cv_unsupported_nss_total>
			
			<enum 17 error_nss_bf_params_mismatch>
			
			<enum 18 error_txbf_fail>
			
			<enum 19 error_illegal_nss>
			
			<enum 20 error_otp_txbf> Set if bf_type is LEGACY_BF
			when OTP_IMPLBF_DISABLE = 1 or if bf_type is MU_BF when
			OTP_MUBFER_DISABLE = 1<legal 1-20>

user_mask
			
			Indicates which hardware users this message relates to.
			This field is only valid for error conditions that are
			user-specific.
			
			
			
			<legal 0-7>

reserved
			
			Reserved: Set to 0 and ignored on receive  <legal 0>
*/


/* Description		TX_PKT_END_0_STATUS
			
			Reason for early termination of TX packet by the PHY 
			
			<enum 1    error_tx_underrun> PHY ran out of transmit
			data due to transmit underrun - this field is user-specific
			(see user_mask field)
			
			<enum 2    error_tx_chain_mask_zero>
			
			<enum 3    error_tx_extra_sym_mismatch>
			
			<enum 4    error_tx_vht_length_not_multiple_of_3>
			
			<enum 5    error_tx_bw_is_gt_dyn_bw>
			
			<enum 6  error_tx_11b_rate_illegal>
			
			<enum 7  error_tx_legacy_rate_illegal>
			
			<enum 8  error_tx_ht_rate_illegal>
			
			<enum 9  error_tx_vht_rate_illegal>
			
			<enum 10  error_tx_overflow>
			
			<enum 11 error_mac_tx_abort>
			
			<enum 12 error_mac_rf_only_abort>
			
			<enum 13 error_unsupported_cbf>
			
			<enum 14 error_cv_static_bandwidth_mismatch>
			
			<enum 15 error_cv_dynamic_bandwidth_mismatch>
			
			<enum 16 error_cv_unsupported_nss_total>
			
			<enum 17 error_nss_bf_params_mismatch>
			
			<enum 18 error_txbf_fail>
			
			<enum 19 error_illegal_nss>
			
			<enum 20 error_otp_txbf> Set if bf_type is LEGACY_BF
			when OTP_IMPLBF_DISABLE = 1 or if bf_type is MU_BF when
			OTP_MUBFER_DISABLE = 1<legal 1-20>
*/
#define TX_PKT_END_0_STATUS_OFFSET                                   0x00000000
#define TX_PKT_END_0_STATUS_LSB                                      0
#define TX_PKT_END_0_STATUS_MASK                                     0x000000ff

/* Description		TX_PKT_END_0_USER_MASK
			
			Indicates which hardware users this message relates to.
			This field is only valid for error conditions that are
			user-specific.
			
			
			
			<legal 0-7>
*/
#define TX_PKT_END_0_USER_MASK_OFFSET                                0x00000000
#define TX_PKT_END_0_USER_MASK_LSB                                   8
#define TX_PKT_END_0_USER_MASK_MASK                                  0x00000f00

/* Description		TX_PKT_END_0_RESERVED
			
			Reserved: Set to 0 and ignored on receive  <legal 0>
*/
#define TX_PKT_END_0_RESERVED_OFFSET                                 0x00000000
#define TX_PKT_END_0_RESERVED_LSB                                    12
#define TX_PKT_END_0_RESERVED_MASK                                   0xfffff000


#endif // _TX_PKT_END_H_
