1981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* 2981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * TWDriverRate.h 3981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 4981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved. 5981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * All rights reserved. 6981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 7981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Redistribution and use in source and binary forms, with or without 8981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * modification, are permitted provided that the following conditions 9981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * are met: 10981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 11981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * * Redistributions of source code must retain the above copyright 12981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * notice, this list of conditions and the following disclaimer. 13981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * * Redistributions in binary form must reproduce the above copyright 14981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * notice, this list of conditions and the following disclaimer in 15981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * the documentation and/or other materials provided with the 16981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * distribution. 17981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * * Neither the name Texas Instruments nor the names of its 18981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * contributors may be used to endorse or promote products derived 19981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * from this software without specific prior written permission. 20981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 21981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 33981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 34981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifndef TWDRIVERRATE_H 35981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TWDRIVERRATE_H 36981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 37981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \file TWDriverRate.h 38981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief TWDriver Rate APIs 39981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 40981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \see 41981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 42981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 43981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \enum ERate 44981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Rate Types 45981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 46981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 47981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Driver's TX Control Frame Rate Format Type 48981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 49981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa 50981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 51981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum 52981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 53981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_AUTO = 0, /**< Auto */ 54981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_1M = 1, /**< 1M */ 55981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_2M = 2, /**< 2M */ 56981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_5_5M = 3, /**< 5.5M */ 57981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_11M = 4, /**< 11M */ 58981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_22M = 5, /**< 22M */ 59981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_6M = 6, /**< 6M */ 60981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_9M = 7, /**< 9M */ 61981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_12M = 8, /**< 12M */ 62981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_18M = 9, /**< 18M */ 63981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_24M = 10, /**< 24M */ 64981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_36M = 11, /**< 36M */ 65981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_48M = 12, /**< 48M */ 66981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_54M = 13, /**< 54M */ 67981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MCS_0 = 14, /**< 6.5M or 7.2 */ 68981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MCS_1 = 15, /**< 13.0M or 14.4 */ 69981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MCS_2 = 16, /**< 19.5M or 21.7 */ 70981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MCS_3 = 17, /**< 26.0M or 28.9 */ 71981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MCS_4 = 18, /**< 39.0M or 43.3 */ 72981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MCS_5 = 19, /**< 52.0M or 57.8 */ 73981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MCS_6 = 20, /**< 58.5M or 65.0 */ 74981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MCS_7 = 21, /**< 65.0M or 72.2 */ 75981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MAX = DRV_RATE_MCS_7, /**< Maximum Driver's Rate Type */ 76981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_INVALID = 0xFF /**< Invalid Driver's Rate Type */ 77981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 78981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} ERate; 79981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 80981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define RATE_TO_MASK(R) (1 << ((R) - 1)) 81981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 82981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \enum ERateMask 83981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Driver rate mask 84981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 85981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 86981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 87981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa 88981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 89981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum 90981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 91981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_AUTO = DRV_RATE_AUTO, /**< 0x000000 */ 92981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_1_BARKER = RATE_TO_MASK(DRV_RATE_1M), /**< 0x000001 */ 93981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_2_BARKER = RATE_TO_MASK(DRV_RATE_2M), /**< 0x000002 */ 94981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_5_5_CCK = RATE_TO_MASK(DRV_RATE_5_5M), /**< 0x000004 */ 95981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_11_CCK = RATE_TO_MASK(DRV_RATE_11M), /**< 0x000008 */ 96981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_22_PBCC = RATE_TO_MASK(DRV_RATE_22M), /**< 0x000010 */ 97981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_6_OFDM = RATE_TO_MASK(DRV_RATE_6M), /**< 0x000020 */ 98981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_9_OFDM = RATE_TO_MASK(DRV_RATE_9M), /**< 0x000040 */ 99981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_12_OFDM = RATE_TO_MASK(DRV_RATE_12M), /**< 0x000080 */ 100981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_18_OFDM = RATE_TO_MASK(DRV_RATE_18M), /**< 0x000100 */ 101981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_24_OFDM = RATE_TO_MASK(DRV_RATE_24M), /**< 0x000200 */ 102981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_36_OFDM = RATE_TO_MASK(DRV_RATE_36M), /**< 0x000400 */ 103981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_48_OFDM = RATE_TO_MASK(DRV_RATE_48M), /**< 0x000800 */ 104981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_54_OFDM = RATE_TO_MASK(DRV_RATE_54M), /**< 0x001000 */ 105981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_MCS_0_OFDM = RATE_TO_MASK(DRV_RATE_MCS_0), /**< 0x002000 */ 106981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_MCS_1_OFDM = RATE_TO_MASK(DRV_RATE_MCS_1), /**< 0x004000 */ 107981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_MCS_2_OFDM = RATE_TO_MASK(DRV_RATE_MCS_2), /**< 0x008000 */ 108981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_MCS_3_OFDM = RATE_TO_MASK(DRV_RATE_MCS_3), /**< 0x010000 */ 109981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_MCS_4_OFDM = RATE_TO_MASK(DRV_RATE_MCS_4), /**< 0x020000 */ 110981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_MCS_5_OFDM = RATE_TO_MASK(DRV_RATE_MCS_5), /**< 0x040000 */ 111981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_MCS_6_OFDM = RATE_TO_MASK(DRV_RATE_MCS_6), /**< 0x080000 */ 112981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt DRV_RATE_MASK_MCS_7_OFDM = RATE_TO_MASK(DRV_RATE_MCS_7) /**< 0x100000 */ 113981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 114981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} ERateMask; 115981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 116981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define PBCC_BIT 0x00000080 /* BIT_7 */ 117981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 118981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif /* #define TWDRIVERRATE_H */ 119