1/*! NOTE(Haiku): This file was generated via gcc -C -E in order to avoid 2 * having to include the accompanying _reg_map_macro.h file, which was 3 * over 3MB in size (!). */ 4/* 5 * Copyright (c) 2013 Qualcomm Atheros, Inc. 6 * 7 * Permission to use, copy, modify, and/or distribute this software for any 8 * purpose with or without fee is hereby granted, provided that the above 9 * copyright notice and this permission notice appear in all copies. 10 * 11 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 12 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 13 * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 14 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 15 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 16 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 17 * PERFORMANCE OF THIS SOFTWARE. 18 */ 19#ifndef __REG_SCORPION_REG_MAP_H__ 20#define __REG_SCORPION_REG_MAP_H__ 21 22struct mac_dma_reg { 23 volatile char pad__0[0x8]; /* 0x0 - 0x8 */ 24 volatile u_int32_t MAC_DMA_CR; /* 0x8 - 0xc */ 25 volatile char pad__1[0x8]; /* 0xc - 0x14 */ 26 volatile u_int32_t MAC_DMA_CFG; /* 0x14 - 0x18 */ 27 volatile u_int32_t MAC_DMA_RXBUFPTR_THRESH; /* 0x18 - 0x1c */ 28 volatile u_int32_t MAC_DMA_TXDPPTR_THRESH; /* 0x1c - 0x20 */ 29 volatile u_int32_t MAC_DMA_MIRT; /* 0x20 - 0x24 */ 30 volatile u_int32_t MAC_DMA_GLOBAL_IER; /* 0x24 - 0x28 */ 31 volatile u_int32_t MAC_DMA_TIMT; /* 0x28 - 0x2c */ 32 volatile u_int32_t MAC_DMA_RIMT; /* 0x2c - 0x30 */ 33 volatile u_int32_t MAC_DMA_TXCFG; /* 0x30 - 0x34 */ 34 volatile u_int32_t MAC_DMA_RXCFG; /* 0x34 - 0x38 */ 35 volatile u_int32_t MAC_DMA_RXJLA; /* 0x38 - 0x3c */ 36 volatile char pad__2[0x4]; /* 0x3c - 0x40 */ 37 volatile u_int32_t MAC_DMA_MIBC; /* 0x40 - 0x44 */ 38 volatile u_int32_t MAC_DMA_TOPS; /* 0x44 - 0x48 */ 39 volatile u_int32_t MAC_DMA_RXNPTO; /* 0x48 - 0x4c */ 40 volatile u_int32_t MAC_DMA_TXNPTO; /* 0x4c - 0x50 */ 41 volatile u_int32_t MAC_DMA_RPGTO; /* 0x50 - 0x54 */ 42 volatile char pad__3[0x4]; /* 0x54 - 0x58 */ 43 volatile u_int32_t MAC_DMA_MACMISC; /* 0x58 - 0x5c */ 44 volatile u_int32_t MAC_DMA_INTER; /* 0x5c - 0x60 */ 45 volatile u_int32_t MAC_DMA_DATABUF; /* 0x60 - 0x64 */ 46 volatile u_int32_t MAC_DMA_GTT; /* 0x64 - 0x68 */ 47 volatile u_int32_t MAC_DMA_GTTM; /* 0x68 - 0x6c */ 48 volatile u_int32_t MAC_DMA_CST; /* 0x6c - 0x70 */ 49 volatile u_int32_t MAC_DMA_RXDP_SIZE; /* 0x70 - 0x74 */ 50 volatile u_int32_t MAC_DMA_RX_QUEUE_HP_RXDP; /* 0x74 - 0x78 */ 51 volatile u_int32_t MAC_DMA_RX_QUEUE_LP_RXDP; /* 0x78 - 0x7c */ 52 volatile char pad__4[0x4]; /* 0x7c - 0x80 */ 53 volatile u_int32_t MAC_DMA_ISR_P; /* 0x80 - 0x84 */ 54 volatile u_int32_t MAC_DMA_ISR_S0; /* 0x84 - 0x88 */ 55 volatile u_int32_t MAC_DMA_ISR_S1; /* 0x88 - 0x8c */ 56 volatile u_int32_t MAC_DMA_ISR_S2; /* 0x8c - 0x90 */ 57 volatile u_int32_t MAC_DMA_ISR_S3; /* 0x90 - 0x94 */ 58 volatile u_int32_t MAC_DMA_ISR_S4; /* 0x94 - 0x98 */ 59 volatile u_int32_t MAC_DMA_ISR_S5; /* 0x98 - 0x9c */ 60 volatile char pad__5[0x4]; /* 0x9c - 0xa0 */ 61 volatile u_int32_t MAC_DMA_IMR_P; /* 0xa0 - 0xa4 */ 62 volatile u_int32_t MAC_DMA_IMR_S0; /* 0xa4 - 0xa8 */ 63 volatile u_int32_t MAC_DMA_IMR_S1; /* 0xa8 - 0xac */ 64 volatile u_int32_t MAC_DMA_IMR_S2; /* 0xac - 0xb0 */ 65 volatile u_int32_t MAC_DMA_IMR_S3; /* 0xb0 - 0xb4 */ 66 volatile u_int32_t MAC_DMA_IMR_S4; /* 0xb4 - 0xb8 */ 67 volatile u_int32_t MAC_DMA_IMR_S5; /* 0xb8 - 0xbc */ 68 volatile char pad__6[0x4]; /* 0xbc - 0xc0 */ 69 volatile u_int32_t MAC_DMA_ISR_P_RAC; /* 0xc0 - 0xc4 */ 70 volatile u_int32_t MAC_DMA_ISR_S0_S; /* 0xc4 - 0xc8 */ 71 volatile u_int32_t MAC_DMA_ISR_S1_S; /* 0xc8 - 0xcc */ 72 volatile char pad__7[0x4]; /* 0xcc - 0xd0 */ 73 volatile u_int32_t MAC_DMA_ISR_S2_S; /* 0xd0 - 0xd4 */ 74 volatile u_int32_t MAC_DMA_ISR_S3_S; /* 0xd4 - 0xd8 */ 75 volatile u_int32_t MAC_DMA_ISR_S4_S; /* 0xd8 - 0xdc */ 76 volatile u_int32_t MAC_DMA_ISR_S5_S; /* 0xdc - 0xe0 */ 77 volatile u_int32_t MAC_DMA_DMADBG_0; /* 0xe0 - 0xe4 */ 78 volatile u_int32_t MAC_DMA_DMADBG_1; /* 0xe4 - 0xe8 */ 79 volatile u_int32_t MAC_DMA_DMADBG_2; /* 0xe8 - 0xec */ 80 volatile u_int32_t MAC_DMA_DMADBG_3; /* 0xec - 0xf0 */ 81 volatile u_int32_t MAC_DMA_DMADBG_4; /* 0xf0 - 0xf4 */ 82 volatile u_int32_t MAC_DMA_DMADBG_5; /* 0xf4 - 0xf8 */ 83 volatile u_int32_t MAC_DMA_DMADBG_6; /* 0xf8 - 0xfc */ 84 volatile u_int32_t MAC_DMA_DMADBG_7; /* 0xfc - 0x100 */ 85 volatile u_int32_t MAC_DMA_QCU_TXDP_REMAINING_QCU_7_0; 86 /* 0x100 - 0x104 */ 87 volatile u_int32_t MAC_DMA_QCU_TXDP_REMAINING_QCU_9_8; 88 /* 0x104 - 0x108 */ 89 volatile u_int32_t MAC_DMA_TIMT_0; /* 0x108 - 0x10c */ 90 volatile u_int32_t MAC_DMA_TIMT_1; /* 0x10c - 0x110 */ 91 volatile u_int32_t MAC_DMA_TIMT_2; /* 0x110 - 0x114 */ 92 volatile u_int32_t MAC_DMA_TIMT_3; /* 0x114 - 0x118 */ 93 volatile u_int32_t MAC_DMA_TIMT_4; /* 0x118 - 0x11c */ 94 volatile u_int32_t MAC_DMA_TIMT_5; /* 0x11c - 0x120 */ 95 volatile u_int32_t MAC_DMA_TIMT_6; /* 0x120 - 0x124 */ 96 volatile u_int32_t MAC_DMA_TIMT_7; /* 0x124 - 0x128 */ 97 volatile u_int32_t MAC_DMA_TIMT_8; /* 0x128 - 0x12c */ 98 volatile u_int32_t MAC_DMA_TIMT_9; /* 0x12c - 0x130 */ 99}; 100 101struct mac_qcu_reg { 102 volatile u_int32_t MAC_QCU_TXDP[10]; /* 0x0 - 0x28 */ 103 volatile char pad__0[0x8]; /* 0x28 - 0x30 */ 104 volatile u_int32_t MAC_QCU_STATUS_RING_START; /* 0x30 - 0x34 */ 105 volatile u_int32_t MAC_QCU_STATUS_RING_END; /* 0x34 - 0x38 */ 106 volatile u_int32_t MAC_QCU_STATUS_RING_CURRENT; /* 0x38 - 0x3c */ 107 volatile char pad__1[0x4]; /* 0x3c - 0x40 */ 108 volatile u_int32_t MAC_QCU_TXE; /* 0x40 - 0x44 */ 109 volatile char pad__2[0x3c]; /* 0x44 - 0x80 */ 110 volatile u_int32_t MAC_QCU_TXD; /* 0x80 - 0x84 */ 111 volatile char pad__3[0x3c]; /* 0x84 - 0xc0 */ 112 volatile u_int32_t MAC_QCU_CBR[10]; /* 0xc0 - 0xe8 */ 113 volatile char pad__4[0x18]; /* 0xe8 - 0x100 */ 114 volatile u_int32_t MAC_QCU_RDYTIME[10]; /* 0x100 - 0x128 */ 115 volatile char pad__5[0x18]; /* 0x128 - 0x140 */ 116 volatile u_int32_t MAC_QCU_ONESHOT_ARM_SC; /* 0x140 - 0x144 */ 117 volatile char pad__6[0x3c]; /* 0x144 - 0x180 */ 118 volatile u_int32_t MAC_QCU_ONESHOT_ARM_CC; /* 0x180 - 0x184 */ 119 volatile char pad__7[0x3c]; /* 0x184 - 0x1c0 */ 120 volatile u_int32_t MAC_QCU_MISC[10]; /* 0x1c0 - 0x1e8 */ 121 volatile char pad__8[0x18]; /* 0x1e8 - 0x200 */ 122 volatile u_int32_t MAC_QCU_CNT[10]; /* 0x200 - 0x228 */ 123 volatile char pad__9[0x18]; /* 0x228 - 0x240 */ 124 volatile u_int32_t MAC_QCU_RDYTIME_SHDN; /* 0x240 - 0x244 */ 125 volatile u_int32_t MAC_QCU_DESC_CRC_CHK; /* 0x244 - 0x248 */ 126}; 127 128struct mac_dcu_reg { 129 volatile u_int32_t MAC_DCU_QCUMASK[10]; /* 0x0 - 0x28 */ 130 volatile char pad__0[0x8]; /* 0x28 - 0x30 */ 131 volatile u_int32_t MAC_DCU_GBL_IFS_SIFS; /* 0x30 - 0x34 */ 132 volatile char pad__1[0x4]; /* 0x34 - 0x38 */ 133 volatile u_int32_t MAC_DCU_TXFILTER_DCU0_31_0; /* 0x38 - 0x3c */ 134 volatile u_int32_t MAC_DCU_TXFILTER_DCU8_31_0; /* 0x3c - 0x40 */ 135 volatile u_int32_t MAC_DCU_LCL_IFS[10]; /* 0x40 - 0x68 */ 136 volatile char pad__2[0x8]; /* 0x68 - 0x70 */ 137 volatile u_int32_t MAC_DCU_GBL_IFS_SLOT; /* 0x70 - 0x74 */ 138 volatile char pad__3[0x4]; /* 0x74 - 0x78 */ 139 volatile u_int32_t MAC_DCU_TXFILTER_DCU0_63_32; /* 0x78 - 0x7c */ 140 volatile u_int32_t MAC_DCU_TXFILTER_DCU8_63_32; /* 0x7c - 0x80 */ 141 volatile u_int32_t MAC_DCU_RETRY_LIMIT[10]; /* 0x80 - 0xa8 */ 142 volatile char pad__4[0x8]; /* 0xa8 - 0xb0 */ 143 volatile u_int32_t MAC_DCU_GBL_IFS_EIFS; /* 0xb0 - 0xb4 */ 144 volatile char pad__5[0x4]; /* 0xb4 - 0xb8 */ 145 volatile u_int32_t MAC_DCU_TXFILTER_DCU0_95_64; /* 0xb8 - 0xbc */ 146 volatile u_int32_t MAC_DCU_TXFILTER_DCU8_95_64; /* 0xbc - 0xc0 */ 147 volatile u_int32_t MAC_DCU_CHANNEL_TIME[10]; /* 0xc0 - 0xe8 */ 148 volatile char pad__6[0x8]; /* 0xe8 - 0xf0 */ 149 volatile u_int32_t MAC_DCU_GBL_IFS_MISC; /* 0xf0 - 0xf4 */ 150 volatile char pad__7[0x4]; /* 0xf4 - 0xf8 */ 151 volatile u_int32_t MAC_DCU_TXFILTER_DCU0_127_96; 152 /* 0xf8 - 0xfc */ 153 volatile u_int32_t MAC_DCU_TXFILTER_DCU8_127_96; 154 /* 0xfc - 0x100 */ 155 volatile u_int32_t MAC_DCU_MISC[10]; /* 0x100 - 0x128 */ 156 volatile char pad__8[0x10]; /* 0x128 - 0x138 */ 157 volatile u_int32_t MAC_DCU_TXFILTER_DCU1_31_0; /* 0x138 - 0x13c */ 158 volatile u_int32_t MAC_DCU_TXFILTER_DCU9_31_0; /* 0x13c - 0x140 */ 159 volatile u_int32_t MAC_DCU_SEQ; /* 0x140 - 0x144 */ 160 volatile char pad__9[0x34]; /* 0x144 - 0x178 */ 161 volatile u_int32_t MAC_DCU_TXFILTER_DCU1_63_32; /* 0x178 - 0x17c */ 162 volatile u_int32_t MAC_DCU_TXFILTER_DCU9_63_32; /* 0x17c - 0x180 */ 163 volatile char pad__10[0x38]; /* 0x180 - 0x1b8 */ 164 volatile u_int32_t MAC_DCU_TXFILTER_DCU1_95_64; /* 0x1b8 - 0x1bc */ 165 volatile u_int32_t MAC_DCU_TXFILTER_DCU9_95_64; /* 0x1bc - 0x1c0 */ 166 volatile char pad__11[0x38]; /* 0x1c0 - 0x1f8 */ 167 volatile u_int32_t MAC_DCU_TXFILTER_DCU1_127_96; 168 /* 0x1f8 - 0x1fc */ 169 volatile u_int32_t MAC_DCU_TXFILTER_DCU9_127_96; 170 /* 0x1fc - 0x200 */ 171 volatile char pad__12[0x38]; /* 0x200 - 0x238 */ 172 volatile u_int32_t MAC_DCU_TXFILTER_DCU2_31_0; /* 0x238 - 0x23c */ 173 volatile char pad__13[0x34]; /* 0x23c - 0x270 */ 174 volatile u_int32_t MAC_DCU_PAUSE; /* 0x270 - 0x274 */ 175 volatile char pad__14[0x4]; /* 0x274 - 0x278 */ 176 volatile u_int32_t MAC_DCU_TXFILTER_DCU2_63_32; /* 0x278 - 0x27c */ 177 volatile char pad__15[0x34]; /* 0x27c - 0x2b0 */ 178 volatile u_int32_t MAC_DCU_WOW_KACFG; /* 0x2b0 - 0x2b4 */ 179 volatile char pad__16[0x4]; /* 0x2b4 - 0x2b8 */ 180 volatile u_int32_t MAC_DCU_TXFILTER_DCU2_95_64; /* 0x2b8 - 0x2bc */ 181 volatile char pad__17[0x34]; /* 0x2bc - 0x2f0 */ 182 volatile u_int32_t MAC_DCU_TXSLOT; /* 0x2f0 - 0x2f4 */ 183 volatile char pad__18[0x4]; /* 0x2f4 - 0x2f8 */ 184 volatile u_int32_t MAC_DCU_TXFILTER_DCU2_127_96; 185 /* 0x2f8 - 0x2fc */ 186 volatile char pad__19[0x3c]; /* 0x2fc - 0x338 */ 187 volatile u_int32_t MAC_DCU_TXFILTER_DCU3_31_0; /* 0x338 - 0x33c */ 188 volatile char pad__20[0x3c]; /* 0x33c - 0x378 */ 189 volatile u_int32_t MAC_DCU_TXFILTER_DCU3_63_32; /* 0x378 - 0x37c */ 190 volatile char pad__21[0x3c]; /* 0x37c - 0x3b8 */ 191 volatile u_int32_t MAC_DCU_TXFILTER_DCU3_95_64; /* 0x3b8 - 0x3bc */ 192 volatile char pad__22[0x3c]; /* 0x3bc - 0x3f8 */ 193 volatile u_int32_t MAC_DCU_TXFILTER_DCU3_127_96; 194 /* 0x3f8 - 0x3fc */ 195 volatile char pad__23[0x3c]; /* 0x3fc - 0x438 */ 196 volatile u_int32_t MAC_DCU_TXFILTER_DCU4_31_0; /* 0x438 - 0x43c */ 197 volatile u_int32_t MAC_DCU_TXFILTER_CLEAR; /* 0x43c - 0x440 */ 198 volatile char pad__24[0x38]; /* 0x440 - 0x478 */ 199 volatile u_int32_t MAC_DCU_TXFILTER_DCU4_63_32; /* 0x478 - 0x47c */ 200 volatile u_int32_t MAC_DCU_TXFILTER_SET; /* 0x47c - 0x480 */ 201 volatile char pad__25[0x38]; /* 0x480 - 0x4b8 */ 202 volatile u_int32_t MAC_DCU_TXFILTER_DCU4_95_64; /* 0x4b8 - 0x4bc */ 203 volatile char pad__26[0x3c]; /* 0x4bc - 0x4f8 */ 204 volatile u_int32_t MAC_DCU_TXFILTER_DCU4_127_96; 205 /* 0x4f8 - 0x4fc */ 206 volatile char pad__27[0x3c]; /* 0x4fc - 0x538 */ 207 volatile u_int32_t MAC_DCU_TXFILTER_DCU5_31_0; /* 0x538 - 0x53c */ 208 volatile char pad__28[0x3c]; /* 0x53c - 0x578 */ 209 volatile u_int32_t MAC_DCU_TXFILTER_DCU5_63_32; /* 0x578 - 0x57c */ 210 volatile char pad__29[0x3c]; /* 0x57c - 0x5b8 */ 211 volatile u_int32_t MAC_DCU_TXFILTER_DCU5_95_64; /* 0x5b8 - 0x5bc */ 212 volatile char pad__30[0x3c]; /* 0x5bc - 0x5f8 */ 213 volatile u_int32_t MAC_DCU_TXFILTER_DCU5_127_96; 214 /* 0x5f8 - 0x5fc */ 215 volatile char pad__31[0x3c]; /* 0x5fc - 0x638 */ 216 volatile u_int32_t MAC_DCU_TXFILTER_DCU6_31_0; /* 0x638 - 0x63c */ 217 volatile char pad__32[0x3c]; /* 0x63c - 0x678 */ 218 volatile u_int32_t MAC_DCU_TXFILTER_DCU6_63_32; /* 0x678 - 0x67c */ 219 volatile char pad__33[0x3c]; /* 0x67c - 0x6b8 */ 220 volatile u_int32_t MAC_DCU_TXFILTER_DCU6_95_64; /* 0x6b8 - 0x6bc */ 221 volatile char pad__34[0x3c]; /* 0x6bc - 0x6f8 */ 222 volatile u_int32_t MAC_DCU_TXFILTER_DCU6_127_96; 223 /* 0x6f8 - 0x6fc */ 224 volatile char pad__35[0x3c]; /* 0x6fc - 0x738 */ 225 volatile u_int32_t MAC_DCU_TXFILTER_DCU7_31_0; /* 0x738 - 0x73c */ 226 volatile char pad__36[0x3c]; /* 0x73c - 0x778 */ 227 volatile u_int32_t MAC_DCU_TXFILTER_DCU7_63_32; /* 0x778 - 0x77c */ 228 volatile char pad__37[0x3c]; /* 0x77c - 0x7b8 */ 229 volatile u_int32_t MAC_DCU_TXFILTER_DCU7_95_64; /* 0x7b8 - 0x7bc */ 230 volatile char pad__38[0x3c]; /* 0x7bc - 0x7f8 */ 231 volatile u_int32_t MAC_DCU_TXFILTER_DCU7_127_96; 232 /* 0x7f8 - 0x7fc */ 233 volatile char pad__39[0x704]; /* 0x7fc - 0xf00 */ 234 volatile u_int32_t MAC_SLEEP_STATUS; /* 0xf00 - 0xf04 */ 235 volatile u_int32_t MAC_LED_CONFIG; /* 0xf04 - 0xf08 */ 236}; 237 238struct rtc_reg { 239 volatile u_int32_t RESET_CONTROL; /* 0x0 - 0x4 */ 240 volatile u_int32_t XTAL_CONTROL; /* 0x4 - 0x8 */ 241 volatile u_int32_t REG_CONTROL0; /* 0x8 - 0xc */ 242 volatile u_int32_t REG_CONTROL1; /* 0xc - 0x10 */ 243 volatile u_int32_t QUADRATURE; /* 0x10 - 0x14 */ 244 volatile u_int32_t PLL_CONTROL; /* 0x14 - 0x18 */ 245 volatile u_int32_t PLL_SETTLE; /* 0x18 - 0x1c */ 246 volatile u_int32_t XTAL_SETTLE; /* 0x1c - 0x20 */ 247 volatile u_int32_t CLOCK_OUT; /* 0x20 - 0x24 */ 248 volatile u_int32_t BIAS_OVERRIDE; /* 0x24 - 0x28 */ 249 volatile u_int32_t RESET_CAUSE; /* 0x28 - 0x2c */ 250 volatile u_int32_t SYSTEM_SLEEP; /* 0x2c - 0x30 */ 251 volatile u_int32_t MAC_SLEEP_CONTROL; /* 0x30 - 0x34 */ 252 volatile u_int32_t KEEP_AWAKE; /* 0x34 - 0x38 */ 253 volatile u_int32_t DERIVED_RTC_CLK; /* 0x38 - 0x3c */ 254 volatile u_int32_t PLL_CONTROL2; /* 0x3c - 0x40 */ 255}; 256 257struct rtc_sync_reg { 258 volatile u_int32_t RTC_SYNC_RESET; /* 0x0 - 0x4 */ 259 volatile u_int32_t RTC_SYNC_STATUS; /* 0x4 - 0x8 */ 260 volatile u_int32_t RTC_SYNC_DERIVED; /* 0x8 - 0xc */ 261 volatile u_int32_t RTC_SYNC_FORCE_WAKE; /* 0xc - 0x10 */ 262 volatile u_int32_t RTC_SYNC_INTR_CAUSE; /* 0x10 - 0x14 */ 263 volatile u_int32_t RTC_SYNC_INTR_ENABLE; /* 0x14 - 0x18 */ 264 volatile u_int32_t RTC_SYNC_INTR_MASK; /* 0x18 - 0x1c */ 265}; 266 267struct mac_pcu_reg { 268 volatile u_int32_t MAC_PCU_STA_ADDR_L32; /* 0x0 - 0x4 */ 269 volatile u_int32_t MAC_PCU_STA_ADDR_U16; /* 0x4 - 0x8 */ 270 volatile u_int32_t MAC_PCU_BSSID_L32; /* 0x8 - 0xc */ 271 volatile u_int32_t MAC_PCU_BSSID_U16; /* 0xc - 0x10 */ 272 volatile u_int32_t MAC_PCU_BCN_RSSI_AVE; /* 0x10 - 0x14 */ 273 volatile u_int32_t MAC_PCU_ACK_CTS_TIMEOUT; /* 0x14 - 0x18 */ 274 volatile u_int32_t MAC_PCU_BCN_RSSI_CTL; /* 0x18 - 0x1c */ 275 volatile u_int32_t MAC_PCU_USEC_LATENCY; /* 0x1c - 0x20 */ 276 volatile u_int32_t MAC_PCU_RESET_TSF; /* 0x20 - 0x24 */ 277 volatile char pad__0[0x14]; /* 0x24 - 0x38 */ 278 volatile u_int32_t MAC_PCU_MAX_CFP_DUR; /* 0x38 - 0x3c */ 279 volatile u_int32_t MAC_PCU_RX_FILTER; /* 0x3c - 0x40 */ 280 volatile u_int32_t MAC_PCU_MCAST_FILTER_L32; /* 0x40 - 0x44 */ 281 volatile u_int32_t MAC_PCU_MCAST_FILTER_U32; /* 0x44 - 0x48 */ 282 volatile u_int32_t MAC_PCU_DIAG_SW; /* 0x48 - 0x4c */ 283 volatile u_int32_t MAC_PCU_TSF_L32; /* 0x4c - 0x50 */ 284 volatile u_int32_t MAC_PCU_TSF_U32; /* 0x50 - 0x54 */ 285 volatile u_int32_t MAC_PCU_TST_ADDAC; /* 0x54 - 0x58 */ 286 volatile u_int32_t MAC_PCU_DEF_ANTENNA; /* 0x58 - 0x5c */ 287 volatile u_int32_t MAC_PCU_AES_MUTE_MASK_0; /* 0x5c - 0x60 */ 288 volatile u_int32_t MAC_PCU_AES_MUTE_MASK_1; /* 0x60 - 0x64 */ 289 volatile u_int32_t MAC_PCU_GATED_CLKS; /* 0x64 - 0x68 */ 290 volatile u_int32_t MAC_PCU_OBS_BUS_2; /* 0x68 - 0x6c */ 291 volatile u_int32_t MAC_PCU_OBS_BUS_1; /* 0x6c - 0x70 */ 292 volatile u_int32_t MAC_PCU_DYM_MIMO_PWR_SAVE; /* 0x70 - 0x74 */ 293 volatile u_int32_t MAC_PCU_TDMA_TXFRAME_START_TIME_TRIGGER_LSB; 294 /* 0x74 - 0x78 */ 295 volatile u_int32_t MAC_PCU_TDMA_TXFRAME_START_TIME_TRIGGER_MSB; 296 /* 0x78 - 0x7c */ 297 volatile char pad__1[0x4]; /* 0x7c - 0x80 */ 298 volatile u_int32_t MAC_PCU_LAST_BEACON_TSF; /* 0x80 - 0x84 */ 299 volatile u_int32_t MAC_PCU_NAV; /* 0x84 - 0x88 */ 300 volatile u_int32_t MAC_PCU_RTS_SUCCESS_CNT; /* 0x88 - 0x8c */ 301 volatile u_int32_t MAC_PCU_RTS_FAIL_CNT; /* 0x8c - 0x90 */ 302 volatile u_int32_t MAC_PCU_ACK_FAIL_CNT; /* 0x90 - 0x94 */ 303 volatile u_int32_t MAC_PCU_FCS_FAIL_CNT; /* 0x94 - 0x98 */ 304 volatile u_int32_t MAC_PCU_BEACON_CNT; /* 0x98 - 0x9c */ 305 volatile u_int32_t MAC_PCU_TDMA_SLOT_ALERT_CNTL; 306 /* 0x9c - 0xa0 */ 307 volatile u_int32_t MAC_PCU_BASIC_SET; /* 0xa0 - 0xa4 */ 308 volatile u_int32_t MAC_PCU_MGMT_SEQ; /* 0xa4 - 0xa8 */ 309 volatile u_int32_t MAC_PCU_BF_RPT1; /* 0xa8 - 0xac */ 310 volatile u_int32_t MAC_PCU_BF_RPT2; /* 0xac - 0xb0 */ 311 volatile u_int32_t MAC_PCU_TX_ANT_1; /* 0xb0 - 0xb4 */ 312 volatile u_int32_t MAC_PCU_TX_ANT_2; /* 0xb4 - 0xb8 */ 313 volatile u_int32_t MAC_PCU_TX_ANT_3; /* 0xb8 - 0xbc */ 314 volatile u_int32_t MAC_PCU_TX_ANT_4; /* 0xbc - 0xc0 */ 315 volatile u_int32_t MAC_PCU_XRMODE; /* 0xc0 - 0xc4 */ 316 volatile u_int32_t MAC_PCU_XRDEL; /* 0xc4 - 0xc8 */ 317 volatile u_int32_t MAC_PCU_XRTO; /* 0xc8 - 0xcc */ 318 volatile u_int32_t MAC_PCU_XRCRP; /* 0xcc - 0xd0 */ 319 volatile u_int32_t MAC_PCU_XRSTMP; /* 0xd0 - 0xd4 */ 320 volatile u_int32_t MAC_PCU_SLP1; /* 0xd4 - 0xd8 */ 321 volatile u_int32_t MAC_PCU_SLP2; /* 0xd8 - 0xdc */ 322 volatile u_int32_t MAC_PCU_SELF_GEN_DEFAULT; /* 0xdc - 0xe0 */ 323 volatile u_int32_t MAC_PCU_ADDR1_MASK_L32; /* 0xe0 - 0xe4 */ 324 volatile u_int32_t MAC_PCU_ADDR1_MASK_U16; /* 0xe4 - 0xe8 */ 325 volatile u_int32_t MAC_PCU_TPC; /* 0xe8 - 0xec */ 326 volatile u_int32_t MAC_PCU_TX_FRAME_CNT; /* 0xec - 0xf0 */ 327 volatile u_int32_t MAC_PCU_RX_FRAME_CNT; /* 0xf0 - 0xf4 */ 328 volatile u_int32_t MAC_PCU_RX_CLEAR_CNT; /* 0xf4 - 0xf8 */ 329 volatile u_int32_t MAC_PCU_CYCLE_CNT; /* 0xf8 - 0xfc */ 330 volatile u_int32_t MAC_PCU_QUIET_TIME_1; /* 0xfc - 0x100 */ 331 volatile u_int32_t MAC_PCU_QUIET_TIME_2; /* 0x100 - 0x104 */ 332 volatile char pad__2[0x4]; /* 0x104 - 0x108 */ 333 volatile u_int32_t MAC_PCU_QOS_NO_ACK; /* 0x108 - 0x10c */ 334 volatile u_int32_t MAC_PCU_PHY_ERROR_MASK; /* 0x10c - 0x110 */ 335 volatile u_int32_t MAC_PCU_XRLAT; /* 0x110 - 0x114 */ 336 volatile u_int32_t MAC_PCU_RXBUF; /* 0x114 - 0x118 */ 337 volatile u_int32_t MAC_PCU_MIC_QOS_CONTROL; /* 0x118 - 0x11c */ 338 volatile u_int32_t MAC_PCU_MIC_QOS_SELECT; /* 0x11c - 0x120 */ 339 volatile u_int32_t MAC_PCU_MISC_MODE; /* 0x120 - 0x124 */ 340 volatile u_int32_t MAC_PCU_FILTER_OFDM_CNT; /* 0x124 - 0x128 */ 341 volatile u_int32_t MAC_PCU_FILTER_CCK_CNT; /* 0x128 - 0x12c */ 342 volatile u_int32_t MAC_PCU_PHY_ERR_CNT_1; /* 0x12c - 0x130 */ 343 volatile u_int32_t MAC_PCU_PHY_ERR_CNT_1_MASK; /* 0x130 - 0x134 */ 344 volatile u_int32_t MAC_PCU_PHY_ERR_CNT_2; /* 0x134 - 0x138 */ 345 volatile u_int32_t MAC_PCU_PHY_ERR_CNT_2_MASK; /* 0x138 - 0x13c */ 346 volatile u_int32_t MAC_PCU_TSF_THRESHOLD; /* 0x13c - 0x140 */ 347 volatile u_int32_t MAC_PCU_MISC_MODE4; /* 0x140 - 0x144 */ 348 volatile u_int32_t MAC_PCU_PHY_ERROR_EIFS_MASK; /* 0x144 - 0x148 */ 349 volatile char pad__3[0x20]; /* 0x148 - 0x168 */ 350 volatile u_int32_t MAC_PCU_PHY_ERR_CNT_3; /* 0x168 - 0x16c */ 351 volatile u_int32_t MAC_PCU_PHY_ERR_CNT_3_MASK; /* 0x16c - 0x170 */ 352 volatile u_int32_t MAC_PCU_BLUETOOTH_MODE; /* 0x170 - 0x174 */ 353 volatile u_int32_t MAC_PCU_BLUETOOTH_WL_WEIGHTS0; 354 /* 0x174 - 0x178 */ 355 volatile u_int32_t MAC_PCU_HCF_TIMEOUT; /* 0x178 - 0x17c */ 356 volatile u_int32_t MAC_PCU_BLUETOOTH_MODE2; /* 0x17c - 0x180 */ 357 volatile u_int32_t MAC_PCU_GENERIC_TIMERS2[16]; /* 0x180 - 0x1c0 */ 358 volatile u_int32_t MAC_PCU_GENERIC_TIMERS2_MODE; 359 /* 0x1c0 - 0x1c4 */ 360 volatile u_int32_t MAC_PCU_BLUETOOTH_WL_WEIGHTS1; 361 /* 0x1c4 - 0x1c8 */ 362 volatile u_int32_t MAC_PCU_BLUETOOTH_TSF_BT_ACTIVE; 363 /* 0x1c8 - 0x1cc */ 364 volatile u_int32_t MAC_PCU_BLUETOOTH_TSF_BT_PRIORITY; 365 /* 0x1cc - 0x1d0 */ 366 volatile u_int32_t MAC_PCU_TXSIFS; /* 0x1d0 - 0x1d4 */ 367 volatile u_int32_t MAC_PCU_BLUETOOTH_MODE3; /* 0x1d4 - 0x1d8 */ 368 volatile char pad__4[0x14]; /* 0x1d8 - 0x1ec */ 369 volatile u_int32_t MAC_PCU_TXOP_X; /* 0x1ec - 0x1f0 */ 370 volatile u_int32_t MAC_PCU_TXOP_0_3; /* 0x1f0 - 0x1f4 */ 371 volatile u_int32_t MAC_PCU_TXOP_4_7; /* 0x1f4 - 0x1f8 */ 372 volatile u_int32_t MAC_PCU_TXOP_8_11; /* 0x1f8 - 0x1fc */ 373 volatile u_int32_t MAC_PCU_TXOP_12_15; /* 0x1fc - 0x200 */ 374 volatile u_int32_t MAC_PCU_GENERIC_TIMERS[16]; /* 0x200 - 0x240 */ 375 volatile u_int32_t MAC_PCU_GENERIC_TIMERS_MODE; /* 0x240 - 0x244 */ 376 volatile u_int32_t MAC_PCU_SLP32_MODE; /* 0x244 - 0x248 */ 377 volatile u_int32_t MAC_PCU_SLP32_WAKE; /* 0x248 - 0x24c */ 378 volatile u_int32_t MAC_PCU_SLP32_INC; /* 0x24c - 0x250 */ 379 volatile u_int32_t MAC_PCU_SLP_MIB1; /* 0x250 - 0x254 */ 380 volatile u_int32_t MAC_PCU_SLP_MIB2; /* 0x254 - 0x258 */ 381 volatile u_int32_t MAC_PCU_SLP_MIB3; /* 0x258 - 0x25c */ 382 volatile u_int32_t MAC_PCU_WOW1; /* 0x25c - 0x260 */ 383 volatile u_int32_t MAC_PCU_WOW2; /* 0x260 - 0x264 */ 384 volatile u_int32_t MAC_PCU_LOGIC_ANALYZER; /* 0x264 - 0x268 */ 385 volatile u_int32_t MAC_PCU_LOGIC_ANALYZER_32L; /* 0x268 - 0x26c */ 386 volatile u_int32_t MAC_PCU_LOGIC_ANALYZER_16U; /* 0x26c - 0x270 */ 387 volatile u_int32_t MAC_PCU_WOW3_BEACON_FAIL; /* 0x270 - 0x274 */ 388 volatile u_int32_t MAC_PCU_WOW3_BEACON; /* 0x274 - 0x278 */ 389 volatile u_int32_t MAC_PCU_WOW3_KEEP_ALIVE; /* 0x278 - 0x27c */ 390 volatile u_int32_t MAC_PCU_WOW_KA; /* 0x27c - 0x280 */ 391 volatile char pad__5[0x4]; /* 0x280 - 0x284 */ 392 volatile u_int32_t PCU_1US; /* 0x284 - 0x288 */ 393 volatile u_int32_t PCU_KA; /* 0x288 - 0x28c */ 394 volatile u_int32_t WOW_EXACT; /* 0x28c - 0x290 */ 395 volatile char pad__6[0x4]; /* 0x290 - 0x294 */ 396 volatile u_int32_t PCU_WOW4; /* 0x294 - 0x298 */ 397 volatile u_int32_t PCU_WOW5; /* 0x298 - 0x29c */ 398 volatile u_int32_t MAC_PCU_PHY_ERR_CNT_MASK_CONT; 399 /* 0x29c - 0x2a0 */ 400 volatile char pad__7[0x60]; /* 0x2a0 - 0x300 */ 401 volatile u_int32_t MAC_PCU_AZIMUTH_MODE; /* 0x300 - 0x304 */ 402 volatile char pad__8[0x10]; /* 0x304 - 0x314 */ 403 volatile u_int32_t MAC_PCU_AZIMUTH_TIME_STAMP; /* 0x314 - 0x318 */ 404 volatile u_int32_t MAC_PCU_20_40_MODE; /* 0x318 - 0x31c */ 405 volatile u_int32_t MAC_PCU_H_XFER_TIMEOUT; /* 0x31c - 0x320 */ 406 volatile char pad__9[0x8]; /* 0x320 - 0x328 */ 407 volatile u_int32_t MAC_PCU_RX_CLEAR_DIFF_CNT; /* 0x328 - 0x32c */ 408 volatile u_int32_t MAC_PCU_SELF_GEN_ANTENNA_MASK; 409 /* 0x32c - 0x330 */ 410 volatile u_int32_t MAC_PCU_BA_BAR_CONTROL; /* 0x330 - 0x334 */ 411 volatile u_int32_t MAC_PCU_LEGACY_PLCP_SPOOF; /* 0x334 - 0x338 */ 412 volatile u_int32_t MAC_PCU_PHY_ERROR_MASK_CONT; /* 0x338 - 0x33c */ 413 volatile u_int32_t MAC_PCU_TX_TIMER; /* 0x33c - 0x340 */ 414 volatile u_int32_t MAC_PCU_TXBUF_CTRL; /* 0x340 - 0x344 */ 415 volatile u_int32_t MAC_PCU_MISC_MODE2; /* 0x344 - 0x348 */ 416 volatile u_int32_t MAC_PCU_ALT_AES_MUTE_MASK; /* 0x348 - 0x34c */ 417 volatile u_int32_t MAC_PCU_WOW6; /* 0x34c - 0x350 */ 418 volatile u_int32_t ASYNC_FIFO_REG1; /* 0x350 - 0x354 */ 419 volatile u_int32_t ASYNC_FIFO_REG2; /* 0x354 - 0x358 */ 420 volatile u_int32_t ASYNC_FIFO_REG3; /* 0x358 - 0x35c */ 421 volatile u_int32_t MAC_PCU_WOW5; /* 0x35c - 0x360 */ 422 volatile u_int32_t MAC_PCU_WOW_LENGTH1; /* 0x360 - 0x364 */ 423 volatile u_int32_t MAC_PCU_WOW_LENGTH2; /* 0x364 - 0x368 */ 424 volatile u_int32_t WOW_PATTERN_MATCH_LESS_THAN_256_BYTES; 425 /* 0x368 - 0x36c */ 426 volatile char pad__10[0x4]; /* 0x36c - 0x370 */ 427 volatile u_int32_t MAC_PCU_WOW4; /* 0x370 - 0x374 */ 428 volatile u_int32_t WOW2_EXACT; /* 0x374 - 0x378 */ 429 volatile u_int32_t PCU_WOW6; /* 0x378 - 0x37c */ 430 volatile u_int32_t PCU_WOW7; /* 0x37c - 0x380 */ 431 volatile u_int32_t MAC_PCU_WOW_LENGTH3; /* 0x380 - 0x384 */ 432 volatile u_int32_t MAC_PCU_WOW_LENGTH4; /* 0x384 - 0x388 */ 433 volatile u_int32_t MAC_PCU_LOCATION_MODE_CONTROL; 434 /* 0x388 - 0x38c */ 435 volatile u_int32_t MAC_PCU_LOCATION_MODE_TIMER; /* 0x38c - 0x390 */ 436 volatile u_int32_t MAC_PCU_TSF2_L32; /* 0x390 - 0x394 */ 437 volatile u_int32_t MAC_PCU_TSF2_U32; /* 0x394 - 0x398 */ 438 volatile u_int32_t MAC_PCU_BSSID2_L32; /* 0x398 - 0x39c */ 439 volatile u_int32_t MAC_PCU_BSSID2_U16; /* 0x39c - 0x3a0 */ 440 volatile u_int32_t MAC_PCU_DIRECT_CONNECT; /* 0x3a0 - 0x3a4 */ 441 volatile u_int32_t MAC_PCU_TID_TO_AC; /* 0x3a4 - 0x3a8 */ 442 volatile u_int32_t MAC_PCU_HP_QUEUE; /* 0x3a8 - 0x3ac */ 443 volatile u_int32_t MAC_PCU_BLUETOOTH_BT_WEIGHTS0; 444 /* 0x3ac - 0x3b0 */ 445 volatile u_int32_t MAC_PCU_BLUETOOTH_BT_WEIGHTS1; 446 /* 0x3b0 - 0x3b4 */ 447 volatile u_int32_t MAC_PCU_BLUETOOTH_BT_WEIGHTS2; 448 /* 0x3b4 - 0x3b8 */ 449 volatile u_int32_t MAC_PCU_BLUETOOTH_BT_WEIGHTS3; 450 /* 0x3b8 - 0x3bc */ 451 volatile u_int32_t MAC_PCU_AGC_SATURATION_CNT0; /* 0x3bc - 0x3c0 */ 452 volatile u_int32_t MAC_PCU_AGC_SATURATION_CNT1; /* 0x3c0 - 0x3c4 */ 453 volatile u_int32_t MAC_PCU_AGC_SATURATION_CNT2; /* 0x3c4 - 0x3c8 */ 454 volatile u_int32_t MAC_PCU_HW_BCN_PROC1; /* 0x3c8 - 0x3cc */ 455 volatile u_int32_t MAC_PCU_HW_BCN_PROC2; /* 0x3cc - 0x3d0 */ 456 volatile u_int32_t MAC_PCU_MISC_MODE3; /* 0x3d0 - 0x3d4 */ 457 volatile u_int32_t MAC_PCU_FILTER_RSSI_AVE; /* 0x3d4 - 0x3d8 */ 458 volatile u_int32_t MAC_PCU_PHY_ERROR_AIFS_MASK; /* 0x3d8 - 0x3dc */ 459 volatile u_int32_t MAC_PCU_PS_FILTER; /* 0x3dc - 0x3e0 */ 460 volatile char pad__11[0x20]; /* 0x3e0 - 0x400 */ 461 volatile u_int32_t MAC_PCU_TXBUF_BA[64]; /* 0x400 - 0x500 */ 462 volatile char pad__12[0x300]; /* 0x500 - 0x800 */ 463 volatile u_int32_t MAC_PCU_KEY_CACHE[1024]; /* 0x800 - 0x1800 */ 464}; 465 466struct chn_reg_map { 467 volatile u_int32_t BB_timing_controls_1; /* 0x0 - 0x4 */ 468 volatile u_int32_t BB_timing_controls_2; /* 0x4 - 0x8 */ 469 volatile u_int32_t BB_timing_controls_3; /* 0x8 - 0xc */ 470 volatile u_int32_t BB_timing_control_4; /* 0xc - 0x10 */ 471 volatile u_int32_t BB_timing_control_5; /* 0x10 - 0x14 */ 472 volatile u_int32_t BB_timing_control_6; /* 0x14 - 0x18 */ 473 volatile u_int32_t BB_timing_control_11; /* 0x18 - 0x1c */ 474 volatile u_int32_t BB_spur_mask_controls; /* 0x1c - 0x20 */ 475 volatile u_int32_t BB_find_signal_low; /* 0x20 - 0x24 */ 476 volatile u_int32_t BB_sfcorr; /* 0x24 - 0x28 */ 477 volatile u_int32_t BB_self_corr_low; /* 0x28 - 0x2c */ 478 volatile u_int32_t BB_ext_chan_scorr_thr; /* 0x2c - 0x30 */ 479 volatile u_int32_t BB_ext_chan_pwr_thr_2_b0; /* 0x30 - 0x34 */ 480 volatile u_int32_t BB_radar_detection; /* 0x34 - 0x38 */ 481 volatile u_int32_t BB_radar_detection_2; /* 0x38 - 0x3c */ 482 volatile u_int32_t BB_extension_radar; /* 0x3c - 0x40 */ 483 volatile char pad__0[0x40]; /* 0x40 - 0x80 */ 484 volatile u_int32_t BB_multichain_control; /* 0x80 - 0x84 */ 485 volatile u_int32_t BB_per_chain_csd; /* 0x84 - 0x88 */ 486 volatile char pad__1[0x18]; /* 0x88 - 0xa0 */ 487 volatile u_int32_t BB_tx_crc; /* 0xa0 - 0xa4 */ 488 volatile u_int32_t BB_tstdac_constant; /* 0xa4 - 0xa8 */ 489 volatile u_int32_t BB_spur_report_b0; /* 0xa8 - 0xac */ 490 volatile char pad__2[0x4]; /* 0xac - 0xb0 */ 491 volatile u_int32_t BB_txiqcal_control_3; /* 0xb0 - 0xb4 */ 492 volatile char pad__3[0x8]; /* 0xb4 - 0xbc */ 493 volatile u_int32_t BB_green_tx_control_1; /* 0xbc - 0xc0 */ 494 volatile u_int32_t BB_iq_adc_meas_0_b0; /* 0xc0 - 0xc4 */ 495 volatile u_int32_t BB_iq_adc_meas_1_b0; /* 0xc4 - 0xc8 */ 496 volatile u_int32_t BB_iq_adc_meas_2_b0; /* 0xc8 - 0xcc */ 497 volatile u_int32_t BB_iq_adc_meas_3_b0; /* 0xcc - 0xd0 */ 498 volatile u_int32_t BB_tx_phase_ramp_b0; /* 0xd0 - 0xd4 */ 499 volatile u_int32_t BB_adc_gain_dc_corr_b0; /* 0xd4 - 0xd8 */ 500 volatile char pad__4[0x4]; /* 0xd8 - 0xdc */ 501 volatile u_int32_t BB_rx_iq_corr_b0; /* 0xdc - 0xe0 */ 502 volatile char pad__5[0x4]; /* 0xe0 - 0xe4 */ 503 volatile u_int32_t BB_paprd_am2am_mask; /* 0xe4 - 0xe8 */ 504 volatile u_int32_t BB_paprd_am2pm_mask; /* 0xe8 - 0xec */ 505 volatile u_int32_t BB_paprd_ht40_mask; /* 0xec - 0xf0 */ 506 volatile u_int32_t BB_paprd_ctrl0_b0; /* 0xf0 - 0xf4 */ 507 volatile u_int32_t BB_paprd_ctrl1_b0; /* 0xf4 - 0xf8 */ 508 volatile u_int32_t BB_pa_gain123_b0; /* 0xf8 - 0xfc */ 509 volatile u_int32_t BB_pa_gain45_b0; /* 0xfc - 0x100 */ 510 volatile u_int32_t BB_paprd_pre_post_scale_0_b0; 511 /* 0x100 - 0x104 */ 512 volatile u_int32_t BB_paprd_pre_post_scale_1_b0; 513 /* 0x104 - 0x108 */ 514 volatile u_int32_t BB_paprd_pre_post_scale_2_b0; 515 /* 0x108 - 0x10c */ 516 volatile u_int32_t BB_paprd_pre_post_scale_3_b0; 517 /* 0x10c - 0x110 */ 518 volatile u_int32_t BB_paprd_pre_post_scale_4_b0; 519 /* 0x110 - 0x114 */ 520 volatile u_int32_t BB_paprd_pre_post_scale_5_b0; 521 /* 0x114 - 0x118 */ 522 volatile u_int32_t BB_paprd_pre_post_scale_6_b0; 523 /* 0x118 - 0x11c */ 524 volatile u_int32_t BB_paprd_pre_post_scale_7_b0; 525 /* 0x11c - 0x120 */ 526 volatile u_int32_t BB_paprd_mem_tab_b0[120]; /* 0x120 - 0x300 */ 527 volatile u_int32_t BB_chan_info_chan_tab_b0[60]; 528 /* 0x300 - 0x3f0 */ 529 volatile u_int32_t BB_chn_tables_intf_addr; /* 0x3f0 - 0x3f4 */ 530 volatile u_int32_t BB_chn_tables_intf_data; /* 0x3f4 - 0x3f8 */ 531}; 532 533struct mrc_reg_map { 534 volatile u_int32_t BB_timing_control_3a; /* 0x0 - 0x4 */ 535 volatile u_int32_t BB_ldpc_cntl1; /* 0x4 - 0x8 */ 536 volatile u_int32_t BB_ldpc_cntl2; /* 0x8 - 0xc */ 537 volatile u_int32_t BB_pilot_spur_mask; /* 0xc - 0x10 */ 538 volatile u_int32_t BB_chan_spur_mask; /* 0x10 - 0x14 */ 539 volatile u_int32_t BB_short_gi_delta_slope; /* 0x14 - 0x18 */ 540 volatile u_int32_t BB_ml_cntl1; /* 0x18 - 0x1c */ 541 volatile u_int32_t BB_ml_cntl2; /* 0x1c - 0x20 */ 542 volatile u_int32_t BB_tstadc; /* 0x20 - 0x24 */ 543}; 544 545struct bbb_reg_map { 546 volatile u_int32_t BB_bbb_rx_ctrl_1; /* 0x0 - 0x4 */ 547 volatile u_int32_t BB_bbb_rx_ctrl_2; /* 0x4 - 0x8 */ 548 volatile u_int32_t BB_bbb_rx_ctrl_3; /* 0x8 - 0xc */ 549 volatile u_int32_t BB_bbb_rx_ctrl_4; /* 0xc - 0x10 */ 550 volatile u_int32_t BB_bbb_rx_ctrl_5; /* 0x10 - 0x14 */ 551 volatile u_int32_t BB_bbb_rx_ctrl_6; /* 0x14 - 0x18 */ 552 volatile u_int32_t BB_force_clken_cck; /* 0x18 - 0x1c */ 553}; 554 555struct agc_reg_map { 556 volatile u_int32_t BB_settling_time; /* 0x0 - 0x4 */ 557 volatile u_int32_t BB_gain_force_max_gains_b0; /* 0x4 - 0x8 */ 558 volatile u_int32_t BB_gains_min_offsets; /* 0x8 - 0xc */ 559 volatile u_int32_t BB_desired_sigsize; /* 0xc - 0x10 */ 560 volatile u_int32_t BB_find_signal; /* 0x10 - 0x14 */ 561 volatile u_int32_t BB_agc; /* 0x14 - 0x18 */ 562 volatile u_int32_t BB_ext_atten_switch_ctl_b0; /* 0x18 - 0x1c */ 563 volatile u_int32_t BB_cca_b0; /* 0x1c - 0x20 */ 564 volatile u_int32_t BB_cca_ctrl_2_b0; /* 0x20 - 0x24 */ 565 volatile u_int32_t BB_restart; /* 0x24 - 0x28 */ 566 volatile u_int32_t BB_multichain_gain_ctrl; /* 0x28 - 0x2c */ 567 volatile u_int32_t BB_ext_chan_pwr_thr_1; /* 0x2c - 0x30 */ 568 volatile u_int32_t BB_ext_chan_detect_win; /* 0x30 - 0x34 */ 569 volatile u_int32_t BB_pwr_thr_20_40_det; /* 0x34 - 0x38 */ 570 volatile u_int32_t BB_rifs_srch; /* 0x38 - 0x3c */ 571 volatile u_int32_t BB_peak_det_ctrl_1; /* 0x3c - 0x40 */ 572 volatile u_int32_t BB_peak_det_ctrl_2; /* 0x40 - 0x44 */ 573 volatile u_int32_t BB_rx_gain_bounds_1; /* 0x44 - 0x48 */ 574 volatile u_int32_t BB_rx_gain_bounds_2; /* 0x48 - 0x4c */ 575 volatile u_int32_t BB_peak_det_cal_ctrl; /* 0x4c - 0x50 */ 576 volatile u_int32_t BB_agc_dig_dc_ctrl; /* 0x50 - 0x54 */ 577 volatile u_int32_t BB_bt_coex_1; /* 0x54 - 0x58 */ 578 volatile u_int32_t BB_bt_coex_2; /* 0x58 - 0x5c */ 579 volatile u_int32_t BB_bt_coex_3; /* 0x5c - 0x60 */ 580 volatile u_int32_t BB_bt_coex_4; /* 0x60 - 0x64 */ 581 volatile u_int32_t BB_bt_coex_5; /* 0x64 - 0x68 */ 582 volatile u_int32_t BB_redpwr_ctrl_1; /* 0x68 - 0x6c */ 583 volatile u_int32_t BB_redpwr_ctrl_2; /* 0x6c - 0x70 */ 584 volatile char pad__0[0x110]; /* 0x70 - 0x180 */ 585 volatile u_int32_t BB_rssi_b0; /* 0x180 - 0x184 */ 586 volatile u_int32_t BB_spur_est_cck_report_b0; /* 0x184 - 0x188 */ 587 volatile u_int32_t BB_agc_dig_dc_status_i_b0; /* 0x188 - 0x18c */ 588 volatile u_int32_t BB_agc_dig_dc_status_q_b0; /* 0x18c - 0x190 */ 589 volatile u_int32_t BB_dc_cal_status_b0; /* 0x190 - 0x194 */ 590 volatile char pad__1[0x2c]; /* 0x194 - 0x1c0 */ 591 volatile u_int32_t BB_bbb_sig_detect; /* 0x1c0 - 0x1c4 */ 592 volatile u_int32_t BB_bbb_dagc_ctrl; /* 0x1c4 - 0x1c8 */ 593 volatile u_int32_t BB_iqcorr_ctrl_cck; /* 0x1c8 - 0x1cc */ 594 volatile u_int32_t BB_cck_spur_mit; /* 0x1cc - 0x1d0 */ 595 volatile u_int32_t BB_mrc_cck_ctrl; /* 0x1d0 - 0x1d4 */ 596 volatile u_int32_t BB_cck_blocker_det; /* 0x1d4 - 0x1d8 */ 597 volatile char pad__2[0x28]; /* 0x1d8 - 0x200 */ 598 volatile u_int32_t BB_rx_ocgain[128]; /* 0x200 - 0x400 */ 599}; 600 601struct sm_reg_map { 602 volatile u_int32_t BB_D2_chip_id; /* 0x0 - 0x4 */ 603 volatile u_int32_t BB_gen_controls; /* 0x4 - 0x8 */ 604 volatile u_int32_t BB_modes_select; /* 0x8 - 0xc */ 605 volatile u_int32_t BB_active; /* 0xc - 0x10 */ 606 volatile char pad__0[0x10]; /* 0x10 - 0x20 */ 607 volatile u_int32_t BB_vit_spur_mask_A; /* 0x20 - 0x24 */ 608 volatile u_int32_t BB_vit_spur_mask_B; /* 0x24 - 0x28 */ 609 volatile u_int32_t BB_spectral_scan; /* 0x28 - 0x2c */ 610 volatile u_int32_t BB_radar_bw_filter; /* 0x2c - 0x30 */ 611 volatile u_int32_t BB_search_start_delay; /* 0x30 - 0x34 */ 612 volatile u_int32_t BB_max_rx_length; /* 0x34 - 0x38 */ 613 volatile u_int32_t BB_frame_control; /* 0x38 - 0x3c */ 614 volatile u_int32_t BB_rfbus_request; /* 0x3c - 0x40 */ 615 volatile u_int32_t BB_rfbus_grant; /* 0x40 - 0x44 */ 616 volatile u_int32_t BB_rifs; /* 0x44 - 0x48 */ 617 volatile u_int32_t BB_spectral_scan_2; /* 0x48 - 0x4c */ 618 volatile char pad__1[0x4]; /* 0x4c - 0x50 */ 619 volatile u_int32_t BB_rx_clear_delay; /* 0x50 - 0x54 */ 620 volatile u_int32_t BB_analog_power_on_time; /* 0x54 - 0x58 */ 621 volatile u_int32_t BB_tx_timing_1; /* 0x58 - 0x5c */ 622 volatile u_int32_t BB_tx_timing_2; /* 0x5c - 0x60 */ 623 volatile u_int32_t BB_tx_timing_3; /* 0x60 - 0x64 */ 624 volatile u_int32_t BB_xpa_timing_control; /* 0x64 - 0x68 */ 625 volatile char pad__2[0x18]; /* 0x68 - 0x80 */ 626 volatile u_int32_t BB_misc_pa_control; /* 0x80 - 0x84 */ 627 volatile u_int32_t BB_switch_table_chn_b0; /* 0x84 - 0x88 */ 628 volatile u_int32_t BB_switch_table_com1; /* 0x88 - 0x8c */ 629 volatile u_int32_t BB_switch_table_com2; /* 0x8c - 0x90 */ 630 volatile char pad__3[0x10]; /* 0x90 - 0xa0 */ 631 volatile u_int32_t BB_multichain_enable; /* 0xa0 - 0xa4 */ 632 volatile char pad__4[0x1c]; /* 0xa4 - 0xc0 */ 633 volatile u_int32_t BB_cal_chain_mask; /* 0xc0 - 0xc4 */ 634 volatile u_int32_t BB_agc_control; /* 0xc4 - 0xc8 */ 635 volatile u_int32_t BB_iq_adc_cal_mode; /* 0xc8 - 0xcc */ 636 volatile u_int32_t BB_fcal_1; /* 0xcc - 0xd0 */ 637 volatile u_int32_t BB_fcal_2_b0; /* 0xd0 - 0xd4 */ 638 volatile u_int32_t BB_dft_tone_ctrl_b0; /* 0xd4 - 0xd8 */ 639 volatile u_int32_t BB_cl_cal_ctrl; /* 0xd8 - 0xdc */ 640 volatile u_int32_t BB_cl_map_0_b0; /* 0xdc - 0xe0 */ 641 volatile u_int32_t BB_cl_map_1_b0; /* 0xe0 - 0xe4 */ 642 volatile u_int32_t BB_cl_map_2_b0; /* 0xe4 - 0xe8 */ 643 volatile u_int32_t BB_cl_map_3_b0; /* 0xe8 - 0xec */ 644 volatile u_int32_t BB_cl_map_pal_0_b0; /* 0xec - 0xf0 */ 645 volatile u_int32_t BB_cl_map_pal_1_b0; /* 0xf0 - 0xf4 */ 646 volatile u_int32_t BB_cl_map_pal_2_b0; /* 0xf4 - 0xf8 */ 647 volatile u_int32_t BB_cl_map_pal_3_b0; /* 0xf8 - 0xfc */ 648 volatile char pad__5[0x4]; /* 0xfc - 0x100 */ 649 volatile u_int32_t BB_cl_tab_b0[16]; /* 0x100 - 0x140 */ 650 volatile u_int32_t BB_synth_control; /* 0x140 - 0x144 */ 651 volatile u_int32_t BB_addac_clk_select; /* 0x144 - 0x148 */ 652 volatile u_int32_t BB_pll_cntl; /* 0x148 - 0x14c */ 653 volatile u_int32_t BB_analog_swap; /* 0x14c - 0x150 */ 654 volatile u_int32_t BB_addac_parallel_control; /* 0x150 - 0x154 */ 655 volatile char pad__6[0x4]; /* 0x154 - 0x158 */ 656 volatile u_int32_t BB_force_analog; /* 0x158 - 0x15c */ 657 volatile char pad__7[0x4]; /* 0x15c - 0x160 */ 658 volatile u_int32_t BB_test_controls; /* 0x160 - 0x164 */ 659 volatile u_int32_t BB_test_controls_status; /* 0x164 - 0x168 */ 660 volatile u_int32_t BB_tstdac; /* 0x168 - 0x16c */ 661 volatile u_int32_t BB_channel_status; /* 0x16c - 0x170 */ 662 volatile u_int32_t BB_chaninfo_ctrl; /* 0x170 - 0x174 */ 663 volatile u_int32_t BB_chan_info_noise_pwr; /* 0x174 - 0x178 */ 664 volatile u_int32_t BB_chan_info_gain_diff; /* 0x178 - 0x17c */ 665 volatile u_int32_t BB_chan_info_fine_timing; /* 0x17c - 0x180 */ 666 volatile u_int32_t BB_chan_info_gain_b0; /* 0x180 - 0x184 */ 667 volatile char pad__8[0xc]; /* 0x184 - 0x190 */ 668 volatile u_int32_t BB_scrambler_seed; /* 0x190 - 0x194 */ 669 volatile u_int32_t BB_bbb_tx_ctrl; /* 0x194 - 0x198 */ 670 volatile u_int32_t BB_bbb_txfir_0; /* 0x198 - 0x19c */ 671 volatile u_int32_t BB_bbb_txfir_1; /* 0x19c - 0x1a0 */ 672 volatile u_int32_t BB_bbb_txfir_2; /* 0x1a0 - 0x1a4 */ 673 volatile u_int32_t BB_heavy_clip_ctrl; /* 0x1a4 - 0x1a8 */ 674 volatile u_int32_t BB_heavy_clip_20; /* 0x1a8 - 0x1ac */ 675 volatile u_int32_t BB_heavy_clip_40; /* 0x1ac - 0x1b0 */ 676 volatile u_int32_t BB_illegal_tx_rate; /* 0x1b0 - 0x1b4 */ 677 volatile char pad__9[0xc]; /* 0x1b4 - 0x1c0 */ 678 volatile u_int32_t BB_powertx_rate1; /* 0x1c0 - 0x1c4 */ 679 volatile u_int32_t BB_powertx_rate2; /* 0x1c4 - 0x1c8 */ 680 volatile u_int32_t BB_powertx_rate3; /* 0x1c8 - 0x1cc */ 681 volatile u_int32_t BB_powertx_rate4; /* 0x1cc - 0x1d0 */ 682 volatile u_int32_t BB_powertx_rate5; /* 0x1d0 - 0x1d4 */ 683 volatile u_int32_t BB_powertx_rate6; /* 0x1d4 - 0x1d8 */ 684 volatile u_int32_t BB_powertx_rate7; /* 0x1d8 - 0x1dc */ 685 volatile u_int32_t BB_powertx_rate8; /* 0x1dc - 0x1e0 */ 686 volatile u_int32_t BB_powertx_rate9; /* 0x1e0 - 0x1e4 */ 687 volatile u_int32_t BB_powertx_rate10; /* 0x1e4 - 0x1e8 */ 688 volatile u_int32_t BB_powertx_rate11; /* 0x1e8 - 0x1ec */ 689 volatile u_int32_t BB_powertx_rate12; /* 0x1ec - 0x1f0 */ 690 volatile u_int32_t BB_powertx_max; /* 0x1f0 - 0x1f4 */ 691 volatile u_int32_t BB_powertx_sub; /* 0x1f4 - 0x1f8 */ 692 volatile u_int32_t BB_tpc_1; /* 0x1f8 - 0x1fc */ 693 volatile u_int32_t BB_tpc_2; /* 0x1fc - 0x200 */ 694 volatile u_int32_t BB_tpc_3; /* 0x200 - 0x204 */ 695 volatile u_int32_t BB_tpc_4_b0; /* 0x204 - 0x208 */ 696 volatile u_int32_t BB_tpc_5_b0; /* 0x208 - 0x20c */ 697 volatile u_int32_t BB_tpc_6_b0; /* 0x20c - 0x210 */ 698 volatile u_int32_t BB_tpc_7; /* 0x210 - 0x214 */ 699 volatile u_int32_t BB_tpc_8; /* 0x214 - 0x218 */ 700 volatile u_int32_t BB_tpc_9; /* 0x218 - 0x21c */ 701 volatile u_int32_t BB_tpc_10; /* 0x21c - 0x220 */ 702 volatile u_int32_t BB_tpc_11_b0; /* 0x220 - 0x224 */ 703 volatile u_int32_t BB_tpc_12; /* 0x224 - 0x228 */ 704 volatile u_int32_t BB_tpc_13; /* 0x228 - 0x22c */ 705 volatile u_int32_t BB_tpc_14; /* 0x22c - 0x230 */ 706 volatile u_int32_t BB_tpc_15; /* 0x230 - 0x234 */ 707 volatile u_int32_t BB_tpc_16; /* 0x234 - 0x238 */ 708 volatile u_int32_t BB_tpc_17; /* 0x238 - 0x23c */ 709 volatile u_int32_t BB_tpc_18; /* 0x23c - 0x240 */ 710 volatile u_int32_t BB_tpc_19_b0; /* 0x240 - 0x244 */ 711 volatile u_int32_t BB_tpc_20; /* 0x244 - 0x248 */ 712 volatile u_int32_t BB_therm_adc_1; /* 0x248 - 0x24c */ 713 volatile u_int32_t BB_therm_adc_2; /* 0x24c - 0x250 */ 714 volatile u_int32_t BB_therm_adc_3; /* 0x250 - 0x254 */ 715 volatile u_int32_t BB_therm_adc_4; /* 0x254 - 0x258 */ 716 volatile u_int32_t BB_tx_forced_gain; /* 0x258 - 0x25c */ 717 volatile char pad__10[0x24]; /* 0x25c - 0x280 */ 718 volatile u_int32_t BB_pdadc_tab_b0[32]; /* 0x280 - 0x300 */ 719 volatile u_int32_t BB_tx_gain_tab_1; /* 0x300 - 0x304 */ 720 volatile u_int32_t BB_tx_gain_tab_2; /* 0x304 - 0x308 */ 721 volatile u_int32_t BB_tx_gain_tab_3; /* 0x308 - 0x30c */ 722 volatile u_int32_t BB_tx_gain_tab_4; /* 0x30c - 0x310 */ 723 volatile u_int32_t BB_tx_gain_tab_5; /* 0x310 - 0x314 */ 724 volatile u_int32_t BB_tx_gain_tab_6; /* 0x314 - 0x318 */ 725 volatile u_int32_t BB_tx_gain_tab_7; /* 0x318 - 0x31c */ 726 volatile u_int32_t BB_tx_gain_tab_8; /* 0x31c - 0x320 */ 727 volatile u_int32_t BB_tx_gain_tab_9; /* 0x320 - 0x324 */ 728 volatile u_int32_t BB_tx_gain_tab_10; /* 0x324 - 0x328 */ 729 volatile u_int32_t BB_tx_gain_tab_11; /* 0x328 - 0x32c */ 730 volatile u_int32_t BB_tx_gain_tab_12; /* 0x32c - 0x330 */ 731 volatile u_int32_t BB_tx_gain_tab_13; /* 0x330 - 0x334 */ 732 volatile u_int32_t BB_tx_gain_tab_14; /* 0x334 - 0x338 */ 733 volatile u_int32_t BB_tx_gain_tab_15; /* 0x338 - 0x33c */ 734 volatile u_int32_t BB_tx_gain_tab_16; /* 0x33c - 0x340 */ 735 volatile u_int32_t BB_tx_gain_tab_17; /* 0x340 - 0x344 */ 736 volatile u_int32_t BB_tx_gain_tab_18; /* 0x344 - 0x348 */ 737 volatile u_int32_t BB_tx_gain_tab_19; /* 0x348 - 0x34c */ 738 volatile u_int32_t BB_tx_gain_tab_20; /* 0x34c - 0x350 */ 739 volatile u_int32_t BB_tx_gain_tab_21; /* 0x350 - 0x354 */ 740 volatile u_int32_t BB_tx_gain_tab_22; /* 0x354 - 0x358 */ 741 volatile u_int32_t BB_tx_gain_tab_23; /* 0x358 - 0x35c */ 742 volatile u_int32_t BB_tx_gain_tab_24; /* 0x35c - 0x360 */ 743 volatile u_int32_t BB_tx_gain_tab_25; /* 0x360 - 0x364 */ 744 volatile u_int32_t BB_tx_gain_tab_26; /* 0x364 - 0x368 */ 745 volatile u_int32_t BB_tx_gain_tab_27; /* 0x368 - 0x36c */ 746 volatile u_int32_t BB_tx_gain_tab_28; /* 0x36c - 0x370 */ 747 volatile u_int32_t BB_tx_gain_tab_29; /* 0x370 - 0x374 */ 748 volatile u_int32_t BB_tx_gain_tab_30; /* 0x374 - 0x378 */ 749 volatile u_int32_t BB_tx_gain_tab_31; /* 0x378 - 0x37c */ 750 volatile u_int32_t BB_tx_gain_tab_32; /* 0x37c - 0x380 */ 751 volatile u_int32_t BB_rtt_ctrl; /* 0x380 - 0x384 */ 752 volatile u_int32_t BB_rtt_table_sw_intf_b0; /* 0x384 - 0x388 */ 753 volatile u_int32_t BB_rtt_table_sw_intf_1_b0; /* 0x388 - 0x38c */ 754 volatile char pad__11[0x74]; /* 0x38c - 0x400 */ 755 volatile u_int32_t BB_caltx_gain_set_0; /* 0x400 - 0x404 */ 756 volatile u_int32_t BB_caltx_gain_set_2; /* 0x404 - 0x408 */ 757 volatile u_int32_t BB_caltx_gain_set_4; /* 0x408 - 0x40c */ 758 volatile u_int32_t BB_caltx_gain_set_6; /* 0x40c - 0x410 */ 759 volatile u_int32_t BB_caltx_gain_set_8; /* 0x410 - 0x414 */ 760 volatile u_int32_t BB_caltx_gain_set_10; /* 0x414 - 0x418 */ 761 volatile u_int32_t BB_caltx_gain_set_12; /* 0x418 - 0x41c */ 762 volatile u_int32_t BB_caltx_gain_set_14; /* 0x41c - 0x420 */ 763 volatile u_int32_t BB_caltx_gain_set_16; /* 0x420 - 0x424 */ 764 volatile u_int32_t BB_caltx_gain_set_18; /* 0x424 - 0x428 */ 765 volatile u_int32_t BB_caltx_gain_set_20; /* 0x428 - 0x42c */ 766 volatile u_int32_t BB_caltx_gain_set_22; /* 0x42c - 0x430 */ 767 volatile u_int32_t BB_caltx_gain_set_24; /* 0x430 - 0x434 */ 768 volatile u_int32_t BB_caltx_gain_set_26; /* 0x434 - 0x438 */ 769 volatile u_int32_t BB_caltx_gain_set_28; /* 0x438 - 0x43c */ 770 volatile u_int32_t BB_caltx_gain_set_30; /* 0x43c - 0x440 */ 771 volatile char pad__12[0x4]; /* 0x440 - 0x444 */ 772 volatile u_int32_t BB_txiqcal_control_0; /* 0x444 - 0x448 */ 773 volatile u_int32_t BB_txiqcal_control_1; /* 0x448 - 0x44c */ 774 volatile u_int32_t BB_txiqcal_control_2; /* 0x44c - 0x450 */ 775 volatile u_int32_t BB_txiq_corr_coeff_01_b0; /* 0x450 - 0x454 */ 776 volatile u_int32_t BB_txiq_corr_coeff_23_b0; /* 0x454 - 0x458 */ 777 volatile u_int32_t BB_txiq_corr_coeff_45_b0; /* 0x458 - 0x45c */ 778 volatile u_int32_t BB_txiq_corr_coeff_67_b0; /* 0x45c - 0x460 */ 779 volatile u_int32_t BB_txiq_corr_coeff_89_b0; /* 0x460 - 0x464 */ 780 volatile u_int32_t BB_txiq_corr_coeff_ab_b0; /* 0x464 - 0x468 */ 781 volatile u_int32_t BB_txiq_corr_coeff_cd_b0; /* 0x468 - 0x46c */ 782 volatile u_int32_t BB_txiq_corr_coeff_ef_b0; /* 0x46c - 0x470 */ 783 volatile u_int32_t BB_cal_rxbb_gain_tbl_0; /* 0x470 - 0x474 */ 784 volatile u_int32_t BB_cal_rxbb_gain_tbl_4; /* 0x474 - 0x478 */ 785 volatile u_int32_t BB_cal_rxbb_gain_tbl_8; /* 0x478 - 0x47c */ 786 volatile u_int32_t BB_cal_rxbb_gain_tbl_12; /* 0x47c - 0x480 */ 787 volatile u_int32_t BB_cal_rxbb_gain_tbl_16; /* 0x480 - 0x484 */ 788 volatile u_int32_t BB_cal_rxbb_gain_tbl_20; /* 0x484 - 0x488 */ 789 volatile u_int32_t BB_cal_rxbb_gain_tbl_24; /* 0x488 - 0x48c */ 790 volatile u_int32_t BB_txiqcal_status_b0; /* 0x48c - 0x490 */ 791 volatile u_int32_t BB_paprd_trainer_cntl1; /* 0x490 - 0x494 */ 792 volatile u_int32_t BB_paprd_trainer_cntl2; /* 0x494 - 0x498 */ 793 volatile u_int32_t BB_paprd_trainer_cntl3; /* 0x498 - 0x49c */ 794 volatile u_int32_t BB_paprd_trainer_cntl4; /* 0x49c - 0x4a0 */ 795 volatile u_int32_t BB_paprd_trainer_stat1; /* 0x4a0 - 0x4a4 */ 796 volatile u_int32_t BB_paprd_trainer_stat2; /* 0x4a4 - 0x4a8 */ 797 volatile u_int32_t BB_paprd_trainer_stat3; /* 0x4a8 - 0x4ac */ 798 volatile char pad__13[0x114]; /* 0x4ac - 0x5c0 */ 799 volatile u_int32_t BB_watchdog_status; /* 0x5c0 - 0x5c4 */ 800 volatile u_int32_t BB_watchdog_ctrl_1; /* 0x5c4 - 0x5c8 */ 801 volatile u_int32_t BB_watchdog_ctrl_2; /* 0x5c8 - 0x5cc */ 802 volatile u_int32_t BB_bluetooth_cntl; /* 0x5cc - 0x5d0 */ 803 volatile u_int32_t BB_phyonly_warm_reset; /* 0x5d0 - 0x5d4 */ 804 volatile u_int32_t BB_phyonly_control; /* 0x5d4 - 0x5d8 */ 805 volatile char pad__14[0x4]; /* 0x5d8 - 0x5dc */ 806 volatile u_int32_t BB_eco_ctrl; /* 0x5dc - 0x5e0 */ 807 volatile char pad__15[0x10]; /* 0x5e0 - 0x5f0 */ 808 volatile u_int32_t BB_tables_intf_addr_b0; /* 0x5f0 - 0x5f4 */ 809 volatile u_int32_t BB_tables_intf_data_b0; /* 0x5f4 - 0x5f8 */ 810}; 811 812struct chn1_reg_map { 813 volatile char pad__0[0x30]; /* 0x0 - 0x30 */ 814 volatile u_int32_t BB_ext_chan_pwr_thr_2_b1; /* 0x30 - 0x34 */ 815 volatile char pad__1[0x74]; /* 0x34 - 0xa8 */ 816 volatile u_int32_t BB_spur_report_b1; /* 0xa8 - 0xac */ 817 volatile char pad__2[0x14]; /* 0xac - 0xc0 */ 818 volatile u_int32_t BB_iq_adc_meas_0_b1; /* 0xc0 - 0xc4 */ 819 volatile u_int32_t BB_iq_adc_meas_1_b1; /* 0xc4 - 0xc8 */ 820 volatile u_int32_t BB_iq_adc_meas_2_b1; /* 0xc8 - 0xcc */ 821 volatile u_int32_t BB_iq_adc_meas_3_b1; /* 0xcc - 0xd0 */ 822 volatile u_int32_t BB_tx_phase_ramp_b1; /* 0xd0 - 0xd4 */ 823 volatile u_int32_t BB_adc_gain_dc_corr_b1; /* 0xd4 - 0xd8 */ 824 volatile char pad__3[0x4]; /* 0xd8 - 0xdc */ 825 volatile u_int32_t BB_rx_iq_corr_b1; /* 0xdc - 0xe0 */ 826 volatile char pad__4[0x10]; /* 0xe0 - 0xf0 */ 827 volatile u_int32_t BB_paprd_ctrl0_b1; /* 0xf0 - 0xf4 */ 828 volatile u_int32_t BB_paprd_ctrl1_b1; /* 0xf4 - 0xf8 */ 829 volatile u_int32_t BB_pa_gain123_b1; /* 0xf8 - 0xfc */ 830 volatile u_int32_t BB_pa_gain45_b1; /* 0xfc - 0x100 */ 831 volatile u_int32_t BB_paprd_pre_post_scale_0_b1; 832 /* 0x100 - 0x104 */ 833 volatile u_int32_t BB_paprd_pre_post_scale_1_b1; 834 /* 0x104 - 0x108 */ 835 volatile u_int32_t BB_paprd_pre_post_scale_2_b1; 836 /* 0x108 - 0x10c */ 837 volatile u_int32_t BB_paprd_pre_post_scale_3_b1; 838 /* 0x10c - 0x110 */ 839 volatile u_int32_t BB_paprd_pre_post_scale_4_b1; 840 /* 0x110 - 0x114 */ 841 volatile u_int32_t BB_paprd_pre_post_scale_5_b1; 842 /* 0x114 - 0x118 */ 843 volatile u_int32_t BB_paprd_pre_post_scale_6_b1; 844 /* 0x118 - 0x11c */ 845 volatile u_int32_t BB_paprd_pre_post_scale_7_b1; 846 /* 0x11c - 0x120 */ 847 volatile u_int32_t BB_paprd_mem_tab_b1[120]; /* 0x120 - 0x300 */ 848 volatile u_int32_t BB_chan_info_chan_tab_b1[60]; 849 /* 0x300 - 0x3f0 */ 850 volatile u_int32_t BB_chn1_tables_intf_addr; /* 0x3f0 - 0x3f4 */ 851 volatile u_int32_t BB_chn1_tables_intf_data; /* 0x3f4 - 0x3f8 */ 852}; 853 854struct agc1_reg_map { 855 volatile char pad__0[0x4]; /* 0x0 - 0x4 */ 856 volatile u_int32_t BB_gain_force_max_gains_b1; /* 0x4 - 0x8 */ 857 volatile char pad__1[0x10]; /* 0x8 - 0x18 */ 858 volatile u_int32_t BB_ext_atten_switch_ctl_b1; /* 0x18 - 0x1c */ 859 volatile u_int32_t BB_cca_b1; /* 0x1c - 0x20 */ 860 volatile u_int32_t BB_cca_ctrl_2_b1; /* 0x20 - 0x24 */ 861 volatile char pad__2[0x15c]; /* 0x24 - 0x180 */ 862 volatile u_int32_t BB_rssi_b1; /* 0x180 - 0x184 */ 863 volatile u_int32_t BB_spur_est_cck_report_b1; /* 0x184 - 0x188 */ 864 volatile u_int32_t BB_agc_dig_dc_status_i_b1; /* 0x188 - 0x18c */ 865 volatile u_int32_t BB_agc_dig_dc_status_q_b1; /* 0x18c - 0x190 */ 866 volatile u_int32_t BB_dc_cal_status_b1; /* 0x190 - 0x194 */ 867 volatile char pad__3[0x6c]; /* 0x194 - 0x200 */ 868 volatile u_int32_t BB_rx_ocgain2[128]; /* 0x200 - 0x400 */ 869}; 870 871struct sm1_reg_map { 872 volatile char pad__0[0x84]; /* 0x0 - 0x84 */ 873 volatile u_int32_t BB_switch_table_chn_b1; /* 0x84 - 0x88 */ 874 volatile char pad__1[0x48]; /* 0x88 - 0xd0 */ 875 volatile u_int32_t BB_fcal_2_b1; /* 0xd0 - 0xd4 */ 876 volatile u_int32_t BB_dft_tone_ctrl_b1; /* 0xd4 - 0xd8 */ 877 volatile char pad__2[0x4]; /* 0xd8 - 0xdc */ 878 volatile u_int32_t BB_cl_map_0_b1; /* 0xdc - 0xe0 */ 879 volatile u_int32_t BB_cl_map_1_b1; /* 0xe0 - 0xe4 */ 880 volatile u_int32_t BB_cl_map_2_b1; /* 0xe4 - 0xe8 */ 881 volatile u_int32_t BB_cl_map_3_b1; /* 0xe8 - 0xec */ 882 volatile u_int32_t BB_cl_map_pal_0_b1; /* 0xec - 0xf0 */ 883 volatile u_int32_t BB_cl_map_pal_1_b1; /* 0xf0 - 0xf4 */ 884 volatile u_int32_t BB_cl_map_pal_2_b1; /* 0xf4 - 0xf8 */ 885 volatile u_int32_t BB_cl_map_pal_3_b1; /* 0xf8 - 0xfc */ 886 volatile char pad__3[0x4]; /* 0xfc - 0x100 */ 887 volatile u_int32_t BB_cl_tab_b1[16]; /* 0x100 - 0x140 */ 888 volatile char pad__4[0x40]; /* 0x140 - 0x180 */ 889 volatile u_int32_t BB_chan_info_gain_b1; /* 0x180 - 0x184 */ 890 volatile char pad__5[0x80]; /* 0x184 - 0x204 */ 891 volatile u_int32_t BB_tpc_4_b1; /* 0x204 - 0x208 */ 892 volatile u_int32_t BB_tpc_5_b1; /* 0x208 - 0x20c */ 893 volatile u_int32_t BB_tpc_6_b1; /* 0x20c - 0x210 */ 894 volatile char pad__6[0x10]; /* 0x210 - 0x220 */ 895 volatile u_int32_t BB_tpc_11_b1; /* 0x220 - 0x224 */ 896 volatile char pad__7[0x1c]; /* 0x224 - 0x240 */ 897 volatile u_int32_t BB_tpc_19_b1; /* 0x240 - 0x244 */ 898 volatile char pad__8[0x3c]; /* 0x244 - 0x280 */ 899 volatile u_int32_t BB_pdadc_tab_b1[32]; /* 0x280 - 0x300 */ 900 volatile char pad__9[0x84]; /* 0x300 - 0x384 */ 901 volatile u_int32_t BB_rtt_table_sw_intf_b1; /* 0x384 - 0x388 */ 902 volatile u_int32_t BB_rtt_table_sw_intf_1_b1; /* 0x388 - 0x38c */ 903 volatile char pad__10[0xc4]; /* 0x38c - 0x450 */ 904 volatile u_int32_t BB_txiq_corr_coeff_01_b1; /* 0x450 - 0x454 */ 905 volatile u_int32_t BB_txiq_corr_coeff_23_b1; /* 0x454 - 0x458 */ 906 volatile u_int32_t BB_txiq_corr_coeff_45_b1; /* 0x458 - 0x45c */ 907 volatile u_int32_t BB_txiq_corr_coeff_67_b1; /* 0x45c - 0x460 */ 908 volatile u_int32_t BB_txiq_corr_coeff_89_b1; /* 0x460 - 0x464 */ 909 volatile u_int32_t BB_txiq_corr_coeff_ab_b1; /* 0x464 - 0x468 */ 910 volatile u_int32_t BB_txiq_corr_coeff_cd_b1; /* 0x468 - 0x46c */ 911 volatile u_int32_t BB_txiq_corr_coeff_ef_b1; /* 0x46c - 0x470 */ 912 volatile char pad__11[0x1c]; /* 0x470 - 0x48c */ 913 volatile u_int32_t BB_txiqcal_status_b1; /* 0x48c - 0x490 */ 914 volatile char pad__12[0x160]; /* 0x490 - 0x5f0 */ 915 volatile u_int32_t BB_tables_intf_addr_b1; /* 0x5f0 - 0x5f4 */ 916 volatile u_int32_t BB_tables_intf_data_b1; /* 0x5f4 - 0x5f8 */ 917}; 918 919struct chn2_reg_map { 920 volatile char pad__0[0x30]; /* 0x0 - 0x30 */ 921 volatile u_int32_t BB_ext_chan_pwr_thr_2_b2; /* 0x30 - 0x34 */ 922 volatile char pad__1[0x74]; /* 0x34 - 0xa8 */ 923 volatile u_int32_t BB_spur_report_b2; /* 0xa8 - 0xac */ 924 volatile char pad__2[0x14]; /* 0xac - 0xc0 */ 925 volatile u_int32_t BB_iq_adc_meas_0_b2; /* 0xc0 - 0xc4 */ 926 volatile u_int32_t BB_iq_adc_meas_1_b2; /* 0xc4 - 0xc8 */ 927 volatile u_int32_t BB_iq_adc_meas_2_b2; /* 0xc8 - 0xcc */ 928 volatile u_int32_t BB_iq_adc_meas_3_b2; /* 0xcc - 0xd0 */ 929 volatile u_int32_t BB_tx_phase_ramp_b2; /* 0xd0 - 0xd4 */ 930 volatile u_int32_t BB_adc_gain_dc_corr_b2; /* 0xd4 - 0xd8 */ 931 volatile char pad__3[0x4]; /* 0xd8 - 0xdc */ 932 volatile u_int32_t BB_rx_iq_corr_b2; /* 0xdc - 0xe0 */ 933 volatile char pad__4[0x10]; /* 0xe0 - 0xf0 */ 934 volatile u_int32_t BB_paprd_ctrl0_b2; /* 0xf0 - 0xf4 */ 935 volatile u_int32_t BB_paprd_ctrl1_b2; /* 0xf4 - 0xf8 */ 936 volatile u_int32_t BB_pa_gain123_b2; /* 0xf8 - 0xfc */ 937 volatile u_int32_t BB_pa_gain45_b2; /* 0xfc - 0x100 */ 938 volatile u_int32_t BB_paprd_pre_post_scale_0_b2; 939 /* 0x100 - 0x104 */ 940 volatile u_int32_t BB_paprd_pre_post_scale_1_b2; 941 /* 0x104 - 0x108 */ 942 volatile u_int32_t BB_paprd_pre_post_scale_2_b2; 943 /* 0x108 - 0x10c */ 944 volatile u_int32_t BB_paprd_pre_post_scale_3_b2; 945 /* 0x10c - 0x110 */ 946 volatile u_int32_t BB_paprd_pre_post_scale_4_b2; 947 /* 0x110 - 0x114 */ 948 volatile u_int32_t BB_paprd_pre_post_scale_5_b2; 949 /* 0x114 - 0x118 */ 950 volatile u_int32_t BB_paprd_pre_post_scale_6_b2; 951 /* 0x118 - 0x11c */ 952 volatile u_int32_t BB_paprd_pre_post_scale_7_b2; 953 /* 0x11c - 0x120 */ 954 volatile u_int32_t BB_paprd_mem_tab_b2[120]; /* 0x120 - 0x300 */ 955 volatile u_int32_t BB_chan_info_chan_tab_b2[60]; 956 /* 0x300 - 0x3f0 */ 957 volatile u_int32_t BB_chn2_tables_intf_addr; /* 0x3f0 - 0x3f4 */ 958 volatile u_int32_t BB_chn2_tables_intf_data; /* 0x3f4 - 0x3f8 */ 959}; 960 961struct agc2_reg_map { 962 volatile char pad__0[0x4]; /* 0x0 - 0x4 */ 963 volatile u_int32_t BB_gain_force_max_gains_b2; /* 0x4 - 0x8 */ 964 volatile char pad__1[0x10]; /* 0x8 - 0x18 */ 965 volatile u_int32_t BB_ext_atten_switch_ctl_b2; /* 0x18 - 0x1c */ 966 volatile u_int32_t BB_cca_b2; /* 0x1c - 0x20 */ 967 volatile u_int32_t BB_cca_ctrl_2_b2; /* 0x20 - 0x24 */ 968 volatile char pad__2[0x15c]; /* 0x24 - 0x180 */ 969 volatile u_int32_t BB_rssi_b2; /* 0x180 - 0x184 */ 970 volatile char pad__3[0x4]; /* 0x184 - 0x188 */ 971 volatile u_int32_t BB_agc_dig_dc_status_i_b2; /* 0x188 - 0x18c */ 972 volatile u_int32_t BB_agc_dig_dc_status_q_b2; /* 0x18c - 0x190 */ 973 volatile u_int32_t BB_dc_cal_status_b2; /* 0x190 - 0x194 */ 974}; 975 976struct sm2_reg_map { 977 volatile char pad__0[0x84]; /* 0x0 - 0x84 */ 978 volatile u_int32_t BB_switch_table_chn_b2; /* 0x84 - 0x88 */ 979 volatile char pad__1[0x48]; /* 0x88 - 0xd0 */ 980 volatile u_int32_t BB_fcal_2_b2; /* 0xd0 - 0xd4 */ 981 volatile u_int32_t BB_dft_tone_ctrl_b2; /* 0xd4 - 0xd8 */ 982 volatile char pad__2[0x4]; /* 0xd8 - 0xdc */ 983 volatile u_int32_t BB_cl_map_0_b2; /* 0xdc - 0xe0 */ 984 volatile u_int32_t BB_cl_map_1_b2; /* 0xe0 - 0xe4 */ 985 volatile u_int32_t BB_cl_map_2_b2; /* 0xe4 - 0xe8 */ 986 volatile u_int32_t BB_cl_map_3_b2; /* 0xe8 - 0xec */ 987 volatile u_int32_t BB_cl_map_pal_0_b2; /* 0xec - 0xf0 */ 988 volatile u_int32_t BB_cl_map_pal_1_b2; /* 0xf0 - 0xf4 */ 989 volatile u_int32_t BB_cl_map_pal_2_b2; /* 0xf4 - 0xf8 */ 990 volatile u_int32_t BB_cl_map_pal_3_b2; /* 0xf8 - 0xfc */ 991 volatile char pad__3[0x4]; /* 0xfc - 0x100 */ 992 volatile u_int32_t BB_cl_tab_b2[16]; /* 0x100 - 0x140 */ 993 volatile char pad__4[0x40]; /* 0x140 - 0x180 */ 994 volatile u_int32_t BB_chan_info_gain_b2; /* 0x180 - 0x184 */ 995 volatile char pad__5[0x80]; /* 0x184 - 0x204 */ 996 volatile u_int32_t BB_tpc_4_b2; /* 0x204 - 0x208 */ 997 volatile u_int32_t BB_tpc_5_b2; /* 0x208 - 0x20c */ 998 volatile u_int32_t BB_tpc_6_b2; /* 0x20c - 0x210 */ 999 volatile char pad__6[0x10]; /* 0x210 - 0x220 */ 1000 volatile u_int32_t BB_tpc_11_b2; /* 0x220 - 0x224 */ 1001 volatile char pad__7[0x1c]; /* 0x224 - 0x240 */ 1002 volatile u_int32_t BB_tpc_19_b2; /* 0x240 - 0x244 */ 1003 volatile char pad__8[0x3c]; /* 0x244 - 0x280 */ 1004 volatile u_int32_t BB_pdadc_tab_b2[32]; /* 0x280 - 0x300 */ 1005 volatile char pad__9[0x84]; /* 0x300 - 0x384 */ 1006 volatile u_int32_t BB_rtt_table_sw_intf_b2; /* 0x384 - 0x388 */ 1007 volatile u_int32_t BB_rtt_table_sw_intf_1_b2; /* 0x388 - 0x38c */ 1008 volatile char pad__10[0xc4]; /* 0x38c - 0x450 */ 1009 volatile u_int32_t BB_txiq_corr_coeff_01_b2; /* 0x450 - 0x454 */ 1010 volatile u_int32_t BB_txiq_corr_coeff_23_b2; /* 0x454 - 0x458 */ 1011 volatile u_int32_t BB_txiq_corr_coeff_45_b2; /* 0x458 - 0x45c */ 1012 volatile u_int32_t BB_txiq_corr_coeff_67_b2; /* 0x45c - 0x460 */ 1013 volatile u_int32_t BB_txiq_corr_coeff_89_b2; /* 0x460 - 0x464 */ 1014 volatile u_int32_t BB_txiq_corr_coeff_ab_b2; /* 0x464 - 0x468 */ 1015 volatile u_int32_t BB_txiq_corr_coeff_cd_b2; /* 0x468 - 0x46c */ 1016 volatile u_int32_t BB_txiq_corr_coeff_ef_b2; /* 0x46c - 0x470 */ 1017 volatile char pad__11[0x1c]; /* 0x470 - 0x48c */ 1018 volatile u_int32_t BB_txiqcal_status_b2; /* 0x48c - 0x490 */ 1019 volatile char pad__12[0x160]; /* 0x490 - 0x5f0 */ 1020 volatile u_int32_t BB_tables_intf_addr_b2; /* 0x5f0 - 0x5f4 */ 1021 volatile u_int32_t BB_tables_intf_data_b2; /* 0x5f4 - 0x5f8 */ 1022}; 1023 1024struct chn3_reg_map { 1025 volatile u_int32_t BB_dummy1[256]; /* 0x0 - 0x400 */ 1026}; 1027 1028struct agc3_reg_map { 1029 volatile u_int32_t BB_dummy; /* 0x0 - 0x4 */ 1030 volatile char pad__0[0x17c]; /* 0x4 - 0x180 */ 1031 volatile u_int32_t BB_rssi_b3; /* 0x180 - 0x184 */ 1032}; 1033 1034struct sm3_reg_map { 1035 volatile u_int32_t BB_dummy2[384]; /* 0x0 - 0x600 */ 1036}; 1037 1038struct bb_reg_map { 1039 struct chn_reg_map bb_chn_reg_map; /* 0x0 - 0x3f8 */ 1040 volatile char pad__0[0x8]; /* 0x3f8 - 0x400 */ 1041 struct mrc_reg_map bb_mrc_reg_map; /* 0x400 - 0x424 */ 1042 volatile char pad__1[0xdc]; /* 0x424 - 0x500 */ 1043 struct bbb_reg_map bb_bbb_reg_map; /* 0x500 - 0x51c */ 1044 volatile char pad__2[0xe4]; /* 0x51c - 0x600 */ 1045 struct agc_reg_map bb_agc_reg_map; /* 0x600 - 0xa00 */ 1046 struct sm_reg_map bb_sm_reg_map; /* 0xa00 - 0xff8 */ 1047 volatile char pad__3[0x8]; /* 0xff8 - 0x1000 */ 1048 struct chn1_reg_map bb_chn1_reg_map; /* 0x1000 - 0x13c8 */ 1049 volatile char pad__4[0x238]; /* 0x13c8 - 0x1600 */ 1050 struct agc1_reg_map bb_agc1_reg_map; /* 0x1600 - 0x19fc */ 1051 volatile char pad__5[0x4]; /* 0x19fc - 0x1a00 */ 1052 struct sm1_reg_map bb_sm1_reg_map; /* 0x1a00 - 0x1f74 */ 1053 volatile char pad__6[0x8c]; /* 0x1f74 - 0x2000 */ 1054 struct chn2_reg_map bb_chn2_reg_map; /* 0x2000 - 0x23c8 */ 1055 volatile char pad__7[0x238]; /* 0x23c8 - 0x2600 */ 1056 struct agc2_reg_map bb_agc2_reg_map; /* 0x2600 - 0x2790 */ 1057 volatile char pad__8[0x270]; /* 0x2790 - 0x2a00 */ 1058 struct sm2_reg_map bb_sm2_reg_map; /* 0x2a00 - 0x2f74 */ 1059 volatile char pad__9[0x8c]; /* 0x2f74 - 0x3000 */ 1060 struct chn3_reg_map bb_chn3_reg_map; /* 0x3000 - 0x3400 */ 1061 volatile char pad__10[0x200]; /* 0x3400 - 0x3600 */ 1062 struct agc3_reg_map bb_agc3_reg_map; /* 0x3600 - 0x3784 */ 1063 volatile char pad__11[0x27c]; /* 0x3784 - 0x3a00 */ 1064 struct sm3_reg_map bb_sm3_reg_map; /* 0x3a00 - 0x4000 */ 1065}; 1066 1067struct mac_pcu_buf_reg { 1068 volatile u_int32_t MAC_PCU_BUF[2048]; /* 0x0 - 0x2000 */ 1069}; 1070 1071struct svd_reg { 1072 volatile u_int32_t TXBF_DBG; /* 0x0 - 0x4 */ 1073 volatile u_int32_t TXBF; /* 0x4 - 0x8 */ 1074 volatile u_int32_t TXBF_TIMER; /* 0x8 - 0xc */ 1075 volatile u_int32_t TXBF_SW; /* 0xc - 0x10 */ 1076 volatile u_int32_t TXBF_SM; /* 0x10 - 0x14 */ 1077 volatile u_int32_t TXBF1_CNTL; /* 0x14 - 0x18 */ 1078 volatile u_int32_t TXBF2_CNTL; /* 0x18 - 0x1c */ 1079 volatile u_int32_t TXBF3_CNTL; /* 0x1c - 0x20 */ 1080 volatile u_int32_t TXBF4_CNTL; /* 0x20 - 0x24 */ 1081 volatile u_int32_t TXBF5_CNTL; /* 0x24 - 0x28 */ 1082 volatile u_int32_t TXBF6_CNTL; /* 0x28 - 0x2c */ 1083 volatile u_int32_t TXBF7_CNTL; /* 0x2c - 0x30 */ 1084 volatile u_int32_t TXBF8_CNTL; /* 0x30 - 0x34 */ 1085 volatile char pad__0[0xfcc]; /* 0x34 - 0x1000 */ 1086 volatile u_int32_t RC0[118]; /* 0x1000 - 0x11d8 */ 1087 volatile char pad__1[0x28]; /* 0x11d8 - 0x1200 */ 1088 volatile u_int32_t RC1[118]; /* 0x1200 - 0x13d8 */ 1089 volatile char pad__2[0x28]; /* 0x13d8 - 0x1400 */ 1090 volatile u_int32_t SVD_MEM0[114]; /* 0x1400 - 0x15c8 */ 1091 volatile char pad__3[0x38]; /* 0x15c8 - 0x1600 */ 1092 volatile u_int32_t SVD_MEM1[114]; /* 0x1600 - 0x17c8 */ 1093 volatile char pad__4[0x38]; /* 0x17c8 - 0x1800 */ 1094 volatile u_int32_t SVD_MEM2[114]; /* 0x1800 - 0x19c8 */ 1095 volatile char pad__5[0x38]; /* 0x19c8 - 0x1a00 */ 1096 volatile u_int32_t SVD_MEM3[114]; /* 0x1a00 - 0x1bc8 */ 1097 volatile char pad__6[0x38]; /* 0x1bc8 - 0x1c00 */ 1098 volatile u_int32_t SVD_MEM4[114]; /* 0x1c00 - 0x1dc8 */ 1099 volatile char pad__7[0x638]; /* 0x1dc8 - 0x2400 */ 1100 volatile u_int32_t CVCACHE[512]; /* 0x2400 - 0x2c00 */ 1101}; 1102 1103struct radio65_reg { 1104 volatile u_int32_t ch0_RXRF_BIAS1; /* 0x0 - 0x4 */ 1105 volatile u_int32_t ch0_RXRF_BIAS2; /* 0x4 - 0x8 */ 1106 volatile u_int32_t ch0_RXRF_GAINSTAGES; /* 0x8 - 0xc */ 1107 volatile u_int32_t ch0_RXRF_AGC; /* 0xc - 0x10 */ 1108 volatile char pad__0[0x30]; /* 0x10 - 0x40 */ 1109 volatile u_int32_t ch0_TXRF1; /* 0x40 - 0x44 */ 1110 volatile u_int32_t ch0_TXRF2; /* 0x44 - 0x48 */ 1111 volatile u_int32_t ch0_TXRF3; /* 0x48 - 0x4c */ 1112 volatile u_int32_t ch0_TXRF4; /* 0x4c - 0x50 */ 1113 volatile u_int32_t ch0_TXRF5; /* 0x50 - 0x54 */ 1114 volatile u_int32_t ch0_TXRF6; /* 0x54 - 0x58 */ 1115 volatile char pad__1[0x28]; /* 0x58 - 0x80 */ 1116 volatile u_int32_t ch0_SYNTH1; /* 0x80 - 0x84 */ 1117 volatile u_int32_t ch0_SYNTH2; /* 0x84 - 0x88 */ 1118 volatile u_int32_t ch0_SYNTH3; /* 0x88 - 0x8c */ 1119 volatile u_int32_t ch0_SYNTH4; /* 0x8c - 0x90 */ 1120 volatile u_int32_t ch0_SYNTH5; /* 0x90 - 0x94 */ 1121 volatile u_int32_t ch0_SYNTH6; /* 0x94 - 0x98 */ 1122 volatile u_int32_t ch0_SYNTH7; /* 0x98 - 0x9c */ 1123 volatile u_int32_t ch0_SYNTH8; /* 0x9c - 0xa0 */ 1124 volatile u_int32_t ch0_SYNTH9; /* 0xa0 - 0xa4 */ 1125 volatile u_int32_t ch0_SYNTH10; /* 0xa4 - 0xa8 */ 1126 volatile u_int32_t ch0_SYNTH11; /* 0xa8 - 0xac */ 1127 volatile u_int32_t ch0_SYNTH12; /* 0xac - 0xb0 */ 1128 volatile u_int32_t ch0_SYNTH13; /* 0xb0 - 0xb4 */ 1129 volatile u_int32_t ch0_SYNTH14; /* 0xb4 - 0xb8 */ 1130 volatile char pad__2[0x8]; /* 0xb8 - 0xc0 */ 1131 volatile u_int32_t ch0_BIAS1; /* 0xc0 - 0xc4 */ 1132 volatile u_int32_t ch0_BIAS2; /* 0xc4 - 0xc8 */ 1133 volatile u_int32_t ch0_BIAS3; /* 0xc8 - 0xcc */ 1134 volatile u_int32_t ch0_BIAS4; /* 0xcc - 0xd0 */ 1135 volatile char pad__3[0x30]; /* 0xd0 - 0x100 */ 1136 volatile u_int32_t ch0_RXTX1; /* 0x100 - 0x104 */ 1137 volatile u_int32_t ch0_RXTX2; /* 0x104 - 0x108 */ 1138 volatile u_int32_t ch0_RXTX3; /* 0x108 - 0x10c */ 1139 volatile u_int32_t ch0_RXTX4; /* 0x10c - 0x110 */ 1140 volatile char pad__4[0x30]; /* 0x110 - 0x140 */ 1141 volatile u_int32_t ch0_BB1; /* 0x140 - 0x144 */ 1142 volatile u_int32_t ch0_BB2; /* 0x144 - 0x148 */ 1143 volatile u_int32_t ch0_BB3; /* 0x148 - 0x14c */ 1144 volatile char pad__5[0x34]; /* 0x14c - 0x180 */ 1145 volatile u_int32_t ch0_BB_PLL; /* 0x180 - 0x184 */ 1146 volatile u_int32_t ch0_BB_PLL2; /* 0x184 - 0x188 */ 1147 volatile u_int32_t ch0_BB_PLL3; /* 0x188 - 0x18c */ 1148 volatile u_int32_t ch0_BB_PLL4; /* 0x18c - 0x190 */ 1149 volatile char pad__6[0x30]; /* 0x190 - 0x1c0 */ 1150 volatile u_int32_t ch0_CPU_PLL; /* 0x1c0 - 0x1c4 */ 1151 volatile u_int32_t ch0_CPU_PLL2; /* 0x1c4 - 0x1c8 */ 1152 volatile u_int32_t ch0_CPU_PLL3; /* 0x1c8 - 0x1cc */ 1153 volatile u_int32_t ch0_CPU_PLL4; /* 0x1cc - 0x1d0 */ 1154 volatile char pad__7[0x30]; /* 0x1d0 - 0x200 */ 1155 volatile u_int32_t ch0_AUDIO_PLL; /* 0x200 - 0x204 */ 1156 volatile u_int32_t ch0_AUDIO_PLL2; /* 0x204 - 0x208 */ 1157 volatile u_int32_t ch0_AUDIO_PLL3; /* 0x208 - 0x20c */ 1158 volatile u_int32_t ch0_AUDIO_PLL4; /* 0x20c - 0x210 */ 1159 volatile char pad__8[0x30]; /* 0x210 - 0x240 */ 1160 volatile u_int32_t ch0_DDR_PLL; /* 0x240 - 0x244 */ 1161 volatile u_int32_t ch0_DDR_PLL2; /* 0x244 - 0x248 */ 1162 volatile u_int32_t ch0_DDR_PLL3; /* 0x248 - 0x24c */ 1163 volatile u_int32_t ch0_DDR_PLL4; /* 0x24c - 0x250 */ 1164 volatile char pad__9[0x30]; /* 0x250 - 0x280 */ 1165 volatile u_int32_t ch0_TOP; /* 0x280 - 0x284 */ 1166 volatile u_int32_t ch0_TOP2; /* 0x284 - 0x288 */ 1167 volatile u_int32_t ch0_TOP3; /* 0x288 - 0x28c */ 1168 volatile u_int32_t ch0_THERM; /* 0x28c - 0x290 */ 1169 volatile u_int32_t ch0_XTAL; /* 0x290 - 0x294 */ 1170 volatile char pad__10[0xec]; /* 0x294 - 0x380 */ 1171 volatile u_int32_t ch0_rbist_cntrl; /* 0x380 - 0x384 */ 1172 volatile u_int32_t ch0_tx_dc_offset; /* 0x384 - 0x388 */ 1173 volatile u_int32_t ch0_tx_tonegen0; /* 0x388 - 0x38c */ 1174 volatile u_int32_t ch0_tx_tonegen1; /* 0x38c - 0x390 */ 1175 volatile u_int32_t ch0_tx_lftonegen0; /* 0x390 - 0x394 */ 1176 volatile u_int32_t ch0_tx_linear_ramp_i; /* 0x394 - 0x398 */ 1177 volatile u_int32_t ch0_tx_linear_ramp_q; /* 0x398 - 0x39c */ 1178 volatile u_int32_t ch0_tx_prbs_mag; /* 0x39c - 0x3a0 */ 1179 volatile u_int32_t ch0_tx_prbs_seed_i; /* 0x3a0 - 0x3a4 */ 1180 volatile u_int32_t ch0_tx_prbs_seed_q; /* 0x3a4 - 0x3a8 */ 1181 volatile u_int32_t ch0_cmac_dc_cancel; /* 0x3a8 - 0x3ac */ 1182 volatile u_int32_t ch0_cmac_dc_offset; /* 0x3ac - 0x3b0 */ 1183 volatile u_int32_t ch0_cmac_corr; /* 0x3b0 - 0x3b4 */ 1184 volatile u_int32_t ch0_cmac_power; /* 0x3b4 - 0x3b8 */ 1185 volatile u_int32_t ch0_cmac_cross_corr; /* 0x3b8 - 0x3bc */ 1186 volatile u_int32_t ch0_cmac_i2q2; /* 0x3bc - 0x3c0 */ 1187 volatile u_int32_t ch0_cmac_power_hpf; /* 0x3c0 - 0x3c4 */ 1188 volatile u_int32_t ch0_rxdac_set1; /* 0x3c4 - 0x3c8 */ 1189 volatile u_int32_t ch0_rxdac_set2; /* 0x3c8 - 0x3cc */ 1190 volatile u_int32_t ch0_rxdac_long_shift; /* 0x3cc - 0x3d0 */ 1191 volatile u_int32_t ch0_cmac_results_i; /* 0x3d0 - 0x3d4 */ 1192 volatile u_int32_t ch0_cmac_results_q; /* 0x3d4 - 0x3d8 */ 1193 volatile char pad__11[0x28]; /* 0x3d8 - 0x400 */ 1194 volatile u_int32_t ch1_RXRF_BIAS1; /* 0x400 - 0x404 */ 1195 volatile u_int32_t ch1_RXRF_BIAS2; /* 0x404 - 0x408 */ 1196 volatile u_int32_t ch1_RXRF_GAINSTAGES; /* 0x408 - 0x40c */ 1197 volatile u_int32_t ch1_RXRF_AGC; /* 0x40c - 0x410 */ 1198 volatile char pad__12[0x30]; /* 0x410 - 0x440 */ 1199 volatile u_int32_t ch1_TXRF1; /* 0x440 - 0x444 */ 1200 volatile u_int32_t ch1_TXRF2; /* 0x444 - 0x448 */ 1201 volatile u_int32_t ch1_TXRF3; /* 0x448 - 0x44c */ 1202 volatile u_int32_t ch1_TXRF4; /* 0x44c - 0x450 */ 1203 volatile u_int32_t ch1_TXRF5; /* 0x450 - 0x454 */ 1204 volatile u_int32_t ch1_TXRF6; /* 0x454 - 0x458 */ 1205 volatile char pad__13[0xa8]; /* 0x458 - 0x500 */ 1206 volatile u_int32_t ch1_RXTX1; /* 0x500 - 0x504 */ 1207 volatile u_int32_t ch1_RXTX2; /* 0x504 - 0x508 */ 1208 volatile u_int32_t ch1_RXTX3; /* 0x508 - 0x50c */ 1209 volatile u_int32_t ch1_RXTX4; /* 0x50c - 0x510 */ 1210 volatile char pad__14[0x30]; /* 0x510 - 0x540 */ 1211 volatile u_int32_t ch1_BB1; /* 0x540 - 0x544 */ 1212 volatile u_int32_t ch1_BB2; /* 0x544 - 0x548 */ 1213 volatile u_int32_t ch1_BB3; /* 0x548 - 0x54c */ 1214 volatile char pad__15[0x234]; /* 0x54c - 0x780 */ 1215 volatile u_int32_t ch1_rbist_cntrl; /* 0x780 - 0x784 */ 1216 volatile u_int32_t ch1_tx_dc_offset; /* 0x784 - 0x788 */ 1217 volatile u_int32_t ch1_tx_tonegen0; /* 0x788 - 0x78c */ 1218 volatile u_int32_t ch1_tx_tonegen1; /* 0x78c - 0x790 */ 1219 volatile u_int32_t ch1_tx_lftonegen0; /* 0x790 - 0x794 */ 1220 volatile u_int32_t ch1_tx_linear_ramp_i; /* 0x794 - 0x798 */ 1221 volatile u_int32_t ch1_tx_linear_ramp_q; /* 0x798 - 0x79c */ 1222 volatile u_int32_t ch1_tx_prbs_mag; /* 0x79c - 0x7a0 */ 1223 volatile u_int32_t ch1_tx_prbs_seed_i; /* 0x7a0 - 0x7a4 */ 1224 volatile u_int32_t ch1_tx_prbs_seed_q; /* 0x7a4 - 0x7a8 */ 1225 volatile u_int32_t ch1_cmac_dc_cancel; /* 0x7a8 - 0x7ac */ 1226 volatile u_int32_t ch1_cmac_dc_offset; /* 0x7ac - 0x7b0 */ 1227 volatile u_int32_t ch1_cmac_corr; /* 0x7b0 - 0x7b4 */ 1228 volatile u_int32_t ch1_cmac_power; /* 0x7b4 - 0x7b8 */ 1229 volatile u_int32_t ch1_cmac_cross_corr; /* 0x7b8 - 0x7bc */ 1230 volatile u_int32_t ch1_cmac_i2q2; /* 0x7bc - 0x7c0 */ 1231 volatile u_int32_t ch1_cmac_power_hpf; /* 0x7c0 - 0x7c4 */ 1232 volatile u_int32_t ch1_rxdac_set1; /* 0x7c4 - 0x7c8 */ 1233 volatile u_int32_t ch1_rxdac_set2; /* 0x7c8 - 0x7cc */ 1234 volatile u_int32_t ch1_rxdac_long_shift; /* 0x7cc - 0x7d0 */ 1235 volatile u_int32_t ch1_cmac_results_i; /* 0x7d0 - 0x7d4 */ 1236 volatile u_int32_t ch1_cmac_results_q; /* 0x7d4 - 0x7d8 */ 1237 volatile char pad__16[0x28]; /* 0x7d8 - 0x800 */ 1238 volatile u_int32_t ch2_RXRF_BIAS1; /* 0x800 - 0x804 */ 1239 volatile u_int32_t ch2_RXRF_BIAS2; /* 0x804 - 0x808 */ 1240 volatile u_int32_t ch2_RXRF_GAINSTAGES; /* 0x808 - 0x80c */ 1241 volatile u_int32_t ch2_RXRF_AGC; /* 0x80c - 0x810 */ 1242 volatile char pad__17[0x30]; /* 0x810 - 0x840 */ 1243 volatile u_int32_t ch2_TXRF1; /* 0x840 - 0x844 */ 1244 volatile u_int32_t ch2_TXRF2; /* 0x844 - 0x848 */ 1245 volatile u_int32_t ch2_TXRF3; /* 0x848 - 0x84c */ 1246 volatile u_int32_t ch2_TXRF4; /* 0x84c - 0x850 */ 1247 volatile u_int32_t ch2_TXRF5; /* 0x850 - 0x854 */ 1248 volatile u_int32_t ch2_TXRF6; /* 0x854 - 0x858 */ 1249 volatile char pad__18[0xa8]; /* 0x858 - 0x900 */ 1250 volatile u_int32_t ch2_RXTX1; /* 0x900 - 0x904 */ 1251 volatile u_int32_t ch2_RXTX2; /* 0x904 - 0x908 */ 1252 volatile u_int32_t ch2_RXTX3; /* 0x908 - 0x90c */ 1253 volatile u_int32_t ch2_RXTX4; /* 0x90c - 0x910 */ 1254 volatile char pad__19[0x30]; /* 0x910 - 0x940 */ 1255 volatile u_int32_t ch2_BB1; /* 0x940 - 0x944 */ 1256 volatile u_int32_t ch2_BB2; /* 0x944 - 0x948 */ 1257 volatile u_int32_t ch2_BB3; /* 0x948 - 0x94c */ 1258 volatile char pad__20[0x234]; /* 0x94c - 0xb80 */ 1259 volatile u_int32_t ch2_rbist_cntrl; /* 0xb80 - 0xb84 */ 1260 volatile u_int32_t ch2_tx_dc_offset; /* 0xb84 - 0xb88 */ 1261 volatile u_int32_t ch2_tx_tonegen0; /* 0xb88 - 0xb8c */ 1262 volatile u_int32_t ch2_tx_tonegen1; /* 0xb8c - 0xb90 */ 1263 volatile u_int32_t ch2_tx_lftonegen0; /* 0xb90 - 0xb94 */ 1264 volatile u_int32_t ch2_tx_linear_ramp_i; /* 0xb94 - 0xb98 */ 1265 volatile u_int32_t ch2_tx_linear_ramp_q; /* 0xb98 - 0xb9c */ 1266 volatile u_int32_t ch2_tx_prbs_mag; /* 0xb9c - 0xba0 */ 1267 volatile u_int32_t ch2_tx_prbs_seed_i; /* 0xba0 - 0xba4 */ 1268 volatile u_int32_t ch2_tx_prbs_seed_q; /* 0xba4 - 0xba8 */ 1269 volatile u_int32_t ch2_cmac_dc_cancel; /* 0xba8 - 0xbac */ 1270 volatile u_int32_t ch2_cmac_dc_offset; /* 0xbac - 0xbb0 */ 1271 volatile u_int32_t ch2_cmac_corr; /* 0xbb0 - 0xbb4 */ 1272 volatile u_int32_t ch2_cmac_power; /* 0xbb4 - 0xbb8 */ 1273 volatile u_int32_t ch2_cmac_cross_corr; /* 0xbb8 - 0xbbc */ 1274 volatile u_int32_t ch2_cmac_i2q2; /* 0xbbc - 0xbc0 */ 1275 volatile u_int32_t ch2_cmac_power_hpf; /* 0xbc0 - 0xbc4 */ 1276 volatile u_int32_t ch2_rxdac_set1; /* 0xbc4 - 0xbc8 */ 1277 volatile u_int32_t ch2_rxdac_set2; /* 0xbc8 - 0xbcc */ 1278 volatile u_int32_t ch2_rxdac_long_shift; /* 0xbcc - 0xbd0 */ 1279 volatile u_int32_t ch2_cmac_results_i; /* 0xbd0 - 0xbd4 */ 1280 volatile u_int32_t ch2_cmac_results_q; /* 0xbd4 - 0xbd8 */ 1281}; 1282 1283struct scorpion_reg_map { 1284 struct mac_dma_reg mac_dma_reg_map; /* 0x0 - 0x128 */ 1285 volatile char pad__0[0x6d8]; /* 0x128 - 0x800 */ 1286 struct mac_qcu_reg mac_qcu_reg_map; /* 0x800 - 0xa48 */ 1287 volatile char pad__1[0x5b8]; /* 0xa48 - 0x1000 */ 1288 struct mac_dcu_reg mac_dcu_reg_map; /* 0x1000 - 0x1f08 */ 1289 volatile char pad__2[0x50f8]; /* 0x1f08 - 0x7000 */ 1290 struct rtc_reg rtc_reg_map; /* 0x7000 - 0x7040 */ 1291 struct rtc_sync_reg rtc_sync_reg_map; /* 0x7040 - 0x705c */ 1292 volatile char pad__3[0xfa4]; /* 0x705c - 0x8000 */ 1293 struct mac_pcu_reg mac_pcu_reg_map; /* 0x8000 - 0x9800 */ 1294 struct bb_reg_map bb_reg_map; /* 0x9800 - 0xd800 */ 1295 volatile char pad__4[0x800]; /* 0xd800 - 0xe000 */ 1296 struct mac_pcu_buf_reg mac_pcu_buf_reg_map; /* 0xe000 - 0x10000 */ 1297 struct svd_reg svd_reg_map; /* 0x10000 - 0x12c00 */ 1298 volatile char pad__5[0x3400]; /* 0x12c00 - 0x16000 */ 1299 struct radio65_reg radio65_reg_map; /* 0x16000 - 0x16bd8 */ 1300}; 1301 1302#endif /* __REG_SCORPION_REG_MAP_H__ */ 1303