1f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez/*
25b68138e5659cbfd5df2879d17f9ba0b66477fecSujith Manoharan * Copyright (c) 2008-2011 Atheros Communications Inc.
3f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez *
4f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez * Permission to use, copy, modify, and/or distribute this software for any
5f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez * purpose with or without fee is hereby granted, provided that the above
6f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez * copyright notice and this permission notice appear in all copies.
7f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez *
8f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez */
16f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
17f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#ifndef REG_H
18f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define REG_H
19f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
2013b81559200b8e54473e5b140323cbb5f2bb21c0Luis R. Rodriguez#include "../reg.h"
2113b81559200b8e54473e5b140323cbb5f2bb21c0Luis R. Rodriguez
22f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CR                0x0008
232c5204aa83c3a21c5c3e044342dadf4520cc4558Felix Fietkau#define AR_CR_RXE            (AR_SREV_9300_20_OR_LATER(ah) ? 0x0000000c : 0x00000004)
24f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CR_RXD            0x00000020
25f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CR_SWI            0x00000040
26f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
27f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXDP              0x000C
28f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
29f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG               0x0014
30f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_SWTD          0x00000001
31f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_SWTB          0x00000002
32f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_SWRD          0x00000004
33f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_SWRB          0x00000008
34f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_SWRG          0x00000010
35f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_AP_ADHOC_INDICATION 0x00000020
36f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_PHOK          0x00000100
37f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_CLK_GATE_DIS  0x00000400
38f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_EEBS          0x00000200
39f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_PCI_MASTER_REQ_Q_THRESH         0x00060000
40f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_PCI_MASTER_REQ_Q_THRESH_S       17
41f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
4257b32227cd7f1f81f4143d8bc82a5ffe37ab4df9Felix Fietkau#define AR_RXBP_THRESH       0x0018
4357b32227cd7f1f81f4143d8bc82a5ffe37ab4df9Felix Fietkau#define AR_RXBP_THRESH_HP    0x0000000f
4457b32227cd7f1f81f4143d8bc82a5ffe37ab4df9Felix Fietkau#define AR_RXBP_THRESH_HP_S  0
4557b32227cd7f1f81f4143d8bc82a5ffe37ab4df9Felix Fietkau#define AR_RXBP_THRESH_LP    0x00003f00
4657b32227cd7f1f81f4143d8bc82a5ffe37ab4df9Felix Fietkau#define AR_RXBP_THRESH_LP_S  8
4757b32227cd7f1f81f4143d8bc82a5ffe37ab4df9Felix Fietkau
48f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MIRT              0x0020
49f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MIRT_VAL          0x0000ffff
50f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MIRT_VAL_S        16
51f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
52f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IER               0x0024
53f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IER_ENABLE        0x00000001
54f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IER_DISABLE       0x00000000
55f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
56f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIMT              0x0028
57f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIMT_LAST         0x0000ffff
58f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIMT_LAST_S       0
59f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIMT_FIRST        0xffff0000
60f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIMT_FIRST_S      16
61f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
62f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RIMT              0x002C
63f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RIMT_LAST         0x0000ffff
64f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RIMT_LAST_S       0
65f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RIMT_FIRST        0xffff0000
66f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RIMT_FIRST_S      16
67f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
68f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMASIZE_4B        0x00000000
69f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMASIZE_8B        0x00000001
70f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMASIZE_16B       0x00000002
71f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMASIZE_32B       0x00000003
72f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMASIZE_64B       0x00000004
73f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMASIZE_128B      0x00000005
74f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMASIZE_256B      0x00000006
75f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMASIZE_512B      0x00000007
76f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
77f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXCFG             0x0030
78aebe2b5624b9a3c00b78b1b285c43de73c81f7c5Gabor Juhos#define AR_TXCFG_DMASZ_MASK  0x00000007
79f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXCFG_DMASZ_4B    0
80f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXCFG_DMASZ_8B    1
81f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXCFG_DMASZ_16B   2
82f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXCFG_DMASZ_32B   3
83f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXCFG_DMASZ_64B   4
84f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXCFG_DMASZ_128B  5
85f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXCFG_DMASZ_256B  6
86f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXCFG_DMASZ_512B  7
87f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_FTRIG             0x000003F0
88f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_FTRIG_S           4
89f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_FTRIG_IMMED       0x00000000
90f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_FTRIG_64B         0x00000010
91f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_FTRIG_128B        0x00000020
92f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_FTRIG_192B        0x00000030
93f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_FTRIG_256B        0x00000040
94f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_FTRIG_512B        0x00000080
95f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXCFG_ADHOC_BEACON_ATIM_TX_POLICY 0x00000800
96f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
97f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXCFG             0x0034
98f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXCFG_CHIRP       0x00000008
99f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXCFG_ZLFDMA      0x00000010
100f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXCFG_DMASZ_MASK  0x00000007
101f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXCFG_DMASZ_4B    0
102f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXCFG_DMASZ_8B    1
103f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXCFG_DMASZ_16B   2
104f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXCFG_DMASZ_32B   3
105f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXCFG_DMASZ_64B   4
106f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXCFG_DMASZ_128B  5
107f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXCFG_DMASZ_256B  6
108f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXCFG_DMASZ_512B  7
109f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
110f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TOPS              0x0044
111f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TOPS_MASK         0x0000FFFF
112f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
113f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXNPTO            0x0048
114f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXNPTO_MASK       0x000003FF
115f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
116f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXNPTO            0x004C
117f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXNPTO_MASK       0x000003FF
118f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXNPTO_QCU_MASK   0x000FFC00
119f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
120f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RPGTO             0x0050
121f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RPGTO_MASK        0x000003FF
122f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
123f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RPCNT             0x0054
124f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RPCNT_MASK        0x0000001F
125f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
126f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC           0x0058
127f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_PCI_EXT_FORCE        0x00000010
128f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_DMA_OBS              0x000001E0
129f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_DMA_OBS_S            5
130f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_DMA_OBS_LINE_0       0
131f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_DMA_OBS_LINE_1       1
132f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_DMA_OBS_LINE_2       2
133f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_DMA_OBS_LINE_3       3
134f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_DMA_OBS_LINE_4       4
135f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_DMA_OBS_LINE_5       5
136f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_DMA_OBS_LINE_6       6
137f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_DMA_OBS_LINE_7       7
138f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_DMA_OBS_LINE_8       8
139f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_MISC_OBS             0x00000E00
140f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_MISC_OBS_S           9
141f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_MISC_OBS_BUS_LSB     0x00007000
142f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_MISC_OBS_BUS_LSB_S   12
143f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_MISC_OBS_BUS_MSB     0x00038000
144f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_MISC_OBS_BUS_MSB_S   15
145f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MACMISC_MISC_OBS_BUS_1       1
146f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
147ad7b806065f5791696a1c9a4c2665f6421cbbf05Vasanthakumar Thiagarajan#define AR_DATABUF_SIZE		0x0060
148ad7b806065f5791696a1c9a4c2665f6421cbbf05Vasanthakumar Thiagarajan#define AR_DATABUF_SIZE_MASK	0x00000FFF
149ad7b806065f5791696a1c9a4c2665f6421cbbf05Vasanthakumar Thiagarajan
150f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GTXTO    0x0064
151f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GTXTO_TIMEOUT_COUNTER    0x0000FFFF
152f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GTXTO_TIMEOUT_LIMIT      0xFFFF0000
153f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GTXTO_TIMEOUT_LIMIT_S    16
154f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
155f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GTTM     0x0068
156f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GTTM_USEC          0x00000001
157f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GTTM_IGNORE_IDLE   0x00000002
158f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GTTM_RESET_IDLE    0x00000004
159f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GTTM_CST_USEC      0x00000008
160f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
161f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CST         0x006C
162f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CST_TIMEOUT_COUNTER    0x0000FFFF
163f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CST_TIMEOUT_LIMIT      0xFFFF0000
164f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CST_TIMEOUT_LIMIT_S    16
165f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
166ad7b806065f5791696a1c9a4c2665f6421cbbf05Vasanthakumar Thiagarajan#define AR_HP_RXDP 0x0074
167ad7b806065f5791696a1c9a4c2665f6421cbbf05Vasanthakumar Thiagarajan#define AR_LP_RXDP 0x0078
168ad7b806065f5791696a1c9a4c2665f6421cbbf05Vasanthakumar Thiagarajan
169f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR               0x0080
170f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_RXOK          0x00000001
171f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_RXDESC        0x00000002
1726c84ce08aaf5995afc7ff7b4c54069c2431fca87Vasanthakumar Thiagarajan#define AR_ISR_HP_RXOK	     0x00000001
1736c84ce08aaf5995afc7ff7b4c54069c2431fca87Vasanthakumar Thiagarajan#define AR_ISR_LP_RXOK	     0x00000002
174f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_RXERR         0x00000004
175f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_RXNOPKT       0x00000008
176f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_RXEOL         0x00000010
177f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_RXORN         0x00000020
178f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_TXOK          0x00000040
179f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_TXDESC        0x00000080
180f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_TXERR         0x00000100
181f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_TXNOPKT       0x00000200
182f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_TXEOL         0x00000400
183f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_TXURN         0x00000800
184f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_MIB           0x00001000
185f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_SWI           0x00002000
186f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_RXPHY         0x00004000
187f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_RXKCM         0x00008000
188f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_SWBA          0x00010000
189f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_BRSSI         0x00020000
190f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_BMISS         0x00040000
191f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_BNR           0x00100000
192f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_RXCHIRP       0x00200000
193f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_BCNMISC       0x00800000
194f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_TIM           0x00800000
195f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_QCBROVF       0x02000000
196f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_QCBRURN       0x04000000
197f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_QTRIG         0x08000000
198f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_GENTMR        0x10000000
199f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
200f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_TXMINTR       0x00080000
201f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_RXMINTR       0x01000000
202f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_TXINTM        0x40000000
203f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_RXINTM        0x80000000
204f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
205f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S0               0x0084
206f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S0_QCU_TXOK      0x000003FF
207f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S0_QCU_TXOK_S    0
208f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S0_QCU_TXDESC    0x03FF0000
209f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S0_QCU_TXDESC_S  16
210f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
211f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S1              0x0088
212f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S1_QCU_TXERR    0x000003FF
213f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S1_QCU_TXERR_S  0
214f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S1_QCU_TXEOL    0x03FF0000
215f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S1_QCU_TXEOL_S  16
216f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
217f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S2              0x008c
218f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S2_QCU_TXURN    0x000003FF
219aea702b70ae0964c16e17944e4a5ce2c2b038cedLuis R. Rodriguez#define AR_ISR_S2_BB_WATCHDOG  0x00010000
220f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S2_CST          0x00400000
221f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S2_GTT          0x00800000
222f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S2_TIM          0x01000000
223f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S2_CABEND       0x02000000
224f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S2_DTIMSYNC     0x04000000
225f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S2_BCNTO        0x08000000
226f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S2_CABTO        0x10000000
227f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S2_DTIM         0x20000000
228f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S2_TSFOOR       0x40000000
229f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S2_TBTT_TIME    0x80000000
230f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
231f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S3             0x0090
232f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S3_QCU_QCBROVF    0x000003FF
233f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S3_QCU_QCBRURN    0x03FF0000
234f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
235f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S4              0x0094
236f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S4_QCU_QTRIG    0x000003FF
237f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S4_RESV0        0xFFFFFC00
238f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
239f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S5                   0x0098
240f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S5_TIMER_TRIG        0x000000FF
241f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S5_TIMER_THRESH      0x0007FE00
242f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S5_TIM_TIMER         0x00000010
243f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S5_DTIM_TIMER        0x00000020
244f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S5                   0x00b8
245f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S5_TIM_TIMER         0x00000010
246f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S5_DTIM_TIMER        0x00000020
247ff155a45cea56ad7a90c3f5192db59a4c7812fdeVasanthakumar Thiagarajan#define AR_ISR_S5_GENTIMER_TRIG     0x0000FF80
248ff155a45cea56ad7a90c3f5192db59a4c7812fdeVasanthakumar Thiagarajan#define AR_ISR_S5_GENTIMER_TRIG_S   0
249ff155a45cea56ad7a90c3f5192db59a4c7812fdeVasanthakumar Thiagarajan#define AR_ISR_S5_GENTIMER_THRESH   0xFF800000
250ff155a45cea56ad7a90c3f5192db59a4c7812fdeVasanthakumar Thiagarajan#define AR_ISR_S5_GENTIMER_THRESH_S 16
251ff155a45cea56ad7a90c3f5192db59a4c7812fdeVasanthakumar Thiagarajan#define AR_IMR_S5_GENTIMER_TRIG     0x0000FF80
252ff155a45cea56ad7a90c3f5192db59a4c7812fdeVasanthakumar Thiagarajan#define AR_IMR_S5_GENTIMER_TRIG_S   0
253ff155a45cea56ad7a90c3f5192db59a4c7812fdeVasanthakumar Thiagarajan#define AR_IMR_S5_GENTIMER_THRESH   0xFF800000
254ff155a45cea56ad7a90c3f5192db59a4c7812fdeVasanthakumar Thiagarajan#define AR_IMR_S5_GENTIMER_THRESH_S 16
255f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
256f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR               0x00a0
257f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_RXOK          0x00000001
258f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_RXDESC        0x00000002
25955e82df4be45305bfb5e7ecb877a349ed4da8ed2Vasanthakumar Thiagarajan#define AR_IMR_RXOK_HP	     0x00000001
26055e82df4be45305bfb5e7ecb877a349ed4da8ed2Vasanthakumar Thiagarajan#define AR_IMR_RXOK_LP	     0x00000002
261f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_RXERR         0x00000004
262f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_RXNOPKT       0x00000008
263f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_RXEOL         0x00000010
264f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_RXORN         0x00000020
265f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_TXOK          0x00000040
266f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_TXDESC        0x00000080
267f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_TXERR         0x00000100
268f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_TXNOPKT       0x00000200
269f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_TXEOL         0x00000400
270f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_TXURN         0x00000800
271f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_MIB           0x00001000
272f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_SWI           0x00002000
273f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_RXPHY         0x00004000
274f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_RXKCM         0x00008000
275f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_SWBA          0x00010000
276f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_BRSSI         0x00020000
277f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_BMISS         0x00040000
278f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_BNR           0x00100000
279f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_RXCHIRP       0x00200000
280f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_BCNMISC       0x00800000
281f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_TIM           0x00800000
282f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_QCBROVF       0x02000000
283f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_QCBRURN       0x04000000
284f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_QTRIG         0x08000000
285f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_GENTMR        0x10000000
286f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
287f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_TXMINTR       0x00080000
288f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_RXMINTR       0x01000000
289f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_TXINTM        0x40000000
290f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_RXINTM        0x80000000
291f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
292f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S0               0x00a4
293f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S0_QCU_TXOK      0x000003FF
294f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S0_QCU_TXOK_S    0
295f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S0_QCU_TXDESC    0x03FF0000
296f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S0_QCU_TXDESC_S  16
297f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
298f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S1              0x00a8
299f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S1_QCU_TXERR    0x000003FF
300f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S1_QCU_TXERR_S  0
301f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S1_QCU_TXEOL    0x03FF0000
302f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S1_QCU_TXEOL_S  16
303f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
304f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S2              0x00ac
305f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S2_QCU_TXURN    0x000003FF
306f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S2_QCU_TXURN_S  0
307f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S2_CST          0x00400000
308f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S2_GTT          0x00800000
309f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S2_TIM          0x01000000
310f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S2_CABEND       0x02000000
311f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S2_DTIMSYNC     0x04000000
312f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S2_BCNTO        0x08000000
313f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S2_CABTO        0x10000000
314f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S2_DTIM         0x20000000
315f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S2_TSFOOR       0x40000000
316f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
317f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S3                0x00b0
318f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S3_QCU_QCBROVF    0x000003FF
319f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S3_QCU_QCBRURN    0x03FF0000
320f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S3_QCU_QCBRURN_S  16
321f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
322f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S4              0x00b4
323f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S4_QCU_QTRIG    0x000003FF
324f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S4_RESV0        0xFFFFFC00
325f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
326f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S5              0x00b8
327f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S5_TIMER_TRIG        0x000000FF
328f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_IMR_S5_TIMER_THRESH      0x0000FF00
329f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
330f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
331f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_RAC            0x00c0
332f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S0_S           0x00c4
333f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S0_QCU_TXOK      0x000003FF
334f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S0_QCU_TXOK_S    0
335f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S0_QCU_TXDESC    0x03FF0000
336f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S0_QCU_TXDESC_S  16
337f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
338f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S1_S           0x00c8
339f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S1_QCU_TXERR    0x000003FF
340f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S1_QCU_TXERR_S  0
341f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S1_QCU_TXEOL    0x03FF0000
342f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ISR_S1_QCU_TXEOL_S  16
343f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
3442c5204aa83c3a21c5c3e044342dadf4520cc4558Felix Fietkau#define AR_ISR_S2_S           (AR_SREV_9300_20_OR_LATER(ah) ? 0x00d0 : 0x00cc)
3452c5204aa83c3a21c5c3e044342dadf4520cc4558Felix Fietkau#define AR_ISR_S3_S           (AR_SREV_9300_20_OR_LATER(ah) ? 0x00d4 : 0x00d0)
3462c5204aa83c3a21c5c3e044342dadf4520cc4558Felix Fietkau#define AR_ISR_S4_S           (AR_SREV_9300_20_OR_LATER(ah) ? 0x00d8 : 0x00d4)
3472c5204aa83c3a21c5c3e044342dadf4520cc4558Felix Fietkau#define AR_ISR_S5_S           (AR_SREV_9300_20_OR_LATER(ah) ? 0x00dc : 0x00d8)
348f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMADBG_0           0x00e0
349f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMADBG_1           0x00e4
350f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMADBG_2           0x00e8
351f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMADBG_3           0x00ec
352f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMADBG_4           0x00f0
353f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMADBG_5           0x00f4
354f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMADBG_6           0x00f8
355f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMADBG_7           0x00fc
356f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
357f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_NUM_QCU      10
358f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QCU_0        0x0001
359f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QCU_1        0x0002
360f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QCU_2        0x0004
361f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QCU_3        0x0008
362f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QCU_4        0x0010
363f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QCU_5        0x0020
364f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QCU_6        0x0040
365f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QCU_7        0x0080
366f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QCU_8        0x0100
367f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QCU_9        0x0200
368f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
369f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q0_TXDP           0x0800
370f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q1_TXDP           0x0804
371f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q2_TXDP           0x0808
372f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q3_TXDP           0x080c
373f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q4_TXDP           0x0810
374f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q5_TXDP           0x0814
375f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q6_TXDP           0x0818
376f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q7_TXDP           0x081c
377f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q8_TXDP           0x0820
378f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q9_TXDP           0x0824
379f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QTXDP(_i)    (AR_Q0_TXDP + ((_i)<<2))
380f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
381744d402580f959072f6b805a98745837f185c8e0Vasanthakumar Thiagarajan#define AR_Q_STATUS_RING_START	0x830
382744d402580f959072f6b805a98745837f185c8e0Vasanthakumar Thiagarajan#define AR_Q_STATUS_RING_END	0x834
383744d402580f959072f6b805a98745837f185c8e0Vasanthakumar Thiagarajan
384f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_TXE             0x0840
385f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_TXE_M           0x000003FF
386f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
387f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_TXD             0x0880
388f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_TXD_M           0x000003FF
389f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
390f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q0_CBRCFG         0x08c0
391f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q1_CBRCFG         0x08c4
392f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q2_CBRCFG         0x08c8
393f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q3_CBRCFG         0x08cc
394f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q4_CBRCFG         0x08d0
395f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q5_CBRCFG         0x08d4
396f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q6_CBRCFG         0x08d8
397f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q7_CBRCFG         0x08dc
398f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q8_CBRCFG         0x08e0
399f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q9_CBRCFG         0x08e4
400f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QCBRCFG(_i)      (AR_Q0_CBRCFG + ((_i)<<2))
401f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_CBRCFG_INTERVAL     0x00FFFFFF
402f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_CBRCFG_INTERVAL_S   0
403f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_CBRCFG_OVF_THRESH   0xFF000000
404f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_CBRCFG_OVF_THRESH_S 24
405f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
406f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q0_RDYTIMECFG         0x0900
407f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q1_RDYTIMECFG         0x0904
408f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q2_RDYTIMECFG         0x0908
409f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q3_RDYTIMECFG         0x090c
410f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q4_RDYTIMECFG         0x0910
411f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q5_RDYTIMECFG         0x0914
412f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q6_RDYTIMECFG         0x0918
413f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q7_RDYTIMECFG         0x091c
414f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q8_RDYTIMECFG         0x0920
415f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q9_RDYTIMECFG         0x0924
416f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QRDYTIMECFG(_i)       (AR_Q0_RDYTIMECFG + ((_i)<<2))
417f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_RDYTIMECFG_DURATION   0x00FFFFFF
418f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_RDYTIMECFG_DURATION_S 0
419f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_RDYTIMECFG_EN         0x01000000
420f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
421f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_ONESHOTARM_SC       0x0940
422f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_ONESHOTARM_SC_M     0x000003FF
423f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_ONESHOTARM_SC_RESV0 0xFFFFFC00
424f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
425f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_ONESHOTARM_CC       0x0980
426f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_ONESHOTARM_CC_M     0x000003FF
427f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_ONESHOTARM_CC_RESV0 0xFFFFFC00
428f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
429f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q0_MISC         0x09c0
430f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q1_MISC         0x09c4
431f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q2_MISC         0x09c8
432f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q3_MISC         0x09cc
433f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q4_MISC         0x09d0
434f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q5_MISC         0x09d4
435f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q6_MISC         0x09d8
436f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q7_MISC         0x09dc
437f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q8_MISC         0x09e0
438f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q9_MISC         0x09e4
439f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QMISC(_i)       (AR_Q0_MISC + ((_i)<<2))
440f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_FSP                     0x0000000F
441f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_FSP_ASAP                0
442f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_FSP_CBR                 1
443f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_FSP_DBA_GATED           2
444f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_FSP_TIM_GATED           3
445f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_FSP_BEACON_SENT_GATED   4
446f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_FSP_BEACON_RCVD_GATED   5
447f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_ONE_SHOT_EN             0x00000010
448f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_CBR_INCR_DIS1           0x00000020
449f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_CBR_INCR_DIS0           0x00000040
450f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_BEACON_USE              0x00000080
451f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_CBR_EXP_CNTR_LIMIT_EN   0x00000100
452f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_RDYTIME_EXP_POLICY      0x00000200
453f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_RESET_CBR_EXP_CTR       0x00000400
454f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_DCU_EARLY_TERM_REQ      0x00000800
455f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_MISC_RESV0                   0xFFFFF000
456f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
457f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q0_STS         0x0a00
458f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q1_STS         0x0a04
459f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q2_STS         0x0a08
460f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q3_STS         0x0a0c
461f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q4_STS         0x0a10
462f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q5_STS         0x0a14
463f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q6_STS         0x0a18
464f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q7_STS         0x0a1c
465f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q8_STS         0x0a20
466f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q9_STS         0x0a24
467f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QSTS(_i)       (AR_Q0_STS + ((_i)<<2))
468f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_STS_PEND_FR_CNT          0x00000003
469f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_STS_RESV0                0x000000FC
470f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_STS_CBR_EXP_CNT          0x0000FF00
471f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_STS_RESV1                0xFFFF0000
472f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
473f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_RDYTIMESHDN    0x0a40
474f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_Q_RDYTIMESHDN_M  0x000003FF
475f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
47679de23751a79a1270e45559296256ecb3dd35e12Luis R. Rodriguez/* MAC Descriptor CRC check */
47779de23751a79a1270e45559296256ecb3dd35e12Luis R. Rodriguez#define AR_Q_DESC_CRCCHK    0xa44
47879de23751a79a1270e45559296256ecb3dd35e12Luis R. Rodriguez/* Enable CRC check on the descriptor fetched from host */
47979de23751a79a1270e45559296256ecb3dd35e12Luis R. Rodriguez#define AR_Q_DESC_CRCCHK_EN 1
480f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
481f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_NUM_DCU      10
482f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DCU_0        0x0001
483f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DCU_1        0x0002
484f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DCU_2        0x0004
485f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DCU_3        0x0008
486f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DCU_4        0x0010
487f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DCU_5        0x0020
488f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DCU_6        0x0040
489f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DCU_7        0x0080
490f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DCU_8        0x0100
491f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DCU_9        0x0200
492f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
493f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D0_QCUMASK     0x1000
494f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D1_QCUMASK     0x1004
495f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D2_QCUMASK     0x1008
496f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D3_QCUMASK     0x100c
497f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D4_QCUMASK     0x1010
498f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D5_QCUMASK     0x1014
499f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D6_QCUMASK     0x1018
500f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D7_QCUMASK     0x101c
501f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D8_QCUMASK     0x1020
502f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D9_QCUMASK     0x1024
503f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DQCUMASK(_i)   (AR_D0_QCUMASK + ((_i)<<2))
504f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_QCUMASK         0x000003FF
505f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_QCUMASK_RESV0   0xFFFFFC00
506f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
507f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXBLK_CMD  0x1038
508f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXBLK_DATA(i) (AR_D_TXBLK_CMD+(i))
509f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
510f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D0_LCL_IFS     0x1040
511f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D1_LCL_IFS     0x1044
512f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D2_LCL_IFS     0x1048
513f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D3_LCL_IFS     0x104c
514f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D4_LCL_IFS     0x1050
515f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D5_LCL_IFS     0x1054
516f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D6_LCL_IFS     0x1058
517f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D7_LCL_IFS     0x105c
518f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D8_LCL_IFS     0x1060
519f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D9_LCL_IFS     0x1064
520f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DLCL_IFS(_i)   (AR_D0_LCL_IFS + ((_i)<<2))
521f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_LCL_IFS_CWMIN       0x000003FF
522f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_LCL_IFS_CWMIN_S     0
523f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_LCL_IFS_CWMAX       0x000FFC00
524f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_LCL_IFS_CWMAX_S     10
525f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_LCL_IFS_AIFS        0x0FF00000
526f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_LCL_IFS_AIFS_S      20
527f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
528f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_LCL_IFS_RESV0    0xF0000000
529f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
530f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D0_RETRY_LIMIT     0x1080
531f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D1_RETRY_LIMIT     0x1084
532f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D2_RETRY_LIMIT     0x1088
533f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D3_RETRY_LIMIT     0x108c
534f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D4_RETRY_LIMIT     0x1090
535f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D5_RETRY_LIMIT     0x1094
536f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D6_RETRY_LIMIT     0x1098
537f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D7_RETRY_LIMIT     0x109c
538f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D8_RETRY_LIMIT     0x10a0
539f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D9_RETRY_LIMIT     0x10a4
540f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DRETRY_LIMIT(_i)   (AR_D0_RETRY_LIMIT + ((_i)<<2))
541f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_RETRY_LIMIT_FR_SH       0x0000000F
542f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_RETRY_LIMIT_FR_SH_S     0
543f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_RETRY_LIMIT_STA_SH      0x00003F00
544f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_RETRY_LIMIT_STA_SH_S    8
545f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_RETRY_LIMIT_STA_LG      0x000FC000
546f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_RETRY_LIMIT_STA_LG_S    14
547f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_RETRY_LIMIT_RESV0       0xFFF00000
548f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
549f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D0_CHNTIME     0x10c0
550f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D1_CHNTIME     0x10c4
551f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D2_CHNTIME     0x10c8
552f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D3_CHNTIME     0x10cc
553f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D4_CHNTIME     0x10d0
554f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D5_CHNTIME     0x10d4
555f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D6_CHNTIME     0x10d8
556f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D7_CHNTIME     0x10dc
557f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D8_CHNTIME     0x10e0
558f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D9_CHNTIME     0x10e4
559f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DCHNTIME(_i)   (AR_D0_CHNTIME + ((_i)<<2))
560f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_CHNTIME_DUR         0x000FFFFF
561f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_CHNTIME_DUR_S       0
562f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_CHNTIME_EN          0x00100000
563f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_CHNTIME_RESV0       0xFFE00000
564f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
565f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D0_MISC        0x1100
566f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D1_MISC        0x1104
567f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D2_MISC        0x1108
568f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D3_MISC        0x110c
569f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D4_MISC        0x1110
570f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D5_MISC        0x1114
571f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D6_MISC        0x1118
572f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D7_MISC        0x111c
573f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D8_MISC        0x1120
574f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D9_MISC        0x1124
575f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DMISC(_i)      (AR_D0_MISC + ((_i)<<2))
576f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_BKOFF_THRESH        0x0000003F
577f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_RETRY_CNT_RESET_EN  0x00000040
578f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_CW_RESET_EN         0x00000080
579f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_FRAG_WAIT_EN        0x00000100
580f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_FRAG_BKOFF_EN       0x00000200
581f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_CW_BKOFF_EN         0x00001000
582f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_VIR_COL_HANDLING    0x0000C000
583f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_VIR_COL_HANDLING_S  14
584f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_VIR_COL_HANDLING_DEFAULT 0
585f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_VIR_COL_HANDLING_IGNORE  1
586f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_BEACON_USE          0x00010000
587f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_ARB_LOCKOUT_CNTRL   0x00060000
588f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_ARB_LOCKOUT_CNTRL_S 17
589f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_ARB_LOCKOUT_CNTRL_NONE     0
590f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_ARB_LOCKOUT_CNTRL_INTRA_FR 1
591f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_ARB_LOCKOUT_CNTRL_GLOBAL   2
592f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_ARB_LOCKOUT_IGNORE  0x00080000
593f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_SEQ_NUM_INCR_DIS    0x00100000
594f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_POST_FR_BKOFF_DIS   0x00200000
595f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_VIT_COL_CW_BKOFF_EN 0x00400000
596f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_BLOWN_IFS_RETRY_EN  0x00800000
597f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_MISC_RESV0               0xFF000000
598f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
599f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_SEQNUM      0x1140
600f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
601f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_SIFS         0x1030
602f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_SIFS_M       0x0000FFFF
603f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_SIFS_RESV0   0xFFFFFFFF
604f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
605f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXBLK_BASE            0x1038
606f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXBLK_WRITE_BITMASK    0x0000FFFF
607f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXBLK_WRITE_BITMASK_S  0
608f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXBLK_WRITE_SLICE      0x000F0000
609f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXBLK_WRITE_SLICE_S    16
610f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXBLK_WRITE_DCU        0x00F00000
611f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXBLK_WRITE_DCU_S      20
612f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXBLK_WRITE_COMMAND    0x0F000000
613f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXBLK_WRITE_COMMAND_S      24
614f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
615f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_SLOT         0x1070
616f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_SLOT_M       0x0000FFFF
617f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_SLOT_RESV0   0xFFFF0000
618f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
619f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_EIFS         0x10b0
620f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_EIFS_M       0x0000FFFF
621f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_EIFS_RESV0   0xFFFF0000
622a7be039d347743c289b7280d5de82abf7bbdf1d8Rajkumar Manoharan#define AR_D_GBL_IFS_EIFS_ASYNC_FIFO 363
623f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
624f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_MISC        0x10f0
625f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_MISC_LFSR_SLICE_SEL        0x00000007
626f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_MISC_TURBO_MODE            0x00000008
627f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_MISC_USEC_DURATION         0x000FFC00
628f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_MISC_DCU_ARBITER_DLY       0x00300000
629f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_MISC_RANDOM_LFSR_SLICE_DIS 0x01000000
630f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_MISC_SLOT_XMIT_WIND_LEN    0x06000000
631f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_MISC_FORCE_XMIT_SLOT_BOUND 0x08000000
632f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_GBL_IFS_MISC_IGNORE_BACKOFF        0x10000000
633f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
634f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_FPCTL                  0x1230
635f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_FPCTL_DCU              0x0000000F
636f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_FPCTL_DCU_S            0
637f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_FPCTL_PREFETCH_EN      0x00000010
638f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_FPCTL_BURST_PREFETCH   0x00007FE0
639f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_FPCTL_BURST_PREFETCH_S 5
640f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
641f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXPSE                 0x1270
642f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXPSE_CTRL            0x000003FF
643f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXPSE_RESV0           0x0000FC00
644f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXPSE_STATUS          0x00010000
645f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXPSE_RESV1           0xFFFE0000
646f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
647f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXSLOTMASK            0x12f0
648f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_D_TXSLOTMASK_NUM        0x0000000F
649f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
650f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED                     0x1f04
651f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_SCLK_RATE_IND           0x00000003
652f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_SCLK_RATE_IND_S         0
653f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_SCLK_32MHZ              0x00000000
654f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_SCLK_4MHZ               0x00000001
655f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_SCLK_1MHZ               0x00000002
656f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_SCLK_32KHZ              0x00000003
657f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_BLINK_SLOW          0x00000008
658f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_BLINK_THRESH_SEL    0x00000070
659f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_MODE_SEL            0x00000380
660f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_MODE_SEL_S          7
661f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_POWER               0x00000280
662f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_POWER_S             7
663f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_NETWORK             0x00000300
664f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_NETWORK_S           7
665f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_MODE_PROP           0x0
666f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_MODE_RPROP          0x1
667f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_MODE_SPLIT          0x2
668f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_MODE_RAND           0x3
669f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_MODE_POWER_OFF      0x4
670f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_MODE_POWER_ON       0x5
671f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_MODE_NETWORK_OFF    0x4
672f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_MODE_NETWORK_ON     0x6
673f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_ASSOC_CTL           0x00000c00
674f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_ASSOC_CTL_S         10
675f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_ASSOC_NONE          0x0
676f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_ASSOC_ACTIVE        0x1
677f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_ASSOC_PENDING       0x2
678f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
679f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_BLINK_SLOW          0x00000008
680f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_BLINK_SLOW_S        3
681f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
682f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_BLINK_THRESH_SEL    0x00000070
683f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFG_LED_BLINK_THRESH_SEL_S  4
684f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
685f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MAC_SLEEP                0x1f00
686f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MAC_SLEEP_MAC_AWAKE      0x00000000
687f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MAC_SLEEP_MAC_ASLEEP     0x00000001
688f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
689f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RC                0x4000
690f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RC_AHB            0x00000001
691f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RC_APB            0x00000002
692f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RC_HOSTIF         0x00000100
693f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
69435d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_WA			(AR_SREV_9340(ah) ? 0x40c4 : 0x4004)
69515ae733b25b7d74e9ef14eab8414447204bdcc1bSujith#define AR_WA_BIT6			(1 << 6)
69615ae733b25b7d74e9ef14eab8414447204bdcc1bSujith#define AR_WA_BIT7			(1 << 7)
69715ae733b25b7d74e9ef14eab8414447204bdcc1bSujith#define AR_WA_BIT23			(1 << 23)
69893b1b37f6a4de8bce17f55d9cfa10ef5c8c04e8aVivek Natarajan#define AR_WA_D3_L1_DISABLE		(1 << 14)
6999a658d2b5c222b62919ab47b11c907c731ac180aLuis R. Rodriguez#define AR_WA_D3_TO_L1_DISABLE_REAL     (1 << 16)
7009a658d2b5c222b62919ab47b11c907c731ac180aLuis R. Rodriguez#define AR_WA_ASPM_TIMER_BASED_DISABLE  (1 << 17)
7019a658d2b5c222b62919ab47b11c907c731ac180aLuis R. Rodriguez#define AR_WA_RESET_EN                  (1 << 18) /* Sw Control to enable PCI-Reset to POR (bit 15) */
7029a658d2b5c222b62919ab47b11c907c731ac180aLuis R. Rodriguez#define AR_WA_ANALOG_SHIFT              (1 << 20)
7039a658d2b5c222b62919ab47b11c907c731ac180aLuis R. Rodriguez#define AR_WA_POR_SHORT                 (1 << 21) /* PCI-E Phy reset control */
704f119da3015712dc32bdf1c311652479e02dcb49aVasanthakumar Thiagarajan#define AR_WA_BIT22			(1 << 22)
70553bc7aa08b48e5cd745f986731cc7dc24eef2a9fVivek Natarajan#define AR9285_WA_DEFAULT		0x004a050b
70693b1b37f6a4de8bce17f55d9cfa10ef5c8c04e8aVivek Natarajan#define AR9280_WA_DEFAULT           	0x0040073b
70702e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR_WA_DEFAULT               	0x0000073f
70802e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
709f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
710f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PM_STATE                 0x4008
711f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PM_STATE_PME_D3COLD_VAUX 0x00100000
712f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
71335d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_HOST_TIMEOUT             (AR_SREV_9340(ah) ? 0x4008 : 0x4018)
714f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_HOST_TIMEOUT_APB_CNTR    0x0000FFFF
715f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_HOST_TIMEOUT_APB_CNTR_S  0
716f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_HOST_TIMEOUT_LCL_CNTR    0xFFFF0000
717f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_HOST_TIMEOUT_LCL_CNTR_S  16
718f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
719f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_EEPROM                0x401c
720f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_EEPROM_ABSENT         0x00000100
721f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_EEPROM_CORRUPT        0x00000200
722f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_EEPROM_PROT_MASK      0x03FFFC00
723f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_EEPROM_PROT_MASK_S    10
724f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
725f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_RP_0_31        0x0001
726f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_WP_0_31        0x0002
727f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_RP_32_63       0x0004
728f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_WP_32_63       0x0008
729f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_RP_64_127      0x0010
730f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_WP_64_127      0x0020
731f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_RP_128_191     0x0040
732f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_WP_128_191     0x0080
733f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_RP_192_255     0x0100
734f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_WP_192_255     0x0200
735f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_RP_256_511     0x0400
736f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_WP_256_511     0x0800
737f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_RP_512_1023    0x1000
738f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_WP_512_1023    0x2000
739f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_RP_1024_2047   0x4000
740f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define EEPROM_PROTECT_WP_1024_2047   0x8000
741f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
742f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV \
74335d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan	((AR_SREV_9100(ah)) ? 0x0600 : (AR_SREV_9340(ah) \
74435d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan					? 0x400c : 0x4020))
745f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
746f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_ID \
747f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	((AR_SREV_9100(ah)) ? 0x00000FFF : 0x000000FF)
748f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_VERSION                       0x000000F0
749f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_VERSION_S                     4
750f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_REVISION                      0x00000007
751f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
752f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_ID2                           0xFFFFFFFF
753f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_VERSION2        	      0xFFFC0000
754f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_VERSION2_S                    18
755f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_TYPE2        	      	      0x0003F000
756f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_TYPE2_S                       12
757f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_TYPE2_CHAIN		      0x00001000
758f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_TYPE2_HOST_MODE		      0x00002000
759f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_REVISION2        	      0x00000F00
760f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_REVISION2_S     	      8
761f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
762e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_VERSION_5416_PCI	0xD
763e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_VERSION_5416_PCIE	0xC
764e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_5416_10	0
765e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_5416_20	1
766e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_5416_22	2
767e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_VERSION_9100		0x14
768e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_VERSION_9160		0x40
769e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9160_10	0
770e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9160_11	1
771e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_VERSION_9280		0x80
772e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9280_10	0
773e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9280_20	1
774e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9280_21	2
775e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_VERSION_9285		0xC0
776e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9285_10	0
777e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9285_11	1
778e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9285_12	2
779e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_VERSION_9287		0x180
780e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9287_10	0
781e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9287_11	1
782e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9287_12	2
783e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9287_13	3
784e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_VERSION_9271		0x140
785e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9271_10	0
786e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9271_11	1
787e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_VERSION_9300		0x1c0
788e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_REVISION_9300_20	2 /* 2.0 and 2.1 */
7892c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos#define AR_SREV_VERSION_9330		0x200
7902c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos#define AR_SREV_REVISION_9330_10	0
7912c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos#define AR_SREV_REVISION_9330_11	1
7922c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos#define AR_SREV_REVISION_9330_12	2
7933bbb780cca79dfe0200d33afb95a8990acde65b9Vasanthakumar Thiagarajan#define AR_SREV_VERSION_9485		0x240
7943bbb780cca79dfe0200d33afb95a8990acde65b9Vasanthakumar Thiagarajan#define AR_SREV_REVISION_9485_10	0
7951a63e2ce4e67f6df74f032ec302314141816e432Vivek Natarajan#define AR_SREV_REVISION_9485_11        1
796b99a7be47dc37c60b6524d761ecfce432de84c01Vasanthakumar Thiagarajan#define AR_SREV_VERSION_9340		0x300
7975a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez#define AR_SREV_VERSION_9580		0x1C0
7985a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez#define AR_SREV_REVISION_9580_10	4 /* AR9580 1.0 */
799423e38e8079f8f4fe0bf66d4f9a7d61beb232acaRajkumar Manoharan#define AR_SREV_VERSION_9462		0x280
800423e38e8079f8f4fe0bf66d4f9a7d61beb232acaRajkumar Manoharan#define AR_SREV_REVISION_9462_20	2
801f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
802a8c96d3b225d4c9e6ff341923e3f76de401c75b2Gabor Juhos#define AR_SREV_5416(_ah) \
803a8c96d3b225d4c9e6ff341923e3f76de401c75b2Gabor Juhos	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_5416_PCI) || \
804a8c96d3b225d4c9e6ff341923e3f76de401c75b2Gabor Juhos	 ((_ah)->hw_version.macVersion == AR_SREV_VERSION_5416_PCIE))
805f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_5416_22_OR_LATER(_ah) \
806a8c96d3b225d4c9e6ff341923e3f76de401c75b2Gabor Juhos	(((AR_SREV_5416(_ah)) && \
807a8c96d3b225d4c9e6ff341923e3f76de401c75b2Gabor Juhos	 ((_ah)->hw_version.macRev >= AR_SREV_REVISION_5416_22)) || \
808a8c96d3b225d4c9e6ff341923e3f76de401c75b2Gabor Juhos	 ((_ah)->hw_version.macVersion >= AR_SREV_VERSION_9100))
809a8c96d3b225d4c9e6ff341923e3f76de401c75b2Gabor Juhos
810d4376ebe168024695f15bfdf603ea6f083dc80f8Gabor Juhos#define AR_SREV_9100(ah) \
811d4376ebe168024695f15bfdf603ea6f083dc80f8Gabor Juhos	((ah->hw_version.macVersion) == AR_SREV_VERSION_9100)
812d4376ebe168024695f15bfdf603ea6f083dc80f8Gabor Juhos#define AR_SREV_9100_OR_LATER(_ah) \
8136b765deb01dd076e64a4b01d2101d74206e7df84Gabor Juhos	(((_ah)->hw_version.macVersion >= AR_SREV_VERSION_9100))
814d4376ebe168024695f15bfdf603ea6f083dc80f8Gabor Juhos
815f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_9160(_ah) \
816d535a42a21eb62bb0e7f35b8ae39da07b679dda4Sujith	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9160))
817f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_9160_10_OR_LATER(_ah) \
818d535a42a21eb62bb0e7f35b8ae39da07b679dda4Sujith	(((_ah)->hw_version.macVersion >= AR_SREV_VERSION_9160))
819f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_9160_11(_ah) \
820d535a42a21eb62bb0e7f35b8ae39da07b679dda4Sujith	(AR_SREV_9160(_ah) && \
821d535a42a21eb62bb0e7f35b8ae39da07b679dda4Sujith	 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9160_11))
822f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_9280(_ah) \
823d535a42a21eb62bb0e7f35b8ae39da07b679dda4Sujith	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9280))
8247a37081e2e25e58701b17c41579fd06bc353b392Felix Fietkau#define AR_SREV_9280_20_OR_LATER(_ah) \
825d535a42a21eb62bb0e7f35b8ae39da07b679dda4Sujith	(((_ah)->hw_version.macVersion >= AR_SREV_VERSION_9280))
826f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SREV_9280_20(_ah) \
8277a37081e2e25e58701b17c41579fd06bc353b392Felix Fietkau	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9280))
828f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
829d535a42a21eb62bb0e7f35b8ae39da07b679dda4Sujith#define AR_SREV_9285(_ah) \
830d535a42a21eb62bb0e7f35b8ae39da07b679dda4Sujith	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9285))
83102e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR_SREV_9285_12_OR_LATER(_ah) \
832e17f83eafd37129f9e09425136e59bc4333bdb9cFelix Fietkau	(((_ah)->hw_version.macVersion >= AR_SREV_VERSION_9285))
833f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
83404dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_SREV_9287(_ah) \
83504dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9287))
836a42acef0dd3548ffda03d245d41b95250354017eFelix Fietkau#define AR_SREV_9287_11_OR_LATER(_ah) \
83704dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan	(((_ah)->hw_version.macVersion >= AR_SREV_VERSION_9287))
83804dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_SREV_9287_11(_ah) \
83904dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9287) && \
84004dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan	 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9287_11))
841326bebbcb51d3ce9761f616b8b9a35827fd9c697Vivek Natarajan#define AR_SREV_9287_12(_ah) \
842326bebbcb51d3ce9761f616b8b9a35827fd9c697Vivek Natarajan	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9287) && \
843326bebbcb51d3ce9761f616b8b9a35827fd9c697Vivek Natarajan	 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9287_12))
844326bebbcb51d3ce9761f616b8b9a35827fd9c697Vivek Natarajan#define AR_SREV_9287_12_OR_LATER(_ah) \
845326bebbcb51d3ce9761f616b8b9a35827fd9c697Vivek Natarajan	(((_ah)->hw_version.macVersion > AR_SREV_VERSION_9287) || \
846326bebbcb51d3ce9761f616b8b9a35827fd9c697Vivek Natarajan	 (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9287) && \
847326bebbcb51d3ce9761f616b8b9a35827fd9c697Vivek Natarajan	  ((_ah)->hw_version.macRev >= AR_SREV_REVISION_9287_12)))
848e9141f71f4734584bc9704e1266090abe98e1859Sujith#define AR_SREV_9287_13_OR_LATER(_ah) \
849e9141f71f4734584bc9704e1266090abe98e1859Sujith	(((_ah)->hw_version.macVersion > AR_SREV_VERSION_9287) || \
850e9141f71f4734584bc9704e1266090abe98e1859Sujith	 (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9287) && \
851e9141f71f4734584bc9704e1266090abe98e1859Sujith	  ((_ah)->hw_version.macRev >= AR_SREV_REVISION_9287_13)))
852e9141f71f4734584bc9704e1266090abe98e1859Sujith
853edb1f9152f1f346381336554674f5d443fc5f473Luis R. Rodriguez#define AR_SREV_9271(_ah) \
854edb1f9152f1f346381336554674f5d443fc5f473Luis R. Rodriguez    (((_ah))->hw_version.macVersion == AR_SREV_VERSION_9271)
855edb1f9152f1f346381336554674f5d443fc5f473Luis R. Rodriguez#define AR_SREV_9271_10(_ah) \
856edb1f9152f1f346381336554674f5d443fc5f473Luis R. Rodriguez    (AR_SREV_9271(_ah) && \
857edb1f9152f1f346381336554674f5d443fc5f473Luis R. Rodriguez     ((_ah)->hw_version.macRev == AR_SREV_REVISION_9271_10))
858edb1f9152f1f346381336554674f5d443fc5f473Luis R. Rodriguez#define AR_SREV_9271_11(_ah) \
859edb1f9152f1f346381336554674f5d443fc5f473Luis R. Rodriguez    (AR_SREV_9271(_ah) && \
860edb1f9152f1f346381336554674f5d443fc5f473Luis R. Rodriguez     ((_ah)->hw_version.macRev == AR_SREV_REVISION_9271_11))
86188c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith
862b0550327da7fcab5b4b0f09a450432ee9ae4ca19Felix Fietkau#define AR_SREV_9300(_ah) \
863b0550327da7fcab5b4b0f09a450432ee9ae4ca19Felix Fietkau	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9300))
864b0550327da7fcab5b4b0f09a450432ee9ae4ca19Felix Fietkau#define AR_SREV_9300_20_OR_LATER(_ah) \
8651296433bf39a8dea852aafad1f29b775f993bca1Felix Fietkau	((_ah)->hw_version.macVersion >= AR_SREV_VERSION_9300)
866edb1f9152f1f346381336554674f5d443fc5f473Luis R. Rodriguez
8672c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos#define AR_SREV_9330(_ah) \
8682c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9330))
8692c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos#define AR_SREV_9330_10(_ah) \
8702c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos	(AR_SREV_9330((_ah)) && \
8712c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos	 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9330_10))
8722c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos#define AR_SREV_9330_11(_ah) \
8732c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos	(AR_SREV_9330((_ah)) && \
8742c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos	 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9330_11))
8752c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos#define AR_SREV_9330_12(_ah) \
8762c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos	(AR_SREV_9330((_ah)) && \
8772c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos	 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9330_12))
8782c8e59379a02c5c2a478e8ce6ebc481793076792Gabor Juhos
8793bbb780cca79dfe0200d33afb95a8990acde65b9Vasanthakumar Thiagarajan#define AR_SREV_9485(_ah) \
8803bbb780cca79dfe0200d33afb95a8990acde65b9Vasanthakumar Thiagarajan	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9485))
8813bbb780cca79dfe0200d33afb95a8990acde65b9Vasanthakumar Thiagarajan#define AR_SREV_9485_10(_ah) \
8823bbb780cca79dfe0200d33afb95a8990acde65b9Vasanthakumar Thiagarajan	(AR_SREV_9485(_ah) && \
8833bbb780cca79dfe0200d33afb95a8990acde65b9Vasanthakumar Thiagarajan	 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9485_10))
8841a63e2ce4e67f6df74f032ec302314141816e432Vivek Natarajan#define AR_SREV_9485_11(_ah) \
8851a63e2ce4e67f6df74f032ec302314141816e432Vivek Natarajan	(AR_SREV_9485(_ah) && \
8861a63e2ce4e67f6df74f032ec302314141816e432Vivek Natarajan	 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9485_11))
8873782c69d6e35e698bcc2aefe803e62d06c5c4997Rajkumar Manoharan#define AR_SREV_9485_OR_LATER(_ah) \
8883782c69d6e35e698bcc2aefe803e62d06c5c4997Rajkumar Manoharan	(((_ah)->hw_version.macVersion >= AR_SREV_VERSION_9485))
8893bbb780cca79dfe0200d33afb95a8990acde65b9Vasanthakumar Thiagarajan
890b99a7be47dc37c60b6524d761ecfce432de84c01Vasanthakumar Thiagarajan#define AR_SREV_9340(_ah) \
891b99a7be47dc37c60b6524d761ecfce432de84c01Vasanthakumar Thiagarajan	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9340))
892b99a7be47dc37c60b6524d761ecfce432de84c01Vasanthakumar Thiagarajan
89353bc7aa08b48e5cd745f986731cc7dc24eef2a9fVivek Natarajan#define AR_SREV_9285E_20(_ah) \
89453bc7aa08b48e5cd745f986731cc7dc24eef2a9fVivek Natarajan    (AR_SREV_9285_12_OR_LATER(_ah) && \
89553bc7aa08b48e5cd745f986731cc7dc24eef2a9fVivek Natarajan     ((REG_READ(_ah, AR_AN_SYNTH9) & 0x7) == 0x1))
89653bc7aa08b48e5cd745f986731cc7dc24eef2a9fVivek Natarajan
897423e38e8079f8f4fe0bf66d4f9a7d61beb232acaRajkumar Manoharan#define AR_SREV_9462(_ah) \
898423e38e8079f8f4fe0bf66d4f9a7d61beb232acaRajkumar Manoharan	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9462))
899ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian
900423e38e8079f8f4fe0bf66d4f9a7d61beb232acaRajkumar Manoharan#define AR_SREV_9462_20(_ah) \
901423e38e8079f8f4fe0bf66d4f9a7d61beb232acaRajkumar Manoharan	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9462) && \
902423e38e8079f8f4fe0bf66d4f9a7d61beb232acaRajkumar Manoharan	((_ah)->hw_version.macRev == AR_SREV_REVISION_9462_20))
903ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian
904423e38e8079f8f4fe0bf66d4f9a7d61beb232acaRajkumar Manoharan#define AR_SREV_9462_20_OR_LATER(_ah) \
905423e38e8079f8f4fe0bf66d4f9a7d61beb232acaRajkumar Manoharan	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9462) && \
906423e38e8079f8f4fe0bf66d4f9a7d61beb232acaRajkumar Manoharan	((_ah)->hw_version.macRev >= AR_SREV_REVISION_9462_20))
907ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian
9085a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez#define AR_SREV_9580(_ah) \
9095a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9580) && \
9105a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez	((_ah)->hw_version.macRev >= AR_SREV_REVISION_9580_10))
9115a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez
9125a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez#define AR_SREV_9580_10(_ah) \
9135a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9580) && \
9145a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez	((_ah)->hw_version.macRev == AR_SREV_REVISION_9580_10))
9155a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez
9165a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez/* NOTE: When adding chips newer than Peacock, add chip check here */
9175a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez#define AR_SREV_9580_10_OR_LATER(_ah) \
9185a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez	(AR_SREV_9580(_ah))
9195a63ef0faf90985c847a2f924a72a22830ed1c10Luis R. Rodriguez
9200b5ead91cda63e0db964dadc77601233434f60cbSujith Manoharanenum ath_usb_dev {
9210b5ead91cda63e0db964dadc77601233434f60cbSujith Manoharan	AR9280_USB = 1, /* AR7010 + AR9280, UB94 */
9220b5ead91cda63e0db964dadc77601233434f60cbSujith Manoharan	AR9287_USB = 2, /* AR7010 + AR9287, UB95 */
92336bcce430657e6fece0e8dd91557f35dbb69ec67Sujith Manoharan	STORAGE_DEVICE = 3,
9240b5ead91cda63e0db964dadc77601233434f60cbSujith Manoharan};
9250b5ead91cda63e0db964dadc77601233434f60cbSujith Manoharan
92688c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR_DEVID_7010(_ah) \
9270b5ead91cda63e0db964dadc77601233434f60cbSujith Manoharan	(((_ah)->hw_version.usbdev == AR9280_USB) || \
9280b5ead91cda63e0db964dadc77601233434f60cbSujith Manoharan	 ((_ah)->hw_version.usbdev == AR9287_USB))
92988c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith
930f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RADIO_SREV_MAJOR                   0xf0
931f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RAD5133_SREV_MAJOR                 0xc0
932f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RAD2133_SREV_MAJOR                 0xd0
933f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RAD5122_SREV_MAJOR                 0xe0
934f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RAD2122_SREV_MAJOR                 0xf0
935f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
936f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AHB_MODE                           0x4024
937f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AHB_EXACT_WR_EN                    0x00000000
938f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AHB_BUF_WR_EN                      0x00000001
939f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AHB_EXACT_RD_EN                    0x00000000
940f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AHB_CACHELINE_RD_EN                0x00000002
941f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AHB_PREFETCH_RD_EN                 0x00000004
942f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AHB_PAGE_SIZE_1K                   0x00000000
943f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AHB_PAGE_SIZE_2K                   0x00000008
944f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AHB_PAGE_SIZE_4K                   0x00000010
94504dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_AHB_CUSTOM_BURST_EN                0x000000C0
94604dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_AHB_CUSTOM_BURST_EN_S              6
94704dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_AHB_CUSTOM_BURST_ASYNC_FIFO_VAL    3
948f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
949f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_RTC_IRQ                       0x00000001
950f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_MAC_IRQ                       0x00000002
951f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_EEP_PROT_ACCESS               0x00000004
952f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_MAC_AWAKE                     0x00020000
953f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_MAC_ASLEEP                    0x00040000
954f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_SPURIOUS                      0xFFFFFFFF
955f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
956f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
95735d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_INTR_SYNC_CAUSE                    (AR_SREV_9340(ah) ? 0x4010 : 0x4028)
95835d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_INTR_SYNC_CAUSE_CLR                (AR_SREV_9340(ah) ? 0x4010 : 0x4028)
959f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
960f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
96135d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_INTR_SYNC_ENABLE                   (AR_SREV_9340(ah) ? 0x4014 : 0x402c)
962f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_SYNC_ENABLE_GPIO              0xFFFC0000
963f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_SYNC_ENABLE_GPIO_S            18
964f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
965f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguezenum {
966f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_RTC_IRQ = 0x00000001,
967f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_MAC_IRQ = 0x00000002,
968f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_EEPROM_ILLEGAL_ACCESS = 0x00000004,
969f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_APB_TIMEOUT = 0x00000008,
970f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_PCI_MODE_CONFLICT = 0x00000010,
971f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_HOST1_FATAL = 0x00000020,
972f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_HOST1_PERR = 0x00000040,
973f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_TRCV_FIFO_PERR = 0x00000080,
974f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_RADM_CPL_EP = 0x00000100,
975f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_RADM_CPL_DLLP_ABORT = 0x00000200,
976f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_RADM_CPL_TLP_ABORT = 0x00000400,
977f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_RADM_CPL_ECRC_ERR = 0x00000800,
978f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_RADM_CPL_TIMEOUT = 0x00001000,
979f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_LOCAL_TIMEOUT = 0x00002000,
980f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_PM_ACCESS = 0x00004000,
981f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_MAC_AWAKE = 0x00008000,
982f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_MAC_ASLEEP = 0x00010000,
983f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_MAC_SLEEP_ACCESS = 0x00020000,
984f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_ALL = 0x0003FFFF,
985f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
986f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
987f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_DEFAULT = (AR_INTR_SYNC_HOST1_FATAL |
988f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez				AR_INTR_SYNC_HOST1_PERR |
989f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez				AR_INTR_SYNC_RADM_CPL_EP |
990f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez				AR_INTR_SYNC_RADM_CPL_DLLP_ABORT |
991f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez				AR_INTR_SYNC_RADM_CPL_TLP_ABORT |
992f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez				AR_INTR_SYNC_RADM_CPL_ECRC_ERR |
993f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez				AR_INTR_SYNC_RADM_CPL_TIMEOUT |
994f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez				AR_INTR_SYNC_LOCAL_TIMEOUT |
995f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez				AR_INTR_SYNC_MAC_SLEEP_ACCESS),
996f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
997f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	AR_INTR_SYNC_SPURIOUS = 0xFFFFFFFF,
998f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
999f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez};
1000f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
100135d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_INTR_ASYNC_MASK                       (AR_SREV_9340(ah) ? 0x4018 : 0x4030)
1002f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_ASYNC_MASK_GPIO                  0xFFFC0000
1003f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_ASYNC_MASK_GPIO_S                18
10042ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_INTR_ASYNC_MASK_MCI                   0x00000080
10052ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_INTR_ASYNC_MASK_MCI_S                 7
1006f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
100735d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_INTR_SYNC_MASK                        (AR_SREV_9340(ah) ? 0x401c : 0x4034)
1008f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_SYNC_MASK_GPIO                   0xFFFC0000
1009f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_SYNC_MASK_GPIO_S                 18
1010f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
101135d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_INTR_ASYNC_CAUSE_CLR                  (AR_SREV_9340(ah) ? 0x4020 : 0x4038)
101235d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_INTR_ASYNC_CAUSE                      (AR_SREV_9340(ah) ? 0x4020 : 0x4038)
10132ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_INTR_ASYNC_CAUSE_MCI			 0x00000080
10142ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_INTR_ASYNC_USED			 (AR_INTR_MAC_IRQ | \
10152ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan						  AR_INTR_ASYNC_CAUSE_MCI)
10162ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
10172ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan/* Asynchronous Interrupt Enable Register */
10182ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_INTR_ASYNC_ENABLE_MCI         0x00000080
10192ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_INTR_ASYNC_ENABLE_MCI_S       7
10202ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
1021f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
102235d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_INTR_ASYNC_ENABLE                     (AR_SREV_9340(ah) ? 0x4024 : 0x403c)
1023f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_ASYNC_ENABLE_GPIO                0xFFFC0000
1024f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_INTR_ASYNC_ENABLE_GPIO_S              18
1025f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1026f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCIE_SERDES                           0x4040
1027f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCIE_SERDES2                          0x4044
102835d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_PCIE_PM_CTRL                          (AR_SREV_9340(ah) ? 0x4004 : 0x4014)
1029f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCIE_PM_CTRL_ENA                      0x00080000
1030f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1031f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_NUM_GPIO                              14
1032f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR928X_NUM_GPIO                          10
1033cb33c4126ba9825b047463352d12dc3ed983d320Senthil Balasubramanian#define AR9285_NUM_GPIO                          12
103404dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_NUM_GPIO                          11
10355b5fa3558db7451f4744ef92f2b1830d05b9307bSujith#define AR9271_NUM_GPIO                          16
1036783dfca1fceb0140e629d671b67e4be7e8dc7f8dFelix Fietkau#define AR9300_NUM_GPIO                          17
103788c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_NUM_GPIO                          16
1038f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
103935d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_GPIO_IN_OUT                           (AR_SREV_9340(ah) ? 0x4028 : 0x4048)
1040f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_IN_VAL                           0x0FFFC000
1041f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_IN_VAL_S                         14
1042f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR928X_GPIO_IN_VAL                       0x000FFC00
1043f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR928X_GPIO_IN_VAL_S                     10
1044cb33c4126ba9825b047463352d12dc3ed983d320Senthil Balasubramanian#define AR9285_GPIO_IN_VAL                       0x00FFF000
1045cb33c4126ba9825b047463352d12dc3ed983d320Senthil Balasubramanian#define AR9285_GPIO_IN_VAL_S                     12
104604dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_GPIO_IN_VAL                       0x003FF800
104704dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_GPIO_IN_VAL_S                     11
10485b5fa3558db7451f4744ef92f2b1830d05b9307bSujith#define AR9271_GPIO_IN_VAL                       0xFFFF0000
10495b5fa3558db7451f4744ef92f2b1830d05b9307bSujith#define AR9271_GPIO_IN_VAL_S                     16
105088c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_IN_VAL                       0x0000FFFF
105188c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_IN_VAL_S                     0
1052f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
105335d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_GPIO_IN				 (AR_SREV_9340(ah) ? 0x402c : 0x404c)
10549306990a656d9cfd8bf3586938012729c1f2ea50Vasanthakumar Thiagarajan#define AR9300_GPIO_IN_VAL                       0x0001FFFF
10559306990a656d9cfd8bf3586938012729c1f2ea50Vasanthakumar Thiagarajan#define AR9300_GPIO_IN_VAL_S                     0
10569306990a656d9cfd8bf3586938012729c1f2ea50Vasanthakumar Thiagarajan
105735d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_GPIO_OE_OUT                           (AR_SREV_9340(ah) ? 0x4030 : \
105835d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan						  (AR_SREV_9300_20_OR_LATER(ah) ? 0x4050 : 0x404c))
1059f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_OE_OUT_DRV                       0x3
1060f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_OE_OUT_DRV_NO                    0x0
1061f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_OE_OUT_DRV_LOW                   0x1
1062f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_OE_OUT_DRV_HI                    0x2
1063f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_OE_OUT_DRV_ALL                   0x3
1064f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
106588c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_OE                           0x52000
106688c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_OE_MASK                      0x1
106788c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_OE_AS_OUTPUT                 0x0
106888c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_OE_AS_INPUT                  0x1
106988c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_IN                           0x52004
107088c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_OUT                          0x52008
107188c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_SET                          0x5200C
107288c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_CLEAR                        0x52010
107388c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_INT                          0x52014
107488c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_INT_TYPE                     0x52018
107588c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_INT_POLARITY                 0x5201C
107688c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_PENDING                      0x52020
107788c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_INT_MASK                     0x52024
107888c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith#define AR7010_GPIO_FUNCTION                     0x52028
107988c1f4f6dffe66e2fed8e7e3276e091ee850bed0Sujith
108035d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_GPIO_INTR_POL                         (AR_SREV_9340(ah) ? 0x4038 : \
108135d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan						  (AR_SREV_9300_20_OR_LATER(ah) ? 0x4058 : 0x4050))
10822c5204aa83c3a21c5c3e044342dadf4520cc4558Felix Fietkau#define AR_GPIO_INTR_POL_VAL                     0x0001FFFF
1083f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_INTR_POL_VAL_S                   0
1084f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
108535d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_EN_VAL                     (AR_SREV_9340(ah) ? 0x403c : \
108635d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan						  (AR_SREV_9300_20_OR_LATER(ah) ? 0x405c : 0x4054))
1087c97c92d92715ea4ea2d7cf00957e8a014439bdd8Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_DEF     0x00000004
1088c97c92d92715ea4ea2d7cf00957e8a014439bdd8Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_S       2
1089c97c92d92715ea4ea2d7cf00957e8a014439bdd8Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_EN_VAL_BT_FREQUENCY_DEF    0x00000008
1090c97c92d92715ea4ea2d7cf00957e8a014439bdd8Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_EN_VAL_BT_FREQUENCY_S      3
1091c97c92d92715ea4ea2d7cf00957e8a014439bdd8Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_EN_VAL_BT_ACTIVE_DEF       0x00000010
1092c97c92d92715ea4ea2d7cf00957e8a014439bdd8Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_EN_VAL_BT_ACTIVE_S         4
1093f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_INPUT_EN_VAL_RFSILENT_DEF        0x00000080
1094f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_INPUT_EN_VAL_RFSILENT_DEF_S      7
1095c37919bfe0a5c1bee9a31701a31e05a2f8840936Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB      0x00000400
1096c37919bfe0a5c1bee9a31701a31e05a2f8840936Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB_S    10
1097c97c92d92715ea4ea2d7cf00957e8a014439bdd8Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_EN_VAL_BT_ACTIVE_BB        0x00001000
1098c97c92d92715ea4ea2d7cf00957e8a014439bdd8Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_EN_VAL_BT_ACTIVE_BB_S      12
1099f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_INPUT_EN_VAL_RFSILENT_BB         0x00008000
1100f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_INPUT_EN_VAL_RFSILENT_BB_S       15
1101f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_RTC_RESET_OVERRIDE_ENABLE        0x00010000
1102f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_JTAG_DISABLE                     0x00020000
1103f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
110435d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_MUX1                       (AR_SREV_9340(ah) ? 0x4040 : \
110535d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan						  (AR_SREV_9300_20_OR_LATER(ah) ? 0x4060 : 0x4058))
1106c97c92d92715ea4ea2d7cf00957e8a014439bdd8Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_MUX1_BT_ACTIVE             0x000f0000
1107c97c92d92715ea4ea2d7cf00957e8a014439bdd8Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_MUX1_BT_ACTIVE_S           16
11081773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_GPIO_INPUT_MUX1_BT_PRIORITY           0x00000f00
11091773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_GPIO_INPUT_MUX1_BT_PRIORITY_S         8
1110f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
111135d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_GPIO_INPUT_MUX2                       (AR_SREV_9340(ah) ? 0x4044 : \
111235d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan						  (AR_SREV_9300_20_OR_LATER(ah) ? 0x4064 : 0x405c))
1113f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_INPUT_MUX2_CLK25                 0x0000000f
1114f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_INPUT_MUX2_CLK25_S               0
1115f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_INPUT_MUX2_RFSILENT              0x000000f0
1116f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_INPUT_MUX2_RFSILENT_S            4
1117f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_INPUT_MUX2_RTC_RESET             0x00000f00
1118f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GPIO_INPUT_MUX2_RTC_RESET_S           8
1119f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
112035d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_GPIO_OUTPUT_MUX1                      (AR_SREV_9340(ah) ? 0x4048 : \
112135d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan						  (AR_SREV_9300_20_OR_LATER(ah) ? 0x4068 : 0x4060))
112235d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_GPIO_OUTPUT_MUX2                      (AR_SREV_9340(ah) ? 0x404c : \
112335d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan						  (AR_SREV_9300_20_OR_LATER(ah) ? 0x406c : 0x4064))
112435d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_GPIO_OUTPUT_MUX3                      (AR_SREV_9340(ah) ? 0x4050 : \
112535d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan						  (AR_SREV_9300_20_OR_LATER(ah) ? 0x4070 : 0x4068))
1126f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
112735d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_INPUT_STATE                           (AR_SREV_9340(ah) ? 0x4054 : \
112835d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan						  (AR_SREV_9300_20_OR_LATER(ah) ? 0x4074 : 0x406c))
1129f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
113035d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_EEPROM_STATUS_DATA                    (AR_SREV_9340(ah) ? 0x40c8 : \
113135d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan						  (AR_SREV_9300_20_OR_LATER(ah) ? 0x4084 : 0x407c))
1132f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_EEPROM_STATUS_DATA_VAL                0x0000ffff
1133f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_EEPROM_STATUS_DATA_VAL_S              0
1134f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_EEPROM_STATUS_DATA_BUSY               0x00010000
1135f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_EEPROM_STATUS_DATA_BUSY_ACCESS        0x00020000
1136f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_EEPROM_STATUS_DATA_PROT_ACCESS        0x00040000
1137f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_EEPROM_STATUS_DATA_ABSENT_ACCESS      0x00080000
1138f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
113935d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_OBS                  (AR_SREV_9340(ah) ? 0x405c : \
114035d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan				 (AR_SREV_9300_20_OR_LATER(ah) ? 0x4088 : 0x4080))
1141f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
11422c5204aa83c3a21c5c3e044342dadf4520cc4558Felix Fietkau#define AR_GPIO_PDPU                             (AR_SREV_9300_20_OR_LATER(ah) ? 0x4090 : 0x4088)
11431773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan
114435d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_PCIE_MSI                             (AR_SREV_9340(ah) ? 0x40d8 : \
114535d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan						 (AR_SREV_9300_20_OR_LATER(ah) ? 0x40a4 : 0x4094))
1146f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCIE_MSI_ENABLE                       0x00000001
1147f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
114835d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_INTR_PRIO_SYNC_ENABLE  (AR_SREV_9340(ah) ? 0x4088 : 0x40c4)
114935d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_INTR_PRIO_ASYNC_MASK   (AR_SREV_9340(ah) ? 0x408c : 0x40c8)
115035d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_INTR_PRIO_SYNC_MASK    (AR_SREV_9340(ah) ? 0x4090 : 0x40cc)
115135d5f56125aba8667ac12277dff02ce51efbee16Vasanthakumar Thiagarajan#define AR_INTR_PRIO_ASYNC_ENABLE (AR_SREV_9340(ah) ? 0x4094 : 0x40d4)
1152a9d85fbd3e5f7a0679e6276953cd23ac7bb72789Senthil Balasubramanian#define AR_ENT_OTP		  0x40d8
1153a9d85fbd3e5f7a0679e6276953cd23ac7bb72789Senthil Balasubramanian#define AR_ENT_OTP_CHAIN2_DISABLE               0x00020000
11543789d59c24cb142e4590492c3b5137a7c3dec352Mohammed Shafi Shajakhan#define AR_ENT_OTP_49GHZ_DISABLE		0x00100000
11553459731a39894e5377283b3ccf2fede54e19aae1Felix Fietkau#define AR_ENT_OTP_MIN_PKT_SIZE_DISABLE		0x00800000
11563dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan
11573dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL1		 0x16180
11583dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL1_REFDIV	 0xF8000000
11593dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL1_REFDIV_S 27
11603dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL1_NINI	 0x07FC0000
11613dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL1_NINI_S	 18
11623dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL1_NFRAC	 0x0003FFFF
11633dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL1_NFRAC_S	 0
11643dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan
11653dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL2		     0x16184
11663dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL2_LOCAL_PLL       0x40000000
11673dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL2_LOCAL_PLL_S     30
11683dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_DPLL2_KI              0x3C000000
11693dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_DPLL2_KI_S            26
11703dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_DPLL2_KD              0x03F80000
11713dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_DPLL2_KD_S            19
11723dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL2_EN_NEGTRIG   0x00040000
11733dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL2_EN_NEGTRIG_S 18
11743dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL2_PLL_PWD	     0x00010000
11753dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL2_PLL_PWD_S    16
11763dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL2_OUTDIV	     0x0000E000
11773dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL2_OUTDIV_S     13
11783dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan
117922983c301f01b297a6f85de4757108c6b0eac792Vivek Natarajan#define AR_CH0_BB_DPLL3          0x16188
11803dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL3_PHASE_SHIFT	0x3F800000
11813dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan#define AR_CH0_BB_DPLL3_PHASE_SHIFT_S	23
11823dfd7f606645279c788f48cfdfdf9565ec72c4f0Vasanthakumar Thiagarajan
118322983c301f01b297a6f85de4757108c6b0eac792Vivek Natarajan#define AR_CH0_DDR_DPLL2         0x16244
118422983c301f01b297a6f85de4757108c6b0eac792Vivek Natarajan#define AR_CH0_DDR_DPLL3         0x16248
118522983c301f01b297a6f85de4757108c6b0eac792Vivek Natarajan#define AR_CH0_DPLL3_PHASE_SHIFT     0x3F800000
118622983c301f01b297a6f85de4757108c6b0eac792Vivek Natarajan#define AR_CH0_DPLL3_PHASE_SHIFT_S   23
118722983c301f01b297a6f85de4757108c6b0eac792Vivek Natarajan#define AR_PHY_CCA_NOM_VAL_2GHZ      -118
1188668602404d7398d841681c5e23fd8a9a45e4bb30Vasanthakumar Thiagarajan
1189317d33280c63f32bd84c49aacaaae047e981b441Felix Fietkau#define AR_RTC_9300_PLL_DIV          0x000003ff
1190317d33280c63f32bd84c49aacaaae047e981b441Felix Fietkau#define AR_RTC_9300_PLL_DIV_S        0
1191317d33280c63f32bd84c49aacaaae047e981b441Felix Fietkau#define AR_RTC_9300_PLL_REFDIV       0x00003C00
1192317d33280c63f32bd84c49aacaaae047e981b441Felix Fietkau#define AR_RTC_9300_PLL_REFDIV_S     10
1193317d33280c63f32bd84c49aacaaae047e981b441Felix Fietkau#define AR_RTC_9300_PLL_CLKSEL       0x0000C000
1194317d33280c63f32bd84c49aacaaae047e981b441Felix Fietkau#define AR_RTC_9300_PLL_CLKSEL_S     14
1195f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1196f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_9160_PLL_DIV	0x000003ff
1197f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_9160_PLL_DIV_S   0
1198f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_9160_PLL_REFDIV  0x00003C00
1199f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_9160_PLL_REFDIV_S 10
1200f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_9160_PLL_CLKSEL	0x0000C000
1201f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_9160_PLL_CLKSEL_S 14
1202f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1203f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_BASE             0x00020000
1204f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_RC \
1205d03a66c17ab94f7cfec9b343d415111386216847Gabor Juhos	((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0000) : 0x7000)
1206f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_RC_M		0x00000003
1207f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_RC_MAC_WARM      0x00000001
1208f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_RC_MAC_COLD      0x00000002
1209f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_RC_COLD_RESET    0x00000004
1210f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_RC_WARM_RESET    0x00000008
1211f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
121215c9ee7af8a3527a82013ea447da2d8c491aabfeSenthil Balasubramanian/* Crystal Control */
121315c9ee7af8a3527a82013ea447da2d8c491aabfeSenthil Balasubramanian#define AR_RTC_XTAL_CONTROL     0x7004
121415c9ee7af8a3527a82013ea447da2d8c491aabfeSenthil Balasubramanian
121515c9ee7af8a3527a82013ea447da2d8c491aabfeSenthil Balasubramanian/* Reg Control 0 */
121615c9ee7af8a3527a82013ea447da2d8c491aabfeSenthil Balasubramanian#define AR_RTC_REG_CONTROL0     0x7008
121715c9ee7af8a3527a82013ea447da2d8c491aabfeSenthil Balasubramanian
121815c9ee7af8a3527a82013ea447da2d8c491aabfeSenthil Balasubramanian/* Reg Control 1 */
121915c9ee7af8a3527a82013ea447da2d8c491aabfeSenthil Balasubramanian#define AR_RTC_REG_CONTROL1     0x700c
122015c9ee7af8a3527a82013ea447da2d8c491aabfeSenthil Balasubramanian#define AR_RTC_REG_CONTROL1_SWREG_PROGRAM       0x00000001
122115c9ee7af8a3527a82013ea447da2d8c491aabfeSenthil Balasubramanian
1222f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_PLL_CONTROL \
1223d03a66c17ab94f7cfec9b343d415111386216847Gabor Juhos	((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0014) : 0x7014)
1224f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1225d09b17f73fd8f475f33d0b8311d7b5a0bed67c67Vasanthakumar Thiagarajan#define AR_RTC_PLL_CONTROL2	0x703c
1226d09b17f73fd8f475f33d0b8311d7b5a0bed67c67Vasanthakumar Thiagarajan
1227f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_PLL_DIV          0x0000001f
1228f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_PLL_DIV_S        0
1229f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_PLL_DIV2         0x00000020
1230f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_PLL_REFDIV_5     0x000000c0
1231f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_PLL_CLKSEL       0x00000300
1232f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_PLL_CLKSEL_S     8
12330b488ac6ece598fda69b5f3348015994129c48b9Vasanthakumar Thiagarajan#define AR_RTC_PLL_BYPASS	0x00010000
1234f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1235b141581923ab4904052174e3b4eb17cc3ce8632cVivek Natarajan#define PLL3 0x16188
1236b141581923ab4904052174e3b4eb17cc3ce8632cVivek Natarajan#define PLL3_DO_MEAS_MASK 0x40000000
1237b141581923ab4904052174e3b4eb17cc3ce8632cVivek Natarajan#define PLL4 0x1618c
1238b141581923ab4904052174e3b4eb17cc3ce8632cVivek Natarajan#define PLL4_MEAS_DONE    0x8
1239b141581923ab4904052174e3b4eb17cc3ce8632cVivek Natarajan#define SQSUM_DVC_MASK 0x007ffff8
1240b141581923ab4904052174e3b4eb17cc3ce8632cVivek Natarajan
1241f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_RESET \
1242f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0040) : 0x7040)
1243f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_RESET_EN		(0x00000001)
1244f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1245f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_STATUS \
1246f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0044) : 0x7044)
1247f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1248f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_STATUS_M \
1249f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	((AR_SREV_9100(ah)) ? 0x0000003f : 0x0000000f)
1250f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1251f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_PM_STATUS_M      0x0000000f
1252f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1253f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_STATUS_SHUTDOWN  0x00000001
1254f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_STATUS_ON        0x00000002
1255f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_STATUS_SLEEP     0x00000004
1256f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_STATUS_WAKEUP    0x00000008
1257f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1258f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_SLEEP_CLK \
1259f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0048) : 0x7048)
1260f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_FORCE_DERIVED_CLK    0x2
126115c9ee7af8a3527a82013ea447da2d8c491aabfeSenthil Balasubramanian#define AR_RTC_FORCE_SWREG_PRD      0x00000004
1262f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1263f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_FORCE_WAKE \
1264f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x004c) : 0x704c)
1265f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_FORCE_WAKE_EN        0x00000001
1266f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_FORCE_WAKE_ON_INT    0x00000002
1267f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1268f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1269f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_INTR_CAUSE \
1270f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0050) : 0x7050)
1271f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1272f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_INTR_ENABLE \
1273f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0054) : 0x7054)
1274f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1275f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTC_INTR_MASK \
1276f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez	((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0058) : 0x7058)
1277f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
12781010911ec389fe7a342b9962877fdb88d7f04247Mohammed Shafi Shajakhan#define AR_RTC_KEEP_AWAKE	0x7034
12791010911ec389fe7a342b9962877fdb88d7f04247Mohammed Shafi Shajakhan
128070768496db9ee27d53d3d03d50c93fbf4c0198a0Sujith/* RTC_DERIVED_* - only for AR9100 */
128170768496db9ee27d53d3d03d50c93fbf4c0198a0Sujith
12820b488ac6ece598fda69b5f3348015994129c48b9Vasanthakumar Thiagarajan#define AR_RTC_DERIVED_CLK \
12830b488ac6ece598fda69b5f3348015994129c48b9Vasanthakumar Thiagarajan	(AR_SREV_9100(ah) ? (AR_RTC_BASE + 0x0038) : 0x7038)
128470768496db9ee27d53d3d03d50c93fbf4c0198a0Sujith#define AR_RTC_DERIVED_CLK_PERIOD    0x0000fffe
128570768496db9ee27d53d3d03d50c93fbf4c0198a0Sujith#define AR_RTC_DERIVED_CLK_PERIOD_S  1
128670768496db9ee27d53d3d03d50c93fbf4c0198a0Sujith
1287f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define	AR_SEQ_MASK	0x8060
1288f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1289f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF2G1_CH0         0x7810
1290f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF2G1_CH0_OB      0x03800000
1291f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF2G1_CH0_OB_S    23
1292f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF2G1_CH0_DB      0x1C000000
1293f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF2G1_CH0_DB_S    26
1294f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1295f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF5G1_CH0         0x7818
1296f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF5G1_CH0_OB5     0x00070000
1297f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF5G1_CH0_OB5_S   16
1298f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF5G1_CH0_DB5     0x00380000
1299f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF5G1_CH0_DB5_S   19
1300f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1301f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF2G1_CH1         0x7834
1302f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF2G1_CH1_OB      0x03800000
1303f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF2G1_CH1_OB_S    23
1304f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF2G1_CH1_DB      0x1C000000
1305f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF2G1_CH1_DB_S    26
1306f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1307f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF5G1_CH1         0x783C
1308f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF5G1_CH1_OB5     0x00070000
1309f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF5G1_CH1_OB5_S   16
1310f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF5G1_CH1_DB5     0x00380000
1311f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_RF5G1_CH1_DB5_S   19
1312f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1313cb33c4126ba9825b047463352d12dc3ed983d320Senthil Balasubramanian#define AR_AN_TOP1                  0x7890
1314cb33c4126ba9825b047463352d12dc3ed983d320Senthil Balasubramanian#define AR_AN_TOP1_DACIPMODE	    0x00040000
1315cb33c4126ba9825b047463352d12dc3ed983d320Senthil Balasubramanian#define AR_AN_TOP1_DACIPMODE_S	    18
1316cb33c4126ba9825b047463352d12dc3ed983d320Senthil Balasubramanian
1317f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_TOP2                  0x7894
1318f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_TOP2_XPABIAS_LVL      0xC0000000
1319f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_TOP2_XPABIAS_LVL_S    30
1320f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_TOP2_LOCALBIAS        0x00200000
1321f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_TOP2_LOCALBIAS_S      21
1322f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_TOP2_PWDCLKIND        0x00400000
1323f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_TOP2_PWDCLKIND_S      22
1324f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1325f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_SYNTH9            0x7868
1326f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_SYNTH9_REFDIVA    0xf8000000
1327f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AN_SYNTH9_REFDIVA_S  27
1328f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
132902e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G1              0x7820
133002e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G1_ENPACAL      0x00000800
133102e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G1_ENPACAL_S    11
133202e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G1_PDPADRV1     0x02000000
133302e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G1_PDPADRV1_S   25
133402e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G1_PDPADRV2     0x01000000
133502e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G1_PDPADRV2_S   24
133602e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G1_PDPAOUT      0x00800000
133702e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G1_PDPAOUT_S    23
133802e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
133902e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
134002e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G2              0x7824
134102e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G2_OFFCAL       0x00001000
134202e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G2_OFFCAL_S     12
134302e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
134402e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3             0x7828
134502e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_PDVCCOMP    0x02000000
134602e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_PDVCCOMP_S  25
134702e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_OB_0    0x00E00000
134802e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_OB_0_S    21
134902e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_OB_1    0x001C0000
135002e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_OB_1_S    18
135102e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_OB_2    0x00038000
135202e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_OB_2_S    15
135302e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_OB_3    0x00007000
135402e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_OB_3_S    12
135502e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_OB_4    0x00000E00
135602e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_OB_4_S    9
135702e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
135802e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_DB1_0    0x000001C0
135902e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_DB1_0_S    6
136002e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_DB1_1    0x00000038
136102e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_DB1_1_S    3
136202e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_DB1_2    0x00000007
136302e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G3_DB1_2_S    0
136402e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4         0x782C
136502e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB1_3    0xE0000000
136602e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB1_3_S    29
136702e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB1_4    0x1C000000
136802e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB1_4_S    26
136902e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
137002e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB2_0    0x03800000
137102e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB2_0_S    23
137202e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB2_1    0x00700000
137302e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB2_1_S    20
137402e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB2_2    0x000E0000
137502e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB2_2_S    17
137602e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB2_3    0x0001C000
137702e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB2_3_S    14
137802e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB2_4    0x00003800
137902e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G4_DB2_4_S    11
138002e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
138153bc7aa08b48e5cd745f986731cc7dc24eef2a9fVivek Natarajan#define AR9285_RF2G5			0x7830
138253bc7aa08b48e5cd745f986731cc7dc24eef2a9fVivek Natarajan#define AR9285_RF2G5_IC50TX		0xfffff8ff
138353bc7aa08b48e5cd745f986731cc7dc24eef2a9fVivek Natarajan#define AR9285_RF2G5_IC50TX_SET		0x00000400
138453bc7aa08b48e5cd745f986731cc7dc24eef2a9fVivek Natarajan#define AR9285_RF2G5_IC50TX_XE_SET	0x00000500
138553bc7aa08b48e5cd745f986731cc7dc24eef2a9fVivek Natarajan#define AR9285_RF2G5_IC50TX_CLEAR	0x00000700
138653bc7aa08b48e5cd745f986731cc7dc24eef2a9fVivek Natarajan#define AR9285_RF2G5_IC50TX_CLEAR_S	8
138753bc7aa08b48e5cd745f986731cc7dc24eef2a9fVivek Natarajan
1388670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez/* AR9271 : 0x7828, 0x782c different setting from AR9285 */
1389670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G3_OB_cck		0x001C0000
1390670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G3_OB_cck_S	18
1391670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G3_OB_psk		0x00038000
1392670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G3_OB_psk_S	15
1393670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G3_OB_qam		0x00007000
1394670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G3_OB_qam_S	12
1395670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez
1396670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G3_DB_1		0x00E00000
1397670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G3_DB_1_S		21
1398670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez
1399670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G3_CCOMP		0xFFF
1400670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G3_CCOMP_S		0
1401670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez
1402670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G4_DB_2		0xE0000000
1403670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G4_DB_2_S		29
1404670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez
140502e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G6                 0x7834
140602e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G6_CCOMP           0x00007800
140702e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G6_CCOMP_S         11
140802e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G6_OFFS            0x03f00000
140902e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G6_OFFS_S          20
141002e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
1411670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G6_OFFS            0x07f00000
1412670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_AN_RF2G6_OFFS_S            20
1413670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez
141402e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G7                 0x7838
141502e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G7_PWDDB           0x00000002
141602e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G7_PWDDB_S         1
141702e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G7_PADRVGN2TAB0    0xE0000000
141802e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G7_PADRVGN2TAB0_S  29
141902e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
142002e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G8                  0x783C
142102e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G8_PADRVGN2TAB0     0x0001C000
142202e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G8_PADRVGN2TAB0_S   14
142302e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
142402e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
142502e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RF2G9          0x7840
142602e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RXTXBB1              0x7854
142702e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RXTXBB1_PDRXTXBB1    0x00000020
142802e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RXTXBB1_PDRXTXBB1_S  5
142902e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RXTXBB1_PDV2I        0x00000080
143002e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RXTXBB1_PDV2I_S      7
143102e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RXTXBB1_PDDACIF      0x00000100
143202e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RXTXBB1_PDDACIF_S    8
143302e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RXTXBB1_SPARE9       0x00000001
143402e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_RXTXBB1_SPARE9_S     0
143502e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
143602e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_TOP2           0x7868
143702e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
143802e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_TOP3                  0x786c
143902e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_TOP3_XPABIAS_LVL      0x0000000C
144002e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_TOP3_XPABIAS_LVL_S    2
144102e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_TOP3_PWDDAC           0x00800000
144202e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_TOP3_PWDDAC_S    23
144302e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
144402e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_TOP4           0x7870
144502e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian#define AR9285_AN_TOP4_DEFAULT   0x10142c00
144602e90d627c80127933ee56ae0e9bf727fde66105Senthil Balasubramanian
144704dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_CH0             0x7808
144804dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_CH1             0x785c
144904dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_DB1             0xE0000000
145004dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_DB1_S           29
145104dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_DB2             0x1C000000
145204dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_DB2_S           26
145304dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_OB_CCK          0x03800000
145404dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_OB_CCK_S        23
145504dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_OB_PSK          0x00700000
145604dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_OB_PSK_S        20
145704dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_OB_QAM          0x000E0000
145804dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_OB_QAM_S        17
145904dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_OB_PAL_OFF      0x0001C000
146004dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_RF2G3_OB_PAL_OFF_S    14
146104dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan
146204dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_TXPC0                 0x7898
146304dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_TXPC0_TXPCMODE        0x0000C000
146404dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_TXPC0_TXPCMODE_S      14
146504dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_TXPC0_TXPCMODE_NORMAL    0
146604dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_TXPC0_TXPCMODE_TEST      1
146704dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_TXPC0_TXPCMODE_TEMPSENSE 2
146804dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_TXPC0_TXPCMODE_ATBTEST   3
146904dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan
147004dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_TOP2                  0x78b4
147104dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_TOP2_XPABIAS_LVL      0xC0000000
147204dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR9287_AN_TOP2_XPABIAS_LVL_S    30
147304dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan
1474670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez/* AR9271 specific stuff */
1475670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_RESET_POWER_DOWN_CONTROL		0x50044
1476670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_RADIO_RF_RST			0x20
1477670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez#define AR9271_GATE_MAC_CTL			0x4000
1478670388c5f56383e1d5b9f4f7fc835a280487754eLuis R. Rodriguez
1479f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID0                 0x8000
1480f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1                 0x8004
1481f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_SADH_MASK       0x0000FFFF
1482f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_STA_AP          0x00010000
1483f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_ADHOC           0x00020000
1484f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_PWR_SAV         0x00040000
1485f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_KSRCHDIS        0x00080000
1486f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_PCF             0x00100000
1487f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_USE_DEFANT      0x00200000
1488f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_DEFANT_UPDATE   0x00400000
1489f171760c558946c7a2e0ee310dfb968f9d4853c6Felix Fietkau#define AR_STA_ID1_AR9100_BA_FIX   0x00400000
1490f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_RTS_USE_DEF     0x00800000
1491f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_ACKCTS_6MB      0x01000000
1492f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_BASE_RATE_11B   0x02000000
1493f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_SECTOR_SELF_GEN 0x04000000
1494f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_CRPT_MIC_ENABLE 0x08000000
1495f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_KSRCH_MODE      0x10000000
1496f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_PRESERVE_SEQNUM 0x20000000
1497f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_CBCIV_ENDIAN    0x40000000
1498f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_STA_ID1_MCAST_KSRCH     0x80000000
1499f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1500f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_BSS_ID0          0x8008
1501f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_BSS_ID1          0x800C
1502f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_BSS_ID1_U16       0x0000FFFF
1503f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_BSS_ID1_AID       0x07FF0000
1504f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_BSS_ID1_AID_S     16
1505f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1506f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_BCN_RSSI_AVE      0x8010
1507f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_BCN_RSSI_AVE_MASK 0x00000FFF
1508f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1509f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIME_OUT         0x8014
1510f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIME_OUT_ACK      0x00003FFF
1511f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIME_OUT_ACK_S    0
1512f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIME_OUT_CTS      0x3FFF0000
1513f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIME_OUT_CTS_S    16
1514f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1515f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RSSI_THR          0x8018
1516f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RSSI_THR_MASK     0x000000FF
1517f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RSSI_THR_BM_THR   0x0000FF00
1518f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RSSI_THR_BM_THR_S 8
1519f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RSSI_BCN_WEIGHT   0x1F000000
1520f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RSSI_BCN_WEIGHT_S 24
1521f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RSSI_BCN_RSSI_RST 0x20000000
1522f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1523f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_USEC              0x801c
1524f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_USEC_USEC         0x0000007F
1525f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_USEC_TX_LAT       0x007FC000
1526f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_USEC_TX_LAT_S     14
1527f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_USEC_RX_LAT       0x1F800000
1528f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_USEC_RX_LAT_S     23
1529a7be039d347743c289b7280d5de82abf7bbdf1d8Rajkumar Manoharan#define AR_USEC_ASYNC_FIFO   0x12E00074
1530f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1531f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RESET_TSF        0x8020
1532f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RESET_TSF_ONCE   0x01000000
1533f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1534f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MAX_CFP_DUR      0x8038
1535f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_CFP_VAL          0x0000FFFF
1536f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1537f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RX_FILTER        0x803C
1538f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1539f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MCAST_FIL0       0x8040
1540f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MCAST_FIL1       0x8044
1541f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1542e7824a50662f7f79b1a739f705b4d906c31cf221Luis R. Rodriguez/*
1543e7824a50662f7f79b1a739f705b4d906c31cf221Luis R. Rodriguez * AR_DIAG_SW - Register which can be used for diagnostics and testing purposes.
1544e7824a50662f7f79b1a739f705b4d906c31cf221Luis R. Rodriguez *
1545e7824a50662f7f79b1a739f705b4d906c31cf221Luis R. Rodriguez * The force RX abort (AR_DIAG_RX_ABORT, bit 25) can be used in conjunction with
1546e7824a50662f7f79b1a739f705b4d906c31cf221Luis R. Rodriguez * RX block (AR_DIAG_RX_DIS, bit 5) to help fast channel change to shut down
1547e7824a50662f7f79b1a739f705b4d906c31cf221Luis R. Rodriguez * receive. The force RX abort bit will kill any frame which is currently being
1548e7824a50662f7f79b1a739f705b4d906c31cf221Luis R. Rodriguez * transferred between the MAC and baseband. The RX block bit (AR_DIAG_RX_DIS)
1549e7824a50662f7f79b1a739f705b4d906c31cf221Luis R. Rodriguez * will prevent any new frames from getting started.
1550e7824a50662f7f79b1a739f705b4d906c31cf221Luis R. Rodriguez */
1551f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_SW                  0x8048
1552f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_CACHE_ACK           0x00000001
1553f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_ACK_DIS             0x00000002
1554f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_CTS_DIS             0x00000004
1555f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_ENCRYPT_DIS         0x00000008
1556f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_DECRYPT_DIS         0x00000010
1557e7824a50662f7f79b1a739f705b4d906c31cf221Luis R. Rodriguez#define AR_DIAG_RX_DIS              0x00000020 /* RX block */
1558f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_LOOP_BACK           0x00000040
1559f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_CORR_FCS            0x00000080
1560f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_CHAN_INFO           0x00000100
1561f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_SCRAM_SEED          0x0001FE00
1562f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_SCRAM_SEED_S        8
1563f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_FRAME_NV0           0x00020000
1564f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_OBS_PT_SEL1         0x000C0000
1565f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_OBS_PT_SEL1_S       18
15662ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_DIAG_OBS_PT_SEL2         0x08000000
15672ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_DIAG_OBS_PT_SEL2_S       27
1568e7824a50662f7f79b1a739f705b4d906c31cf221Luis R. Rodriguez#define AR_DIAG_FORCE_RX_CLEAR      0x00100000 /* force rx_clear high */
1569f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_IGNORE_VIRT_CS      0x00200000
1570f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_FORCE_CH_IDLE_HIGH  0x00400000
1571f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_EIFS_CTRL_ENA       0x00800000
1572f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_DUAL_CHAIN_INFO     0x01000000
1573e7824a50662f7f79b1a739f705b4d906c31cf221Luis R. Rodriguez#define AR_DIAG_RX_ABORT            0x02000000 /* Force RX abort */
1574f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_SATURATE_CYCLE_CNT  0x04000000
1575f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_OBS_PT_SEL2         0x08000000
1576f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_RX_CLEAR_CTL_LOW    0x10000000
1577f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DIAG_RX_CLEAR_EXT_LOW    0x20000000
1578f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1579f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TSF_L32          0x804c
1580f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TSF_U32          0x8050
1581f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1582f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TST_ADDAC        0x8054
1583f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DEF_ANTENNA      0x8058
1584f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1585f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AES_MUTE_MASK0       0x805c
1586f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AES_MUTE_MASK0_FC    0x0000FFFF
1587f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AES_MUTE_MASK0_QOS   0xFFFF0000
1588f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AES_MUTE_MASK0_QOS_S 16
1589f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1590f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AES_MUTE_MASK1       0x8060
1591f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_AES_MUTE_MASK1_SEQ   0x0000FFFF
15920ced0e176ab854df15bd307188decba9c06650e5Jouni Malinen#define AR_AES_MUTE_MASK1_FC_MGMT 0xFFFF0000
15930ced0e176ab854df15bd307188decba9c06650e5Jouni Malinen#define AR_AES_MUTE_MASK1_FC_MGMT_S 16
1594f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1595f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GATED_CLKS       0x8064
1596f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GATED_CLKS_TX    0x00000002
1597f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GATED_CLKS_RX    0x00000004
1598f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_GATED_CLKS_REG   0x00000008
1599f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1600f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_CTRL     0x8068
1601f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_SEL_1    0x00040000
1602f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_SEL_2    0x00080000
1603f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_SEL_3    0x000C0000
1604f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_SEL_4    0x08040000
1605f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_SEL_5    0x08080000
1606f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1607f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1               0x806c
1608f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_PCU           0x00000001
1609f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_RX_END        0x00000002
1610f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_RX_WEP        0x00000004
1611f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_RX_BEACON     0x00000008
1612f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_RX_FILTER     0x00000010
1613f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_TX_HCF        0x00000020
1614f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_QUIET_TIME    0x00000040
1615f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_CHAN_IDLE     0x00000080
1616f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_TX_HOLD       0x00000100
1617f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_TX_FRAME      0x00000200
1618f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_RX_FRAME      0x00000400
1619f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_RX_CLEAR      0x00000800
1620f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_WEP_STATE     0x0003F000
1621f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_WEP_STATE_S   12
1622f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_RX_STATE      0x01F00000
1623f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_RX_STATE_S    20
1624f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_TX_STATE      0x7E000000
1625f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_OBS_BUS_1_TX_STATE_S    25
1626f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1627f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_LAST_TSTP        0x8080
1628f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_NAV              0x8084
1629f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTS_OK           0x8088
1630f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RTS_FAIL         0x808c
1631f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_ACK_FAIL         0x8090
1632f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_FCS_FAIL         0x8094
1633f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_BEACON_CNT       0x8098
1634f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1635f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLEEP1               0x80d4
1636f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLEEP1_ASSUME_DTIM   0x00080000
1637f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLEEP1_CAB_TIMEOUT   0xFFE00000
1638f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLEEP1_CAB_TIMEOUT_S 21
1639f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1640f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLEEP2                   0x80d8
1641f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLEEP2_BEACON_TIMEOUT    0xFFE00000
1642f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLEEP2_BEACON_TIMEOUT_S  21
1643f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1644f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TPC                 0x80e8
1645f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TPC_ACK             0x0000003f
1646f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TPC_ACK_S           0x00
1647f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TPC_CTS             0x00003f00
1648f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TPC_CTS_S           0x08
1649f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TPC_CHIRP           0x003f0000
1650f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TPC_CHIRP_S         0x16
1651f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1652f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QUIET1          0x80fc
1653f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QUIET1_NEXT_QUIET_S         0
1654f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QUIET1_NEXT_QUIET_M         0x0000ffff
1655f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QUIET1_QUIET_ENABLE         0x00010000
1656f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QUIET1_QUIET_ACK_CTS_ENABLE 0x00020000
16571773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_QUIET1_QUIET_ACK_CTS_ENABLE_S 17
1658f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QUIET2          0x8100
1659f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QUIET2_QUIET_PERIOD_S       0
1660f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QUIET2_QUIET_PERIOD_M       0x0000ffff
1661f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QUIET2_QUIET_DUR_S     16
1662f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QUIET2_QUIET_DUR       0xffff0000
1663f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1664f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TSF_PARM        0x8104
1665f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TSF_INCREMENT_M     0x000000ff
1666f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TSF_INCREMENT_S     0x00
1667f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1668f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QOS_NO_ACK              0x8108
1669f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QOS_NO_ACK_TWO_BIT      0x0000000f
1670f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QOS_NO_ACK_TWO_BIT_S    0
1671f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QOS_NO_ACK_BIT_OFF      0x00000070
1672f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QOS_NO_ACK_BIT_OFF_S    4
1673f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QOS_NO_ACK_BYTE_OFF     0x00000180
1674f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QOS_NO_ACK_BYTE_OFF_S   7
1675f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1676f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR         0x810c
1677f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1678f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR_DCHIRP      0x00000008
1679f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR_RADAR       0x00000020
1680f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR_OFDM_TIMING 0x00020000
1681f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR_CCK_TIMING  0x02000000
1682f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1683f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_RXFIFO_CFG          0x8114
1684f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1685f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1686f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MIC_QOS_CONTROL 0x8118
1687f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MIC_QOS_SELECT  0x811c
1688f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1689f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_MISC                0x8120
1690f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_FORCE_BSSID_MATCH   0x00000001
1691f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_MIC_NEW_LOC_ENA     0x00000004
1692f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_TX_ADD_TSF          0x00000008
1693f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_CCK_SIFS_MODE       0x00000010
1694f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_RX_ANT_UPDT         0x00000800
1695f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_TXOP_TBTT_LIMIT_ENA 0x00001000
1696f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_MISS_BCN_IN_SLEEP   0x00004000
1697f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_BUG_12306_FIX_ENA   0x00020000
1698f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_FORCE_QUIET_COLL    0x00040000
1699f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_TBTT_PROTECT        0x00200000
1700f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_CLEAR_VMF           0x01000000
1701f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_CLEAR_BA_VALID      0x04000000
170202d2ebb2a0aa2cae0446289c8f927067aec06079Felix Fietkau#define AR_PCU_ALWAYS_PERFORM_KEYSEARCH 0x10000000
1703f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
17041773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_PCU_BT_ANT_PREVENT_RX   0x00100000
17051773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_PCU_BT_ANT_PREVENT_RX_S 20
1706f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1707f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_FILT_OFDM           0x8124
1708f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_FILT_OFDM_COUNT     0x00FFFFFF
1709f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1710f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_FILT_CCK            0x8128
1711f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_FILT_CCK_COUNT      0x00FFFFFF
1712f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1713f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR_1           0x812c
1714f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR_1_COUNT     0x00FFFFFF
1715f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR_MASK_1      0x8130
1716f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1717f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR_2           0x8134
1718f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR_2_COUNT     0x00FFFFFF
1719f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR_MASK_2      0x8138
1720f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1721f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_COUNTMAX        (3 << 22)
1722f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_MIBCNT_INTRMASK     (3 << 22)
1723f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
17244af9cf4fda28c5f794861c52e0db5a3de9ee574dSujith#define AR_TSFOOR_THRESHOLD       0x813c
17254af9cf4fda28c5f794861c52e0db5a3de9ee574dSujith#define AR_TSFOOR_THRESHOLD_VAL   0x0000FFFF
1726f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
17270bef631c5a029e67b908872649b94c9251260a92Felix Fietkau#define AR_PHY_ERR_EIFS_MASK   0x8144
1728f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1729f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR_3           0x8168
1730f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR_3_COUNT     0x00FFFFFF
1731f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PHY_ERR_MASK_3      0x816c
1732f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
17331773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_COEX_MODE            0x8170
17341773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_TIME_EXTEND          0x000000ff
17351773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_TIME_EXTEND_S        0
17361773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_TXSTATE_EXTEND       0x00000100
17371773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_TXSTATE_EXTEND_S     8
17381773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_TX_FRAME_EXTEND      0x00000200
17391773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_TX_FRAME_EXTEND_S    9
17401773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_MODE                 0x00000c00
17411773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_MODE_S               10
17421773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_QUIET                0x00001000
17431773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_QUIET_S              12
17441773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_QCU_THRESH           0x0001e000
17451773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_QCU_THRESH_S         13
17461773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_RX_CLEAR_POLARITY    0x00020000
17471773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_RX_CLEAR_POLARITY_S  17
17481773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_PRIORITY_TIME        0x00fc0000
17491773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_PRIORITY_TIME_S      18
17501773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_FIRST_SLOT_TIME      0xff000000
17511773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_FIRST_SLOT_TIME_S    24
17521773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan
17531773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_COEX_WEIGHT          0x8174
17541773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_COEX_WGHT		   0xff55
175558da1318ee92ad3fe7917278d596768bbe441850Vasanthakumar Thiagarajan#define AR_STOMP_ALL_WLAN_WGHT	   0xfcfc
175658da1318ee92ad3fe7917278d596768bbe441850Vasanthakumar Thiagarajan#define AR_STOMP_LOW_WLAN_WGHT	   0xa8a8
175758da1318ee92ad3fe7917278d596768bbe441850Vasanthakumar Thiagarajan#define AR_STOMP_NONE_WLAN_WGHT	   0x0000
17581773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BTCOEX_BT_WGHT          0x0000ffff
17591773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BTCOEX_BT_WGHT_S        0
17601773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BTCOEX_WL_WGHT          0xffff0000
17611773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BTCOEX_WL_WGHT_S        16
17621773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan
1763a6ef530f2b0bc7e871e8c2f2b2a0905eed57feadVivek Natarajan#define AR_BT_COEX_WL_WEIGHTS0     0x8174
1764a6ef530f2b0bc7e871e8c2f2b2a0905eed57feadVivek Natarajan#define AR_BT_COEX_WL_WEIGHTS1     0x81c4
17658227bf455469a153d5fa2a810653a669a2595ebdRajkumar Manoharan#define AR_MCI_COEX_WL_WEIGHTS(_i) (0x18b0 + (_i << 2))
176654f10b059e6592598a9b66fabf0cde8be1d2780cRajkumar Manoharan#define AR_BT_COEX_BT_WEIGHTS(_i)  (0x83ac + (_i << 2))
176754f10b059e6592598a9b66fabf0cde8be1d2780cRajkumar Manoharan
176854f10b059e6592598a9b66fabf0cde8be1d2780cRajkumar Manoharan#define AR9300_BT_WGHT             0xcccc4444
1769a6ef530f2b0bc7e871e8c2f2b2a0905eed57feadVivek Natarajan
17701773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_COEX_MODE2           0x817c
17711773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_BCN_MISS_THRESH      0x000000ff
17721773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_BCN_MISS_THRESH_S    0
17731773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_BCN_MISS_CNT         0x0000ff00
17741773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_BCN_MISS_CNT_S       8
17751773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_HOLD_RX_CLEAR        0x00010000
17761773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_HOLD_RX_CLEAR_S      16
17771773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_DISABLE_BT_ANT       0x00100000
17781773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan#define AR_BT_DISABLE_BT_ANT_S     20
17791773912bd25196c2a3ca6c174574561363f43b2bVasanthakumar Thiagarajan
1780f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXSIFS              0x81d0
1781f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXSIFS_TIME         0x000000FF
1782f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXSIFS_TX_LATENCY   0x00000F00
1783f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXSIFS_TX_LATENCY_S 8
1784f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXSIFS_ACK_SHIFT    0x00007000
1785f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXSIFS_ACK_SHIFT_S  12
1786f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1787f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXOP_X          0x81ec
1788f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXOP_X_VAL      0x000000FF
1789f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1790f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1791f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXOP_0_3    0x81f0
1792f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXOP_4_7    0x81f4
1793f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXOP_8_11   0x81f8
1794f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TXOP_12_15  0x81fc
1795f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1796ff155a45cea56ad7a90c3f5192db59a4c7812fdeVasanthakumar Thiagarajan#define AR_NEXT_NDP2_TIMER                  0x8180
1797ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian#define AR_GEN_TIMER_BANK_1_LEN			8
1798ff155a45cea56ad7a90c3f5192db59a4c7812fdeVasanthakumar Thiagarajan#define AR_FIRST_NDP_TIMER                  7
1799ff155a45cea56ad7a90c3f5192db59a4c7812fdeVasanthakumar Thiagarajan#define AR_NDP2_PERIOD                      0x81a0
1800ff155a45cea56ad7a90c3f5192db59a4c7812fdeVasanthakumar Thiagarajan#define AR_NDP2_TIMER_MODE                  0x81c0
1801086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau
1802086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_GEN_TIMERS(_i)                   (0x8200 + ((_i) << 2))
1803086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_NEXT_TBTT_TIMER                  AR_GEN_TIMERS(0)
1804086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_NEXT_DMA_BEACON_ALERT            AR_GEN_TIMERS(1)
1805086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_NEXT_SWBA                        AR_GEN_TIMERS(2)
1806086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_NEXT_CFP                         AR_GEN_TIMERS(2)
1807086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_NEXT_HCF                         AR_GEN_TIMERS(3)
1808086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_NEXT_TIM                         AR_GEN_TIMERS(4)
1809086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_NEXT_DTIM                        AR_GEN_TIMERS(5)
1810086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_NEXT_QUIET_TIMER                 AR_GEN_TIMERS(6)
1811086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_NEXT_NDP_TIMER                   AR_GEN_TIMERS(7)
1812086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau
1813086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_BEACON_PERIOD                    AR_GEN_TIMERS(8)
1814086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_DMA_BEACON_PERIOD                AR_GEN_TIMERS(9)
1815086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_SWBA_PERIOD                      AR_GEN_TIMERS(10)
1816086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_HCF_PERIOD                       AR_GEN_TIMERS(11)
1817086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_TIM_PERIOD                       AR_GEN_TIMERS(12)
1818086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_DTIM_PERIOD                      AR_GEN_TIMERS(13)
1819086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_QUIET_PERIOD                     AR_GEN_TIMERS(14)
1820086a864c9a3ad3c70d68dfb87892c5613a09906cFelix Fietkau#define AR_NDP_PERIOD                       AR_GEN_TIMERS(15)
1821f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1822f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIMER_MODE                       0x8240
1823f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TBTT_TIMER_EN                    0x00000001
1824f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DBA_TIMER_EN                     0x00000002
1825f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SWBA_TIMER_EN                    0x00000004
1826f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_HCF_TIMER_EN                     0x00000008
1827f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIM_TIMER_EN                     0x00000010
1828f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_DTIM_TIMER_EN                    0x00000020
1829f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_QUIET_TIMER_EN                   0x00000040
1830f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_NDP_TIMER_EN                     0x00000080
1831f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIMER_OVERFLOW_INDEX             0x00000700
1832f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIMER_OVERFLOW_INDEX_S           8
1833f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIMER_THRESH                     0xFFFFF000
1834f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_TIMER_THRESH_S                   12
1835f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1836f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLP32_MODE                  0x8244
1837f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLP32_HALF_CLK_LATENCY      0x000FFFFF
1838f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLP32_ENA                   0x00100000
1839f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLP32_TSF_WRITE_STATUS      0x00200000
1840f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1841f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLP32_WAKE              0x8248
1842f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLP32_WAKE_XTL_TIME     0x0000FFFF
1843f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1844f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLP32_INC               0x824c
1845f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLP32_TST_INC           0x000FFFFF
1846f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1847f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLP_CNT         0x8250
1848f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLP_CYCLE_CNT   0x8254
1849f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1850f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLP_MIB_CTRL    0x8258
1851f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLP_MIB_CLEAR   0x00000001
1852f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SLP_MIB_PENDING 0x00000002
1853f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
185404dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_MAC_PCU_LOGIC_ANALYZER               0x8264
185504dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_MAC_PCU_LOGIC_ANALYZER_DISBUG20768   0x20000000
185604dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan
185704dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan
1858f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_2040_MODE                0x8318
1859f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_2040_JOINED_RX_CLEAR 0x00000001
1860f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1861f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1862f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_EXTRCCNT         0x8328
1863f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1864f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_SELFGEN_MASK         0x832c
1865f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
1866f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_TXBUF_CTRL               0x8340
1867f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_TXBUF_CTRL_SIZE_MASK     0x7FF
1868f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_PCU_TXBUF_CTRL_USABLE_SIZE   0x700
1869f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#define AR_9285_PCU_TXBUF_CTRL_USABLE_SIZE   0x380
1870f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez
18710ced0e176ab854df15bd307188decba9c06650e5Jouni Malinen#define AR_PCU_MISC_MODE2               0x8344
18720ced0e176ab854df15bd307188decba9c06650e5Jouni Malinen#define AR_PCU_MISC_MODE2_MGMT_CRYPTO_ENABLE           0x00000002
18730ced0e176ab854df15bd307188decba9c06650e5Jouni Malinen#define AR_PCU_MISC_MODE2_NO_CRYPTO_FOR_NON_DATA_PKT   0x00000004
18740ced0e176ab854df15bd307188decba9c06650e5Jouni Malinen
187504dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_PCU_MISC_MODE2_RESERVED                     0x00000038
187604dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_PCU_MISC_MODE2_ADHOC_MCAST_KEYID_ENABLE     0x00000040
187704dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_PCU_MISC_MODE2_CFP_IGNORE                   0x00000080
187804dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_PCU_MISC_MODE2_MGMT_QOS                     0x0000FF00
187904dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_PCU_MISC_MODE2_MGMT_QOS_S                   8
188004dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_PCU_MISC_MODE2_ENABLE_LOAD_NAV_BEACON_DURATION 0x00010000
188104dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_PCU_MISC_MODE2_ENABLE_AGGWEP                0x00020000
188204dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_PCU_MISC_MODE2_HWWAR1                       0x00100000
188304dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_PCU_MISC_MODE2_HWWAR2                       0x02000000
188404dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_PCU_MISC_MODE2_RESERVED2                    0xFFFE0000
188504dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan
1886ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian#define AR_MAC_PCU_ASYNC_FIFO_REG3			0x8358
1887ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian#define AR_MAC_PCU_ASYNC_FIFO_REG3_DATAPATH_SEL		0x00000400
1888ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian#define AR_MAC_PCU_ASYNC_FIFO_REG3_SOFT_RESET		0x80000000
1889ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian#define AR_MAC_PCU_GEN_TIMER_TSF_SEL			0x83d8
189004dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan
189104dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan
189204dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_AES_MUTE_MASK0       0x805c
189304dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_AES_MUTE_MASK0_FC    0x0000FFFF
189404dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_AES_MUTE_MASK0_QOS   0xFFFF0000
189504dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_AES_MUTE_MASK0_QOS_S 16
189604dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan
189704dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_AES_MUTE_MASK1              0x8060
189804dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_AES_MUTE_MASK1_SEQ          0x0000FFFF
189904dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_AES_MUTE_MASK1_SEQ_S        0
190004dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_AES_MUTE_MASK1_FC_MGMT      0xFFFF0000
190104dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_AES_MUTE_MASK1_FC_MGMT_S    16
190204dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan
190304dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_RATE_DURATION_0      0x8700
190404dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_RATE_DURATION_31     0x87CC
190504dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_RATE_DURATION_32     0x8780
190604dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan#define AR_RATE_DURATION(_n)    (AR_RATE_DURATION_0 + ((_n)<<2))
190704dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan
190804dc882d601ec6fae5dfcb47c43f7af343e9a135Vivek Natarajan
1909c75724d1747230abdd37d0594ac5277b867befd4Luis R. Rodriguez#define AR9271_CORE_CLOCK	117   /* clock to 117Mhz */
1910c75724d1747230abdd37d0594ac5277b867befd4Luis R. Rodriguez#define AR9271_TARGET_BAUD_RATE	19200 /* 115200 */
1911c75724d1747230abdd37d0594ac5277b867befd4Luis R. Rodriguez
1912cffb5e49a147cfc6491f561f9b330e1001276185Luis R. Rodriguez#define AR_AGG_WEP_ENABLE_FIX		0x00000008  /* This allows the use of AR_AGG_WEP_ENABLE */
1913cffb5e49a147cfc6491f561f9b330e1001276185Luis R. Rodriguez#define AR_ADHOC_MCAST_KEYID_ENABLE     0x00000040  /* This bit enables the Multicast search
1914cffb5e49a147cfc6491f561f9b330e1001276185Luis R. Rodriguez						     * based on both MAC Address and Key ID.
1915cffb5e49a147cfc6491f561f9b330e1001276185Luis R. Rodriguez						     * If bit is 0, then Multicast search is
1916cffb5e49a147cfc6491f561f9b330e1001276185Luis R. Rodriguez						     * based on MAC address only.
1917cffb5e49a147cfc6491f561f9b330e1001276185Luis R. Rodriguez						     * For Merlin and above only.
1918cffb5e49a147cfc6491f561f9b330e1001276185Luis R. Rodriguez						     */
1919cffb5e49a147cfc6491f561f9b330e1001276185Luis R. Rodriguez#define AR_AGG_WEP_ENABLE               0x00020000  /* This field enables AGG_WEP feature,
1920cffb5e49a147cfc6491f561f9b330e1001276185Luis R. Rodriguez						     * when it is enable, AGG_WEP would takes
1921cffb5e49a147cfc6491f561f9b330e1001276185Luis R. Rodriguez						     * charge of the encryption interface of
1922cffb5e49a147cfc6491f561f9b330e1001276185Luis R. Rodriguez						     * pcu_txsm.
1923cffb5e49a147cfc6491f561f9b330e1001276185Luis R. Rodriguez						     */
1924cffb5e49a147cfc6491f561f9b330e1001276185Luis R. Rodriguez
1925400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR9300_SM_BASE				0xa200
1926400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR9002_PHY_AGC_CONTROL			0x9860
1927400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR9003_PHY_AGC_CONTROL			AR9300_SM_BASE + 0xc4
1928400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR_PHY_AGC_CONTROL			(AR_SREV_9300_20_OR_LATER(ah) ? AR9003_PHY_AGC_CONTROL : AR9002_PHY_AGC_CONTROL)
1929400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR_PHY_AGC_CONTROL_CAL			0x00000001  /* do internal calibration */
1930400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR_PHY_AGC_CONTROL_NF			0x00000002  /* do noise-floor calibration */
1931400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR_PHY_AGC_CONTROL_OFFSET_CAL		0x00000800  /* allow offset calibration */
1932400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR_PHY_AGC_CONTROL_ENABLE_NF		0x00008000  /* enable noise floor calibration to happen */
1933400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR_PHY_AGC_CONTROL_FLTR_CAL		0x00010000  /* allow tx filter calibration */
1934400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR_PHY_AGC_CONTROL_NO_UPDATE_NF		0x00020000  /* don't update noise floor automatically */
1935400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR_PHY_AGC_CONTROL_EXT_NF_PWR_MEAS	0x00040000  /* extend noise floor power measurement */
1936400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR_PHY_AGC_CONTROL_CLC_SUCCESS		0x00080000  /* carrier leak calibration done */
1937324c74ad64c7528a9cf243455723d5ed57238e15Rajkumar Manoharan#define AR_PHY_AGC_CONTROL_PKDET_CAL		0x00100000
1938400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR_PHY_AGC_CONTROL_YCOK_MAX		0x000003c0
1939400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez#define AR_PHY_AGC_CONTROL_YCOK_MAX_S		6
1940400b738678bf6f0b65a76a4ec2925473ba3e06ffLuis R. Rodriguez
1941ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian/* MCI Registers */
19422ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
19432ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND0				0x1800
19442ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND0_HEADER			0xFF
19452ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND0_HEADER_S		0
19462ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND0_LEN			0x1f00
19472ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND0_LEN_S			8
19482ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND0_DISABLE_TIMESTAMP	0x2000
19492ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND0_DISABLE_TIMESTAMP_S	13
19502ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
19512ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND1				0x1804
19522ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
19532ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND2				0x1808
19542ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND2_RESET_TX		0x01
19552ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND2_RESET_TX_S		0
19562ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND2_RESET_RX		0x02
19572ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND2_RESET_RX_S		1
19582ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND2_RESET_RX_NUM_CYCLES     0x3FC
19592ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND2_RESET_RX_NUM_CYCLES_S   2
19602ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND2_RESET_REQ_WAKEUP        0x400
19612ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_COMMAND2_RESET_REQ_WAKEUP_S      10
19622ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
19632ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_RX_CTRL				0x180c
19642ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
19652ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_TX_CTRL				0x1810
19662ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan/* 0 = no division, 1 = divide by 2, 2 = divide by 4, 3 = divide by 8 */
19672ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_TX_CTRL_CLK_DIV			0x03
19682ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_TX_CTRL_CLK_DIV_S		0
19692ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_TX_CTRL_DISABLE_LNA_UPDATE	0x04
19702ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_TX_CTRL_DISABLE_LNA_UPDATE_S	2
19712ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_TX_CTRL_GAIN_UPDATE_FREQ		0xFFFFF8
19722ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_TX_CTRL_GAIN_UPDATE_FREQ_S	3
19732ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_TX_CTRL_GAIN_UPDATE_NUM		0xF000000
19742ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_TX_CTRL_GAIN_UPDATE_NUM_S	24
19752ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
19762ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_MSG_ATTRIBUTES_TABLE			0x1814
19772ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_MSG_ATTRIBUTES_TABLE_CHECKSUM		0xFFFF
19782ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_MSG_ATTRIBUTES_TABLE_CHECKSUM_S		0
19792ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_MSG_ATTRIBUTES_TABLE_INVALID_HDR		0xFFFF0000
19802ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_MSG_ATTRIBUTES_TABLE_INVALID_HDR_S	16
19812ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
19822ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_SCHD_TABLE_0				0x1818
19832ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_SCHD_TABLE_1				0x181c
19842ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_GPM_0					0x1820
19852ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_GPM_1					0x1824
19862ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_GPM_WRITE_PTR				0xFFFF0000
19872ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_GPM_WRITE_PTR_S				16
19882ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_GPM_BUF_LEN				0x0000FFFF
19892ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_GPM_BUF_LEN_S				0
19902ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
19912ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RAW				0x1828
19922ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_EN				0x182c
19932ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_SW_MSG_DONE			0x00000001
19942ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_SW_MSG_DONE_S			0
19952ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_CPU_INT_MSG			0x00000002
19962ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_CPU_INT_MSG_S			1
19972ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_CKSUM_FAIL			0x00000004
19982ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_CKSUM_FAIL_S		2
19992ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_INVALID_HDR			0x00000008
20002ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_INVALID_HDR_S		3
20012ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_HW_MSG_FAIL			0x00000010
20022ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_HW_MSG_FAIL_S		4
20032ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_SW_MSG_FAIL			0x00000020
20042ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_SW_MSG_FAIL_S		5
20052ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_TX_HW_MSG_FAIL			0x00000080
20062ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_TX_HW_MSG_FAIL_S		7
20072ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_TX_SW_MSG_FAIL			0x00000100
20082ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_TX_SW_MSG_FAIL_S		8
20092ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG				0x00000200
20102ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_S			9
20112ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_REMOTE_SLEEP_UPDATE		0x00000400
20122ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_REMOTE_SLEEP_UPDATE_S		10
20132ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_BT_PRI				0x07fff800
20142ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_BT_PRI_S			11
20152ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_BT_PRI_THRESH			0x08000000
20162ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_BT_PRI_THRESH_S		27
20172ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_BT_FREQ			0x10000000
20182ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_BT_FREQ_S			28
20192ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_BT_STOMP			0x20000000
20202ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_BT_STOMP_S			29
20212ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_BB_AIC_IRQ			0x40000000
20222ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_BB_AIC_IRQ_S			30
20232ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_CONT_INFO_TIMEOUT		0x80000000
20242ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_CONT_INFO_TIMEOUT_S		31
20252ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
20262ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_DEFAULT    (AR_MCI_INTERRUPT_SW_MSG_DONE	  | \
20272ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan				     AR_MCI_INTERRUPT_RX_INVALID_HDR	  | \
20282ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan				     AR_MCI_INTERRUPT_RX_HW_MSG_FAIL	  | \
20292ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan				     AR_MCI_INTERRUPT_RX_SW_MSG_FAIL	  | \
20302ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan				     AR_MCI_INTERRUPT_TX_HW_MSG_FAIL	  | \
20312ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan				     AR_MCI_INTERRUPT_TX_SW_MSG_FAIL	  | \
20322ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan				     AR_MCI_INTERRUPT_RX_MSG		  | \
20332ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan				     AR_MCI_INTERRUPT_REMOTE_SLEEP_UPDATE | \
20342ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan				     AR_MCI_INTERRUPT_CONT_INFO_TIMEOUT)
20352ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
20362ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_MSG_FAIL_MASK (AR_MCI_INTERRUPT_RX_HW_MSG_FAIL | \
20372ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan					AR_MCI_INTERRUPT_RX_SW_MSG_FAIL | \
20382ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan					AR_MCI_INTERRUPT_TX_HW_MSG_FAIL | \
20392ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan					AR_MCI_INTERRUPT_TX_SW_MSG_FAIL)
20402ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
20412ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_REMOTE_CPU_INT				0x1830
20422ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_REMOTE_CPU_INT_EN			0x1834
20432ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_RAW			0x1838
20442ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_EN			0x183c
20452ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_REMOTE_RESET		0x00000001
20462ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_REMOTE_RESET_S		0
20472ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_LNA_CONTROL		0x00000002
20482ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_LNA_CONTROL_S		1
20492ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_CONT_NACK		0x00000004
20502ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_CONT_NACK_S		2
20512ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_CONT_INFO		0x00000008
20522ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_CONT_INFO_S		3
20532ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_CONT_RST		0x00000010
20542ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_CONT_RST_S		4
20552ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_SCHD_INFO		0x00000020
20562ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_SCHD_INFO_S		5
20572ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_CPU_INT			0x00000040
20582ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_CPU_INT_S		6
20592ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_GPM			0x00000100
20602ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_GPM_S			8
20612ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_LNA_INFO		0x00000200
20622ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_LNA_INFO_S		9
20632ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_SYS_SLEEPING		0x00000400
20642ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_SYS_SLEEPING_S		10
20652ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_SYS_WAKING		0x00000800
20662ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_SYS_WAKING_S		11
20672ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_REQ_WAKE		0x00001000
20682ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_REQ_WAKE_S		12
20692ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_HW_MSG_MASK	 (AR_MCI_INTERRUPT_RX_MSG_SCHD_INFO  | \
2070ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian					  AR_MCI_INTERRUPT_RX_MSG_LNA_CONTROL| \
2071ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian					  AR_MCI_INTERRUPT_RX_MSG_LNA_INFO   | \
2072ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian					  AR_MCI_INTERRUPT_RX_MSG_CONT_NACK  | \
2073ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian					  AR_MCI_INTERRUPT_RX_MSG_CONT_INFO  | \
2074ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian					  AR_MCI_INTERRUPT_RX_MSG_CONT_RST)
2075ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian
20762ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_INTERRUPT_RX_MSG_DEFAULT (AR_MCI_INTERRUPT_RX_MSG_GPM	 | \
20772ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan					 AR_MCI_INTERRUPT_RX_MSG_REMOTE_RESET| \
20782ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan					 AR_MCI_INTERRUPT_RX_MSG_SYS_WAKING  | \
20792ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan					 AR_MCI_INTERRUPT_RX_MSG_SYS_SLEEPING| \
20802ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan					 AR_MCI_INTERRUPT_RX_MSG_SCHD_INFO   | \
20812ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan					 AR_MCI_INTERRUPT_RX_MSG_LNA_CONTROL | \
20822ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan					 AR_MCI_INTERRUPT_RX_MSG_LNA_INFO    | \
20832ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan					 AR_MCI_INTERRUPT_RX_MSG_CONT_NACK   | \
20842ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan					 AR_MCI_INTERRUPT_RX_MSG_CONT_INFO   | \
20852ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan					 AR_MCI_INTERRUPT_RX_MSG_CONT_RST    | \
20862ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan					 AR_MCI_INTERRUPT_RX_MSG_REQ_WAKE)
20872ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
20882ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_CPU_INT					0x1840
20892ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
20902ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_RX_STATUS			0x1844
20912ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_RX_LAST_SCHD_MSG_INDEX		0x00000F00
20922ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_RX_LAST_SCHD_MSG_INDEX_S		8
20932ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_RX_REMOTE_SLEEP			0x00001000
20942ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_RX_REMOTE_SLEEP_S		12
20952ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_RX_MCI_CLK_REQ			0x00002000
20962ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_RX_MCI_CLK_REQ_S			13
20972ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
20982ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_CONT_STATUS			0x1848
20992ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_CONT_RSSI_POWER			0x000000FF
21002ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_CONT_RSSI_POWER_S		0
21012ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_CONT_RRIORITY			0x0000FF00
21022ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_CONT_RRIORITY_S			8
21032ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_CONT_TXRX			0x00010000
21042ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_CONT_TXRX_S			16
21052ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
21062ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_BT_PRI0				0x184c
21072ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_BT_PRI1				0x1850
21082ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_BT_PRI2				0x1854
21092ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_BT_PRI3				0x1858
21102ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_BT_PRI				0x185c
21112ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_WL_FREQ0				0x1860
21122ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_WL_FREQ1				0x1864
21132ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_WL_FREQ2				0x1868
21142ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_GAIN				0x186c
21152ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_WBTIMER1				0x1870
21162ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_WBTIMER2				0x1874
21172ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_WBTIMER3				0x1878
21182ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_WBTIMER4				0x187c
21192ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_MAXGAIN				0x1880
21202ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_HW_SCHD_TBL_CTL			0x1884
21212ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_HW_SCHD_TBL_D0			0x1888
21222ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_HW_SCHD_TBL_D1			0x188c
21232ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_HW_SCHD_TBL_D2			0x1890
21242ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_HW_SCHD_TBL_D3			0x1894
21252ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_TX_PAYLOAD0			0x1898
21262ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_TX_PAYLOAD1			0x189c
21272ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_TX_PAYLOAD2			0x18a0
21282ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_TX_PAYLOAD3			0x18a4
21292ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_WBTIMER			0x18a8
21302ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
21312ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL					0x18ac
21322ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_AR9462_MODE			0x00000001
21332ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_AR9462_MODE_S			0
21342ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_WBTIMER_EN			0x00000002
21352ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_WBTIMER_EN_S			1
21362ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_MCI_MODE_EN			0x00000004
21372ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_MCI_MODE_EN_S			2
21382ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_LNA_SHARED			0x00000008
21392ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_LNA_SHARED_S			3
21402ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_PA_SHARED			0x00000010
21412ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_PA_SHARED_S			4
21422ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_ONE_STEP_LOOK_AHEAD_EN		0x00000020
21432ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_ONE_STEP_LOOK_AHEAD_EN_S		5
21442ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_TIME_TO_NEXT_BT_THRESH_EN	0x00000040
21452ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_TIME_TO_NEXT_BT_THRESH_EN_S	6
21462ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_NUM_ANTENNAS			0x00000180
21472ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_NUM_ANTENNAS_S			7
21482ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_RX_CHAIN_MASK			0x00000E00
21492ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_RX_CHAIN_MASK_S			9
21502ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_AGGR_THRESH			0x00007000
21512ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_AGGR_THRESH_S			12
21522ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_1_CHAIN_BCN			0x00080000
21532ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_1_CHAIN_BCN_S			19
21542ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_1_CHAIN_ACK			0x00100000
21552ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_1_CHAIN_ACK_S			20
21562ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_WAIT_BA_MARGIN			0x1FE00000
21572ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_WAIT_BA_MARGIN_S			28
21582ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_REDUCE_TXPWR			0x20000000
21592ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_REDUCE_TXPWR_S			29
21602ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_SPDT_ENABLE_10			0x40000000
21612ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_SPDT_ENABLE_10_S			30
21622ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_SPDT_POLARITY			0x80000000
21632ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_SPDT_POLARITY_S			31
21642ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
21652ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_WL_WEIGHTS0				0x18b0
21662ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_WL_WEIGHTS1				0x18b4
21672ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_WL_WEIGHTS2				0x18b8
21682ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_WL_WEIGHTS3				0x18bc
21692ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_MAX_TXPWR(_x)				(0x18c0 + ((_x) << 2))
21702ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_WL_LNA				0x1940
21712ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_RFGAIN_CTRL				0x1944
21722ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
21732ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL2					0x1948
21742ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL2_TXPWR_THRESH			0x0007F800
21752ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL2_TXPWR_THRESH_S			11
21762ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL2_TX_CHAIN_MASK			0x00380000
21772ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL2_TX_CHAIN_MASK_S			19
21782ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL2_RX_DEWEIGHT			0x00400000
21792ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL2_RX_DEWEIGHT_S			22
21802ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL2_GPIO_OBS_SEL			0x00800000
21812ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL2_GPIO_OBS_SEL_S			23
21822ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL2_MAC_BB_OBS_SEL			0x01000000
21832ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL2_MAC_BB_OBS_SEL_S		24
21842ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL2_DESC_BASED_TXPWR_ENABLE		0x02000000
21852ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL2_DESC_BASED_TXPWR_ENABLE_S	25
21862ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
21872ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_SPDT_ENABLE          0x00000001
21882ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_SPDT_ENABLE_S        0
21892ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_BT_OWN_SPDT_CTRL     0x00000002
21902ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_BT_OWN_SPDT_CTRL_S   1
21912ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_USE_LATCHED_BT_ANT   0x00000004
21922ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL_USE_LATCHED_BT_ANT_S 2
21932ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_GLB_WLAN_UART_INTF_EN            0x00020000
21942ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_GLB_WLAN_UART_INTF_EN_S          17
21952ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_GLB_DS_JTAG_DISABLE              0x00040000
21962ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_GLB_DS_JTAG_DISABLE_S            18
21972ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
21982ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_RC                    0x194c
21992ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_MAX_RFGAIN(_x)        (0x1950 + ((_x) << 2))
22002ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_DBG                   0x1a50
22012ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_LAST_HW_MSG_HDR          0x1a54
22022ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_LAST_HW_MSG_BDY          0x1a58
22032ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
22042ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_SCHD_TABLE_2             0x1a5c
22052ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_SCHD_TABLE_2_MEM_BASED   0x00000001
22062ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_SCHD_TABLE_2_MEM_BASED_S 0
22072ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_SCHD_TABLE_2_HW_BASED    0x00000002
22082ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_MCI_SCHD_TABLE_2_HW_BASED_S  1
22092ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
22102ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL3               0x1a60
22112ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL3_CONT_INFO_TIMEOUT	0x00000fff
22122ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan#define AR_BTCOEX_CTRL3_CONT_INFO_TIMEOUT_S	0
22132ee4bd1e25f8752cc5c4d39219c7bf5079ffc21fMohammed Shafi Shajakhan
2214ce407afc1008a67969ae05717e86dcee9ce5de76Senthil Balasubramanian
2215f078f209704849c86bd43c0beccfc1f410ed1c66Luis R. Rodriguez#endif
2216