aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-csr.h
diff options
context:
space:
mode:
authorAndrea Bastoni <bastoni@cs.unc.edu>2010-05-30 19:16:45 -0400
committerAndrea Bastoni <bastoni@cs.unc.edu>2010-05-30 19:16:45 -0400
commitada47b5fe13d89735805b566185f4885f5a3f750 (patch)
tree644b88f8a71896307d71438e9b3af49126ffb22b /drivers/net/wireless/iwlwifi/iwl-csr.h
parent43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff)
parent3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff)
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-csr.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-csr.h193
1 files changed, 163 insertions, 30 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-csr.h b/drivers/net/wireless/iwlwifi/iwl-csr.h
index 06437d13e73e..808b7146bead 100644
--- a/drivers/net/wireless/iwlwifi/iwl-csr.h
+++ b/drivers/net/wireless/iwlwifi/iwl-csr.h
@@ -5,7 +5,7 @@
5 * 5 *
6 * GPL LICENSE SUMMARY 6 * GPL LICENSE SUMMARY
7 * 7 *
8 * Copyright(c) 2005 - 2009 Intel Corporation. All rights reserved. 8 * Copyright(c) 2005 - 2010 Intel Corporation. All rights reserved.
9 * 9 *
10 * This program is free software; you can redistribute it and/or modify 10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of version 2 of the GNU General Public License as 11 * it under the terms of version 2 of the GNU General Public License as
@@ -30,7 +30,7 @@
30 * 30 *
31 * BSD LICENSE 31 * BSD LICENSE
32 * 32 *
33 * Copyright(c) 2005 - 2009 Intel Corporation. All rights reserved. 33 * Copyright(c) 2005 - 2010 Intel Corporation. All rights reserved.
34 * All rights reserved. 34 * All rights reserved.
35 * 35 *
36 * Redistribution and use in source and binary forms, with or without 36 * Redistribution and use in source and binary forms, with or without
@@ -62,11 +62,28 @@
62 *****************************************************************************/ 62 *****************************************************************************/
63#ifndef __iwl_csr_h__ 63#ifndef __iwl_csr_h__
64#define __iwl_csr_h__ 64#define __iwl_csr_h__
65/*=== CSR (control and status registers) ===*/ 65/*
66 * CSR (control and status registers)
67 *
68 * CSR registers are mapped directly into PCI bus space, and are accessible
69 * whenever platform supplies power to device, even when device is in
70 * low power states due to driver-invoked device resets
71 * (e.g. CSR_RESET_REG_FLAG_SW_RESET) or uCode-driven power-saving modes.
72 *
73 * Use iwl_write32() and iwl_read32() family to access these registers;
74 * these provide simple PCI bus access, without waking up the MAC.
75 * Do not use iwl_write_direct32() family for these registers;
76 * no need to "grab nic access" via CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ.
77 * The MAC (uCode processor, etc.) does not need to be powered up for accessing
78 * the CSR registers.
79 *
80 * NOTE: Device does need to be awake in order to read this memory
81 * via CSR_EEPROM and CSR_OTP registers
82 */
66#define CSR_BASE (0x000) 83#define CSR_BASE (0x000)
67 84
68#define CSR_HW_IF_CONFIG_REG (CSR_BASE+0x000) /* hardware interface config */ 85#define CSR_HW_IF_CONFIG_REG (CSR_BASE+0x000) /* hardware interface config */
69#define CSR_INT_COALESCING (CSR_BASE+0x004) /* accum ints, 32-usec units */ 86#define CSR_INT_COALESCING (CSR_BASE+0x004) /* accum ints, 32-usec units */
70#define CSR_INT (CSR_BASE+0x008) /* host interrupt status/ack */ 87#define CSR_INT (CSR_BASE+0x008) /* host interrupt status/ack */
71#define CSR_INT_MASK (CSR_BASE+0x00c) /* host interrupt enable */ 88#define CSR_INT_MASK (CSR_BASE+0x00c) /* host interrupt enable */
72#define CSR_FH_INT_STATUS (CSR_BASE+0x010) /* busmaster int status/ack*/ 89#define CSR_FH_INT_STATUS (CSR_BASE+0x010) /* busmaster int status/ack*/
@@ -74,43 +91,66 @@
74#define CSR_RESET (CSR_BASE+0x020) /* busmaster enable, NMI, etc*/ 91#define CSR_RESET (CSR_BASE+0x020) /* busmaster enable, NMI, etc*/
75#define CSR_GP_CNTRL (CSR_BASE+0x024) 92#define CSR_GP_CNTRL (CSR_BASE+0x024)
76 93
94/* 2nd byte of CSR_INT_COALESCING, not accessible via iwl_write32()! */
95#define CSR_INT_PERIODIC_REG (CSR_BASE+0x005)
96
77/* 97/*
78 * Hardware revision info 98 * Hardware revision info
79 * Bit fields: 99 * Bit fields:
80 * 31-8: Reserved 100 * 31-8: Reserved
81 * 7-4: Type of device: 0x0 = 4965, 0xd = 3945 101 * 7-4: Type of device: see CSR_HW_REV_TYPE_xxx definitions
82 * 3-2: Revision step: 0 = A, 1 = B, 2 = C, 3 = D 102 * 3-2: Revision step: 0 = A, 1 = B, 2 = C, 3 = D
83 * 1-0: "Dash" value, as in A-1, etc. 103 * 1-0: "Dash" (-) value, as in A-1, etc.
84 * 104 *
85 * NOTE: Revision step affects calculation of CCK txpower for 4965. 105 * NOTE: Revision step affects calculation of CCK txpower for 4965.
106 * NOTE: See also CSR_HW_REV_WA_REG (work-around for bug in 4965).
86 */ 107 */
87#define CSR_HW_REV (CSR_BASE+0x028) 108#define CSR_HW_REV (CSR_BASE+0x028)
88 109
89/* EEPROM reads */ 110/*
111 * EEPROM and OTP (one-time-programmable) memory reads
112 *
113 * NOTE: Device must be awake, initialized via apm_ops.init(),
114 * in order to read.
115 */
90#define CSR_EEPROM_REG (CSR_BASE+0x02c) 116#define CSR_EEPROM_REG (CSR_BASE+0x02c)
91#define CSR_EEPROM_GP (CSR_BASE+0x030) 117#define CSR_EEPROM_GP (CSR_BASE+0x030)
92#define CSR_OTP_GP_REG (CSR_BASE+0x034) 118#define CSR_OTP_GP_REG (CSR_BASE+0x034)
119
93#define CSR_GIO_REG (CSR_BASE+0x03C) 120#define CSR_GIO_REG (CSR_BASE+0x03C)
94#define CSR_GP_UCODE_REG (CSR_BASE+0x048) 121#define CSR_GP_UCODE_REG (CSR_BASE+0x048)
95#define CSR_GP_DRIVER_REG (CSR_BASE+0x050) 122#define CSR_GP_DRIVER_REG (CSR_BASE+0x050)
123
124/*
125 * UCODE-DRIVER GP (general purpose) mailbox registers.
126 * SET/CLR registers set/clear bit(s) if "1" is written.
127 */
96#define CSR_UCODE_DRV_GP1 (CSR_BASE+0x054) 128#define CSR_UCODE_DRV_GP1 (CSR_BASE+0x054)
97#define CSR_UCODE_DRV_GP1_SET (CSR_BASE+0x058) 129#define CSR_UCODE_DRV_GP1_SET (CSR_BASE+0x058)
98#define CSR_UCODE_DRV_GP1_CLR (CSR_BASE+0x05c) 130#define CSR_UCODE_DRV_GP1_CLR (CSR_BASE+0x05c)
99#define CSR_UCODE_DRV_GP2 (CSR_BASE+0x060) 131#define CSR_UCODE_DRV_GP2 (CSR_BASE+0x060)
132
100#define CSR_LED_REG (CSR_BASE+0x094) 133#define CSR_LED_REG (CSR_BASE+0x094)
101#define CSR_DRAM_INT_TBL_REG (CSR_BASE+0x0A0) 134#define CSR_DRAM_INT_TBL_REG (CSR_BASE+0x0A0)
135
136/* GIO Chicken Bits (PCI Express bus link power management) */
102#define CSR_GIO_CHICKEN_BITS (CSR_BASE+0x100) 137#define CSR_GIO_CHICKEN_BITS (CSR_BASE+0x100)
103 138
104#define CSR_INT_PERIODIC_REG (CSR_BASE+0x005)
105/* Analog phase-lock-loop configuration */ 139/* Analog phase-lock-loop configuration */
106#define CSR_ANA_PLL_CFG (CSR_BASE+0x20c) 140#define CSR_ANA_PLL_CFG (CSR_BASE+0x20c)
141
107/* 142/*
108 * Indicates hardware rev, to determine CCK backoff for txpower calculation. 143 * CSR Hardware Revision Workaround Register. Indicates hardware rev;
144 * "step" determines CCK backoff for txpower calculation. Used for 4965 only.
145 * See also CSR_HW_REV register.
109 * Bit fields: 146 * Bit fields:
110 * 3-2: 0 = A, 1 = B, 2 = C, 3 = D step 147 * 3-2: 0 = A, 1 = B, 2 = C, 3 = D step
148 * 1-0: "Dash" (-) value, as in C-1, etc.
111 */ 149 */
112#define CSR_HW_REV_WA_REG (CSR_BASE+0x22C) 150#define CSR_HW_REV_WA_REG (CSR_BASE+0x22C)
113#define CSR_DBG_HPET_MEM_REG (CSR_BASE+0x240) 151
152#define CSR_DBG_HPET_MEM_REG (CSR_BASE+0x240)
153#define CSR_DBG_LINK_PWR_MGMT_REG (CSR_BASE+0x250)
114 154
115/* Bits for CSR_HW_IF_CONFIG_REG */ 155/* Bits for CSR_HW_IF_CONFIG_REG */
116#define CSR49_HW_IF_CONFIG_REG_BIT_4965_R (0x00000010) 156#define CSR49_HW_IF_CONFIG_REG_BIT_4965_R (0x00000010)
@@ -125,14 +165,14 @@
125#define CSR39_HW_IF_CONFIG_REG_BITS_SILICON_TYPE_A (0x00000000) 165#define CSR39_HW_IF_CONFIG_REG_BITS_SILICON_TYPE_A (0x00000000)
126#define CSR39_HW_IF_CONFIG_REG_BITS_SILICON_TYPE_B (0x00001000) 166#define CSR39_HW_IF_CONFIG_REG_BITS_SILICON_TYPE_B (0x00001000)
127 167
128#define CSR_HW_IF_CONFIG_REG_BIT_HAP_WAKE_L1A (0x00080000) 168#define CSR_HW_IF_CONFIG_REG_BIT_HAP_WAKE_L1A (0x00080000)
129#define CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM (0x00200000) 169#define CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM (0x00200000)
130#define CSR_HW_IF_CONFIG_REG_BIT_NIC_READY (0x00400000) 170#define CSR_HW_IF_CONFIG_REG_BIT_NIC_READY (0x00400000) /* PCI_OWN_SEM */
131#define CSR_HW_IF_CONFIG_REG_BIT_NIC_PREPARE_DONE (0x02000000) 171#define CSR_HW_IF_CONFIG_REG_BIT_NIC_PREPARE_DONE (0x02000000) /* ME_OWN */
132#define CSR_HW_IF_CONFIG_REG_PREPARE (0x08000000) 172#define CSR_HW_IF_CONFIG_REG_PREPARE (0x08000000) /* WAKE_ME */
133 173
134#define CSR_INT_PERIODIC_DIS (0x00) 174#define CSR_INT_PERIODIC_DIS (0x00) /* disable periodic int*/
135#define CSR_INT_PERIODIC_ENA (0xFF) 175#define CSR_INT_PERIODIC_ENA (0xFF) /* 255*32 usec ~ 8 msec*/
136 176
137/* interrupt flags in INTA, set by uCode or hardware (e.g. dma), 177/* interrupt flags in INTA, set by uCode or hardware (e.g. dma),
138 * acknowledged (reset) by host writing "1" to flagged bits. */ 178 * acknowledged (reset) by host writing "1" to flagged bits. */
@@ -195,8 +235,46 @@
195#define CSR_RESET_REG_FLAG_SW_RESET (0x00000080) 235#define CSR_RESET_REG_FLAG_SW_RESET (0x00000080)
196#define CSR_RESET_REG_FLAG_MASTER_DISABLED (0x00000100) 236#define CSR_RESET_REG_FLAG_MASTER_DISABLED (0x00000100)
197#define CSR_RESET_REG_FLAG_STOP_MASTER (0x00000200) 237#define CSR_RESET_REG_FLAG_STOP_MASTER (0x00000200)
238#define CSR_RESET_LINK_PWR_MGMT_DISABLED (0x80000000)
198 239
199/* GP (general purpose) CONTROL */ 240/*
241 * GP (general purpose) CONTROL REGISTER
242 * Bit fields:
243 * 27: HW_RF_KILL_SW
244 * Indicates state of (platform's) hardware RF-Kill switch
245 * 26-24: POWER_SAVE_TYPE
246 * Indicates current power-saving mode:
247 * 000 -- No power saving
248 * 001 -- MAC power-down
249 * 010 -- PHY (radio) power-down
250 * 011 -- Error
251 * 9-6: SYS_CONFIG
252 * Indicates current system configuration, reflecting pins on chip
253 * as forced high/low by device circuit board.
254 * 4: GOING_TO_SLEEP
255 * Indicates MAC is entering a power-saving sleep power-down.
256 * Not a good time to access device-internal resources.
257 * 3: MAC_ACCESS_REQ
258 * Host sets this to request and maintain MAC wakeup, to allow host
259 * access to device-internal resources. Host must wait for
260 * MAC_CLOCK_READY (and !GOING_TO_SLEEP) before accessing non-CSR
261 * device registers.
262 * 2: INIT_DONE
263 * Host sets this to put device into fully operational D0 power mode.
264 * Host resets this after SW_RESET to put device into low power mode.
265 * 0: MAC_CLOCK_READY
266 * Indicates MAC (ucode processor, etc.) is powered up and can run.
267 * Internal resources are accessible.
268 * NOTE: This does not indicate that the processor is actually running.
269 * NOTE: This does not indicate that 4965 or 3945 has completed
270 * init or post-power-down restore of internal SRAM memory.
271 * Use CSR_UCODE_DRV_GP1_BIT_MAC_SLEEP as indication that
272 * SRAM is restored and uCode is in normal operation mode.
273 * Later devices (5xxx/6xxx/1xxx) use non-volatile SRAM, and
274 * do not need to save/restore it.
275 * NOTE: After device reset, this bit remains "0" until host sets
276 * INIT_DONE
277 */
200#define CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY (0x00000001) 278#define CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY (0x00000001)
201#define CSR_GP_CNTRL_REG_FLAG_INIT_DONE (0x00000004) 279#define CSR_GP_CNTRL_REG_FLAG_INIT_DONE (0x00000004)
202#define CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ (0x00000008) 280#define CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ (0x00000008)
@@ -229,18 +307,58 @@
229#define CSR_EEPROM_REG_MSK_DATA (0xFFFF0000) 307#define CSR_EEPROM_REG_MSK_DATA (0xFFFF0000)
230 308
231/* EEPROM GP */ 309/* EEPROM GP */
232#define CSR_EEPROM_GP_VALID_MSK (0x00000007) 310#define CSR_EEPROM_GP_VALID_MSK (0x00000007) /* signature */
233#define CSR_EEPROM_GP_BAD_SIGNATURE (0x00000000)
234#define CSR_EEPROM_GP_IF_OWNER_MSK (0x00000180) 311#define CSR_EEPROM_GP_IF_OWNER_MSK (0x00000180)
312#define CSR_EEPROM_GP_BAD_SIGNATURE_BOTH_EEP_AND_OTP (0x00000000)
313#define CSR_EEPROM_GP_BAD_SIG_EEP_GOOD_SIG_OTP (0x00000001)
314#define CSR_EEPROM_GP_GOOD_SIG_EEP_LESS_THAN_4K (0x00000002)
315#define CSR_EEPROM_GP_GOOD_SIG_EEP_MORE_THAN_4K (0x00000004)
316
317/* One-time-programmable memory general purpose reg */
235#define CSR_OTP_GP_REG_DEVICE_SELECT (0x00010000) /* 0 - EEPROM, 1 - OTP */ 318#define CSR_OTP_GP_REG_DEVICE_SELECT (0x00010000) /* 0 - EEPROM, 1 - OTP */
236#define CSR_OTP_GP_REG_OTP_ACCESS_MODE (0x00020000) /* 0 - absolute, 1 - relative */ 319#define CSR_OTP_GP_REG_OTP_ACCESS_MODE (0x00020000) /* 0 - absolute, 1 - relative */
237#define CSR_OTP_GP_REG_ECC_CORR_STATUS_MSK (0x00100000) /* bit 20 */ 320#define CSR_OTP_GP_REG_ECC_CORR_STATUS_MSK (0x00100000) /* bit 20 */
238#define CSR_OTP_GP_REG_ECC_UNCORR_STATUS_MSK (0x00200000) /* bit 21 */ 321#define CSR_OTP_GP_REG_ECC_UNCORR_STATUS_MSK (0x00200000) /* bit 21 */
239 322
323/* GP REG */
324#define CSR_GP_REG_POWER_SAVE_STATUS_MSK (0x03000000) /* bit 24/25 */
325#define CSR_GP_REG_NO_POWER_SAVE (0x00000000)
326#define CSR_GP_REG_MAC_POWER_SAVE (0x01000000)
327#define CSR_GP_REG_PHY_POWER_SAVE (0x02000000)
328#define CSR_GP_REG_POWER_SAVE_ERROR (0x03000000)
329
330
240/* CSR GIO */ 331/* CSR GIO */
241#define CSR_GIO_REG_VAL_L0S_ENABLED (0x00000002) 332#define CSR_GIO_REG_VAL_L0S_ENABLED (0x00000002)
242 333
243/* UCODE DRV GP */ 334/*
335 * UCODE-DRIVER GP (general purpose) mailbox register 1
336 * Host driver and uCode write and/or read this register to communicate with
337 * each other.
338 * Bit fields:
339 * 4: UCODE_DISABLE
340 * Host sets this to request permanent halt of uCode, same as
341 * sending CARD_STATE command with "halt" bit set.
342 * 3: CT_KILL_EXIT
343 * Host sets this to request exit from CT_KILL state, i.e. host thinks
344 * device temperature is low enough to continue normal operation.
345 * 2: CMD_BLOCKED
346 * Host sets this during RF KILL power-down sequence (HW, SW, CT KILL)
347 * to release uCode to clear all Tx and command queues, enter
348 * unassociated mode, and power down.
349 * NOTE: Some devices also use HBUS_TARG_MBX_C register for this bit.
350 * 1: SW_BIT_RFKILL
351 * Host sets this when issuing CARD_STATE command to request
352 * device sleep.
353 * 0: MAC_SLEEP
354 * uCode sets this when preparing a power-saving power-down.
355 * uCode resets this when power-up is complete and SRAM is sane.
356 * NOTE: 3945/4965 saves internal SRAM data to host when powering down,
357 * and must restore this data after powering back up.
358 * MAC_SLEEP is the best indication that restore is complete.
359 * Later devices (5xxx/6xxx/1xxx) use non-volatile SRAM, and
360 * do not need to save/restore it.
361 */
244#define CSR_UCODE_DRV_GP1_BIT_MAC_SLEEP (0x00000001) 362#define CSR_UCODE_DRV_GP1_BIT_MAC_SLEEP (0x00000001)
245#define CSR_UCODE_SW_BIT_RFKILL (0x00000002) 363#define CSR_UCODE_SW_BIT_RFKILL (0x00000002)
246#define CSR_UCODE_DRV_GP1_BIT_CMD_BLOCKED (0x00000004) 364#define CSR_UCODE_DRV_GP1_BIT_CMD_BLOCKED (0x00000004)
@@ -251,9 +369,9 @@
251#define CSR_GP_DRIVER_REG_BIT_RADIO_SKU_3x3_HYB (0x00000000) 369#define CSR_GP_DRIVER_REG_BIT_RADIO_SKU_3x3_HYB (0x00000000)
252#define CSR_GP_DRIVER_REG_BIT_RADIO_SKU_2x2_HYB (0x00000001) 370#define CSR_GP_DRIVER_REG_BIT_RADIO_SKU_2x2_HYB (0x00000001)
253#define CSR_GP_DRIVER_REG_BIT_RADIO_SKU_2x2_IPA (0x00000002) 371#define CSR_GP_DRIVER_REG_BIT_RADIO_SKU_2x2_IPA (0x00000002)
372#define CSR_GP_DRIVER_REG_BIT_CALIB_VERSION6 (0x00000004)
254 373
255 374/* GIO Chicken Bits (PCI Express bus link power management) */
256/* GI Chicken Bits */
257#define CSR_GIO_CHICKEN_BITS_REG_BIT_L1A_NO_L0S_RX (0x00800000) 375#define CSR_GIO_CHICKEN_BITS_REG_BIT_L1A_NO_L0S_RX (0x00800000)
258#define CSR_GIO_CHICKEN_BITS_REG_BIT_DIS_L0S_EXIT_TIMER (0x20000000) 376#define CSR_GIO_CHICKEN_BITS_REG_BIT_DIS_L0S_EXIT_TIMER (0x20000000)
259 377
@@ -273,8 +391,23 @@
273#define CSR_DRAM_INT_TBL_ENABLE (1 << 31) 391#define CSR_DRAM_INT_TBL_ENABLE (1 << 31)
274#define CSR_DRAM_INIT_TBL_WRAP_CHECK (1 << 27) 392#define CSR_DRAM_INIT_TBL_WRAP_CHECK (1 << 27)
275 393
276/*=== HBUS (Host-side Bus) ===*/ 394/*
395 * HBUS (Host-side Bus)
396 *
397 * HBUS registers are mapped directly into PCI bus space, but are used
398 * to indirectly access device's internal memory or registers that
399 * may be powered-down.
400 *
401 * Use iwl_write_direct32()/iwl_read_direct32() family for these registers;
402 * host must "grab nic access" via CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ
403 * to make sure the MAC (uCode processor, etc.) is powered up for accessing
404 * internal resources.
405 *
406 * Do not use iwl_write32()/iwl_read32() family to access these registers;
407 * these provide only simple PCI bus access, without waking up the MAC.
408 */
277#define HBUS_BASE (0x400) 409#define HBUS_BASE (0x400)
410
278/* 411/*
279 * Registers for accessing device's internal SRAM memory (e.g. SCD SRAM 412 * Registers for accessing device's internal SRAM memory (e.g. SCD SRAM
280 * structures, error log, event log, verifying uCode load). 413 * structures, error log, event log, verifying uCode load).
@@ -289,6 +422,10 @@
289#define HBUS_TARG_MEM_WDAT (HBUS_BASE+0x018) 422#define HBUS_TARG_MEM_WDAT (HBUS_BASE+0x018)
290#define HBUS_TARG_MEM_RDAT (HBUS_BASE+0x01c) 423#define HBUS_TARG_MEM_RDAT (HBUS_BASE+0x01c)
291 424
425/* Mailbox C, used as workaround alternative to CSR_UCODE_DRV_GP1 mailbox */
426#define HBUS_TARG_MBX_C (HBUS_BASE+0x030)
427#define HBUS_TARG_MBX_C_REG_BIT_CMD_BLOCKED (0x00000004)
428
292/* 429/*
293 * Registers for accessing device's internal peripheral registers 430 * Registers for accessing device's internal peripheral registers
294 * (e.g. SCD, BSM, etc.). First write to address register, 431 * (e.g. SCD, BSM, etc.). First write to address register,
@@ -303,16 +440,12 @@
303#define HBUS_TARG_PRPH_RDAT (HBUS_BASE+0x050) 440#define HBUS_TARG_PRPH_RDAT (HBUS_BASE+0x050)
304 441
305/* 442/*
306 * Per-Tx-queue write pointer (index, really!) (3945 and 4965). 443 * Per-Tx-queue write pointer (index, really!)
307 * Indicates index to next TFD that driver will fill (1 past latest filled). 444 * Indicates index to next TFD that driver will fill (1 past latest filled).
308 * Bit usage: 445 * Bit usage:
309 * 0-7: queue write index 446 * 0-7: queue write index
310 * 11-8: queue selector 447 * 11-8: queue selector
311 */ 448 */
312#define HBUS_TARG_WRPTR (HBUS_BASE+0x060) 449#define HBUS_TARG_WRPTR (HBUS_BASE+0x060)
313#define HBUS_TARG_MBX_C (HBUS_BASE+0x030)
314
315#define HBUS_TARG_MBX_C_REG_BIT_CMD_BLOCKED (0x00000004)
316
317 450
318#endif /* !__iwl_csr_h__ */ 451#endif /* !__iwl_csr_h__ */