Lines Matching +full:0 +full:x00780000
19 REPLY_ALIVE = 0x1,
20 REPLY_ERROR = 0x2,
21 REPLY_ECHO = 0x3, /* test command */
24 REPLY_RXON = 0x10,
25 REPLY_RXON_ASSOC = 0x11,
26 REPLY_QOS_PARAM = 0x13,
27 REPLY_RXON_TIMING = 0x14,
30 REPLY_ADD_STA = 0x18,
31 REPLY_REMOVE_STA = 0x19,
32 REPLY_REMOVE_ALL_STA = 0x1a, /* not used */
33 REPLY_TXFIFO_FLUSH = 0x1e,
36 REPLY_WEPKEY = 0x20,
39 REPLY_TX = 0x1c,
40 REPLY_LEDS_CMD = 0x48,
41 REPLY_TX_LINK_QUALITY_CMD = 0x4e,
44 COEX_PRIORITY_TABLE_CMD = 0x5a,
45 COEX_MEDIUM_NOTIFICATION = 0x5b,
46 COEX_EVENT_CMD = 0x5c,
49 TEMPERATURE_NOTIFICATION = 0x62,
50 CALIBRATION_CFG_CMD = 0x65,
51 CALIBRATION_RES_NOTIFICATION = 0x66,
52 CALIBRATION_COMPLETE_NOTIFICATION = 0x67,
55 REPLY_QUIET_CMD = 0x71, /* not used */
56 REPLY_CHANNEL_SWITCH = 0x72,
57 CHANNEL_SWITCH_NOTIFICATION = 0x73,
58 REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74,
59 SPECTRUM_MEASURE_NOTIFICATION = 0x75,
62 POWER_TABLE_CMD = 0x77,
63 PM_SLEEP_NOTIFICATION = 0x7A,
64 PM_DEBUG_STATISTIC_NOTIFIC = 0x7B,
67 REPLY_SCAN_CMD = 0x80,
68 REPLY_SCAN_ABORT_CMD = 0x81,
69 SCAN_START_NOTIFICATION = 0x82,
70 SCAN_RESULTS_NOTIFICATION = 0x83,
71 SCAN_COMPLETE_NOTIFICATION = 0x84,
74 BEACON_NOTIFICATION = 0x90,
75 REPLY_TX_BEACON = 0x91,
76 WHO_IS_AWAKE_NOTIFICATION = 0x94, /* not used */
79 REPLY_TX_POWER_DBM_CMD = 0x95,
80 QUIET_NOTIFICATION = 0x96, /* not used */
81 REPLY_TX_PWR_TABLE_CMD = 0x97,
82 REPLY_TX_POWER_DBM_CMD_V1 = 0x98, /* old version of API */
83 TX_ANT_CONFIGURATION_CMD = 0x98,
84 MEASURE_ABORT_NOTIFICATION = 0x99, /* not used */
87 REPLY_BT_CONFIG = 0x9b,
90 REPLY_STATISTICS_CMD = 0x9c,
91 STATISTICS_NOTIFICATION = 0x9d,
94 REPLY_CARD_STATE_CMD = 0xa0,
95 CARD_STATE_NOTIFICATION = 0xa1,
98 MISSED_BEACONS_NOTIFICATION = 0xa2,
100 REPLY_CT_KILL_CONFIG_CMD = 0xa4,
101 SENSITIVITY_CMD = 0xa8,
102 REPLY_PHY_CALIBRATION_CMD = 0xb0,
103 REPLY_RX_PHY_CMD = 0xc0,
104 REPLY_RX_MPDU_CMD = 0xc1,
105 REPLY_RX = 0xc3,
106 REPLY_COMPRESSED_BA = 0xc5,
109 REPLY_BT_COEX_PRIO_TABLE = 0xcc,
110 REPLY_BT_COEX_PROT_ENV = 0xcd,
111 REPLY_BT_COEX_PROFILE_NOTIF = 0xce,
114 REPLY_WIPAN_PARAMS = 0xb2,
115 REPLY_WIPAN_RXON = 0xb3, /* use REPLY_RXON structure */
116 REPLY_WIPAN_RXON_TIMING = 0xb4, /* use REPLY_RXON_TIMING structure */
117 REPLY_WIPAN_RXON_ASSOC = 0xb6, /* use REPLY_RXON_ASSOC structure */
118 REPLY_WIPAN_QOS_PARAM = 0xb7, /* use REPLY_QOS_PARAM structure */
119 REPLY_WIPAN_WEPKEY = 0xb8, /* use REPLY_WEPKEY structure */
120 REPLY_WIPAN_P2P_CHANNEL_SWITCH = 0xb9,
121 REPLY_WIPAN_NOA_NOTIFICATION = 0xbc,
122 REPLY_WIPAN_DEACTIVATION_COMPLETE = 0xbd,
124 REPLY_WOWLAN_PATTERNS = 0xe0,
125 REPLY_WOWLAN_WAKEUP_FILTER = 0xe1,
126 REPLY_WOWLAN_TSC_RSC_PARAMS = 0xe2,
127 REPLY_WOWLAN_TKIP_PARAMS = 0xe3,
128 REPLY_WOWLAN_KEK_KCK_MATERIAL = 0xe4,
129 REPLY_WOWLAN_GET_STATUS = 0xe5,
130 REPLY_D3_CONFIG = 0xd3,
132 REPLY_MAX = 0xff
152 #define IWL_TX_FIFO_BK 0 /* shared */
174 * (0)
189 * High-throughput (HT) rate format for bits 7:0 (bit 8 must be "1"):
190 * 2-0: 0) 6 Mbps
199 * 4-3: 0) Single stream (SISO)
203 * 5: Value of 0x20 in bits 7:0 indicates 6 Mbps HT40 duplicate data
205 * Legacy OFDM rate format for bits 7:0 (bit 8 must be "0", bit 9 "0"):
206 * 3-0: 0xD) 6 Mbps
207 * 0xF) 9 Mbps
208 * 0x5) 12 Mbps
209 * 0x7) 18 Mbps
210 * 0x9) 24 Mbps
211 * 0xB) 36 Mbps
212 * 0x1) 48 Mbps
213 * 0x3) 54 Mbps
215 * Legacy CCK rate format for bits 7:0 (bit 8 must be "0", bit 9 "1"):
216 * 6-0: 10) 1 Mbps
221 #define RATE_MCS_CODE_MSK 0x7
223 #define RATE_MCS_SPATIAL_MSK 0x18
225 #define RATE_MCS_HT_DUP_MSK 0x20
226 /* Both legacy and HT use bits 7:0 as the CCK/OFDM rate or HT MCS */
227 #define RATE_MCS_RATE_MSK 0xff
229 /* Bit 8: (1) HT format, (0) legacy format in bits 7:0 */
232 #define RATE_MCS_HT_MSK 0x100
234 /* Bit 9: (1) CCK, (0) OFDM. HT (bit 8) must be "0" for this bit to be valid */
236 #define RATE_MCS_CCK_MSK 0x200
240 #define RATE_MCS_GF_MSK 0x400
242 /* Bit 11: (1) Use 40Mhz HT40 chnl width, (0) use 20 MHz legacy chnl width */
244 #define RATE_MCS_HT40_MSK 0x800
248 #define RATE_MCS_DUP_MSK 0x1000
250 /* Bit 13: (1) Short guard interval (0.4 usec), (0) normal GI (0.8 usec) */
252 #define RATE_MCS_SGI_MSK 0x2000
259 #define RATE_MCS_ANT_A_MSK 0x04000
260 #define RATE_MCS_ANT_B_MSK 0x08000
261 #define RATE_MCS_ANT_C_MSK 0x10000
285 * Command REPLY_TX_POWER_DBM_CMD = 0x98
288 #define IWLAGN_TX_POWER_AUTO 0x7f
289 #define IWLAGN_TX_POWER_NO_CLOSED (0x1 << 6)
299 * Command TX_ANT_CONFIGURATION_CMD = 0x98
309 * (0a)
314 #define UCODE_VALID_OK cpu_to_le32(0x1)
317 * REPLY_ALIVE = 0x1 (response only, not a command)
334 * __le32 type; (1) timestamp with each entry, (0) no timestamp
341 * __le32 event_id; range 0 - 1500
363 u32 valid; /* (nonzero) valid, (0) log is empty */
424 * REPLY_ERROR = 0x2 (response only, not a command)
456 #define RXON_RX_CHAIN_DRIVER_FORCE_MSK cpu_to_le16(0x1 << 0)
457 #define RXON_RX_CHAIN_DRIVER_FORCE_POS (0)
458 #define RXON_RX_CHAIN_VALID_MSK cpu_to_le16(0x7 << 1)
460 #define RXON_RX_CHAIN_FORCE_SEL_MSK cpu_to_le16(0x7 << 4)
462 #define RXON_RX_CHAIN_FORCE_MIMO_SEL_MSK cpu_to_le16(0x7 << 7)
464 #define RXON_RX_CHAIN_CNT_MSK cpu_to_le16(0x3 << 10)
466 #define RXON_RX_CHAIN_MIMO_CNT_MSK cpu_to_le16(0x3 << 12)
468 #define RXON_RX_CHAIN_MIMO_FORCE_MSK cpu_to_le16(0x1 << 14)
473 #define RXON_FLG_BAND_24G_MSK cpu_to_le32(1 << 0)
484 #define RXON_FLG_ANT_SEL_MSK cpu_to_le32(0x0f00)
497 #define RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK cpu_to_le32(0x1 << 22)
501 #define RXON_FLG_HT_PROT_MSK cpu_to_le32(0x1 << 23)
502 #define RXON_FLG_HT40_PROT_MSK cpu_to_le32(0x2 << 23)
505 #define RXON_FLG_CHANNEL_MODE_MSK cpu_to_le32(0x3 << 25)
509 CHANNEL_MODE_LEGACY = 0,
519 #define RXON_FLG_SELF_CTS_EN cpu_to_le32(0x1<<30)
523 #define RXON_FILTER_PROMISC_MSK cpu_to_le32(1 << 0)
538 * REPLY_RXON = 0x10 (command, has simple generic response)
544 * RXON_FILTER_ASSOC_MSK to 0. This will clear station-dependent
551 * issue a new REPLY_TX_PWR_TABLE_CMD after each REPLY_RXON (0x10),
580 * REPLY_RXON_ASSOC = 0x11 (command, has simple generic response)
601 * REPLY_RXON_TIMING = 0x14 (command, has simple generic response)
614 * REPLY_CHANNEL_SWITCH = 0x72 (command, has simple generic response)
618 * @band: 0- 5.2GHz, 1- 2.4GHz
619 * @expect_beacon: 0- resume transmits after channel switch
639 * @band: 0- 5.2GHz, 1- 2.4GHz
640 * @expect_beacon: 0- resume transmits after channel switch
659 * CHANNEL_SWITCH_NOTIFICATION = 0x73 (notification only, not a command)
664 __le32 status; /* 0 - OK, 1 - fail */
678 * Should be a power-of-2, minus 1. Device's default is 0x0f.
680 * Should be a power-of-2, minus 1. Device's default is 0x3f.
683 * @edca_txop: Length of Tx opportunity, in uSecs. Device default is 0.
699 #define QOS_PARAM_FLG_UPDATE_EDCA_MSK cpu_to_le32(0x01)
700 #define QOS_PARAM_FLG_TGN_MSK cpu_to_le32(0x02)
701 #define QOS_PARAM_FLG_TXOP_TYPE_MSK cpu_to_le32(0x10)
703 /* Number of Access Categories (AC) (EDCA), queues 0..3 */
707 * REPLY_QOS_PARAM = 0x13 (command, has simple generic response)
710 * 0: Background, 1: Best Effort, 2: Video, 3: Voice.
727 #define IWL_AP_ID 0
748 /* Use in mode field. 1: modify existing entry, 0: add new station entry */
749 #define STA_CONTROL_MODIFY_MSK 0x01
752 #define STA_KEY_FLG_ENCRYPT_MSK cpu_to_le16(0x0007)
753 #define STA_KEY_FLG_NO_ENC cpu_to_le16(0x0000)
754 #define STA_KEY_FLG_WEP cpu_to_le16(0x0001)
755 #define STA_KEY_FLG_CCMP cpu_to_le16(0x0002)
756 #define STA_KEY_FLG_TKIP cpu_to_le16(0x0003)
759 #define STA_KEY_FLG_INVALID cpu_to_le16(0x0800)
760 /* wep key is either from global key (0) or from station info array (1) */
761 #define STA_KEY_FLG_MAP_KEY_MSK cpu_to_le16(0x0008)
763 /* wep key in STA: 5-bytes (0) or 13-bytes (1) */
764 #define STA_KEY_FLG_KEY_SIZE_MSK cpu_to_le16(0x1000)
765 #define STA_KEY_MULTICAST_MSK cpu_to_le16(0x4000)
769 #define IWLAGN_HW_KEY_DEFAULT 0xfe
772 #define STA_MODIFY_KEY_MASK 0x01
773 #define STA_MODIFY_TID_DISABLE_TX 0x02
774 #define STA_MODIFY_TX_RATE_MSK 0x04
775 #define STA_MODIFY_ADDBA_TID_MSK 0x08
776 #define STA_MODIFY_DELBA_TID_MSK 0x10
777 #define STA_MODIFY_SLEEP_TX_COUNT_MSK 0x20
798 * @modify_mask: STA_MODIFY_*, 1: modify, 0: don't change
803 * Some indexes have special purposes (IWL_AP_ID, index 0, is for AP).
816 * REPLY_ADD_STA = 0x18 (command)
842 u8 mode; /* 1: modify existing, 0: add new station */
849 /* bit field to disable (1) or enable (0) Tx for Traffic ID (TID)
878 #define ADD_STA_SUCCESS_MSK 0x1
879 #define ADD_STA_NO_ROOM_IN_TABLE 0x2
880 #define ADD_STA_NO_BLOCK_ACK_RESOURCE 0x4
881 #define ADD_STA_MODIFY_NON_EXIST_STA 0x8
883 * REPLY_ADD_STA = 0x18 (response)
889 #define REM_STA_SUCCESS_MSK 0x1
891 * REPLY_REM_STA = 0x19 (response)
898 * REPLY_REM_STA = 0x19 (command)
909 #define IWL_SCD_BK_MSK BIT(0)
923 #define IWL_AGG_TX_QUEUE_MSK 0xffc00
928 * REPLY_TXFIFO_FLUSH = 0x1e(command and response)
944 * 0: Dump single MSDU
960 * REPLY_WEP_KEY = 0x20
981 #define WEP_INVALID_OFFSET 0xff
991 #define RX_RES_STATUS_NO_CRC32_ERROR cpu_to_le32(1 << 0)
994 #define RX_RES_PHY_FLAGS_BAND_24_MSK cpu_to_le16(1 << 0)
998 #define RX_RES_PHY_FLAGS_ANTENNA_MSK 0x70
1002 #define RX_RES_STATUS_SEC_TYPE_MSK (0x7 << 8)
1003 #define RX_RES_STATUS_SEC_TYPE_NONE (0x0 << 8)
1004 #define RX_RES_STATUS_SEC_TYPE_WEP (0x1 << 8)
1005 #define RX_RES_STATUS_SEC_TYPE_CCMP (0x2 << 8)
1006 #define RX_RES_STATUS_SEC_TYPE_TKIP (0x3 << 8)
1007 #define RX_RES_STATUS_SEC_TYPE_ERR (0x7 << 8)
1012 #define RX_RES_STATUS_DECRYPT_TYPE_MSK (0x3 << 11)
1013 #define RX_RES_STATUS_NOT_DECRYPT (0x0 << 11)
1014 #define RX_RES_STATUS_DECRYPT_OK (0x3 << 11)
1015 #define RX_RES_STATUS_BAD_ICV_MIC (0x1 << 11)
1016 #define RX_RES_STATUS_BAD_KEY_TTAK (0x2 << 11)
1018 #define RX_MPDU_RES_STATUS_ICV_OK (0x20)
1019 #define RX_MPDU_RES_STATUS_MIC_OK (0x40)
1021 #define RX_MPDU_RES_STATUS_DEC_DONE_MSK (0x800)
1028 #define IWLAGN_OFDM_AGC_MSK 0xfe00
1030 #define IWLAGN_OFDM_RSSI_INBAND_A_BITMSK 0x00ff
1031 #define IWLAGN_OFDM_RSSI_ALLBAND_A_BITMSK 0xff00
1032 #define IWLAGN_OFDM_RSSI_A_BIT_POS 0
1033 #define IWLAGN_OFDM_RSSI_INBAND_B_BITMSK 0xff0000
1034 #define IWLAGN_OFDM_RSSI_ALLBAND_B_BITMSK 0xff000000
1036 #define IWLAGN_OFDM_RSSI_INBAND_C_BITMSK 0x00ff
1037 #define IWLAGN_OFDM_RSSI_ALLBAND_C_BITMSK 0xff00
1038 #define IWLAGN_OFDM_RSSI_C_BIT_POS 0
1046 * REPLY_RX = 0xc3 (response only, not a command)
1101 #define TX_CMD_FLG_PROT_REQUIRE_MSK cpu_to_le32(1 << 0)
1104 * 0: Don't expect ACK (MAC header's duration field s/b 0)
1112 * 0: Use Tx rate/MCS from Tx command's rate_n_flags field.
1120 /* Tx antenna selection field; reserved (0) for agn devices. */
1121 #define TX_CMD_FLG_ANT_SEL_MSK cpu_to_le32(0xf00)
1124 * 0: Delay Tx until Bluetooth device is done (normal usage). */
1128 * 0: Driver provides sequence control field in MAC header.
1134 * 0: Last fragment, or not using fragmentation. */
1138 * 0: No TSF required in outgoing frame.
1144 * 0: No pad
1151 * 0 - no CCMP encryption; 1 - CCMP encryption */
1161 #define TX_CMD_SEC_WEP 0x01
1162 #define TX_CMD_SEC_CCM 0x02
1163 #define TX_CMD_SEC_TKIP 0x03
1164 #define TX_CMD_SEC_MSK 0x03
1166 #define TX_CMD_SEC_KEY128 0x08
1169 * REPLY_TX = 0x1c (command)
1174 * Driver should set these fields to 0.
1198 * Same as "len", but for next frame. Set to 0 if not applicable.
1219 * Tx attempt, if TX_CMD_FLG_STA_RATE_MSK is set. Normally "0" for
1221 * rate (via non-0 value) for special frames (e.g. management), while
1235 * Must be dword aligned. "0" in dram_lsb_ptr disables usage. */
1271 TX_STATUS_SUCCESS = 0x01,
1272 TX_STATUS_DIRECT_DONE = 0x02,
1274 TX_STATUS_POSTPONE_DELAY = 0x40,
1275 TX_STATUS_POSTPONE_FEW_BYTES = 0x41,
1276 TX_STATUS_POSTPONE_BT_PRIO = 0x42,
1277 TX_STATUS_POSTPONE_QUIET_PERIOD = 0x43,
1278 TX_STATUS_POSTPONE_CALC_TTAK = 0x44,
1280 TX_STATUS_FAIL_INTERNAL_CROSSED_RETRY = 0x81,
1281 TX_STATUS_FAIL_SHORT_LIMIT = 0x82,
1282 TX_STATUS_FAIL_LONG_LIMIT = 0x83,
1283 TX_STATUS_FAIL_FIFO_UNDERRUN = 0x84,
1284 TX_STATUS_FAIL_DRAIN_FLOW = 0x85,
1285 TX_STATUS_FAIL_RFKILL_FLUSH = 0x86,
1286 TX_STATUS_FAIL_LIFE_EXPIRE = 0x87,
1287 TX_STATUS_FAIL_DEST_PS = 0x88,
1288 TX_STATUS_FAIL_HOST_ABORTED = 0x89,
1289 TX_STATUS_FAIL_BT_RETRY = 0x8a,
1290 TX_STATUS_FAIL_STA_INVALID = 0x8b,
1291 TX_STATUS_FAIL_FRAG_DROPPED = 0x8c,
1292 TX_STATUS_FAIL_TID_DISABLE = 0x8d,
1293 TX_STATUS_FAIL_FIFO_FLUSHED = 0x8e,
1294 TX_STATUS_FAIL_INSUFFICIENT_CF_POLL = 0x8f,
1295 TX_STATUS_FAIL_PASSIVE_NO_RX = 0x90,
1296 TX_STATUS_FAIL_NO_BEACON_ON_RADAR = 0x91,
1299 #define TX_PACKET_MODE_REGULAR 0x0000
1300 #define TX_PACKET_MODE_BURST_SEQ 0x0100
1301 #define TX_PACKET_MODE_BURST_FIRST 0x0200
1304 TX_POWER_PA_NOT_ACTIVE = 0x0,
1308 TX_STATUS_MSK = 0x000000ff, /* bits 0:7 */
1309 TX_STATUS_DELAY_MSK = 0x00000040,
1310 TX_STATUS_ABORT_MSK = 0x00000080,
1311 TX_PACKET_MODE_MSK = 0x0000ff00, /* bits 8:15 */
1312 TX_FIFO_NUMBER_MSK = 0x00070000, /* bits 16:18 */
1313 TX_RESERVED = 0x00780000, /* bits 19:22 */
1314 TX_POWER_PA_DETECT_MSK = 0x7f800000, /* bits 23:30 */
1315 TX_ABORT_REQUIRED_MSK = 0x80000000, /* bits 31:31 */
1323 AGG_TX_STATE_TRANSMITTED = 0x00,
1324 AGG_TX_STATE_UNDERRUN_MSK = 0x01,
1325 AGG_TX_STATE_BT_PRIO_MSK = 0x02,
1326 AGG_TX_STATE_FEW_BYTES_MSK = 0x04,
1327 AGG_TX_STATE_ABORT_MSK = 0x08,
1328 AGG_TX_STATE_LAST_SENT_TTL_MSK = 0x10,
1329 AGG_TX_STATE_LAST_SENT_TRY_CNT_MSK = 0x20,
1330 AGG_TX_STATE_LAST_SENT_BT_KILL_MSK = 0x40,
1331 AGG_TX_STATE_SCD_QUERY_MSK = 0x80,
1332 AGG_TX_STATE_TEST_BAD_CRC32_MSK = 0x100,
1333 AGG_TX_STATE_RESPONSE_MSK = 0x1ff,
1334 AGG_TX_STATE_DUMP_TX_MSK = 0x200,
1335 AGG_TX_STATE_DELAY_TX_MSK = 0x400
1338 #define AGG_TX_STATUS_MSK 0x00000fff /* bits 0:11 */
1339 #define AGG_TX_TRY_MSK 0x0000f000 /* bits 12:15 */
1348 #define AGG_TX_STATE_TRY_CNT_MSK 0xf000
1352 #define AGG_TX_STATE_SEQ_NUM_MSK 0xffff0000
1355 * REPLY_TX = 0x1c (response)
1382 #define IWLAGN_TX_RES_TID_POS 0
1383 #define IWLAGN_TX_RES_TID_MSK 0x0f
1385 #define IWLAGN_TX_RES_RA_MSK 0xf0
1410 u8 ra_tid; /* tid (0:3), sta_id (4:7) */
1417 * 11- 0: AGG_TX_STATE_* status code
1429 * REPLY_COMPRESSED_BA = 0xc5 (response only, not a command)
1451 * REPLY_TX_PWR_TABLE_CMD = 0x97 (command, has simple generic response)
1455 /*RS_NEW_API: only TLC_RTS remains and moved to bit 0 */
1456 #define LINK_QUAL_FLAGS_SET_STA_TLC_RTS_MSK (1 << 0)
1465 #define LINK_QUAL_ANT_A_MSK (1 << 0)
1489 * EDCA QOS access categories (as implemented by tx fifos 0-3),
1492 * Otherwise, driver should set all entries to 0.
1495 * 0 = Background, 1 = Best Effort (normal), 2 = Video, 3 = Voice
1496 * TX FIFOs above 3 use same value (typically 0) as TX FIFO 3.
1507 #define LINK_QUAL_AGG_DISABLE_START_MIN (0)
1511 #define LINK_QUAL_AGG_FRAME_LIMIT_MIN (0)
1536 * 0 = no limit (default). 1 = no aggregation.
1545 * REPLY_TX_LINK_QUALITY_CMD = 0x4e (command, has simple generic response)
1602 * includes a shifting bitmap of success(1)/failure(0), and sums of successful
1710 * A: 0 0 0 0 40 57 72 98 121 154 177 186 186
1711 * SISO 20MHz: 0 0 0 0 42 42 76 102 124 159 183 193 202
1712 * SGI SISO 20MHz: 0 0 0 0 46 46 82 110 132 168 192 202 211
1713 * MIMO 20MHz: 0 0 0 0 74 74 123 155 179 214 236 244 251
1714 * SGI MIMO 20MHz: 0 0 0 0 81 81 131 164 188 222 243 251 257
1715 * SISO 40MHz: 0 0 0 0 77 77 127 160 184 220 242 250 257
1716 * SGI SISO 40MHz: 0 0 0 0 83 83 135 169 193 229 250 257 264
1717 * MIMO 40MHz: 0 0 0 0 123 123 182 214 235 264 279 285 289
1718 * SGI MIMO 40MHz: 0 0 0 0 131 131 191 222 242 270 284 289 293
1754 * bit 0 - 1: BT channel announcement enabled
1755 * 0: disable
1757 * 0: disable
1759 * 0: disable
1761 #define BT_COEX_DISABLE (0x0)
1762 #define BT_ENABLE_CHANNEL_ANNOUNCE BIT(0)
1766 #define BT_COEX_DISABLE (0x0)
1769 #define BT_LEAD_TIME_MIN (0x0)
1770 #define BT_LEAD_TIME_DEF (0x1E)
1771 #define BT_LEAD_TIME_MAX (0xFF)
1773 #define BT_MAX_KILL_MIN (0x1)
1774 #define BT_MAX_KILL_DEF (0x5)
1775 #define BT_MAX_KILL_MAX (0xFF)
1785 #define BT_FRAG_THRESHOLD_DEF 0
1786 #define BT_FRAG_THRESHOLD_MAX 0
1787 #define BT_FRAG_THRESHOLD_MIN 0
1794 * REPLY_BT_CONFIG = 0x9b (command, has simple generic response)
1809 #define IWLAGN_BT_FLAG_CHANNEL_INHIBITION BIT(0)
1813 #define IWLAGN_BT_FLAG_COEX_MODE_DISABLED 0
1825 #define IWLAGN_BT_PRIO_BOOST_MAX 0xFF
1826 #define IWLAGN_BT_PRIO_BOOST_MIN 0x00
1827 #define IWLAGN_BT_PRIO_BOOST_DEFAULT 0xF0
1828 #define IWLAGN_BT_PRIO_BOOST_DEFAULT32 0xF0F0F0F0
1835 IWL_BT_KILL_DEFAULT = 0,
1840 #define IWLAGN_BT_KILL_ACK_MASK_DEFAULT cpu_to_le32(0xffff0000)
1841 #define IWLAGN_BT_KILL_CTS_MASK_DEFAULT cpu_to_le32(0xffff0000)
1842 #define IWLAGN_BT_KILL_ACK_CTS_MASK_SCO cpu_to_le32(0xffffffff)
1843 #define IWLAGN_BT_KILL_ACK_CTS_MASK_REDUCE cpu_to_le32(0)
1847 #define IWLAGN_BT3_T2_DEFAULT 0xc
1849 #define IWLAGN_BT_VALID_ENABLE_FLAGS cpu_to_le16(BIT(0))
1867 #define IWLAGN_BT_REDUCED_TX_PWR BIT(0)
1883 * bit 0: use reduced tx power for control frame
1914 #define IWLAGN_BT_SCO_ACTIVE cpu_to_le32(BIT(0))
1946 * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (command)
1951 u8 id; /* measurement id -- 0 or 1 */
1952 u8 origin; /* 0 = TGh, 1 = other, 2 = TGk */
1965 * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (response)
1969 u8 id; /* id of the prior command replaced, or 0xff */
1970 __le16 status; /* 0 - command will be handled
1976 IWL_MEASUREMENT_START = 0,
1981 IWL_MEASUREMENT_OK = 0,
2005 IWL_MEASURE_BASIC = (1 << 0),
2015 * SPECTRUM_MEASURE_NOTIFICATION = 0x75 (notification only, not a command)
2018 u8 id; /* measurement id -- 0 or 1 */
2021 u8 state; /* 0 - start, 1 - stop */
2023 u8 band; /* 0 - 5.2GHz, 1 - 2.4GHz */
2032 u8 basic_type; /* 0 - bss, 1 - ofdm preamble, 2 -
2050 * POWER_TABLE_CMD = 0x77 (command, has simple generic response)
2053 * bit 0 - '0' Driver not allow power management
2057 * bit 1 - '0' Don't send sleep notification
2061 * bit 2 - '0' PM have to walk up every DTIM
2065 * bit 3 - '0' (PCI_CFG_LINK_CTRL & 0x1)
2066 * '1' !(PCI_CFG_LINK_CTRL & 0x1)
2083 #define IWL_POWER_DRIVER_ALLOW_SLEEP_MSK cpu_to_le16(BIT(0))
2084 #define IWL_POWER_POWER_SAVE_ENA_MSK cpu_to_le16(BIT(0))
2106 * PM_SLEEP_NOTIFICATION = 0x7A (notification only, not a command)
2120 IWL_PM_NO_SLEEP = 0,
2134 * REPLY_CARD_STATE_CMD = 0xa0 (command, has simple generic response)
2136 #define CARD_STATE_CMD_DISABLE 0x00 /* Put card to sleep */
2137 #define CARD_STATE_CMD_ENABLE 0x01 /* Wake up card */
2138 #define CARD_STATE_CMD_HALT 0x02 /* Power down permanently */
2144 * CARD_STATE_NOTIFICATION = 0xa1 (notification only, not a command)
2150 #define HW_CARD_DISABLED 0x01
2151 #define SW_CARD_DISABLED 0x02
2152 #define CT_CARD_DISABLED 0x04
2153 #define RXON_CARD_DISABLED 0x10
2174 #define SCAN_CHANNEL_TYPE_PASSIVE cpu_to_le32(0)
2189 * 1) If using passive_dwell (i.e. passive_dwell != 0):
2190 * active_dwell <= passive_dwell (< max_out_time if max_out_time != 0)
2192 * 3) If restricting off-channel time (i.e. max_out_time !=0):
2200 * 0:0 1 = active, 0 = passive
2231 #define TX_CMD_LIFE_TIME_INFINITE cpu_to_le32(0xFFFFFFFF)
2232 #define IWL_GOOD_CRC_TH_DISABLED 0
2234 #define IWL_GOOD_CRC_TH_NEVER cpu_to_le16(0xffff)
2238 * REPLY_SCAN_CMD = 0x80 (command)
2267 * 9) Sends NULL packet with PS=0 to tell AP that we're back
2291 /* BIT(0) currently unused */
2313 /* For active scans (set to all-0s for passive scans).
2317 /* For directed active scans (set to all-0s otherwise) */
2328 * struct iwl_scan_channel channels[0];
2339 #define CAN_ABORT_STATUS cpu_to_le32(0x1)
2341 #define ABORT_STATUS 0x2
2344 * REPLY_SCAN_CMD = 0x80 (response)
2351 * SCAN_START_NOTIFICATION = 0x82 (notification only, not a command)
2363 #define SCAN_OWNER_STATUS 0x1
2364 #define MEASURE_OWNER_STATUS 0x2
2366 #define IWL_PROBE_STATUS_OK 0
2367 #define IWL_PROBE_STATUS_TX_FAILED BIT(0)
2374 * SCAN_RESULTS_NOTIFICATION = 0x83 (notification only, not a command)
2387 * SCAN_COMPLETE_NOTIFICATION = 0x84 (notification only, not a command)
2406 IWL_NOT_IBSS_MANAGER = 0,
2411 * BEACON_NOTIFICATION = 0x90 (notification only, not a command)
2422 * REPLY_TX_BEACON = 0x91 (command, has simple generic response)
2667 #define UCODE_STATISTICS_CLEAR_MSK (0x1 << 0)
2668 #define UCODE_STATISTICS_FREQUENCY_MSK (0x1 << 1)
2669 #define UCODE_STATISTICS_NARROW_BAND_MSK (0x1 << 2)
2672 * REPLY_STATISTICS_CMD = 0x9c,
2676 * The response is in the same format as STATISTICS_NOTIFICATION 0x9d, below.
2684 * does not affect the response to the REPLY_STATISTICS_CMD 0x9c itself.
2686 #define IWL_STATS_CONF_CLEAR_STATS cpu_to_le32(0x1) /* see above */
2687 #define IWL_STATS_CONF_DISABLE_NOTIF cpu_to_le32(0x2)/* see above */
2693 * STATISTICS_NOTIFICATION = 0x9d (notification only, not a command)
2697 * REPLY_STATISTICS_CMD 0x9c, above.
2701 * 0x9c with CLEAR_STATS bit set (see above).
2707 #define STATISTICS_REPLY_FLG_BAND_24G_MSK cpu_to_le32(0x2)
2708 #define STATISTICS_REPLY_FLG_HT40_MODE_MSK cpu_to_le32(0x8)
2725 * MISSED_BEACONS_NOTIFICATION = 0xa2 (notification only, not a command)
2771 * SENSITIVITY_CMD = 0xa8 (command, has simple generic response)
2792 * (beacon_energy_[abc] & 0x0FF00) >> 8 (unsigned, higher value is lower level)
2796 * (beacon_silence_rssi_[abc] & 0x0FF00) >> 8 (unsigned, units in dB)
2813 * before and including the latest beacon. Values will wrap around to 0
2840 * (beacon_silence_rssi_[abc] & 0x0FF00), units in dB, across the
2845 * by (beacon_energy_[abc] & 0x0FF00) >> 8, across the 3 receivers,
2858 * Reset this to 0 at the first beacon period that falls within the
2867 * HD_MIN_ENERGY_CCK_DET_INDEX 100 / 0 / 100
2883 * down to min 0. Otherwise (if gain has been significantly reduced),
2929 #define HD_MIN_ENERGY_CCK_DET_INDEX (0) /* table indexes */
2963 #define HD_INA_NON_SQUARE_DET_OFDM_DATA_V1 cpu_to_le16(0)
2964 #define HD_INA_NON_SQUARE_DET_CCK_DATA_V1 cpu_to_le16(0)
2965 #define HD_CORR_11_INSTEAD_OF_CORR_9_EN_DATA_V1 cpu_to_le16(0)
2989 #define SENSITIVITY_CMD_CONTROL_DEFAULT_TABLE cpu_to_le16(0)
2994 * @control: (1) updates working table, (0) updates default table
3014 * REPLY_PHY_CALIBRATION_CMD = 0xb0 (command, has simple generic response)
3030 * beacon_rssi_[abc] & 0x0FF (unsigned, units in dB)
3049 * beacon_silence_rssi_[abc] & 0x0FF (unsigned, units in dB)
3052 * will be the reference, with 0 gain adjustment. Attenuate other channels by
3059 * driver should limit the difference results to a range of 0-3 (0-4.5 dB),
3061 * (weakest) chain should be "0".
3064 * 2: (1) reduce gain, (0) increase gain
3065 * 1-0: amount of gain, units of 1.5 dB
3083 IWL_CALIB_CFG_RX_BB_IDX = BIT(0),
3113 #define IWL_CALIB_CFG_FLAG_SEND_COMPLETE_NTFY_MSK cpu_to_le32(BIT(0))
3191 * REPLY_LEDS_CMD = 0x48 (command, has simple generic response)
3200 * "0", with >0 "on" value, turns LED on */
3202 * "0", regardless of "off", turns LED off */
3217 #define COEX_EVT_FLAG_MEDIUM_FREE_NTFY_FLG (0x1)
3218 #define COEX_EVT_FLAG_MEDIUM_ACTV_NTFY_FLG (0x2)
3219 #define COEX_EVT_FLAG_DELAY_MEDIUM_FREE_NTFY_FLG (0x4)
3255 #define COEX_UNASSOC_IDLE_FLAGS 0
3265 #define COEX_PERIODIC_CALIBRATION_FLAGS 0
3274 #define COEX_ASSOCIATED_IDLE_FLAGS 0
3281 #define COEX_ASSOC_ACTIVE_LEVEL_FLAGS 0
3282 #define COEX_RF_ON_FLAGS 0
3283 #define COEX_RF_OFF_FLAGS 0
3291 #define COEX_RSRVD1_FLAGS 0
3292 #define COEX_RSRVD2_FLAGS 0
3305 COEX_UNASSOC_IDLE = 0,
3332 * COEX_PRIORITY_TABLE_CMD = 0x5a
3345 #define COEX_FLAGS_STA_TABLE_VALID_MSK (0x1)
3347 #define COEX_FLAGS_UNASSOC_WA_UNMASK_MSK (0x4)
3349 #define COEX_FLAGS_ASSOC_WA_UNMASK_MSK (0x8)
3351 #define COEX_FLAGS_COEX_ENABLE_MSK (0x80)
3361 * COEX_MEDIUM_NOTIFICATION = 0x5b
3368 * bit 0 - 2: medium status
3372 /* status option values, (0 - 2 bits) */
3373 #define COEX_MEDIUM_BUSY (0x0) /* radio belongs to WiMAX */
3374 #define COEX_MEDIUM_ACTIVE (0x1) /* radio belongs to WiFi */
3375 #define COEX_MEDIUM_PRE_RELEASE (0x2) /* received radio release */
3376 #define COEX_MEDIUM_MSK (0x7)
3379 #define COEX_MEDIUM_CHANGED (0x8)
3380 #define COEX_MEDIUM_CHANGED_MSK (0x8)
3390 * COEX_EVENT_CMD = 0x5c
3395 #define COEX_EVENT_REQUEST_MSK (0x1)
3415 * REPLY_BT_COEX_PROFILE_NOTIF = 0xce
3418 IWL_BT_COEX_TRAFFIC_LOAD_NONE = 0,
3428 #define BT_SESSION_ACTIVITY_1_UART_MSG 0x1
3429 #define BT_SESSION_ACTIVITY_2_UART_MSG 0x2
3432 #define BT_UART_MSG_FRAME1MSGTYPE_POS (0)
3434 (0x7 << BT_UART_MSG_FRAME1MSGTYPE_POS)
3437 (0x3 << BT_UART_MSG_FRAME1SSN_POS)
3440 (0x1 << BT_UART_MSG_FRAME1UPDATEREQ_POS)
3443 (0x3 << BT_UART_MSG_FRAME1RESERVED_POS)
3445 #define BT_UART_MSG_FRAME2OPENCONNECTIONS_POS (0)
3447 (0x3 << BT_UART_MSG_FRAME2OPENCONNECTIONS_POS)
3450 (0x3 << BT_UART_MSG_FRAME2TRAFFICLOAD_POS)
3453 (0x1 << BT_UART_MSG_FRAME2CHLSEQN_POS)
3456 (0x1 << BT_UART_MSG_FRAME2INBAND_POS)
3459 (0x3 << BT_UART_MSG_FRAME2RESERVED_POS)
3461 #define BT_UART_MSG_FRAME3SCOESCO_POS (0)
3463 (0x1 << BT_UART_MSG_FRAME3SCOESCO_POS)
3466 (0x1 << BT_UART_MSG_FRAME3SNIFF_POS)
3469 (0x1 << BT_UART_MSG_FRAME3A2DP_POS)
3472 (0x1 << BT_UART_MSG_FRAME3ACL_POS)
3475 (0x1 << BT_UART_MSG_FRAME3MASTER_POS)
3478 (0x1 << BT_UART_MSG_FRAME3OBEX_POS)
3481 (0x3 << BT_UART_MSG_FRAME3RESERVED_POS)
3483 #define BT_UART_MSG_FRAME4IDLEDURATION_POS (0)
3485 (0x3F << BT_UART_MSG_FRAME4IDLEDURATION_POS)
3488 (0x3 << BT_UART_MSG_FRAME4RESERVED_POS)
3490 #define BT_UART_MSG_FRAME5TXACTIVITY_POS (0)
3492 (0x3 << BT_UART_MSG_FRAME5TXACTIVITY_POS)
3495 (0x3 << BT_UART_MSG_FRAME5RXACTIVITY_POS)
3498 (0x3 << BT_UART_MSG_FRAME5ESCORETRANSMIT_POS)
3501 (0x3 << BT_UART_MSG_FRAME5RESERVED_POS)
3503 #define BT_UART_MSG_FRAME6SNIFFINTERVAL_POS (0)
3505 (0x1F << BT_UART_MSG_FRAME6SNIFFINTERVAL_POS)
3508 (0x1 << BT_UART_MSG_FRAME6DISCOVERABLE_POS)
3511 (0x3 << BT_UART_MSG_FRAME6RESERVED_POS)
3513 #define BT_UART_MSG_FRAME7SNIFFACTIVITY_POS (0)
3515 (0x7 << BT_UART_MSG_FRAME7SNIFFACTIVITY_POS)
3518 (0x1 << BT_UART_MSG_FRAME7PAGE_POS)
3521 (0x1 << BT_UART_MSG_FRAME7INQUIRY_POS)
3524 (0x1 << BT_UART_MSG_FRAME7CONNECTABLE_POS)
3527 (0x3 << BT_UART_MSG_FRAME7RESERVED_POS)
3532 (0x1<<BT_UART_MSG_2_FRAME1RESERVED1_POS)
3535 (0x3<<BT_UART_MSG_2_FRAME1RESERVED2_POS)
3537 #define BT_UART_MSG_2_FRAME2AGGTRAFFICLOAD_POS (0)
3539 (0x3F<<BT_UART_MSG_2_FRAME2AGGTRAFFICLOAD_POS)
3542 (0x3<<BT_UART_MSG_2_FRAME2RESERVED_POS)
3544 #define BT_UART_MSG_2_FRAME3BRLASTTXPOWER_POS (0)
3546 (0xF<<BT_UART_MSG_2_FRAME3BRLASTTXPOWER_POS)
3549 (0x1<<BT_UART_MSG_2_FRAME3INQPAGESRMODE_POS)
3552 (0x1<<BT_UART_MSG_2_FRAME3LEMASTER_POS)
3555 (0x3<<BT_UART_MSG_2_FRAME3RESERVED_POS)
3557 #define BT_UART_MSG_2_FRAME4LELASTTXPOWER_POS (0)
3559 (0xF<<BT_UART_MSG_2_FRAME4LELASTTXPOWER_POS)
3562 (0x3<<BT_UART_MSG_2_FRAME4NUMLECONN_POS)
3565 (0x3<<BT_UART_MSG_2_FRAME4RESERVED_POS)
3567 #define BT_UART_MSG_2_FRAME5BTMINRSSI_POS (0)
3569 (0xF<<BT_UART_MSG_2_FRAME5BTMINRSSI_POS)
3572 (0x1<<BT_UART_MSG_2_FRAME5LESCANINITMODE_POS)
3575 (0x1<<BT_UART_MSG_2_FRAME5LEADVERMODE_POS)
3578 (0x3<<BT_UART_MSG_2_FRAME5RESERVED_POS)
3580 #define BT_UART_MSG_2_FRAME6LECONNINTERVAL_POS (0)
3582 (0x1F<<BT_UART_MSG_2_FRAME6LECONNINTERVAL_POS)
3585 (0x1<<BT_UART_MSG_2_FRAME6RFU_POS)
3588 (0x3<<BT_UART_MSG_2_FRAME6RESERVED_POS)
3590 #define BT_UART_MSG_2_FRAME7LECONNSLAVELAT_POS (0)
3592 (0x7<<BT_UART_MSG_2_FRAME7LECONNSLAVELAT_POS)
3595 (0x1<<BT_UART_MSG_2_FRAME7LEPROFILE1_POS)
3598 (0x1<<BT_UART_MSG_2_FRAME7LEPROFILE2_POS)
3601 (0x1<<BT_UART_MSG_2_FRAME7LEPROFILEOTHER_POS)
3604 (0x3<<BT_UART_MSG_2_FRAME7RESERVED_POS)
3623 u8 bt_status; /* 0 - off, 1 - on */
3624 u8 bt_traffic_load; /* 0 .. 3? */
3625 u8 bt_ci_compliance; /* 0 - not complied, 1 - complied */
3629 #define IWL_BT_COEX_PRIO_TBL_SHARED_ANTENNA_POS 0
3630 #define IWL_BT_COEX_PRIO_TBL_SHARED_ANTENNA_MSK 0x1
3632 #define IWL_BT_COEX_PRIO_TBL_PRIO_MASK 0x0e
3634 #define IWL_BT_COEX_PRIO_TBL_RESERVED_MASK 0xf0
3639 * REPLY_BT_COEX_PRIO_TABLE = 0xcc
3642 BT_COEX_PRIO_TBL_EVT_INIT_CALIB1 = 0,
3663 BT_COEX_PRIO_TBL_DISABLED = 0,
3678 #define IWL_BT_COEX_ENV_CLOSE 0
3682 * REPLY_BT_COEX_PROT_ENV = 0xcd
3685 u8 action; /* 0 = closed, 1 = open */
3686 u8 type; /* 0 .. 15 */
3694 IWLAGN_D3_WAKEUP_RFKILL = BIT(0),
3728 IWLAGN_WOWLAN_WAKEUP_MAGIC_PACKET = BIT(0),
3821 #define RF_KILL_INDICATOR_FOR_WOWLAN 0x87
3824 * REPLY_WOWLAN_GET_STATUS = 0xe5
3840 * REPLY_WIPAN_PARAMS = 0xb2 (Commands and Notification)
3852 * 0 - BSS
3876 * 0 - work in non slotted mode
3893 * REPLY_WIPAN_P2P_CHANNEL_SWITCH = 0xb9
3906 * REPLY_WIPAN_NOA_NOTIFICATION = 0xbc