// Copyright (c) 2014 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 _MPROT_TX_PHY_DESC_H_
#define _MPROT_TX_PHY_DESC_H_
#if !defined(__ASSEMBLER__)
#endif

// ################ START SUMMARY #################
//
//	Dword	Fields
//	0-1	struct pre_tx_phy_desc pre_tx_phy_desc_20;
//	2-3	struct pre_tx_phy_desc pre_tx_phy_desc_40;
//	4-5	struct pre_tx_phy_desc pre_tx_phy_desc_80;
//	6-7	struct pre_tx_phy_desc pre_tx_phy_desc_160;
//	8	mprot_tx_antenna_sector_ctrl_20[23:0], reserved_8[31:24]
//	9	mprot_tx_antenna_sector_ctrl_40[23:0], reserved_9[31:24]
//	10	mprot_tx_antenna_sector_ctrl_80[23:0], reserved_10[31:24]
//	11	mprot_tx_antenna_sector_ctrl_160[23:0], reserved_11[31:24]
//
// ################ END SUMMARY #################

#define NUM_OF_DWORDS_MPROT_TX_PHY_DESC 12

struct mprot_tx_phy_desc {
    struct            pre_tx_phy_desc                       pre_tx_phy_desc_20;
    struct            pre_tx_phy_desc                       pre_tx_phy_desc_40;
    struct            pre_tx_phy_desc                       pre_tx_phy_desc_80;
    struct            pre_tx_phy_desc                       pre_tx_phy_desc_160;
    volatile uint32_t mprot_tx_antenna_sector_ctrl_20 : 24, //[23:0]
                      reserved_8                      :  8; //[31:24]
    volatile uint32_t mprot_tx_antenna_sector_ctrl_40 : 24, //[23:0]
                      reserved_9                      :  8; //[31:24]
    volatile uint32_t mprot_tx_antenna_sector_ctrl_80 : 24, //[23:0]
                      reserved_10                     :  8; //[31:24]
    volatile uint32_t mprot_tx_antenna_sector_ctrl_160: 24, //[23:0]
                      reserved_11                     :  8; //[31:24]
};

/*

struct pre_tx_phy_desc pre_tx_phy_desc_20
			
			Field only valid in case 20MH medium protection allowed
			(Mprot_allow_bw20 is set)
			
			
			
			See structure description of: PRE_TX_PHY_DESC 

struct pre_tx_phy_desc pre_tx_phy_desc_40
			
			Field only valid in case 40MH medium protection allowed
			(Mprot_allow_bw40 is set)
			
			
			
			See structure description of: PRE_TX_PHY_DESC 

struct pre_tx_phy_desc pre_tx_phy_desc_80
			
			Field only valid in case 80MH medium protection allowed
			(Mprot_allow_bw80 is set)
			
			
			
			See structure description of: PRE_TX_PHY_DESC 

struct pre_tx_phy_desc pre_tx_phy_desc_160
			
			Field only valid in case 160MH medium protection allowed
			(Mprot_allow_bw160 is set)
			
			
			
			See structure description of: PRE_TX_PHY_DESC 

mprot_tx_antenna_sector_ctrl_20
			
			Sectored transmit antenna control for the medium
			protection frame when transmitted at 20 MHz. <legal all>

reserved_8
			
			<legal 0>

mprot_tx_antenna_sector_ctrl_40
			
			Sectored transmit antenna control for the medium
			protection frame when transmitted at 40 MHz. <legal all>

reserved_9
			
			<legal 0>

mprot_tx_antenna_sector_ctrl_80
			
			Sectored transmit antenna control for the medium
			protection frame when transmitted at 80 MHz. <legal all>

reserved_10
			
			<legal 0>

mprot_tx_antenna_sector_ctrl_160
			
			Sectored transmit antenna control for the medium
			protection frame when transmitted at 160 MHz. <legal all>

reserved_11
			
			<legal 0>
*/

#define MPROT_TX_PHY_DESC_0_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_20_OFFSET 0x00000000
#define MPROT_TX_PHY_DESC_0_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_20_LSB   24
#define MPROT_TX_PHY_DESC_0_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_20_MASK  0xffffffff
#define MPROT_TX_PHY_DESC_1_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_20_OFFSET 0x00000004
#define MPROT_TX_PHY_DESC_1_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_20_LSB   24
#define MPROT_TX_PHY_DESC_1_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_20_MASK  0xffffffff
#define MPROT_TX_PHY_DESC_2_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_40_OFFSET 0x00000008
#define MPROT_TX_PHY_DESC_2_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_40_LSB   24
#define MPROT_TX_PHY_DESC_2_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_40_MASK  0xffffffff
#define MPROT_TX_PHY_DESC_3_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_40_OFFSET 0x0000000c
#define MPROT_TX_PHY_DESC_3_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_40_LSB   24
#define MPROT_TX_PHY_DESC_3_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_40_MASK  0xffffffff
#define MPROT_TX_PHY_DESC_4_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_80_OFFSET 0x00000010
#define MPROT_TX_PHY_DESC_4_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_80_LSB   24
#define MPROT_TX_PHY_DESC_4_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_80_MASK  0xffffffff
#define MPROT_TX_PHY_DESC_5_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_80_OFFSET 0x00000014
#define MPROT_TX_PHY_DESC_5_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_80_LSB   24
#define MPROT_TX_PHY_DESC_5_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_80_MASK  0xffffffff
#define MPROT_TX_PHY_DESC_6_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_160_OFFSET 0x00000018
#define MPROT_TX_PHY_DESC_6_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_160_LSB  24
#define MPROT_TX_PHY_DESC_6_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_160_MASK 0xffffffff
#define MPROT_TX_PHY_DESC_7_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_160_OFFSET 0x0000001c
#define MPROT_TX_PHY_DESC_7_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_160_LSB  24
#define MPROT_TX_PHY_DESC_7_PRE_TX_PHY_DESC_PRE_TX_PHY_DESC_160_MASK 0xffffffff

/* Description		MPROT_TX_PHY_DESC_8_MPROT_TX_ANTENNA_SECTOR_CTRL_20
			
			Sectored transmit antenna control for the medium
			protection frame when transmitted at 20 MHz. <legal all>
*/
#define MPROT_TX_PHY_DESC_8_MPROT_TX_ANTENNA_SECTOR_CTRL_20_OFFSET   0x00000020
#define MPROT_TX_PHY_DESC_8_MPROT_TX_ANTENNA_SECTOR_CTRL_20_LSB      0
#define MPROT_TX_PHY_DESC_8_MPROT_TX_ANTENNA_SECTOR_CTRL_20_MASK     0x00ffffff

/* Description		MPROT_TX_PHY_DESC_8_RESERVED_8
			
			<legal 0>
*/
#define MPROT_TX_PHY_DESC_8_RESERVED_8_OFFSET                        0x00000020
#define MPROT_TX_PHY_DESC_8_RESERVED_8_LSB                           24
#define MPROT_TX_PHY_DESC_8_RESERVED_8_MASK                          0xff000000

/* Description		MPROT_TX_PHY_DESC_9_MPROT_TX_ANTENNA_SECTOR_CTRL_40
			
			Sectored transmit antenna control for the medium
			protection frame when transmitted at 40 MHz. <legal all>
*/
#define MPROT_TX_PHY_DESC_9_MPROT_TX_ANTENNA_SECTOR_CTRL_40_OFFSET   0x00000024
#define MPROT_TX_PHY_DESC_9_MPROT_TX_ANTENNA_SECTOR_CTRL_40_LSB      0
#define MPROT_TX_PHY_DESC_9_MPROT_TX_ANTENNA_SECTOR_CTRL_40_MASK     0x00ffffff

/* Description		MPROT_TX_PHY_DESC_9_RESERVED_9
			
			<legal 0>
*/
#define MPROT_TX_PHY_DESC_9_RESERVED_9_OFFSET                        0x00000024
#define MPROT_TX_PHY_DESC_9_RESERVED_9_LSB                           24
#define MPROT_TX_PHY_DESC_9_RESERVED_9_MASK                          0xff000000

/* Description		MPROT_TX_PHY_DESC_10_MPROT_TX_ANTENNA_SECTOR_CTRL_80
			
			Sectored transmit antenna control for the medium
			protection frame when transmitted at 80 MHz. <legal all>
*/
#define MPROT_TX_PHY_DESC_10_MPROT_TX_ANTENNA_SECTOR_CTRL_80_OFFSET  0x00000028
#define MPROT_TX_PHY_DESC_10_MPROT_TX_ANTENNA_SECTOR_CTRL_80_LSB     0
#define MPROT_TX_PHY_DESC_10_MPROT_TX_ANTENNA_SECTOR_CTRL_80_MASK    0x00ffffff

/* Description		MPROT_TX_PHY_DESC_10_RESERVED_10
			
			<legal 0>
*/
#define MPROT_TX_PHY_DESC_10_RESERVED_10_OFFSET                      0x00000028
#define MPROT_TX_PHY_DESC_10_RESERVED_10_LSB                         24
#define MPROT_TX_PHY_DESC_10_RESERVED_10_MASK                        0xff000000

/* Description		MPROT_TX_PHY_DESC_11_MPROT_TX_ANTENNA_SECTOR_CTRL_160
			
			Sectored transmit antenna control for the medium
			protection frame when transmitted at 160 MHz. <legal all>
*/
#define MPROT_TX_PHY_DESC_11_MPROT_TX_ANTENNA_SECTOR_CTRL_160_OFFSET 0x0000002c
#define MPROT_TX_PHY_DESC_11_MPROT_TX_ANTENNA_SECTOR_CTRL_160_LSB    0
#define MPROT_TX_PHY_DESC_11_MPROT_TX_ANTENNA_SECTOR_CTRL_160_MASK   0x00ffffff

/* Description		MPROT_TX_PHY_DESC_11_RESERVED_11
			
			<legal 0>
*/
#define MPROT_TX_PHY_DESC_11_RESERVED_11_OFFSET                      0x0000002c
#define MPROT_TX_PHY_DESC_11_RESERVED_11_LSB                         24
#define MPROT_TX_PHY_DESC_11_RESERVED_11_MASK                        0xff000000


#endif // _MPROT_TX_PHY_DESC_H_
