Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(794)

Side by Side Diff: chromeos/drivers/ath6kl/include/AR6002/hw4.0/hw/mac_dma_reg.h

Issue 646055: Atheros AR600x driver + build glue (Closed)
Patch Set: Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 //
2 // Copyright (c) 2002-2009 Atheros Communications Inc.
3 // All rights reserved.
4 // $ATH_LICENSE_TMAC_DMAGET_C$
5 //
6
7 /*****************************************************************************/
8 /* AR6003 WLAN MAC DMA register definitions */
9 /*****************************************************************************/
10
11 #ifndef _AR6000_DMAREG_H_
12 #define _AR6000_DMAREG_H_
13
14 /*
15 * Definitions for the Atheros AR6003 chipset.
16 */
17
18 /* DMA Control and Interrupt Registers */
19 #define MAC_DMA_CR_ADDRESS 0x00000008 /* MAC control regis ter */
20 #define MAC_DMA_CR_RXE_MASK 0x00000004 /* Receive enable */
21 #define MAC_DMA_CR_RXD_MASK 0x00000020 /* Receive disable * /
22 #define MAC_DMA_CR_SWI_MASK 0x00000040 /* One-shot software interrupt */
23
24 #define MAC_DMA_RXDP_ADDRESS 0x0000000C /* MAC receive queue descriptor pointer */
25
26 #define MAC_DMA_CFG_ADDRESS 0x00000014 /* MAC configuration and status register */
27 #define MAC_DMA_CFG_SWTD_MASK 0x00000001 /* byteswap tx descr iptor words */
28 #define MAC_DMA_CFG_SWTB_MASK 0x00000002 /* byteswap tx data buffer words */
29 #define MAC_DMA_CFG_SWRD_MASK 0x00000004 /* byteswap rx descr iptor words */
30 #define MAC_DMA_CFG_SWRB_MASK 0x00000008 /* byteswap rx data buffer words */
31 #define MAC_DMA_CFG_SWRG_MASK 0x00000010 /* byteswap register access data words */
32 #define MAC_DMA_CFG_AP_ADHOC_INDICATION_MASK 0x00000020 /* AP/adhoc indicati on (0-AP, 1-Adhoc) */
33 #define MAC_DMA_CFG_PHOK_MASK 0x00000100 /* PHY OK status */
34 #define MAC_DMA_CFG_CLK_GATE_DIS_MASK 0x00000400 /* Clock gating disa ble */
35
36 #define MAC_DMA_MIRT_ADDRESS 0x00000020 /* Maximum rate thre shold register */
37 #define MAC_DMA_MIRT_THRESH_MASK 0x0000FFFF
38
39 #define MAC_DMA_IER_ADDRESS 0x00000024 /* MAC Interrupt en able register */
40 #define MAC_DMA_IER_ENABLE_MASK 0x00000001 /* Global interrupt enable */
41 #define MAC_DMA_IER_DISABLE_MASK 0x00000000 /* Global interrupt disable */
42
43 #define MAC_DMA_TIMT_ADDRESS 0x00000028 /* Transmit Interrup t Mitigation Threshold */
44 #define MAC_DMA_TIMT_LAST_PACKER_THRESH_MASK 0x0000FFFF /* Last packet thres hold mask */
45 #define MAC_DMA_TIMT_FIRST_PACKER_THRESH_MASK 0xFFFF0000 /* First packet thre shold mask */
46
47 #define MAC_DMA_RIMT_ADDRESS 0x0000002C /* Receive Interrupt Mitigation Threshold */
48 #define MAC_DMA_RIMT_LAST_PACKER_THRESH_MASK 0x0000FFFF /* Last packet thres hold mask */
49 #define MAC_DMA_RIMT_FIRST_PACKER_THRESH_MASK 0xFFFF0000 /* First packet thre shold mask */
50
51 #define MAC_DMA_TXCFG_ADDRESS 0x00000030 /* MAC tx DMA size config register */
52 #define MAC_DMA_FTRIG_MASK 0x000003F0 /* Mask for Frame tr igger level */
53 #define MAC_DMA_FTRIG_LSB 4 /* Shift for Frame t rigger level */
54 #define MAC_DMA_FTRIG_IMMED 0x00000000 /* bytes in PCU TX F IFO before air */
55 #define MAC_DMA_FTRIG_64B 0x00000010 /* default */
56 #define MAC_DMA_FTRIG_128B 0x00000020
57 #define MAC_DMA_FTRIG_192B 0x00000030
58 #define MAC_DMA_FTRIG_256B 0x00000040 /* 5 bits total */
59 #define MAC_DMA_TXCFG_ADHOC_BEACON_ATIM_TX_POLICY_MASK 0x00000800
60
61 #define MAC_DMA_RXCFG_ADDRESS 0x00000034 /* MAC rx DMA size config register */
62 #define MAC_DMA_RXCFG_ZLFDMA_MASK 0x00000010 /* Enable DMA of ze ro-length frame */
63 #define MAC_DMA_RXCFG_DMASIZE_4B 0x00000000 /* DMA size 4 bytes (TXCFG + RXCFG) */
64 #define MAC_DMA_RXCFG_DMASIZE_8B 0x00000001 /* DMA size 8 bytes */
65 #define MAC_DMA_RXCFG_DMASIZE_16B 0x00000002 /* DMA size 16 byte s */
66 #define MAC_DMA_RXCFG_DMASIZE_32B 0x00000003 /* DMA size 32 byte s */
67 #define MAC_DMA_RXCFG_DMASIZE_64B 0x00000004 /* DMA size 64 byte s */
68 #define MAC_DMA_RXCFG_DMASIZE_128B 0x00000005 /* DMA size 128 byt es */
69 #define MAC_DMA_RXCFG_DMASIZE_256B 0x00000006 /* DMA size 256 byt es */
70 #define MAC_DMA_RXCFG_DMASIZE_512B 0x00000007 /* DMA size 512 byt es */
71
72 #define MAC_DMA_MIBC_ADDRESS 0x00000040 /* MAC MIB control register */
73 #define MAC_DMA_MIBC_COW_MASK 0x00000001 /* counter overflow warning */
74 #define MAC_DMA_MIBC_FMC_MASK 0x00000002 /* freeze MIB count ers */
75 #define MAC_DMA_MIBC_CMC_MASK 0x00000004 /* clear MIB counte rs */
76 #define MAC_DMA_MIBC_MCS_MASK 0x00000008 /* MIB counter stro be, increment all */
77
78 #define MAC_DMA_TOPS_ADDRESS 0x00000044 /* MAC timeout pre scale count */
79 #define MAC_DMA_TOPS_MASK 0x0000FFFF /* Mask for timeout prescale */
80
81 #define MAC_DMA_RXNPTO_ADDRESS 0x00000048 /* MAC no frame re ceived timeout */
82 #define MAC_DMA_RXNPTO_MASK 0x000003FF /* Mask for no fram e received timeout */
83
84 #define MAC_DMA_TXNPTO_ADDRESS 0x0000004C /* MAC no frame tr asmitted timeout */
85 #define MAC_DMA_TXNPTO_MASK 0x000003FF /* Mask for no fram e transmitted timeout */
86 #define MAC_DMA_TXNPTO_QCU_MASK 0x000FFC00 /* Mask indicating the set of QCUs */
87 /* for which frame comple tions will cause */
88 /* a reset of the no fram e xmit'd timeout */
89
90 #define MAC_DMA_RPGTO_ADDRESS 0x00000050 /* MAC receive fra me gap timeout */
91 #define MAC_DMA_RPGTO_MASK 0x000003FF /* Mask for receive frame gap timeout */
92
93 #define MAC_DMA_RPCNT_ADDRESS 0x00000054 /* MAC receive fra me count limit */
94 #define MAC_DMA_RPCNT_MASK 0x0000001F /* Mask for receive frame count limit */
95
96 #define MAC_DMA_MACMISC_ADDRESS 0x00000058 /* MAC miscellaneo us control/status register */
97 #define MAC_DMA_MACMISC_DMA_OBS_MASK 0x000001E0 /* Mask for DMA obs ervation bus mux select */
98 #define MAC_DMA_MACMISC_DMA_OBS_LSB 5 /* Shift for DMA ob servation bus mux select */
99 #define MAC_DMA_MACMISC_MISC_OBS 0x00000E00 /* Mask for MISC ob servation bus mux select */
100 #define MAC_DMA_MACMISC_MISC_OBS_LSB 9 /* Shift for MISC o bservation bus mux select */
101 #define MAC_DMA_MACMISC_MAC_OBS_BUS_LSB 0x00007000 /* Mask for MAC obs ervation bus mux select (lsb) */
102 #define MAC_DMA_MACMISC_MAC_OBS_BUS_LSB_LSB 12 /* Shift for MAC ob servation bus mux select (lsb) */
103 #define MAC_DMA_MACMISC_MAC_OBS_BUS_MSB 0x00038000 /* Mask for MAC obs ervation bus mux select (msb) */
104 #define MAC_DMA_MACMISC_MAC_OBS_BUS_MSB_LSB 15 /* Shift for MAC ob servation bus mux select (msb) */
105
106
107 #define MAC_DMA_ISR_ADDRESS 0x00000080 /* MAC Primary in terrupt status register */
108 /*
109 * Interrupt Status Registers
110 *
111 * Only the bits in the ISR_P register and the IMR_P registers
112 * control whether the MAC's INTA# output is asserted. The bits in
113 * the secondary interrupt status/mask registers control what bits
114 * are set in the primary interrupt status register; however the
115 * IMR_S* registers DO NOT determine whether INTA# is asserted.
116 * That is INTA# is asserted only when the logical AND of ISR_P
117 * and IMR_P is non-zero. The secondary interrupt mask/status
118 * registers affect what bits are set in ISR_P but they do not
119 * directly affect whether INTA# is asserted.
120 */
121 #define MAC_DMA_ISR_RXOK_MASK 0x00000001 /* At least one fram e received sans errors */
122 #define MAC_DMA_ISR_RXDESC_MASK 0x00000002 /* Receive interrupt request */
123 #define MAC_DMA_ISR_RXERR_MASK 0x00000004 /* Receive error int errupt */
124 #define MAC_DMA_ISR_RXNOPKT_MASK 0x00000008 /* No frame received within timeout clock */
125 #define MAC_DMA_ISR_RXEOL_MASK 0x00000010 /* Received descript or empty interrupt */
126 #define MAC_DMA_ISR_RXORN_MASK 0x00000020 /* Receive FIFO over run interrupt */
127 #define MAC_DMA_ISR_TXOK_MASK 0x00000040 /* Transmit okay int errupt */
128 #define MAC_DMA_ISR_TXDESC_MASK 0x00000080 /* Transmit interrup t request */
129 #define MAC_DMA_ISR_TXERR_MASK 0x00000100 /* Transmit error in terrupt */
130 #define MAC_DMA_ISR_TXNOPKT_MASK 0x00000200 /* No frame transmit ted interrupt */
131 #define MAC_DMA_ISR_TXEOL_MASK 0x00000400 /* Transmit descript or empty interrupt */
132 #define MAC_DMA_ISR_TXURN_MASK 0x00000800 /* Transmit FIFO und errun interrupt */
133 #define MAC_DMA_ISR_MIB_MASK 0x00001000 /* MIB interrupt - s ee MIBC */
134 #define MAC_DMA_ISR_SWI_MASK 0x00002000 /* Software interrup t */
135 #define MAC_DMA_ISR_RXPHY_MASK 0x00004000 /* PHY receive error interrupt */
136 #define MAC_DMA_ISR_RXKCM_MASK 0x00008000 /* Key-cache miss in terrupt */
137 #define MAC_DMA_ISR_BRSSI_HI_MASK 0x00010000 /* Beacon rssi high threshold interrupt */
138 #define MAC_DMA_ISR_BRSSI_LO_MASK 0x00020000 /* Beacon threshold interrupt */
139 #define MAC_DMA_ISR_BMISS_MASK 0x00040000 /* Beacon missed int errupt */
140 #define MAC_DMA_ISR_TXMINTR_MASK 0x00080000 /* Maximum transmit interrupt rate */
141 #define MAC_DMA_ISR_BNR_MASK 0x00100000 /* Beacon not ready interrupt */
142 #define MAC_DMA_ISR_HIUERR_MASK 0x00200000 /* An unexpected bus error has occurred */
143 #define MAC_DMA_ISR_BCNMISC_MASK 0x00800000 /* 'or' of TIM, CABE ND, DTIMSYNC, BCNTO */
144 #define MAC_DMA_ISR_RXMINTR_MASK 0x01000000 /* Maximum receive i nterrupt rate */
145 #define MAC_DMA_ISR_QCBROVF_MASK 0x02000000 /* QCU CBR overflow interrupt */
146 #define MAC_DMA_ISR_QCBRURN_MASK 0x04000000 /* QCU CBR underrun interrupt */
147 #define MAC_DMA_ISR_QTRIG_MASK 0x08000000 /* QCU scheduling tr igger interrupt */
148 #define MAC_DMA_ISR_TIMER_MASK 0x10000000 /* GENTMR interrupt */
149 #define MAC_DMA_ISR_HCFTO_MASK 0x20000000 /* HCFTO interrupt */
150 #define MAC_DMA_ISR_TXINTM_MASK 0x40000000 /* Transmit completi on mitigation interrupt */
151 #define MAC_DMA_ISR_RXINTM_MASK 0x80000000 /* Receive completio n mitigation interrupt */
152
153 #define MAC_DMA_ISR_S0_ADDRESS 0x00000084 /* MAC Secondary in terrupt status register 0 */
154 #define MAC_DMA_ISR_S0_QCU_TXOK_MASK 0x000003FF /* Mask for TXOK (QC U 0-9) */
155 #define MAC_DMA_ISR_S0_QCU_TXOK_LSB 0
156 #define MAC_DMA_ISR_S0_QCU_TXDESC_MASK 0x03FF0000 /* Mask for TXDESC ( QCU 0-9) */
157 #define MAC_DMA_ISR_S0_QCU_TXDESC_LSB 16
158
159 #define MAC_DMA_ISR_S1_ADDRESS 0x00000088 /* MAC Secondary in terrupt status register 1 */
160 #define MAC_DMA_ISR_S1_QCU_TXERR_MASK 0x000003FF /* Mask for TXERR (Q CU 0-9) */
161 #define MAC_DMA_ISR_S1_QCU_TXERR_LSB 0
162 #define MAC_DMA_ISR_S1_QCU_TXEOL_MASK 0x03FF0000 /* Mask for TXEOL (Q CU 0-9) */
163 #define MAC_DMA_ISR_S1_QCU_TXEOL_LSB 16
164
165 #define MAC_DMA_ISR_S2_ADDRESS 0x0000008c /* MAC Secondary interrupt status register 2 */
166 #define MAC_DMA_ISR_S2_QCU_TXURN_MASK 0x000003FF /* Mask for TXURN (QCU 0-9) */
167 #define MAC_DMA_ISR_S2_QCU_TXURN_LSB 0 /* Shift for TXURN (QCU 0- 9) */
168 #define MAC_DMA_ISR_S2_RX_INT_MASK 0x00000800
169 #define MAC_DMA_ISR_S2_WL_STOMPED_MASK 0x00001000
170 #define MAC_DMA_ISR_S2_RX_PTR_BAD_MASK 0x00002000
171 #define MAC_DMA_ISR_S2_BT_LOW_PRIORITY_RISING_MASK 0x00004000
172 #define MAC_DMA_ISR_S2_BT_LOW_PRIORITY_FALLING_MASK 0x00008000
173 #define MAC_DMA_ISR_S2_BB_PANIC_IRQ_MASK 0x00010000
174 #define MAC_DMA_ISR_S2_BT_STOMPED_MASK 0x00020000
175 #define MAC_DMA_ISR_S2_BT_ACTIVE_RISING_MASK 0x00040000
176 #define MAC_DMA_ISR_S2_BT_ACTIVE_FALLING_MASK 0x00080000
177 #define MAC_DMA_ISR_S2_BT_PRIORITY_RISING_MASK 0x00100000
178 #define MAC_DMA_ISR_S2_BT_PRIORITY_FALLING_MASK 0x00200000
179 #define MAC_DMA_ISR_S2_CST_MASK 0x00400000
180 #define MAC_DMA_ISR_S2_GTT_MASK 0x00800000
181 #define MAC_DMA_ISR_S2_TIM_MASK 0x01000000 /* TIM */
182 #define MAC_DMA_ISR_S2_CABEND_MASK 0x02000000 /* CABEND */
183 #define MAC_DMA_ISR_S2_DTIMSYNC_MASK 0x04000000 /* DTIMSYNC */
184 #define MAC_DMA_ISR_S2_BCNTO_MASK 0x08000000 /* BCNTO */
185 #define MAC_DMA_ISR_S2_CABTO_MASK 0x10000000 /* CABTO */
186 #define MAC_DMA_ISR_S2_DTIM_MASK 0x20000000 /* DTIM */
187 #define MAC_DMA_ISR_S2_TSFOOR_MASK 0x40000000 /* TSFOOR */
188
189 #define MAC_DMA_ISR_S3_ADDRESS 0x00000090 /* MAC Secondary in terrupt status register 3 */
190 #define MAC_DMA_ISR_S3_QCU_QCBROVF_MASK 0x000003FF /* Mask for QCBROVF (QCU 0-9) */
191 #define MAC_DMA_ISR_S3_QCU_QCBRURN_MASK 0x03FF0000 /* Mask for QCBRURN (QCU 0-9) */
192
193 #define MAC_DMA_ISR_S4_ADDRESS 0x00000094 /* MAC Secondary in terrupt status register 4 */
194 #define MAC_DMA_ISR_S4_QCU_QTRIG_MASK 0x000003FF /* Mask for QTRIG (Q CU 0-9) */
195
196 #define MAC_DMA_ISR_S5_ADDRESS 0x00000098 /* MAC Secondary in terrupt status register 5 */
197 #define MAC_DMA_ISR_S5_TBTT_TIMER_TRIGGER_MASK 0x00000001
198 #define MAC_DMA_ISR_S5_DBA_TIMER_TRIGGER_MASK 0x00000002
199 #define MAC_DMA_ISR_S5_SBA_TIMER_TRIGGER_MASK 0x00000004
200 #define MAC_DMA_ISR_S5_HCF_TIMER_TRIGGER_MASK 0x00000008
201 #define MAC_DMA_ISR_S5_TIM_TIMER_TRIGGER_MASK 0x00000010
202 #define MAC_DMA_ISR_S5_DTIM_TIMER_TRIGGER_MASK 0x00000020
203 #define MAC_DMA_ISR_S5_QUIET_TIMER_TRIGGER_MASK 0x00000040
204 #define MAC_DMA_ISR_S5_NDP_TIMER_TRIGGER_MASK 0x00000080
205 #define MAC_DMA_ISR_S5_GENERIC_TIMER2_TRIGGER_MASK 0x0000FF00
206 #define MAC_DMA_ISR_S5_GENERIC_TIMER2_TRIGGER_LSB 8
207 #define MAC_DMA_ISR_S5_GENERIC_TIMER2_TRIGGER(_i) (0x00000100 << (_i))
208 #define MAC_DMA_ISR_S5_TIMER_OVERFLOW_MASK 0x00010000
209 #define MAC_DMA_ISR_S5_DBA_TIMER_THRESHOLD_MASK 0x00020000
210 #define MAC_DMA_ISR_S5_SBA_TIMER_THRESHOLD_MASK 0x00040000
211 #define MAC_DMA_ISR_S5_HCF_TIMER_THRESHOLD_MASK 0x00080000
212 #define MAC_DMA_ISR_S5_TIM_TIMER_THRESHOLD_MASK 0x00100000
213 #define MAC_DMA_ISR_S5_DTIM_TIMER_THRESHOLD_MASK 0x00200000
214 #define MAC_DMA_ISR_S5_QUIET_TIMER_THRESHOLD_MASK 0x00400000
215 #define MAC_DMA_ISR_S5_NDP_TIMER_THRESHOLD_MASK 0x00800000
216 #define MAC_DMA_IMR_S5_GENERIC_TIMER2_THRESHOLD_MASK 0xFF000000
217 #define MAC_DMA_IMR_S5_GENERIC_TIMER2_THRESHOLD_LSB 24
218 #define MAC_DMA_IMR_S5_GENERIC_TIMER2_THRESHOLD(_i) (0x01000000 << (_i))
219
220 #define MAC_DMA_IMR_ADDRESS 0x000000A0 /* MAC Primary inte rrupt mask register */
221 /*
222 * Interrupt Mask Registers
223 *
224 * Only the bits in the IMR control whether the MAC's INTA#
225 * output will be asserted. The bits in the secondary interrupt
226 * mask registers control what bits get set in the primary
227 * interrupt status register; however the IMR_S* registers
228 * DO NOT determine whether INTA# is asserted.
229 */
230 #define MAC_DMA_IMR_RXOK_MASK 0x00000001 /* At least one fram e received sans errors */
231 #define MAC_DMA_IMR_RXDESC_MASK 0x00000002 /* Receive interrupt request */
232 #define MAC_DMA_IMR_RXERR_MASK 0x00000004 /* Receive error int errupt */
233 #define MAC_DMA_IMR_RXNOPKT_MASK 0x00000008 /* No frame received within timeout clock */
234 #define MAC_DMA_IMR_RXEOL_MASK 0x00000010 /* Received descript or empty interrupt */
235 #define MAC_DMA_IMR_RXORN_MASK 0x00000020 /* Receive FIFO over run interrupt */
236 #define MAC_DMA_IMR_TXOK_MASK 0x00000040 /* Transmit okay int errupt */
237 #define MAC_DMA_IMR_TXDESC_MASK 0x00000080 /* Transmit interrup t request */
238 #define MAC_DMA_IMR_TXERR_MASK 0x00000100 /* Transmit error in terrupt */
239 #define MAC_DMA_IMR_TXNOPKT_MASK 0x00000200 /* No frame transmit ted interrupt */
240 #define MAC_DMA_IMR_TXEOL_MASK 0x00000400 /* Transmit descript or empty interrupt */
241 #define MAC_DMA_IMR_TXURN_MASK 0x00000800 /* Transmit FIFO und errun interrupt */
242 #define MAC_DMA_IMR_MIB_MASK 0x00001000 /* MIB interrupt - s ee MIBC */
243 #define MAC_DMA_IMR_SWI_MASK 0x00002000 /* Software interrup t */
244 #define MAC_DMA_IMR_RXPHY_MASK 0x00004000 /* PHY receive error interrupt */
245 #define MAC_DMA_IMR_RXKCM_MASK 0x00008000 /* Key-cache miss in terrupt */
246 #define MAC_DMA_IMR_BRSSI_HI_MASK 0x00010000 /* Beacon rssi hi th reshold interrupt */
247 #define MAC_DMA_IMR_BRSSI_LO_MASK 0x00020000 /* Beacon rssi lo th reshold interrupt */
248 #define MAC_DMA_IMR_BMISS_MASK 0x00040000 /* Beacon missed int errupt */
249 #define MAC_DMA_IMR_TXMINTR_MASK 0x00080000 /* Maximum transmit interrupt rate */
250 #define MAC_DMA_IMR_BNR_MASK 0x00100000 /* BNR interrupt */
251 #define MAC_DMA_IMR_HIUERR_MASK 0x00200000 /* An unexpected bus error has occurred */
252 #define MAC_DMA_IMR_BCNMISC_MASK 0x00800000 /* Beacon Misc */
253 #define MAC_DMA_IMR_RXMINTR_MASK 0x01000000 /* Maximum receive i nterrupt rate */
254 #define MAC_DMA_IMR_QCBROVF_MASK 0x02000000 /* QCU CBR overflow interrupt */
255 #define MAC_DMA_IMR_QCBRURN_MASK 0x04000000 /* QCU CBR underrun interrupt */
256 #define MAC_DMA_IMR_QTRIG_MASK 0x08000000 /* QCU scheduling tr igger interrupt */
257 #define MAC_DMA_IMR_TIMER_MASK 0x10000000 /* GENTMR interrupt */
258 #define MAC_DMA_IMR_HCFTO_MASK 0x20000000 /* HCFTO interrupt*/
259 #define MAC_DMA_IMR_TXINTM_MASK 0x40000000 /* Transmit completi on mitigation interrupt */
260 #define MAC_DMA_IMR_RXINTM_MASK 0x80000000 /* Receive completio n mitigation interrupt */
261
262 #define MAC_DMA_IMR_S0_ADDRESS 0x000000A4 /* MAC Secondary in terrupt mask register 0 */
263 #define MAC_DMA_IMR_S0_QCU_TXOK_MASK 0x000003FF /* TXOK (QCU 0-9) */
264 #define MAC_DMA_IMR_S0_QCU_TXOK_LSB 0
265 #define MAC_DMA_IMR_S0_QCU_TXDESC_MASK 0x03FF0000 /* TXDESC (QCU 0-9) */
266 #define MAC_DMA_IMR_S0_QCU_TXDESC_LSB 16
267
268 #define MAC_DMA_IMR_S1_ADDRESS 0x000000A8 /* MAC Secondary in terrupt mask register 1 */
269 #define MAC_DMA_IMR_S1_QCU_TXERR_MASK 0x000003FF /* TXERR (QCU 0-9) * /
270 #define MAC_DMA_IMR_S1_QCU_TXERR_LSB 0
271 #define MAC_DMA_IMR_S1_QCU_TXEOL_MASK 0x03FF0000 /* TXEOL (QCU 0-9) * /
272 #define MAC_DMA_IMR_S1_QCU_TXEOL_LSB 16
273
274 #define MAC_DMA_IMR_S2_ADDRESS 0x000000AC /* MAC Secondary interrupt mask register 2 */
275 #define MAC_DMA_IMR_S2_QCU_TXURN_MASK 0x000003FF /* Mask for TXURN (QCU 0-9) */
276 #define MAC_DMA_IMR_S2_QCU_TXURN_LSB 0
277 #define MAC_DMA_IMR_S2_RX_INT_MASK 0x00000800
278 #define MAC_DMA_IMR_S2_WL_STOMPED_MASK 0x00001000
279 #define MAC_DMA_IMR_S2_RX_PTR_BAD_MASK 0x00002000
280 #define MAC_DMA_IMR_S2_BT_LOW_PRIORITY_RISING_MASK 0x00004000
281 #define MAC_DMA_IMR_S2_BT_LOW_PRIORITY_FALLING_MASK 0x00008000
282 #define MAC_DMA_IMR_S2_BB_PANIC_IRQ_MASK 0x00010000
283 #define MAC_DMA_IMR_S2_BT_STOMPED_MASK 0x00020000
284 #define MAC_DMA_IMR_S2_BT_ACTIVE_RISING_MASK 0x00040000
285 #define MAC_DMA_IMR_S2_BT_ACTIVE_FALLING_MASK 0x00080000
286 #define MAC_DMA_IMR_S2_BT_PRIORITY_RISING_MASK 0x00100000
287 #define MAC_DMA_IMR_S2_BT_PRIORITY_FALLING_MASK 0x00200000
288 #define MAC_DMA_IMR_S2_CST_MASK 0x00400000
289 #define MAC_DMA_IMR_S2_GTT_MASK 0x00800000
290 #define MAC_DMA_IMR_S2_TIM_MASK 0x01000000 /* TIM */
291 #define MAC_DMA_IMR_S2_CABEND_MASK 0x02000000 /* CABEND */
292 #define MAC_DMA_IMR_S2_DTIMSYNC_MASK 0x04000000 /* DTIMSYNC */
293 #define MAC_DMA_IMR_S2_BCNTO_MASK 0x08000000 /* BCNTO */
294 #define MAC_DMA_IMR_S2_CABTO_MASK 0x10000000 /* CABTO */
295 #define MAC_DMA_IMR_S2_DTIM_MASK 0x20000000 /* DTIM */
296 #define MAC_DMA_IMR_S2_TSFOOR_MASK 0x40000000 /* TSFOOR */
297
298 #define MAC_DMA_IMR_S3_ADDRESS 0x000000B0 /* MAC Secondary in terrupt mask register 3 */
299 #define MAC_DMA_IMR_S3_QCU_QCBROVF_MASK 0x000003FF /* Mask for QCBROVF (QCU 0-9) */
300 #define MAC_DMA_IMR_S3_QCU_QCBRURN_MASK 0x03FF0000 /* Mask for QCBRURN (QCU 0-9) */
301 #define MAC_DMA_IMR_S3_QCU_QCBRURN_LSB 16
302
303 #define MAC_DMA_IMR_S4_ADDRESS 0x000000B4 /* MAC Secondary in terrupt mask register 4 */
304 #define MAC_DMA_IMR_S4_QCU_QTRIG_MASK 0x000003FF /* Mask for QTRIG (Q CU 0-9) */
305
306 #define MAC_DMA_IMR_S5_ADDRESS 0x000000B8 /* MAC Secondary in terrupt mask register 5 */
307 #define MAC_DMA_IMR_S5_TBTT_TIMER_TRIGGER_MASK 0x00000001
308 #define MAC_DMA_IMR_S5_DBA_TIMER_TRIGGER_MASK 0x00000002
309 #define MAC_DMA_IMR_S5_SBA_TIMER_TRIGGER_MASK 0x00000004
310 #define MAC_DMA_IMR_S5_HCF_TIMER_TRIGGER_MASK 0x00000008
311 #define MAC_DMA_IMR_S5_TIM_TIMER_TRIGGER_MASK 0x00000010
312 #define MAC_DMA_IMR_S5_DTIM_TIMER_TRIGGER_MASK 0x00000020
313 #define MAC_DMA_IMR_S5_QUIET_TIMER_TRIGGER_MASK 0x00000040
314 #define MAC_DMA_IMR_S5_NDP_TIMER_TRIGGER_MASK 0x00000080
315 #define MAC_DMA_IMR_S5_GENERIC_TIMER2_TRIGGER_MASK 0x0000FF00
316 #define MAC_DMA_IMR_S5_GENERIC_TIMER2_TRIGGER_LSB 8
317 #define MAC_DMA_IMR_S5_GENERIC_TIMER2_TRIGGER(_i) (0x100 << (_i))
318 #define MAC_DMA_IMR_S5_TIMER_OVERFLOW_MASK 0x00010000
319 #define MAC_DMA_IMR_S5_DBA_TIMER_THRESHOLD_MASK 0x00020000
320 #define MAC_DMA_IMR_S5_SBA_TIMER_THRESHOLD_MASK 0x00040000
321 #define MAC_DMA_IMR_S5_HCF_TIMER_THRESHOLD_MASK 0x00080000
322 #define MAC_DMA_IMR_S5_TIM_TIMER_THRESHOLD_MASK 0x00100000
323 #define MAC_DMA_IMR_S5_DTIM_TIMER_THRESHOLD_MASK 0x00200000
324 #define MAC_DMA_IMR_S5_QUIET_TIMER_THRESHOLD_MASK 0000400000
325 #define MAC_DMA_IMR_S5_NDP_TIMER_THRESHOLD_MASK 0x00800000
326 #define MAC_DMA_IMR_S5_GENERIC_TIMER2_THRESHOLD_MASK 0xFF000000
327 #define MAC_DMA_IMR_S5_GENERIC_TIMER2_THRESHOLD_LSB 24
328 #define MAC_DMA_IMR_S5_GENERIC_TIMER2_THRESHOLD(_i) (0x01000000 << (_i))
329
330 #define MAC_DMA_ISR_RAC_ADDRESS 0x000000C0 /* ISR read-and-cle ar access */
331
332 /* Shadow copies with read-and-clear access */
333 #define MAC_DMA_ISR_S0_S_ADDRESS 0x000000C4 /* ISR_S0 shadow co py */
334 #define MAC_DMA_ISR_S1_S_ADDRESS 0x000000C8 /* ISR_S1 shadow co py */
335 #define MAC_DMA_ISR_S2_S_ADDRESS 0x000000Cc /* ISR_S2 shadow co py */
336 #define MAC_DMA_ISR_S3_S_ADDRESS 0x000000D0 /* ISR_S3 shadow co py */
337 #define MAC_DMA_ISR_S4_S_ADDRESS 0x000000D4 /* ISR_S4 shadow co py */
338 #define MAC_DMA_ISR_S5_S_ADDRESS 0x000000D8 /* ISR_S5 shadow co py */
339
340 #define MAC_DMA_Q0_TXDP_ADDRESS 0x00000800 /* MAC Transmit Que ue descriptor pointer */
341 #define MAC_DMA_Q1_TXDP_ADDRESS 0x00000804 /* MAC Transmit Que ue descriptor pointer */
342 #define MAC_DMA_Q2_TXDP_ADDRESS 0x00000808 /* MAC Transmit Que ue descriptor pointer */
343 #define MAC_DMA_Q3_TXDP_ADDRESS 0x0000080C /* MAC Transmit Que ue descriptor pointer */
344 #define MAC_DMA_Q4_TXDP_ADDRESS 0x00000810 /* MAC Transmit Que ue descriptor pointer */
345 #define MAC_DMA_Q5_TXDP_ADDRESS 0x00000814 /* MAC Transmit Que ue descriptor pointer */
346 #define MAC_DMA_Q6_TXDP_ADDRESS 0x00000818 /* MAC Transmit Que ue descriptor pointer */
347 #define MAC_DMA_Q7_TXDP_ADDRESS 0x0000081C /* MAC Transmit Que ue descriptor pointer */
348 #define MAC_DMA_Q8_TXDP_ADDRESS 0x00000820 /* MAC Transmit Que ue descriptor pointer */
349 #define MAC_DMA_Q9_TXDP_ADDRESS 0x00000824 /* MAC Transmit Que ue descriptor pointer */
350 #define MAC_DMA_QTXDP_ADDRESS(_i) (MAC_DMA_Q0_TXDP_ADDRESS + ((_i )<<2))
351
352 #define MAC_DMA_Q_TXE_ADDRESS 0x00000840 /* MAC Transmit Que ue enable */
353 #define MAC_DMA_Q_TXD_ADDRESS 0x00000880 /* MAC Transmit Que ue disable */
354 /* QCU registers */
355
356 #define MAC_DMA_Q0_CBRCFG_ADDRESS 0x000008C0 /* MAC CBR configur ation */
357 #define MAC_DMA_Q1_CBRCFG_ADDRESS 0x000008C4 /* MAC CBR configur ation */
358 #define MAC_DMA_Q2_CBRCFG_ADDRESS 0x000008C8 /* MAC CBR configur ation */
359 #define MAC_DMA_Q3_CBRCFG_ADDRESS 0x000008CC /* MAC CBR configur ation */
360 #define MAC_DMA_Q4_CBRCFG_ADDRESS 0x000008D0 /* MAC CBR configur ation */
361 #define MAC_DMA_Q5_CBRCFG_ADDRESS 0x000008D4 /* MAC CBR configur ation */
362 #define MAC_DMA_Q6_CBRCFG_ADDRESS 0x000008D8 /* MAC CBR configur ation */
363 #define MAC_DMA_Q7_CBRCFG_ADDRESS 0x000008DC /* MAC CBR configur ation */
364 #define MAC_DMA_Q8_CBRCFG_ADDRESS 0x000008E0 /* MAC CBR configur ation */
365 #define MAC_DMA_Q9_CBRCFG_ADDRESS 0x000008E4 /* MAC CBR configur ation */
366 #define MAC_DMA_QCBRCFG_ADDRESS(_i) (MAC_DMA_Q0_CBRCFG_ADDRESS + ((_ i)<<2))
367
368 #define MAC_DMA_Q_CBRCFG_CBR_INTERVAL_MASK 0x00FFFFFF /* Mask for CBR int erval (us) */
369 #define MAC_DMA_Q_CBRCFG_CBR_INTERVAL_LSB 0 /* Shift for CBR interval */
370 #define MAC_DMA_Q_CBRCFG_CBR_OVF_THRESH_MASK 0xFF000000 /* Mask for CBR ove rflow threshold */
371 #define MAC_DMA_Q_CBRCFG_CBR_OVF_THRESH_LSB 24 /* Shift for CBR overflow thresh */
372
373
374 #define MAC_DMA_Q0_RDYTIMECFG_ADDRESS 0x00000900 /* MAC ReadyTime c onfiguration */
375 #define MAC_DMA_Q1_RDYTIMECFG_ADDRESS 0x00000904 /* MAC ReadyTime c onfiguration */
376 #define MAC_DMA_Q2_RDYTIMECFG_ADDRESS 0x00000908 /* MAC ReadyTime c onfiguration */
377 #define MAC_DMA_Q3_RDYTIMECFG_ADDRESS 0x0000090C /* MAC ReadyTime c onfiguration */
378 #define MAC_DMA_Q4_RDYTIMECFG_ADDRESS 0x00000910 /* MAC ReadyTime c onfiguration */
379 #define MAC_DMA_Q5_RDYTIMECFG_ADDRESS 0x00000914 /* MAC ReadyTime c onfiguration */
380 #define MAC_DMA_Q6_RDYTIMECFG_ADDRESS 0x00000918 /* MAC ReadyTime c onfiguration */
381 #define MAC_DMA_Q7_RDYTIMECFG_ADDRESS 0x0000091C /* MAC ReadyTime c onfiguration */
382 #define MAC_DMA_Q8_RDYTIMECFG_ADDRESS 0x00000920 /* MAC ReadyTime c onfiguration */
383 #define MAC_DMA_Q9_RDYTIMECFG_ADDRESS 0x00000924 /* MAC ReadyTime c onfiguration */
384 #define MAC_DMA_QRDYTIMECFG_ADDRESS(_i) (MAC_DMA_Q0_RDYTIMECFG_ADDRESS + ((_i)<<2))
385
386 #define MAC_DMA_Q_RDYTIMECFG_INT_MASK 0x00FFFFFF /* CBR interval (us ) */
387 #define MAC_DMA_Q_RDYTIMECFG_INT_LSB 0 /* Shift for ReadyTime Inte rval (us) */
388 #define MAC_DMA_Q_RDYTIMECFG_ENA_MASK 0x01000000 /* CBR enable */
389
390 #define MAC_DMA_Q_ONESHOTMAC_DMAM_SC_ADDRESS 0x00000940 /* MAC OneShotArm set control */
391 #define MAC_DMA_Q_ONESHOTMAC_DMAM_CC_ADDRESS 0x00000980 /* MAC OneShotArm clear control */
392
393 #define MAC_DMA_Q0_MISC_ADDRESS 0x000009C0 /* MAC Miscellaneo us QCU settings */
394 #define MAC_DMA_Q1_MISC_ADDRESS 0x000009C4 /* MAC Miscellaneo us QCU settings */
395 #define MAC_DMA_Q2_MISC_ADDRESS 0x000009C8 /* MAC Miscellaneo us QCU settings */
396 #define MAC_DMA_Q3_MISC_ADDRESS 0x000009CC /* MAC Miscellaneo us QCU settings */
397 #define MAC_DMA_Q4_MISC_ADDRESS 0x000009D0 /* MAC Miscellaneo us QCU settings */
398 #define MAC_DMA_Q5_MISC_ADDRESS 0x000009D4 /* MAC Miscellaneo us QCU settings */
399 #define MAC_DMA_Q6_MISC_ADDRESS 0x000009D8 /* MAC Miscellaneo us QCU settings */
400 #define MAC_DMA_Q7_MISC_ADDRESS 0x000009DC /* MAC Miscellaneo us QCU settings */
401 #define MAC_DMA_Q8_MISC_ADDRESS 0x000009E0 /* MAC Miscellaneo us QCU settings */
402 #define MAC_DMA_Q9_MISC_ADDRESS 0x000009E4 /* MAC Miscellaneo us QCU settings */
403 #define MAC_DMA_QMISC_ADDRESS(_i) (MAC_DMA_Q0_MISC_ADDRESS + ((_ i)<<2))
404
405 #define MAC_DMA_Q_MISC_FSP_MASK 0x0000000F /* Frame Scheduling Policy mask */
406 #define MAC_DMA_Q_MISC_FSP_ASAP 0 /* ASAP */
407 #define MAC_DMA_Q_MISC_FSP_CBR 1 /* CBR */
408 #define MAC_DMA_Q_MISC_FSP_DBA_GATED 2 /* DMA Beacon Alert gated */
409 #define MAC_DMA_Q_MISC_FSP_TIM_GATED 3 /* TIM gated */
410 #define MAC_DMA_Q_MISC_FSP_BEACON_SENT_GATED 4 /* Beacon-sent-gated */
411 #define MAC_DMA_Q_MISC_ONE_SHOT_EN_MASK 0x00000010 /* OneShot enable * /
412 #define MAC_DMA_Q_MISC_CBR_INCR_DIS1_MASK 0x00000020 /* Disable CBR expi red counter incr
413 (empty q) */
414 #define MAC_DMA_Q_MISC_CBR_INCR_DIS0_MASK 0x00000040 /* Disable CBR expi red counter incr
415 (empty beacon q) */
416 #define MAC_DMA_Q_MISC_BEACON_USE_MASK 0x00000080 /* Beacon use indic ation */
417 #define MAC_DMA_Q_MISC_CBR_EXP_CNTR_LIMIT_MASK 0x00000100 /* CBR expired coun ter limit enable */
418 #define MAC_DMA_Q_MISC_RDYTIME_EXP_POLICY_MASK 0x00000200 /* Enable TXE clear ed on ReadyTime expired or VEOL */
419 #define MAC_DMA_Q_MISC_RESET_CBR_EXP_CTR_MASK 0x00000400 /* Reset CBR expire d counter */
420 #define MAC_DMA_Q_MISC_DCU_EARLY_TERM_REQ_MASK 0x00000800 /* DCU frame early termination request control */
421
422 #define MAC_DMA_Q0_STS_ADDRESS 0x00000A00 /* MAC Miscellaneou s QCU status */
423 #define MAC_DMA_Q1_STS_ADDRESS 0x00000A04 /* MAC Miscellaneou s QCU status */
424 #define MAC_DMA_Q2_STS_ADDRESS 0x00000A08 /* MAC Miscellaneou s QCU status */
425 #define MAC_DMA_Q3_STS_ADDRESS 0x00000A0C /* MAC Miscellaneou s QCU status */
426 #define MAC_DMA_Q4_STS_ADDRESS 0x00000A10 /* MAC Miscellaneou s QCU status */
427 #define MAC_DMA_Q5_STS_ADDRESS 0x00000A14 /* MAC Miscellaneou s QCU status */
428 #define MAC_DMA_Q6_STS_ADDRESS 0x00000A18 /* MAC Miscellaneou s QCU status */
429 #define MAC_DMA_Q7_STS_ADDRESS 0x00000A1C /* MAC Miscellaneou s QCU status */
430 #define MAC_DMA_Q8_STS_ADDRESS 0x00000A20 /* MAC Miscellaneou s QCU status */
431 #define MAC_DMA_Q9_STS_ADDRESS 0x00000A24 /* MAC Miscellaneou s QCU status */
432 #define MAC_DMA_QSTS_ADDRESS(_i) (MAC_DMA_Q0_STS_ADDRESS + ((_i) <<2))
433
434 #define MAC_DMA_Q_STS_PEND_FR_CNT_MASK 0x00000003 /* Mask for Pending Frame Count */
435 #define MAC_DMA_Q_STS_CBR_EXP_CNT_MASK 0x0000FF00 /* Mask for CBR expi red counter */
436
437 #define MAC_DMA_Q_RDYTIMESHDN_ADDRESS 0x00000A40 /* MAC ReadyTimeShu tdown status */
438
439 /* DCU registers */
440
441 #define MAC_DMA_D0_QCUMASK_ADDRESS 0x00001000 /* MAC QCU Mask */
442 #define MAC_DMA_D1_QCUMASK_ADDRESS 0x00001004 /* MAC QCU Mask */
443 #define MAC_DMA_D2_QCUMASK_ADDRESS 0x00001008 /* MAC QCU Mask */
444 #define MAC_DMA_D3_QCUMASK_ADDRESS 0x0000100C /* MAC QCU Mask */
445 #define MAC_DMA_D4_QCUMASK_ADDRESS 0x00001010 /* MAC QCU Mask */
446 #define MAC_DMA_D5_QCUMASK_ADDRESS 0x00001014 /* MAC QCU Mask */
447 #define MAC_DMA_D6_QCUMASK_ADDRESS 0x00001018 /* MAC QCU Mask */
448 #define MAC_DMA_D7_QCUMASK_ADDRESS 0x0000101C /* MAC QCU Mask */
449 #define MAC_DMA_D8_QCUMASK_ADDRESS 0x00001020 /* MAC QCU Mask */
450 #define MAC_DMA_D9_QCUMASK_ADDRESS 0x00001024 /* MAC QCU Mask */
451 #define MAC_DMA_DQCUMASK_ADDRESS(_i) (MAC_DMA_D0_QCUMASK_ADDRESS + ( (_i)<<2))
452
453 #define MAC_DMA_D_QCUMASK_MASK 0x000003FF /* Mask for QCU Mask (QCU 0-9) */
454
455 #define MAC_DMA_D_GBL_IFS_SIFS_ADDRESS 0x00001030 /* DCU global SIFS settings */
456
457
458 #define MAC_DMA_D0_LCL_IFS_ADDRESS 0x00001040 /* MAC DCU-specific IFS settings */
459 #define MAC_DMA_D1_LCL_IFS_ADDRESS 0x00001044 /* MAC DCU-specific IFS settings */
460 #define MAC_DMA_D2_LCL_IFS_ADDRESS 0x00001048 /* MAC DCU-specific IFS settings */
461 #define MAC_DMA_D3_LCL_IFS_ADDRESS 0x0000104C /* MAC DCU-specific IFS settings */
462 #define MAC_DMA_D4_LCL_IFS_ADDRESS 0x00001050 /* MAC DCU-specific IFS settings */
463 #define MAC_DMA_D5_LCL_IFS_ADDRESS 0x00001054 /* MAC DCU-specific IFS settings */
464 #define MAC_DMA_D6_LCL_IFS_ADDRESS 0x00001058 /* MAC DCU-specific IFS settings */
465 #define MAC_DMA_D7_LCL_IFS_ADDRESS 0x0000105C /* MAC DCU-specific IFS settings */
466 #define MAC_DMA_D8_LCL_IFS_ADDRESS 0x00001060 /* MAC DCU-specific IFS settings */
467 #define MAC_DMA_D9_LCL_IFS_ADDRESS 0x00001064 /* MAC DCU-specific IFS settings */
468 #define MAC_DMA_DLCL_IFS_ADDRESS(_i) (MAC_DMA_D0_LCL_IFS_ADDRESS + ( (_i)<<2))
469 #define MAC_DMA_D_LCL_IFS_CWMIN_MASK 0x000003FF /* Mask for CW_MIN * /
470 #define MAC_DMA_D_LCL_IFS_CWMIN_LSB 0
471 #define MAC_DMA_D_LCL_IFS_CWMAX_MASK 0x000FFC00 /* Mask for CW_MAX * /
472 #define MAC_DMA_D_LCL_IFS_CWMAX_LSB 10
473 #define MAC_DMA_D_LCL_IFS_AIFS_MASK 0x0FF00000 /* Mask for AIFS */
474 #define MAC_DMA_D_LCL_IFS_AIFS_LSB 20
475 /*
476 * Note: even though this field is 8 bits wide the
477 * maximum supported AIFS value is 0xFc. Setting the AIFS value
478 * to 0xFd 0xFe, or 0xFf will not work correctly and will cause
479 * the DCU to hang.
480 */
481 #define MAC_DMA_D_GBL_IFS_SLOT_ADDRESS 0x00001070 /* DC global slot i nterval */
482
483 #define MAC_DMA_D0_RETRY_LIMIT_ADDRESS 0x00001080 /* MAC Retry limits */
484 #define MAC_DMA_D1_RETRY_LIMIT_ADDRESS 0x00001084 /* MAC Retry limits */
485 #define MAC_DMA_D2_RETRY_LIMIT_ADDRESS 0x00001088 /* MAC Retry limits */
486 #define MAC_DMA_D3_RETRY_LIMIT_ADDRESS 0x0000108C /* MAC Retry limits */
487 #define MAC_DMA_D4_RETRY_LIMIT_ADDRESS 0x00001090 /* MAC Retry limits */
488 #define MAC_DMA_D5_RETRY_LIMIT_ADDRESS 0x00001094 /* MAC Retry limits */
489 #define MAC_DMA_D6_RETRY_LIMIT_ADDRESS 0x00001098 /* MAC Retry limits */
490 #define MAC_DMA_D7_RETRY_LIMIT_ADDRESS 0x0000109C /* MAC Retry limits */
491 #define MAC_DMA_D8_RETRY_LIMIT_ADDRESS 0x000010A0 /* MAC Retry limits */
492 #define MAC_DMA_D9_RETRY_LIMIT_ADDRESS 0x000010A4 /* MAC Retry limits */
493 #define MAC_DMA_DRETRY_LIMIT_ADDRESS(_i) (MAC_DMA_D0_RETRY_LIMIT_ADDRESS + ((_i)<<2))
494
495 #define MAC_DMA_D_RETRY_LIMIT_FR_RTS_MASK 0x0000000F /* frame RTS failure limit */
496 #define MAC_DMA_D_RETRY_LIMIT_FR_RTS_LSB 0
497 #define MAC_DMA_D_RETRY_LIMIT_STA_RTS_MASK 0x00003F00 /* station RTS failu re limit */
498 #define MAC_DMA_D_RETRY_LIMIT_STA_RTS_LSB 8
499 #define MAC_DMA_D_RETRY_LIMIT_STA_DATA_MASK 0x000FC000 /* station short ret ry limit */
500 #define MAC_DMA_D_RETRY_LIMIT_STA_DATA_LSB 14
501
502 #define MAC_DMA_D_GBL_IFS_EIFS_ADDRESS 0x000010B0 /* DCU global EIFS setting */
503
504 #define MAC_DMA_D0_CHNTIME_ADDRESS 0x000010C0 /* MAC ChannelTime settings */
505 #define MAC_DMA_D1_CHNTIME_ADDRESS 0x000010C4 /* MAC ChannelTime settings */
506 #define MAC_DMA_D2_CHNTIME_ADDRESS 0x000010C8 /* MAC ChannelTime settings */
507 #define MAC_DMA_D3_CHNTIME_ADDRESS 0x000010CC /* MAC ChannelTime settings */
508 #define MAC_DMA_D4_CHNTIME_ADDRESS 0x000010D0 /* MAC ChannelTime settings */
509 #define MAC_DMA_D5_CHNTIME_ADDRESS 0x000010D4 /* MAC ChannelTime settings */
510 #define MAC_DMA_D6_CHNTIME_ADDRESS 0x000010D8 /* MAC ChannelTime settings */
511 #define MAC_DMA_D7_CHNTIME_ADDRESS 0x000010DC /* MAC ChannelTime settings */
512 #define MAC_DMA_D8_CHNTIME_ADDRESS 0x000010E0 /* MAC ChannelTime settings */
513 #define MAC_DMA_D9_CHNTIME_ADDRESS 0x000010E4 /* MAC ChannelTime settings */
514 #define MAC_DMA_DCHNTIME_ADDRESS(_i) (MAC_DMA_D0_CHNTIME_ADDRESS + ( (_i)<<2))
515
516 #define MAC_DMA_D_CHNTIME_DUR_MASK 0x000FFFFF /* ChannelTime durat ion (us) */
517 #define MAC_DMA_D_CHNTIME_DUR_LSB 0 /* Shift for ChannelTime dura tion */
518 #define MAC_DMA_D_CHNTIME_EN_MASK 0x00100000 /* ChannelTime enabl e */
519
520 #define MAC_DMA_D_GBL_IFS_MISC_ADDRESS 0x000010f0 /* DCU global misc. IFS settings */
521 #define MAC_DMA_D_GBL_IFS_MISC_LFSR_SLICE_SEL_MASK 0x00000007 /* LFSR slice sele ct */
522 #define MAC_DMA_D_GBL_IFS_MISC_TURBO_MODE_MASK 0x00000008 /* Turbo mode indi cation */
523 #define MAC_DMA_D_GBL_IFS_MISC_DCU_ARBITER_DLY_MASK 0x00300000 /* DCU arbiter de lay */
524 #define MAC_DMA_D_GBL_IFS_IGNORE_BACKOFF_MASK 0x10000000
525
526 #define MAC_DMA_D0_MISC_ADDRESS 0x00001100 /* MAC Miscellaneou s DCU-specific settings */
527 #define MAC_DMA_D1_MISC_ADDRESS 0x00001104 /* MAC Miscellaneou s DCU-specific settings */
528 #define MAC_DMA_D2_MISC_ADDRESS 0x00001108 /* MAC Miscellaneou s DCU-specific settings */
529 #define MAC_DMA_D3_MISC_ADDRESS 0x0000110C /* MAC Miscellaneou s DCU-specific settings */
530 #define MAC_DMA_D4_MISC_ADDRESS 0x00001110 /* MAC Miscellaneou s DCU-specific settings */
531 #define MAC_DMA_D5_MISC_ADDRESS 0x00001114 /* MAC Miscellaneou s DCU-specific settings */
532 #define MAC_DMA_D6_MISC_ADDRESS 0x00001118 /* MAC Miscellaneou s DCU-specific settings */
533 #define MAC_DMA_D7_MISC_ADDRESS 0x0000111C /* MAC Miscellaneou s DCU-specific settings */
534 #define MAC_DMA_D8_MISC_ADDRESS 0x00001120 /* MAC Miscellaneou s DCU-specific settings */
535 #define MAC_DMA_D9_MISC_ADDRESS 0x00001124 /* MAC Miscellaneou s DCU-specific settings */
536 #define MAC_DMA_DMISC_ADDRESS(_i) (MAC_DMA_D0_MISC_ADDRESS + ((_i )<<2))
537
538 #define MAC_DMA_D0_EOL_ADDRESS 0x00001180
539 #define MAC_DMA_D1_EOL_ADDRESS 0x00001184
540 #define MAC_DMA_D2_EOL_ADDRESS 0x00001188
541 #define MAC_DMA_D3_EOL_ADDRESS 0x0000118C
542 #define MAC_DMA_D4_EOL_ADDRESS 0x00001190
543 #define MAC_DMA_D5_EOL_ADDRESS 0x00001194
544 #define MAC_DMA_D6_EOL_ADDRESS 0x00001198
545 #define MAC_DMA_D7_EOL_ADDRESS 0x0000119C
546 #define MAC_DMA_D8_EOL_ADDRESS 0x00001200
547 #define MAC_DMA_D9_EOL_ADDRESS 0x00001204
548 #define MAC_DMA_DEOL_ADDRESS(_i) (MAC_DMA_D0_EOL_ADDRESS + ((_i)< <2))
549
550 #define MAC_DMA_D_MISC_BKOFF_THRESH_MASK 0x0000003F /* Backoff threshold */
551 #define MAC_DMA_D_MISC_BACK_OFF_THRESH_LSB 0
552 #define MAC_DMA_D_MISC_ETS_RTS_MASK 0x00000040 /* End of transmissi on series
553 station RTS/data failu re
554 count reset policy */
555 #define MAC_DMA_D_MISC_ETS_CW_MASK 0x00000080 /* End of transmissi on series
556 CW reset policy */
557 #define MAC_DMA_D_MISC_FRAG_WAIT_EN_MASK 0x00000100 /* Fragment Starvat ion Policy */
558
559 #define MAC_DMA_D_MISC_FRAG_BKOFF_EN_MASK 0x00000200 /* Backoff during a frag burst */
560 #define MAC_DMA_D_MISC_HCF_POLL_EN_MASK 0x00000800 /* HFC poll enable * /
561 #define MAC_DMA_D_MISC_BKOFF_PERSISTENCE_MASK 0x00001000 /* Backoff persisten ce factor
562 setting */
563 #define MAC_DMA_D_MISC_VIR_COL_HANDLING_MASK 0x0000C000 /* Mask for Virtual collision
564 handling policy */
565 #define MAC_DMA_D_MISC_VIR_COL_HANDLING_LSB 14
566 #define MAC_DMA_D_MISC_VIR_COL_HANDLING_DEFAULT 0 /* Normal */
567 #define MAC_DMA_D_MISC_VIR_COL_HANDLING_IGNORE 1 /* Ignore */
568 #define MAC_DMA_D_MISC_BEACON_USE_MASK 0x00010000 /* Beacon use indic ation */
569 #define MAC_DMA_D_MISC_ARB_LOCKOUT_CNTRL_MASK 0x00060000 /* Mask for DCU arbite r lockout control */
570 #define MAC_DMA_D_MISC_ARB_LOCKOUT_CNTRL_LSB 17
571 #define MAC_DMA_D_MISC_ARB_LOCKOUT_CNTRL_NONE 0 /* No lockout*/
572 #define MAC_DMA_D_MISC_ARB_LOCKOUT_CNTRL_INTRA_FR 1 /* Intra-frame*/
573 #define MAC_DMA_D_MISC_ARB_LOCKOUT_CNTRL_GLOBAL 2 /* Global */
574 #define MAC_DMA_D_MISC_ARB_LOCKOUT_IGNORE_MASK 0x00080000 /* DCU arbiter lockou t ignore control */
575 #define MAC_DMA_D_MISC_SEQ_NUM_INCR_DIS_MASK 0x00100000 /* Sequence number in crement disable */
576 #define MAC_DMA_D_MISC_POST_FR_BKOFF_DIS_MASK 0x00200000 /* Post-frame backoff disable */
577 #define MAC_DMA_D_MISC_VIRT_COLL_POLICY_MASK 0x00400000 /* Virtual coll. hand ling policy */
578 #define MAC_DMA_D_MISC_BLOWN_IFS_POLICY_MASK 0x00800000 /* Blown IFS handling policy */
579
580 #define MAC_DMA_D_SEQNUM_ADDRESS 0x00001140 /* MAC Frame sequenc e number */
581
582
583
584 #define MAC_DMA_D_FPCTL_ADDRESS 0x00001230 /* DCU frame pr efetch settings */
585 #define MAC_DMA_D_TXPSE_ADDRESS 0x00001270 /* DCU transmit pause control/status */
586
587 #endif /* _AR6000_DMMAEG_H_ */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698