carl9170 firmware: implement endpoint halt req/clear and get endpoint status
[carl9170fw.git] / include / shared / hw.h
index 5ac73819c0b3f2b17225c67a58f62bb136920a29..139ded8dc6a402d1efe179cb40108452d9ecd22b 100644 (file)
 #define                AR9170_MAC_SNIFFER_ENABLE_PROMISC       BIT(0)
 #define                AR9170_MAC_SNIFFER_DEFAULTS             0x02000000
 #define        AR9170_MAC_REG_ENCRYPTION               (AR9170_MAC_REG_BASE + 0x678)
+#define                AR9170_MAC_ENCRYPTION_MGMT_RX_SOFTWARE  BIT(2)
 #define                AR9170_MAC_ENCRYPTION_RX_SOFTWARE       BIT(3)
 #define                AR9170_MAC_ENCRYPTION_DEFAULTS          0x70
 
 
 #define        AR9170_MAC_REG_BCN_ADDR                 (AR9170_MAC_REG_BASE + 0xd84)
 #define        AR9170_MAC_REG_BCN_LENGTH               (AR9170_MAC_REG_BASE + 0xd88)
-#define                AR9170_MAC_BCN_LENGTH_MAX               256
+#define                AR9170_MAC_BCN_LENGTH_MAX               (512 - 32)
 
 #define AR9170_MAC_REG_BCN_STATUS              (AR9170_MAC_REG_BASE + 0xd8c)
 
 
 #define AR9170_MAC_REG_BCN_CURR_ADDR           (AR9170_MAC_REG_BASE + 0xd98)
 #define        AR9170_MAC_REG_BCN_COUNT                (AR9170_MAC_REG_BASE + 0xd9c)
-
-
 #define        AR9170_MAC_REG_BCN_HT1                  (AR9170_MAC_REG_BASE + 0xda0)
+#define                AR9170_MAC_BCN_HT1_HT_EN                BIT(0)
+#define                AR9170_MAC_BCN_HT1_GF_PMB               BIT(1)
+#define                AR9170_MAC_BCN_HT1_SP_EXP               BIT(2)
+#define                AR9170_MAC_BCN_HT1_TX_BF                BIT(3)
+#define                AR9170_MAC_BCN_HT1_PWR_CTRL_S           4
+#define                AR9170_MAC_BCN_HT1_PWR_CTRL             0x70
+#define                AR9170_MAC_BCN_HT1_TX_ANT1              BIT(7)
+#define                AR9170_MAC_BCN_HT1_TX_ANT0              BIT(8)
+#define                AR9170_MAC_BCN_HT1_NUM_LFT_S            9
+#define                AR9170_MAC_BCN_HT1_NUM_LFT              0x600
+#define                AR9170_MAC_BCN_HT1_BWC_20M_EXT          BIT(16)
+#define                AR9170_MAC_BCN_HT1_BWC_40M_SHARED       BIT(17)
+#define                AR9170_MAC_BCN_HT1_BWC_40M_DUP          (BIT(16) | BIT(17))
+#define                AR9170_MAC_BCN_HT1_BF_MCS_S             18
+#define                AR9170_MAC_BCN_HT1_BF_MCS               0x1c0000
+#define                AR9170_MAC_BCN_HT1_TPC_S                21
+#define                AR9170_MAC_BCN_HT1_TPC                  0x7e00000
+#define                AR9170_MAC_BCN_HT1_CHAIN_MASK_S         27
+#define                AR9170_MAC_BCN_HT1_CHAIN_MASK           0x38000000
+
 #define        AR9170_MAC_REG_BCN_HT2                  (AR9170_MAC_REG_BASE + 0xda4)
+#define                AR9170_MAC_BCN_HT2_MCS_S                0
+#define                AR9170_MAC_BCN_HT2_MCS                  0x7f
+#define                AR9170_MAC_BCN_HT2_BW40                 BIT(8)
+#define                AR9170_MAC_BCN_HT2_SMOOTHING            BIT(9)
+#define                AR9170_MAC_BCN_HT2_SS                   BIT(10)
+#define                AR9170_MAC_BCN_HT2_NSS                  BIT(11)
+#define                AR9170_MAC_BCN_HT2_STBC_S               12
+#define                AR9170_MAC_BCN_HT2_STBC                 0x3000
+#define                AR9170_MAC_BCN_HT2_ADV_COD              BIT(14)
+#define                AR9170_MAC_BCN_HT2_SGI                  BIT(15)
+#define                AR9170_MAC_BCN_HT2_LEN_S                16
+#define                AR9170_MAC_BCN_HT2_LEN                  0xffff0000
 
 #define        AR9170_MAC_REG_DMA_TXQX_ADDR_CURR       (AR9170_MAC_REG_BASE + 0xdc0)
 
 #define        AR9170_USB_REG_EP10_MAP                 (AR9170_USB_REG_BASE + 0x039)
 
 #define        AR9170_USB_REG_EP_IN_MAX_SIZE_HIGH      (AR9170_USB_REG_BASE + 0x03f)
+#define                AR9170_USB_EP_IN_STALL                  0x8
 #define                AR9170_USB_EP_IN_TOGGLE                 0x10
 
 #define        AR9170_USB_REG_EP_IN_MAX_SIZE_LOW       (AR9170_USB_REG_BASE + 0x03e)
 
 #define        AR9170_USB_REG_EP_OUT_MAX_SIZE_HIGH     (AR9170_USB_REG_BASE + 0x05f)
+#define                AR9170_USB_EP_OUT_STALL                 0x8
 #define                AR9170_USB_EP_OUT_TOGGLE                0x10
 
 #define        AR9170_USB_REG_EP_OUT_MAX_SIZE_LOW      (AR9170_USB_REG_BASE + 0x05e)