1# Copyright (c) 2022 Telink Semiconductor
2# SPDX-License-Identifier: Apache-2.0
3
4if BT_B91
5
6menu "B91 BLE Controller"
7
8config B91_BLE_CTRL_MAC_FLASH_ADDR
9	hex "MAC Flash address"
10	default 0xFFFF0
11	help
12	  The address in Flash memory for MAC address storage.
13
14choice
15	prompt "MAC address type"
16	default B91_BLE_CTRL_MAC_PUBLIC
17config B91_BLE_CTRL_MAC_PUBLIC
18	bool "Public"
19config B91_BLE_CTRL_MAC_RUNDOM_STATIC
20	bool "Random static"
21endchoice
22
23config B91_BLE_CTRL_CONNECTION_INTERVAL_IDX
24	int "Connection interval, idx (time = idx * 1.25 ms)"
25	default 10
26	range 1 255
27	help
28	  ACL master connection interval index (time = index * 1.25 ms).
29
30config B91_BLE_CTRL_CONNECTION_TIMEOUT_MS
31	int "Connection timeout, ms"
32	default 4000
33	help
34	  ACL connection timeout, ms.
35
36choice
37    prompt "RF power"
38    default B91_BLE_CTRL_RF_POWER_P2P79DBM
39config B91_BLE_CTRL_RF_POWER_P9P11DBM
40	bool "+9.11 dBm"
41config B91_BLE_CTRL_RF_POWER_P8P57DBM
42	bool "+8.57 dBm"
43config B91_BLE_CTRL_RF_POWER_P8P05DBM
44	bool "+8.05 dBm"
45config B91_BLE_CTRL_RF_POWER_P7P45DBM
46	bool "+7.45 dBm"
47config B91_BLE_CTRL_RF_POWER_P6P98DBM
48	bool "+6.98 dBm"
49config B91_BLE_CTRL_RF_POWER_P5P68DBM
50	bool "+5.68 dBm"
51config B91_BLE_CTRL_RF_POWER_P4P35DBM
52	bool "+4.35 dBm"
53config B91_BLE_CTRL_RF_POWER_P3P83DBM
54	bool "+3.83 dBm"
55config B91_BLE_CTRL_RF_POWER_P3P25DBM
56	bool "+3.25 dBm"
57config B91_BLE_CTRL_RF_POWER_P2P79DBM
58	bool "+2.79 dBm"
59config B91_BLE_CTRL_RF_POWER_P2P32DBM
60	bool "+2.32 dBm"
61config B91_BLE_CTRL_RF_POWER_P1P72DBM
62	bool "+1.72 dBm"
63config B91_BLE_CTRL_RF_POWER_P0P80DBM
64	bool "+0.80 dBm"
65config B91_BLE_CTRL_RF_POWER_P0P01DBM
66	bool "+0.01 dBm"
67config B91_BLE_CTRL_RF_POWER_N0P53DBM
68	bool "-0.53 dBm"
69config B91_BLE_CTRL_RF_POWER_N1P37DBM
70	bool "-1.37 dBm"
71config B91_BLE_CTRL_RF_POWER_N2P01DBM
72	bool "-2.01 dBm"
73config B91_BLE_CTRL_RF_POWER_N3P37DBM
74	bool "-3.37 dBm"
75config B91_BLE_CTRL_RF_POWER_N4P77DBM
76	bool "-4.77 dBm"
77config B91_BLE_CTRL_RF_POWER_N6P54DBM
78	bool "-6.54 dBm"
79config B91_BLE_CTRL_RF_POWER_N8P78DBM
80	bool "-8.78 dBm"
81config B91_BLE_CTRL_RF_POWER_N12P06DBM
82	bool "-12.06 dBm"
83config B91_BLE_CTRL_RF_POWER_N17P83DBM
84	bool "-17.83 dBm"
85config B91_BLE_CTRL_RF_POWER_N23P54DBM
86	bool "-23.54 dBm"
87endchoice
88
89config B91_BLE_CTRL_RF_POWER
90	int
91	default 0 if B91_BLE_CTRL_RF_POWER_P9P11DBM
92	default 1 if B91_BLE_CTRL_RF_POWER_P8P57DBM
93	default 2 if B91_BLE_CTRL_RF_POWER_P8P05DBM
94	default 3 if B91_BLE_CTRL_RF_POWER_P7P45DBM
95	default 4 if B91_BLE_CTRL_RF_POWER_P6P98DBM
96	default 5 if B91_BLE_CTRL_RF_POWER_P5P68DBM
97	default 6 if B91_BLE_CTRL_RF_POWER_P4P35DBM
98	default 7 if B91_BLE_CTRL_RF_POWER_P3P83DBM
99	default 8 if B91_BLE_CTRL_RF_POWER_P3P25DBM
100	default 9 if B91_BLE_CTRL_RF_POWER_P2P79DBM
101	default 10 if B91_BLE_CTRL_RF_POWER_P2P32DBM
102	default 11 if B91_BLE_CTRL_RF_POWER_P1P72DBM
103	default 12 if B91_BLE_CTRL_RF_POWER_P0P80DBM
104	default 13 if B91_BLE_CTRL_RF_POWER_P0P01DBM
105	default 14 if B91_BLE_CTRL_RF_POWER_N0P53DBM
106	default 15 if B91_BLE_CTRL_RF_POWER_N1P37DBM
107	default 16 if B91_BLE_CTRL_RF_POWER_N2P01DBM
108	default 17 if B91_BLE_CTRL_RF_POWER_N3P37DBM
109	default 18 if B91_BLE_CTRL_RF_POWER_N4P77DBM
110	default 19 if B91_BLE_CTRL_RF_POWER_N6P54DBM
111	default 20 if B91_BLE_CTRL_RF_POWER_N8P78DBM
112	default 21 if B91_BLE_CTRL_RF_POWER_N12P06DBM
113	default 22 if B91_BLE_CTRL_RF_POWER_N17P83DBM
114	default 23 if B91_BLE_CTRL_RF_POWER_N23P54DBM
115
116config B91_BLE_CTRL_MASTER_MAX_NUM
117	int "Maximum number of master connections"
118	default 2
119	range 0 4
120	help
121	  Number of master ACL connections supported.
122
123config B91_BLE_CTRL_SLAVE_MAX_NUM
124	int "Maximum number of slave connections"
125	default 2
126	range 0 4
127	help
128	  Number of slave ACL connections supported.
129
130config B91_BLE_CTRL_EXT_ADV
131	bool "Enable extended advertising"
132	default y if BT_EXT_ADV
133	help
134	  Enable extended advertising.
135
136if B91_BLE_CTRL_EXT_ADV
137
138config B91_BLE_CTRL_EXT_ADV_SETS_NUM
139	int "Number of supported extended advertising sets"
140	default 3
141	help
142	  Number of supported extended advertising sets.
143
144config B91_BLE_CTRL_EXT_ADV_DATA_LEN_MAX
145	int "Maximum extended advertising data length"
146	default 320
147	help
148	  Maximum extended advertising data length.
149
150config B91_BLE_CTRL_EXT_ADV_SCAN_DATA_LEN_MAX
151	int "Maximum extended scan response data length"
152	default 320
153	help
154	  Maximum extended scan response data length.
155
156endif # B91_BLE_CTRL_EXT_ADV
157
158config B91_BLE_CTRL_EXT_SCAN
159	bool "Enable extended scanning"
160	default y if BT_EXT_ADV
161	help
162	  Enable extended scanning.
163
164config B91_BLE_CTRL_PER_ADV
165	bool "Enable periodic advertising"
166	default y if BT_PER_ADV
167	help
168	  Enable periodic advertising.
169
170if B91_BLE_CTRL_PER_ADV
171
172config B91_BLE_CTRL_PER_ADV_SETS_NUM
173	int "Number of supported periodic advertising sets"
174	default 2
175	help
176	  Number of supported periodic advertising sets.
177
178config B91_BLE_CTRL_PER_ADV_DATA_LEN_MAX
179	int "Maximum periodic advertising data length"
180	default 512
181	help
182	  Maximum periodic advertising data length.
183
184endif # B91_BLE_CTRL_PER_ADV
185
186config B91_BLE_CTRL_PER_ADV_SYNC
187	bool "Enable periodic advertising sync"
188	default y if BT_PER_ADV_SYNC
189	help
190	  Enable periodic advertising sync.
191
192config B91_BLE_CTRL_THREAD_STACK_SIZE
193	int "Controller thread stack size"
194	default 2048
195	help
196	  B91 BLE Controller thread stack size.
197
198config B91_BLE_CTRL_THREAD_PRIORITY
199	int "Controller thread priority"
200	default 2
201	help
202	  B91 BLE Controller thread priority.
203
204config B91_BLE_CTRL_THREAD_PERIOD_MS
205	int "Controller thread period, ms"
206	default 10
207	help
208	  B91 BLE Controller thread period in ms.
209
210endmenu
211
212endif # BT_B91
213