brintos

brintos / linux-shallow public Read only

0
0
Text · 5.9 KiB · 4530540 Raw
137 lines · c
1/*2 * Copyright (c) 2015 Qualcomm Atheros Inc.3 *4 * Permission to use, copy, modify, and/or distribute this software for any5 * purpose with or without fee is hereby granted, provided that the above6 * copyright notice and this permission notice appear in all copies.7 *8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.15 */16 17#ifndef REG_WOW_H18#define REG_WOW_H19 20#define AR_WOW_PATTERN                  0x825C21#define AR_WOW_COUNT                    0x826022#define AR_WOW_BCN_EN                   0x827023#define AR_WOW_BCN_TIMO                 0x827424#define AR_WOW_KEEP_ALIVE_TIMO          0x827825#define AR_WOW_KEEP_ALIVE               0x827c26#define AR_WOW_KEEP_ALIVE_DELAY         0x828827#define AR_WOW_PATTERN_MATCH            0x828c28 29/*30 * AR_WOW_LENGTH131 * bit 31:24 pattern 0 length32 * bit 23:16 pattern 1 length33 * bit 15:8 pattern 2 length34 * bit 7:0 pattern 3 length35 *36 * AR_WOW_LENGTH237 * bit 31:24 pattern 4 length38 * bit 23:16 pattern 5 length39 * bit 15:8 pattern 6 length40 * bit 7:0 pattern 7 length41 *42 * AR_WOW_LENGTH343 * bit 31:24 pattern 8 length44 * bit 23:16 pattern 9 length45 * bit 15:8 pattern 10 length46 * bit 7:0 pattern 11 length47 *48 * AR_WOW_LENGTH449 * bit 31:24 pattern 12 length50 * bit 23:16 pattern 13 length51 * bit 15:8 pattern 14 length52 * bit 7:0 pattern 15 length53 */54#define AR_WOW_LENGTH1                  0x836055#define AR_WOW_LENGTH2                  0X836456#define AR_WOW_LENGTH3                  0X838057#define AR_WOW_LENGTH4                  0X838458 59#define AR_WOW_PATTERN_MATCH_LT_256B    0x836860#define AR_MAC_PCU_WOW4                 0x837061 62#define AR_SW_WOW_CONTROL               0x2001863#define AR_SW_WOW_ENABLE                0x164#define AR_SWITCH_TO_REFCLK             0x265#define AR_RESET_CONTROL                0x466#define AR_RESET_VALUE_MASK             0x867#define AR_HW_WOW_DISABLE               0x1068#define AR_CLR_MAC_INTERRUPT            0x2069#define AR_CLR_KA_INTERRUPT             0x4070 71#define AR_WOW_BACK_OFF_SHIFT(x)        ((x & 0xf) << 27) /* in usecs */72#define AR_WOW_MAC_INTR_EN              0x0004000073#define AR_WOW_MAGIC_EN                 0x0001000074#define AR_WOW_PATTERN_EN(x)            (x & 0xff)75#define AR_WOW_PAT_FOUND_SHIFT          876#define AR_WOW_PATTERN_FOUND(x)         (x & (0xff << AR_WOW_PAT_FOUND_SHIFT))77#define AR_WOW_PATTERN_FOUND_MASK       ((0xff) << AR_WOW_PAT_FOUND_SHIFT)78#define AR_WOW_MAGIC_PAT_FOUND          0x0002000079#define AR_WOW_MAC_INTR                 0x0008000080#define AR_WOW_KEEP_ALIVE_FAIL          0x0010000081#define AR_WOW_BEACON_FAIL              0x0020000082 83#define AR_WOW_STATUS(x)                (x & (AR_WOW_PATTERN_FOUND_MASK | \84                                              AR_WOW_MAGIC_PAT_FOUND    | \85                                              AR_WOW_KEEP_ALIVE_FAIL    | \86                                              AR_WOW_BEACON_FAIL))87#define AR_WOW_CLEAR_EVENTS(x)          (x & ~(AR_WOW_PATTERN_EN(0xff) | \88                                               AR_WOW_MAGIC_EN |	\89                                               AR_WOW_MAC_INTR_EN |	\90                                               AR_WOW_BEACON_FAIL |	\91                                               AR_WOW_KEEP_ALIVE_FAIL))92 93#define AR_WOW2_PATTERN_EN(x)           ((x & 0xff) << 0)94#define AR_WOW2_PATTERN_FOUND_SHIFT     895#define AR_WOW2_PATTERN_FOUND(x)        (x & (0xff << AR_WOW2_PATTERN_FOUND_SHIFT))96#define AR_WOW2_PATTERN_FOUND_MASK      ((0xff) << AR_WOW2_PATTERN_FOUND_SHIFT)97 98#define AR_WOW_STATUS2(x)               (x & AR_WOW2_PATTERN_FOUND_MASK)99#define AR_WOW_CLEAR_EVENTS2(x)         (x & ~(AR_WOW2_PATTERN_EN(0xff)))100 101#define AR_WOW_AIFS_CNT(x)              (x & 0xff)102#define AR_WOW_SLOT_CNT(x)              ((x & 0xff) << 8)103#define AR_WOW_KEEP_ALIVE_CNT(x)        ((x & 0xff) << 16)104 105#define AR_WOW_BEACON_FAIL_EN           0x00000001106#define AR_WOW_BEACON_TIMO              0x40000000107#define AR_WOW_KEEP_ALIVE_NEVER         0xffffffff108#define AR_WOW_KEEP_ALIVE_AUTO_DIS      0x00000001109#define AR_WOW_KEEP_ALIVE_FAIL_DIS      0x00000002110#define AR_WOW_KEEP_ALIVE_DELAY_VALUE   0x000003e8 /* 1 msec */111#define AR_WOW_BMISSTHRESHOLD           0x20112#define AR_WOW_PAT_END_OF_PKT(x)        (x & 0xf)113#define AR_WOW_PAT_OFF_MATCH(x)         ((x & 0xf) << 8)114#define AR_WOW_PAT_BACKOFF              0x00000004115#define AR_WOW_CNT_AIFS_CNT             0x00000022116#define AR_WOW_CNT_SLOT_CNT             0x00000009117#define AR_WOW_CNT_KA_CNT               0x00000008118 119#define AR_WOW_TRANSMIT_BUFFER          0xe000120#define AR_WOW_TXBUF(i)                 (AR_WOW_TRANSMIT_BUFFER + ((i) << 2))121#define AR_WOW_KA_DESC_WORD2            0xe000122#define AR_WOW_TB_PATTERN(i)            (0xe100 + (i << 8))123#define AR_WOW_TB_MASK(i)               (0xec00 + (i << 5))124#define AR_WOW_PATTERN_SUPPORTED_LEGACY 0xff125#define AR_WOW_PATTERN_SUPPORTED        0xffff126#define AR_WOW_LENGTH_MAX               0xff127#define AR_WOW_LEN1_SHIFT(_i)           ((0x3 - ((_i) & 0x3)) << 0x3)128#define AR_WOW_LENGTH1_MASK(_i)         (AR_WOW_LENGTH_MAX << AR_WOW_LEN1_SHIFT(_i))129#define AR_WOW_LEN2_SHIFT(_i)           ((0x7 - ((_i) & 0x7)) << 0x3)130#define AR_WOW_LENGTH2_MASK(_i)         (AR_WOW_LENGTH_MAX << AR_WOW_LEN2_SHIFT(_i))131#define AR_WOW_LEN3_SHIFT(_i)           ((0xb - ((_i) & 0xb)) << 0x3)132#define AR_WOW_LENGTH3_MASK(_i)         (AR_WOW_LENGTH_MAX << AR_WOW_LEN3_SHIFT(_i))133#define AR_WOW_LEN4_SHIFT(_i)           ((0xf - ((_i) & 0xf)) << 0x3)134#define AR_WOW_LENGTH4_MASK(_i)         (AR_WOW_LENGTH_MAX << AR_WOW_LEN4_SHIFT(_i))135 136#endif /* REG_WOW_H */137