1 /*
2  * Copyright (c) 2012-2018,2020 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 /**
20  * DOC: This file contains configuration definitions for MLME WMC.
21  */
22 #ifndef CFG_MLME_MWC_H_
23 #define CFG_MLME_MWC_H_
24 
25 #ifdef MWS_COEX
26 /*
27  * <ini>
28  * gMwsCoex4gQuickTdm - Bitmap to control MWS-COEX 4G quick FTDM policy
29  * @Min: 0x00000000
30  * @Max: 0xFFFFFFFF
31  * @Default: 0x00000000
32  *
33  * It is a 32 bit value such that the various bits represent as below:
34  * Bit-0 : 0 - Don't allow quick FTDM policy (Default)
35  *        1 - Allow quick FTDM policy
36  * Bit 1-31 : reserved for future use
37  *
38  * It is used to enable or disable MWS-COEX 4G (LTE) Quick FTDM
39  *
40  * Usage: Internal
41  *
42  * </ini>
43  */
44 
45 #define CFG_MWS_COEX_4G_QUICK_FTDM CFG_INI_UINT( \
46 	"gMwsCoex4gQuickTdm", \
47 	0x00000000, \
48 	0xFFFFFFFF, \
49 	0x00000000, \
50 	CFG_VALUE_OR_DEFAULT, \
51 	"set mws-coex 4g quick ftdm policy")
52 
53 /*
54  * <ini>
55  * gMwsCoex5gnrPwrLimit - Bitmap to set MWS-COEX 5G-NR power limit
56  * @Min: 0x00000000
57  * @Max: 0xFFFFFFFF
58  * @Default: 0x00000000
59  *
60  * It is a 32 bit value such that the various bits represent as below:
61  * Bit-0 : Don't apply user specific power limit,
62  *        use internal power limit (Default)
63  * Bit 1-2 : Invalid value (Ignored)
64  * Bit 3-21 : Apply the specified value as the external power limit, in dBm
65  * Bit 22-31 : Invalid value (Ignored)
66  *
67  * It is used to set MWS-COEX 5G-NR power limit
68  *
69  * Usage: Internal
70  *
71  * </ini>
72  */
73 
74 #define CFG_MWS_COEX_5G_NR_PWR_LIMIT CFG_INI_UINT( \
75 	"gMwsCoex5gnrPwrLimit", \
76 	0x00000000, \
77 	0xFFFFFFFF, \
78 	0x00000000, \
79 	CFG_VALUE_OR_DEFAULT, \
80 	"set mws-coex 5g-nr power limit")
81 
82 /*
83  * <ini>
84  * mws_coex_pcc_channel_avoid_delay - configures the duration, when WWAN PCC
85  * (Primary Component Carrier) conflicts with WLAN channel.
86  * @Min: 0x00
87  * @Max: 0xFF
88  * @Default: 0x3C
89  *
90  * It is used to set MWS-COEX WWAN PCC channel avoidance delay
91  *
92  * Usage: External
93  *
94  * </ini>
95  */
96 #define CFG_MWS_COEX_PCC_CHANNEL_AVOID_DELAY CFG_INI_UINT(\
97 		"mws_coex_pcc_channel_avoid_delay", \
98 		0x00000000, \
99 		0xFFFFFFFF, \
100 		0x3C, \
101 		CFG_VALUE_OR_DEFAULT, \
102 		"set mws-coex PCC channel avoidance delay")
103 
104 /*
105  * <ini>
106  * mws_coex_scc_channel_avoid_delay - configures the duration, when WWAN SCC
107  * (Secondary Component Carrier) conflicts with WLAN channel.
108  * @Min: 0x00
109  * @Max: 0xFF
110  * @Default: 0x78
111  *
112  * It is used to set MWS-COEX WWAN SCC channel avoidance delay
113  *
114  * Usage: External
115  *
116  * </ini>
117  */
118 #define CFG_MWS_COEX_SCC_CHANNEL_AVOID_DELAY CFG_INI_UINT(\
119 		"mws_coex_scc_channel_avoid_delay", \
120 		0x00000000, \
121 		0xFFFFFFFF, \
122 		0x78, \
123 		CFG_VALUE_OR_DEFAULT, \
124 		"set mws-coex SCC channel avoidance delay")
125 
126 #define CFG_MWC_ALL \
127 	CFG(CFG_MWS_COEX_4G_QUICK_FTDM) \
128 	CFG(CFG_MWS_COEX_5G_NR_PWR_LIMIT) \
129 	CFG(CFG_MWS_COEX_PCC_CHANNEL_AVOID_DELAY) \
130 	CFG(CFG_MWS_COEX_SCC_CHANNEL_AVOID_DELAY)
131 
132 #else
133 #define CFG_MWC_ALL
134 #endif /* MWS_COEX */
135 
136 #endif /* CFG_MLME_MWC_H_ */
137