root/drivers/net/wireless/ti/wl12xx/reg.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * This file is part of wl12xx
   4  *
   5  * Copyright (C) 1998-2009 Texas Instruments. All rights reserved.
   6  * Copyright (C) 2009 Nokia Corporation
   7  *
   8  * Contact: Luciano Coelho <luciano.coelho@nokia.com>
   9  */
  10 
  11 #ifndef __REG_H__
  12 #define __REG_H__
  13 
  14 #include <linux/bitops.h>
  15 
  16 #define REGISTERS_BASE 0x00300000
  17 #define DRPW_BASE      0x00310000
  18 
  19 #define REGISTERS_DOWN_SIZE 0x00008800
  20 #define REGISTERS_WORK_SIZE 0x0000b000
  21 
  22 #define FW_STATUS_ADDR                      (0x14FC0 + 0xA000)
  23 
  24 /*===============================================
  25    Host Software Reset - 32bit RW
  26  ------------------------------------------
  27     [31:1] Reserved
  28     0  SOFT_RESET Soft Reset  - When this bit is set,
  29     it holds the Wlan hardware in a soft reset state.
  30     This reset disables all MAC and baseband processor
  31     clocks except the CardBus/PCI interface clock.
  32     It also initializes all MAC state machines except
  33     the host interface. It does not reload the
  34     contents of the EEPROM. When this bit is cleared
  35     (not self-clearing), the Wlan hardware
  36     exits the software reset state.
  37 ===============================================*/
  38 #define WL12XX_SLV_SOFT_RESET           (REGISTERS_BASE + 0x0000)
  39 
  40 #define WL1271_SLV_REG_DATA            (REGISTERS_BASE + 0x0008)
  41 #define WL1271_SLV_REG_ADATA           (REGISTERS_BASE + 0x000c)
  42 #define WL1271_SLV_MEM_DATA            (REGISTERS_BASE + 0x0018)
  43 
  44 #define WL12XX_REG_INTERRUPT_TRIG         (REGISTERS_BASE + 0x0474)
  45 #define WL12XX_REG_INTERRUPT_TRIG_H       (REGISTERS_BASE + 0x0478)
  46 
  47 /*=============================================
  48   Host Interrupt Mask Register - 32bit (RW)
  49   ------------------------------------------
  50   Setting a bit in this register masks the
  51   corresponding interrupt to the host.
  52   0 - RX0               - Rx first dubble buffer Data Interrupt
  53   1 - TXD               - Tx Data Interrupt
  54   2 - TXXFR             - Tx Transfer Interrupt
  55   3 - RX1               - Rx second dubble buffer Data Interrupt
  56   4 - RXXFR             - Rx Transfer Interrupt
  57   5 - EVENT_A   - Event Mailbox interrupt
  58   6 - EVENT_B   - Event Mailbox interrupt
  59   7 - WNONHST   - Wake On Host Interrupt
  60   8 - TRACE_A   - Debug Trace interrupt
  61   9 - TRACE_B   - Debug Trace interrupt
  62  10 - CDCMP             - Command Complete Interrupt
  63  11 -
  64  12 -
  65  13 -
  66  14 - ICOMP             - Initialization Complete Interrupt
  67  16 - SG SE             - Soft Gemini - Sense enable interrupt
  68  17 - SG SD             - Soft Gemini - Sense disable interrupt
  69  18 -                   -
  70  19 -                   -
  71  20 -                   -
  72  21-                    -
  73  Default: 0x0001
  74 *==============================================*/
  75 #define WL12XX_REG_INTERRUPT_MASK         (REGISTERS_BASE + 0x04DC)
  76 
  77 /*=============================================
  78   Host Interrupt Mask Set 16bit, (Write only)
  79   ------------------------------------------
  80  Setting a bit in this register sets
  81  the corresponding bin in ACX_HINT_MASK register
  82  without effecting the mask
  83  state of other bits (0 = no effect).
  84 ==============================================*/
  85 #define ACX_REG_HINT_MASK_SET          (REGISTERS_BASE + 0x04E0)
  86 
  87 /*=============================================
  88   Host Interrupt Mask Clear 16bit,(Write only)
  89   ------------------------------------------
  90  Setting a bit in this register clears
  91  the corresponding bin in ACX_HINT_MASK register
  92  without effecting the mask
  93  state of other bits (0 = no effect).
  94 =============================================*/
  95 #define ACX_REG_HINT_MASK_CLR          (REGISTERS_BASE + 0x04E4)
  96 
  97 /*=============================================
  98   Host Interrupt Status Nondestructive Read
  99   16bit,(Read only)
 100   ------------------------------------------
 101  The host can read this register to determine
 102  which interrupts are active.
 103  Reading this register doesn't
 104  effect its content.
 105 =============================================*/
 106 #define WL12XX_REG_INTERRUPT_NO_CLEAR     (REGISTERS_BASE + 0x04E8)
 107 
 108 /*=============================================
 109   Host Interrupt Status Clear on Read  Register
 110   16bit,(Read only)
 111   ------------------------------------------
 112  The host can read this register to determine
 113  which interrupts are active.
 114  Reading this register clears it,
 115  thus making all interrupts inactive.
 116 ==============================================*/
 117 #define ACX_REG_INTERRUPT_CLEAR        (REGISTERS_BASE + 0x04F8)
 118 
 119 /*=============================================
 120   Host Interrupt Acknowledge Register
 121   16bit,(Write only)
 122   ------------------------------------------
 123  The host can set individual bits in this
 124  register to clear (acknowledge) the corresp.
 125  interrupt status bits in the HINT_STS_CLR and
 126  HINT_STS_ND registers, thus making the
 127  assotiated interrupt inactive. (0-no effect)
 128 ==============================================*/
 129 #define WL12XX_REG_INTERRUPT_ACK          (REGISTERS_BASE + 0x04F0)
 130 
 131 #define WL12XX_REG_RX_DRIVER_COUNTER    (REGISTERS_BASE + 0x0538)
 132 
 133 /* Device Configuration registers*/
 134 #define SOR_CFG                        (REGISTERS_BASE + 0x0800)
 135 
 136 /* Embedded ARM CPU Control */
 137 
 138 /*===============================================
 139  Halt eCPU   - 32bit RW
 140  ------------------------------------------
 141  0 HALT_ECPU Halt Embedded CPU - This bit is the
 142  compliment of bit 1 (MDATA2) in the SOR_CFG register.
 143  During a hardware reset, this bit holds
 144  the inverse of MDATA2.
 145  When downloading firmware from the host,
 146  set this bit (pull down MDATA2).
 147  The host clears this bit after downloading the firmware into
 148  zero-wait-state SSRAM.
 149  When loading firmware from Flash, clear this bit (pull up MDATA2)
 150  so that the eCPU can run the bootloader code in Flash
 151  HALT_ECPU eCPU State
 152  --------------------
 153  1 halt eCPU
 154  0 enable eCPU
 155  ===============================================*/
 156 #define WL12XX_REG_ECPU_CONTROL           (REGISTERS_BASE + 0x0804)
 157 
 158 #define WL12XX_HI_CFG                   (REGISTERS_BASE + 0x0808)
 159 
 160 /*===============================================
 161  EEPROM Burst Read Start  - 32bit RW
 162  ------------------------------------------
 163  [31:1] Reserved
 164  0  ACX_EE_START -  EEPROM Burst Read Start 0
 165  Setting this bit starts a burst read from
 166  the external EEPROM.
 167  If this bit is set (after reset) before an EEPROM read/write,
 168  the burst read starts at EEPROM address 0.
 169  Otherwise, it starts at the address
 170  following the address of the previous access.
 171  TheWlan hardware hardware clears this bit automatically.
 172 
 173  Default: 0x00000000
 174 *================================================*/
 175 #define ACX_REG_EE_START               (REGISTERS_BASE + 0x080C)
 176 
 177 #define WL12XX_OCP_POR_CTR              (REGISTERS_BASE + 0x09B4)
 178 #define WL12XX_OCP_DATA_WRITE           (REGISTERS_BASE + 0x09B8)
 179 #define WL12XX_OCP_DATA_READ            (REGISTERS_BASE + 0x09BC)
 180 #define WL12XX_OCP_CMD                  (REGISTERS_BASE + 0x09C0)
 181 
 182 #define WL12XX_HOST_WR_ACCESS           (REGISTERS_BASE + 0x09F8)
 183 
 184 #define WL12XX_CHIP_ID_B                (REGISTERS_BASE + 0x5674)
 185 
 186 #define WL12XX_ENABLE                   (REGISTERS_BASE + 0x5450)
 187 
 188 /* Power Management registers */
 189 #define WL12XX_ELP_CFG_MODE             (REGISTERS_BASE + 0x5804)
 190 #define WL12XX_ELP_CMD                  (REGISTERS_BASE + 0x5808)
 191 #define WL12XX_PLL_CAL_TIME             (REGISTERS_BASE + 0x5810)
 192 #define WL12XX_CLK_REQ_TIME             (REGISTERS_BASE + 0x5814)
 193 #define WL12XX_CLK_BUF_TIME             (REGISTERS_BASE + 0x5818)
 194 
 195 #define WL12XX_CFG_PLL_SYNC_CNT         (REGISTERS_BASE + 0x5820)
 196 
 197 /* Scratch Pad registers*/
 198 #define WL12XX_SCR_PAD0                 (REGISTERS_BASE + 0x5608)
 199 #define WL12XX_SCR_PAD1                 (REGISTERS_BASE + 0x560C)
 200 #define WL12XX_SCR_PAD2                 (REGISTERS_BASE + 0x5610)
 201 #define WL12XX_SCR_PAD3                 (REGISTERS_BASE + 0x5614)
 202 #define WL12XX_SCR_PAD4                 (REGISTERS_BASE + 0x5618)
 203 #define WL12XX_SCR_PAD4_SET             (REGISTERS_BASE + 0x561C)
 204 #define WL12XX_SCR_PAD4_CLR             (REGISTERS_BASE + 0x5620)
 205 #define WL12XX_SCR_PAD5                 (REGISTERS_BASE + 0x5624)
 206 #define WL12XX_SCR_PAD5_SET             (REGISTERS_BASE + 0x5628)
 207 #define WL12XX_SCR_PAD5_CLR             (REGISTERS_BASE + 0x562C)
 208 #define WL12XX_SCR_PAD6                 (REGISTERS_BASE + 0x5630)
 209 #define WL12XX_SCR_PAD7                 (REGISTERS_BASE + 0x5634)
 210 #define WL12XX_SCR_PAD8                 (REGISTERS_BASE + 0x5638)
 211 #define WL12XX_SCR_PAD9                 (REGISTERS_BASE + 0x563C)
 212 
 213 /* Spare registers*/
 214 #define WL12XX_SPARE_A1                 (REGISTERS_BASE + 0x0994)
 215 #define WL12XX_SPARE_A2                 (REGISTERS_BASE + 0x0998)
 216 #define WL12XX_SPARE_A3                 (REGISTERS_BASE + 0x099C)
 217 #define WL12XX_SPARE_A4                 (REGISTERS_BASE + 0x09A0)
 218 #define WL12XX_SPARE_A5                 (REGISTERS_BASE + 0x09A4)
 219 #define WL12XX_SPARE_A6                 (REGISTERS_BASE + 0x09A8)
 220 #define WL12XX_SPARE_A7                 (REGISTERS_BASE + 0x09AC)
 221 #define WL12XX_SPARE_A8                 (REGISTERS_BASE + 0x09B0)
 222 #define WL12XX_SPARE_B1                 (REGISTERS_BASE + 0x5420)
 223 #define WL12XX_SPARE_B2                 (REGISTERS_BASE + 0x5424)
 224 #define WL12XX_SPARE_B3                 (REGISTERS_BASE + 0x5428)
 225 #define WL12XX_SPARE_B4                 (REGISTERS_BASE + 0x542C)
 226 #define WL12XX_SPARE_B5                 (REGISTERS_BASE + 0x5430)
 227 #define WL12XX_SPARE_B6                 (REGISTERS_BASE + 0x5434)
 228 #define WL12XX_SPARE_B7                 (REGISTERS_BASE + 0x5438)
 229 #define WL12XX_SPARE_B8                 (REGISTERS_BASE + 0x543C)
 230 
 231 #define WL12XX_PLL_PARAMETERS           (REGISTERS_BASE + 0x6040)
 232 #define WL12XX_WU_COUNTER_PAUSE         (REGISTERS_BASE + 0x6008)
 233 #define WL12XX_WELP_ARM_COMMAND         (REGISTERS_BASE + 0x6100)
 234 #define WL12XX_DRPW_SCRATCH_START       (DRPW_BASE + 0x002C)
 235 
 236 #define WL12XX_CMD_MBOX_ADDRESS         0x407B4
 237 
 238 #define ACX_REG_EEPROM_START_BIT BIT(1)
 239 
 240 /* Command/Information Mailbox Pointers */
 241 
 242 /*===============================================
 243   Command Mailbox Pointer - 32bit RW
 244  ------------------------------------------
 245  This register holds the start address of
 246  the command mailbox located in the Wlan hardware memory.
 247  The host must read this pointer after a reset to
 248  find the location of the command mailbox.
 249  The Wlan hardware initializes the command mailbox
 250  pointer with the default address of the command mailbox.
 251  The command mailbox pointer is not valid until after
 252  the host receives the Init Complete interrupt from
 253  the Wlan hardware.
 254  ===============================================*/
 255 #define WL12XX_REG_COMMAND_MAILBOX_PTR          (WL12XX_SCR_PAD0)
 256 
 257 /*===============================================
 258   Information Mailbox Pointer - 32bit RW
 259  ------------------------------------------
 260  This register holds the start address of
 261  the information mailbox located in the Wlan hardware memory.
 262  The host must read this pointer after a reset to find
 263  the location of the information mailbox.
 264  The Wlan hardware initializes the information mailbox pointer
 265  with the default address of the information mailbox.
 266  The information mailbox pointer is not valid
 267  until after the host receives the Init Complete interrupt from
 268  the Wlan hardware.
 269  ===============================================*/
 270 #define WL12XX_REG_EVENT_MAILBOX_PTR            (WL12XX_SCR_PAD1)
 271 
 272 /*===============================================
 273  EEPROM Read/Write Request 32bit RW
 274  ------------------------------------------
 275  1 EE_READ - EEPROM Read Request 1 - Setting this bit
 276  loads a single byte of data into the EE_DATA
 277  register from the EEPROM location specified in
 278  the EE_ADDR register.
 279  The Wlan hardware hardware clears this bit automatically.
 280  EE_DATA is valid when this bit is cleared.
 281 
 282  0 EE_WRITE  - EEPROM Write Request  - Setting this bit
 283  writes a single byte of data from the EE_DATA register into the
 284  EEPROM location specified in the EE_ADDR register.
 285  The Wlan hardware hardware clears this bit automatically.
 286 *===============================================*/
 287 #define ACX_EE_CTL_REG                      EE_CTL
 288 #define EE_WRITE                            0x00000001ul
 289 #define EE_READ                             0x00000002ul
 290 
 291 /*===============================================
 292   EEPROM Address  - 32bit RW
 293   ------------------------------------------
 294   This register specifies the address
 295   within the EEPROM from/to which to read/write data.
 296   ===============================================*/
 297 #define ACX_EE_ADDR_REG                     EE_ADDR
 298 
 299 /*===============================================
 300   EEPROM Data  - 32bit RW
 301   ------------------------------------------
 302   This register either holds the read 8 bits of
 303   data from the EEPROM or the write data
 304   to be written to the EEPROM.
 305   ===============================================*/
 306 #define ACX_EE_DATA_REG                     EE_DATA
 307 
 308 /*===============================================
 309   EEPROM Base Address  - 32bit RW
 310   ------------------------------------------
 311   This register holds the upper nine bits
 312   [23:15] of the 24-bit Wlan hardware memory
 313   address for burst reads from EEPROM accesses.
 314   The EEPROM provides the lower 15 bits of this address.
 315   The MSB of the address from the EEPROM is ignored.
 316   ===============================================*/
 317 #define ACX_EE_CFG                          EE_CFG
 318 
 319 /*===============================================
 320   GPIO Output Values  -32bit, RW
 321   ------------------------------------------
 322   [31:16]  Reserved
 323   [15: 0]  Specify the output values (at the output driver inputs) for
 324   GPIO[15:0], respectively.
 325   ===============================================*/
 326 #define ACX_GPIO_OUT_REG            GPIO_OUT
 327 #define ACX_MAX_GPIO_LINES          15
 328 
 329 /*===============================================
 330   Contention window  -32bit, RW
 331   ------------------------------------------
 332   [31:26]  Reserved
 333   [25:16]  Max (0x3ff)
 334   [15:07]  Reserved
 335   [06:00]  Current contention window value - default is 0x1F
 336   ===============================================*/
 337 #define ACX_CONT_WIND_CFG_REG    CONT_WIND_CFG
 338 #define ACX_CONT_WIND_MIN_MASK   0x0000007f
 339 #define ACX_CONT_WIND_MAX        0x03ff0000
 340 
 341 #define REF_FREQ_19_2                       0
 342 #define REF_FREQ_26_0                       1
 343 #define REF_FREQ_38_4                       2
 344 #define REF_FREQ_40_0                       3
 345 #define REF_FREQ_33_6                       4
 346 #define REF_FREQ_NUM                        5
 347 
 348 #define LUT_PARAM_INTEGER_DIVIDER           0
 349 #define LUT_PARAM_FRACTIONAL_DIVIDER        1
 350 #define LUT_PARAM_ATTN_BB                   2
 351 #define LUT_PARAM_ALPHA_BB                  3
 352 #define LUT_PARAM_STOP_TIME_BB              4
 353 #define LUT_PARAM_BB_PLL_LOOP_FILTER        5
 354 #define LUT_PARAM_NUM                       6
 355 
 356 #define WL12XX_EEPROMLESS_IND           (WL12XX_SCR_PAD4)
 357 #define USE_EEPROM                          0
 358 #define NVS_DATA_BUNDARY_ALIGNMENT          4
 359 
 360 /* Firmware image header size */
 361 #define FW_HDR_SIZE 8
 362 
 363 /******************************************************************************
 364 
 365     CHANNELS, BAND & REG DOMAINS definitions
 366 
 367 ******************************************************************************/
 368 
 369 #define SHORT_PREAMBLE_BIT   BIT(0) /* CCK or Barker depending on the rate */
 370 #define OFDM_RATE_BIT        BIT(6)
 371 #define PBCC_RATE_BIT        BIT(7)
 372 
 373 enum {
 374         CCK_LONG = 0,
 375         CCK_SHORT = SHORT_PREAMBLE_BIT,
 376         PBCC_LONG = PBCC_RATE_BIT,
 377         PBCC_SHORT = PBCC_RATE_BIT | SHORT_PREAMBLE_BIT,
 378         OFDM = OFDM_RATE_BIT
 379 };
 380 
 381 /******************************************************************************
 382 
 383 Transmit-Descriptor RATE-SET field definitions...
 384 
 385 Define a new "Rate-Set" for TX path that incorporates the
 386 Rate & Modulation info into a single 16-bit field.
 387 
 388 TxdRateSet_t:
 389 b15   - Indicates Preamble type (1=SHORT, 0=LONG).
 390         Notes:
 391         Must be LONG (0) for 1Mbps rate.
 392         Does not apply (set to 0) for RevG-OFDM rates.
 393 b14   - Indicates PBCC encoding (1=PBCC, 0=not).
 394         Notes:
 395         Does not apply (set to 0) for rates 1 and 2 Mbps.
 396         Does not apply (set to 0) for RevG-OFDM rates.
 397 b13    - Unused (set to 0).
 398 b12-b0 - Supported Rate indicator bits as defined below.
 399 
 400 ******************************************************************************/
 401 
 402 #define OCP_CMD_LOOP            32
 403 #define OCP_CMD_WRITE           0x1
 404 #define OCP_CMD_READ            0x2
 405 #define OCP_READY_MASK          BIT(18)
 406 #define OCP_STATUS_MASK         (BIT(16) | BIT(17))
 407 #define OCP_STATUS_NO_RESP      0x00000
 408 #define OCP_STATUS_OK           0x10000
 409 #define OCP_STATUS_REQ_FAILED   0x20000
 410 #define OCP_STATUS_RESP_ERROR   0x30000
 411 
 412 #define OCP_REG_POLARITY     0x0064
 413 #define OCP_REG_CLK_TYPE     0x0448
 414 #define OCP_REG_CLK_POLARITY 0x0cb2
 415 #define OCP_REG_CLK_PULL     0x0cb4
 416 
 417 #define POLARITY_LOW         BIT(1)
 418 #define NO_PULL              (BIT(14) | BIT(15))
 419 
 420 #define FREF_CLK_TYPE_BITS     0xfffffe7f
 421 #define CLK_REQ_PRCM           0x100
 422 #define FREF_CLK_POLARITY_BITS 0xfffff8ff
 423 #define CLK_REQ_OUTN_SEL       0x700
 424 
 425 #define WU_COUNTER_PAUSE_VAL 0x3FF
 426 
 427 /* PLL configuration algorithm for wl128x */
 428 #define SYS_CLK_CFG_REG              0x2200
 429 /* Bit[0]   -  0-TCXO,  1-FREF */
 430 #define MCS_PLL_CLK_SEL_FREF         BIT(0)
 431 /* Bit[3:2] - 01-TCXO, 10-FREF */
 432 #define WL_CLK_REQ_TYPE_FREF         BIT(3)
 433 #define WL_CLK_REQ_TYPE_PG2          (BIT(3) | BIT(2))
 434 /* Bit[4]   -  0-TCXO,  1-FREF */
 435 #define PRCM_CM_EN_MUX_WLAN_FREF     BIT(4)
 436 
 437 #define TCXO_ILOAD_INT_REG           0x2264
 438 #define TCXO_CLK_DETECT_REG          0x2266
 439 
 440 #define TCXO_DET_FAILED              BIT(4)
 441 
 442 #define FREF_ILOAD_INT_REG           0x2084
 443 #define FREF_CLK_DETECT_REG          0x2086
 444 #define FREF_CLK_DETECT_FAIL         BIT(4)
 445 
 446 /* Use this reg for masking during driver access */
 447 #define WL_SPARE_REG                 0x2320
 448 #define WL_SPARE_VAL                 BIT(2)
 449 /* Bit[6:5:3] -  mask wl write SYS_CLK_CFG[8:5:2:4] */
 450 #define WL_SPARE_MASK_8526           (BIT(6) | BIT(5) | BIT(3))
 451 
 452 #define PLL_LOCK_COUNTERS_REG        0xD8C
 453 #define PLL_LOCK_COUNTERS_COEX       0x0F
 454 #define PLL_LOCK_COUNTERS_MCS        0xF0
 455 #define MCS_PLL_OVERRIDE_REG         0xD90
 456 #define MCS_PLL_CONFIG_REG           0xD92
 457 #define MCS_SEL_IN_FREQ_MASK         0x0070
 458 #define MCS_SEL_IN_FREQ_SHIFT        4
 459 #define MCS_PLL_CONFIG_REG_VAL       0x73
 460 #define MCS_PLL_ENABLE_HP            (BIT(0) | BIT(1))
 461 
 462 #define MCS_PLL_M_REG                0xD94
 463 #define MCS_PLL_N_REG                0xD96
 464 #define MCS_PLL_M_REG_VAL            0xC8
 465 #define MCS_PLL_N_REG_VAL            0x07
 466 
 467 #define SDIO_IO_DS                   0xd14
 468 
 469 /* SDIO/wSPI DS configuration values */
 470 enum {
 471         HCI_IO_DS_8MA = 0,
 472         HCI_IO_DS_4MA = 1, /* default */
 473         HCI_IO_DS_6MA = 2,
 474         HCI_IO_DS_2MA = 3,
 475 };
 476 
 477 /* end PLL configuration algorithm for wl128x */
 478 
 479 /*
 480  * Host Command Interrupt. Setting this bit masks
 481  * the interrupt that the host issues to inform
 482  * the FW that it has sent a command
 483  * to the Wlan hardware Command Mailbox.
 484  */
 485 #define WL12XX_INTR_TRIG_CMD            BIT(0)
 486 
 487 /*
 488  * Host Event Acknowlegde Interrupt. The host
 489  * sets this bit to acknowledge that it received
 490  * the unsolicited information from the event
 491  * mailbox.
 492  */
 493 #define WL12XX_INTR_TRIG_EVENT_ACK      BIT(1)
 494 
 495 /*===============================================
 496   HI_CFG Interface Configuration Register Values
 497   ------------------------------------------
 498   ===============================================*/
 499 #define HI_CFG_UART_ENABLE          0x00000004
 500 #define HI_CFG_RST232_ENABLE        0x00000008
 501 #define HI_CFG_CLOCK_REQ_SELECT     0x00000010
 502 #define HI_CFG_HOST_INT_ENABLE      0x00000020
 503 #define HI_CFG_VLYNQ_OUTPUT_ENABLE  0x00000040
 504 #define HI_CFG_HOST_INT_ACTIVE_LOW  0x00000080
 505 #define HI_CFG_UART_TX_OUT_GPIO_15  0x00000100
 506 #define HI_CFG_UART_TX_OUT_GPIO_14  0x00000200
 507 #define HI_CFG_UART_TX_OUT_GPIO_7   0x00000400
 508 
 509 #define HI_CFG_DEF_VAL              \
 510         (HI_CFG_UART_ENABLE |        \
 511         HI_CFG_RST232_ENABLE |      \
 512         HI_CFG_CLOCK_REQ_SELECT |   \
 513         HI_CFG_HOST_INT_ENABLE)
 514 
 515 #define WL127X_REG_FUSE_DATA_2_1        0x050a
 516 #define WL128X_REG_FUSE_DATA_2_1        0x2152
 517 #define PG_VER_MASK                     0x3c
 518 #define PG_VER_OFFSET                   2
 519 
 520 #define WL127X_PG_MAJOR_VER_MASK        0x3
 521 #define WL127X_PG_MAJOR_VER_OFFSET      0x0
 522 #define WL127X_PG_MINOR_VER_MASK        0xc
 523 #define WL127X_PG_MINOR_VER_OFFSET      0x2
 524 
 525 #define WL128X_PG_MAJOR_VER_MASK        0xc
 526 #define WL128X_PG_MAJOR_VER_OFFSET      0x2
 527 #define WL128X_PG_MINOR_VER_MASK        0x3
 528 #define WL128X_PG_MINOR_VER_OFFSET      0x0
 529 
 530 #define WL127X_PG_GET_MAJOR(pg_ver) ((pg_ver & WL127X_PG_MAJOR_VER_MASK) >> \
 531                                      WL127X_PG_MAJOR_VER_OFFSET)
 532 #define WL127X_PG_GET_MINOR(pg_ver) ((pg_ver & WL127X_PG_MINOR_VER_MASK) >> \
 533                                      WL127X_PG_MINOR_VER_OFFSET)
 534 #define WL128X_PG_GET_MAJOR(pg_ver) ((pg_ver & WL128X_PG_MAJOR_VER_MASK) >> \
 535                                      WL128X_PG_MAJOR_VER_OFFSET)
 536 #define WL128X_PG_GET_MINOR(pg_ver) ((pg_ver & WL128X_PG_MINOR_VER_MASK) >> \
 537                                      WL128X_PG_MINOR_VER_OFFSET)
 538 
 539 #define WL12XX_REG_FUSE_BD_ADDR_1       0x00310eb4
 540 #define WL12XX_REG_FUSE_BD_ADDR_2       0x00310eb8
 541 
 542 #endif

/* [<][>][^][v][top][bottom][index][help] */