rflib
rf_ieee_coex.h
Go to the documentation of this file.
1 /******************************************************************************
2 * Filename: rf_ieee_coex.h
3 *
4 * Description: CC13x2/CC26x2 API for Co-Existance (CoEx) support in IEEE
5 *
6 * Copyright (c) 2015 - 2020, Texas Instruments Incorporated
7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are met:
11 *
12 * 1) Redistributions of source code must retain the above copyright notice,
13 * this list of conditions and the following disclaimer.
14 *
15 * 2) Redistributions in binary form must reproduce the above copyright notice,
16 * this list of conditions and the following disclaimer in the documentation
17 * and/or other materials provided with the distribution.
18 *
19 * 3) Neither the name of the ORGANIZATION nor the names of its contributors may
20 * be used to endorse or promote products derived from this software without
21 * specific prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 *
35 ******************************************************************************/
36 
37 #ifndef __RF_IEEE_COEX_H
38 #define __RF_IEEE_COEX_H
39 
40 #ifndef __RFC_STRUCT
41 #define __RFC_STRUCT
42 #endif
43 
44 #ifndef __RFC_STRUCT_ATTR
45 #if defined(__GNUC__)
46 #define __RFC_STRUCT_ATTR __attribute__ ((aligned (4)))
47 #elif defined(__TI_ARM__)
48 #define __RFC_STRUCT_ATTR __attribute__ ((__packed__,aligned (4)))
49 #else
50 #define __RFC_STRUCT_ATTR
51 #endif
52 #endif
53 
56 
59 
60 #include <stdint.h>
61 #include "rf_mailbox.h"
62 
63 // Error code for GRANT signal not given
64 #define IEEE_ERROR_NO_GRANT 0x2806
65 
68 
72  uint32_t __dummy0;
73  uint32_t __dummy1;
74  uint32_t __dummy2;
75  uint32_t __dummy3;
76  uint32_t __dummy4;
77  uint32_t __dummy5;
78  uint32_t __dummy6;
79  uint32_t __dummy7;
80  uint32_t __dummy8;
81  uint32_t __dummy9;
82  uint32_t __dummy10;
83  uint32_t __dummy11;
84  uint32_t __dummy12;
85  uint32_t __dummy13;
86  uint32_t __dummy14;
87  uint32_t __dummy15;
88  uint32_t __dummy16;
89  uint32_t __dummy17;
90  uint32_t __dummy18;
91  uint32_t __dummy19;
92  uint32_t __dummy20;
93  uint32_t __dummy21;
94  uint32_t __dummy22;
95  uint32_t __dummy23;
96  uint32_t __dummy24;
97  uint32_t __dummy25;
98  uint32_t __dummy26;
99  uint32_t __dummy27;
100  uint32_t __dummy28;
101  uint32_t __dummy29;
102  uint32_t __dummy30;
103  uint32_t __dummy31;
104  uint32_t __dummy32;
105  uint32_t __dummy33;
106  uint32_t __dummy34;
107  uint16_t __dummy35;
108  uint8_t __dummy36;
111 
113 
117  struct {
118  uint8_t bCoExEnable:1;
119  uint8_t bUseREQUEST:1;
121  uint8_t bUseGRANT:1;
123  uint8_t bUsePRIORITY:1;
125  uint8_t bRequestForChain:1;
127  } coExEnable;
130  uint16_t priorityIndicationTime;
134  struct {
135  uint8_t bRequestAsserted:1;
136  uint8_t bIgnoreGrantInRxAsserted:1;
138  } rfCoreCoExStatus;
140  struct {
141  uint8_t bUseOverridePriority:1;
142  uint8_t overridePriority:1;
145  uint8_t bUseOverrideRequestForRx:1;
148  uint8_t overrideRequestForRx:1;
151  } overrideConfig;
154  struct {
155  uint8_t defaultPriority:1;
156  uint8_t bAssertRequestForRx:1;
158  uint8_t bIgnoreGrantInRx:1;
161  uint8_t bKeepRequestIfNoGrant:1;
163  } cmdIeeeRxConfig;
165  struct {
166  uint8_t defaultPriority:1;
167  uint8_t bAssertRequestForRx:1;
169  uint8_t bIgnoreGrantInRx:1;
172  uint8_t bKeepRequestIfNoGrant:1;
174  } cmdIeeeRxAckConfig;
176  struct {
177  uint8_t defaultPriority:1;
178  uint8_t bAssertRequestForRx:1;
180  uint8_t bIgnoreGrantInRx:1;
183  uint8_t bKeepRequestIfNoGrant:1;
185  } cmdIeeeCcaConfig;
187  struct {
188  uint8_t defaultPriority:1;
189  uint8_t bAssertRequestForRx:1;
191  uint8_t bIgnoreGrantInRx:1;
194  uint8_t bKeepRequestIfNoGrant:1;
196  } cmdIeeeTxConfig;
199 
201 
204 #endif
uint32_t __dummy5
Definition: rf_ieee_coex.h:77
uint32_t __dummy24
Definition: rf_ieee_coex.h:96
uint8_t __dummy36
Definition: rf_ieee_coex.h:108
uint32_t __dummy15
Definition: rf_ieee_coex.h:87
uint16_t __dummy35
Definition: rf_ieee_coex.h:107
uint32_t __dummy25
Definition: rf_ieee_coex.h:97
uint32_t __dummy0
Definition: rf_ieee_coex.h:72
uint32_t __dummy9
Definition: rf_ieee_coex.h:81
uint32_t __dummy28
Definition: rf_ieee_coex.h:100
uint32_t __dummy34
Definition: rf_ieee_coex.h:106
uint32_t __dummy32
Definition: rf_ieee_coex.h:104
uint32_t __dummy12
Definition: rf_ieee_coex.h:84
uint32_t __dummy33
Definition: rf_ieee_coex.h:105
uint32_t __dummy18
Definition: rf_ieee_coex.h:90
uint32_t __dummy31
Definition: rf_ieee_coex.h:103
uint32_t __dummy26
Definition: rf_ieee_coex.h:98
uint32_t __dummy21
Definition: rf_ieee_coex.h:93
#define __RFC_STRUCT_ATTR
Definition: rf_ieee_coex.h:50
uint32_t __dummy2
Definition: rf_ieee_coex.h:74
uint8_t coExGlobalEnable
0 = CoEx features disabled. All other values = CoEx enabled.
Definition: rf_ieee_coex.h:109
uint32_t __dummy13
Definition: rf_ieee_coex.h:85
uint32_t __dummy11
Definition: rf_ieee_coex.h:83
Definition: rf_ieee_coex.h:71
uint32_t __dummy7
Definition: rf_ieee_coex.h:79
uint32_t __dummy23
Definition: rf_ieee_coex.h:95
uint32_t __dummy19
Definition: rf_ieee_coex.h:91
Definition: rf_ieee_coex.h:116
uint32_t __dummy27
Definition: rf_ieee_coex.h:99
uint32_t __dummy29
Definition: rf_ieee_coex.h:101
uint32_t __dummy17
Definition: rf_ieee_coex.h:89
uint32_t __dummy30
Definition: rf_ieee_coex.h:102
uint32_t __dummy10
Definition: rf_ieee_coex.h:82
uint32_t __dummy4
Definition: rf_ieee_coex.h:76
uint32_t __dummy8
Definition: rf_ieee_coex.h:80
uint32_t __dummy22
Definition: rf_ieee_coex.h:94
#define __RFC_STRUCT
Definition: rf_ieee_coex.h:41
uint32_t __dummy20
Definition: rf_ieee_coex.h:92
uint8_t coExTxRxIndication
0 = RX indication is 0, TX indication is 0 1 = RX indication is 0, TX indication is 1 2 = RX indicati...
Definition: rf_ieee_coex.h:129
uint32_t __dummy1
Definition: rf_ieee_coex.h:73
uint32_t __dummy3
Definition: rf_ieee_coex.h:75
uint32_t __dummy6
Definition: rf_ieee_coex.h:78
uint32_t __dummy16
Definition: rf_ieee_coex.h:88
uint32_t __dummy14
Definition: rf_ieee_coex.h:86
© Copyright 1995-2021, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale