1 /*
2  * Copyright (c) 2018 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 /* Use the NRF_RTC instance for coarse radio event scheduling */
8 #define NRF_RTC NRF_RTC0
9 
10 /* HAL abstraction of event timer prescaler value */
11 #define HAL_EVENT_TIMER_PRESCALER_VALUE 4U
12 
13 /* NRF Radio HW timing constants
14  * - provided in US and NS (for higher granularity)
15  * - based on empirical measurements and sniffer logs
16  */
17 
18 /* TXEN->TXIDLE + TXIDLE->TX (with fast Radio ramp-up mode)
19  * in microseconds for LE 1M PHY.
20  */
21 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_FAST_NS 41050 /* 40.1 + 0.95 */
22 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_FAST_US \
23 	HAL_RADIO_NS2US_ROUND(HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_FAST_NS)
24 
25 /* TXEN->TXIDLE + TXIDLE->TX (with default Radio ramp-up mode)
26  * in microseconds for LE 1M PHY.
27  */
28 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_DEFAULT_NS 141050 /*140.1 + 0.95*/
29 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_DEFAULT_US \
30 	HAL_RADIO_NS2US_ROUND(HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_DEFAULT_NS)
31 
32 /* TXEN->TXIDLE + TXIDLE->TX (with default Radio ramp-up mode
33  * and no HW TIFS auto-switch) in microseconds for LE 1M PHY.
34  */
35 /* 129 + 0.95 */
36 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_DEFAULT_NO_HW_TIFS_NS 129950
37 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_DEFAULT_NO_HW_TIFS_US \
38 	HAL_RADIO_NS2US_ROUND( \
39 		HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_DEFAULT_NO_HW_TIFS_NS)
40 
41 /* TXEN->TXIDLE + TXIDLE->TX (with fast Radio ramp-up mode)
42  * in microseconds for LE 2M PHY.
43  */
44 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_FAST_NS 40000 /* 40.1 - 0.1 */
45 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_FAST_US \
46 	HAL_RADIO_NS2US_ROUND(HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_FAST_NS)
47 
48 /* TXEN->TXIDLE + TXIDLE->TX (with default Radio ramp-up mode)
49  * in microseconds for LE 2M PHY.
50  */
51 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_DEFAULT_NS 144500 /* 144.6 - 0.1 */
52 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_DEFAULT_US \
53 	HAL_RADIO_NS2US_ROUND(HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_DEFAULT_NS)
54 
55 /* TXEN->TXIDLE + TXIDLE->TX (with default Radio ramp-up mode
56  * and no HW TIFS auto-switch) in microseconds for LE 2M PHY.
57  */
58 /* 129 - 0.1 */
59 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_DEFAULT_NO_HW_TIFS_NS 128900
60 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_DEFAULT_NO_HW_TIFS_US \
61 	HAL_RADIO_NS2US_ROUND( \
62 		HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_DEFAULT_NO_HW_TIFS_NS)
63 
64 /* RXEN->RXIDLE + RXIDLE->RX (with fast Radio ramp-up mode)
65  * in microseconds for LE 1M PHY.
66  */
67 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_FAST_NS 40300 /* 40.1 + 0.2 */
68 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_FAST_US \
69 	HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_FAST_NS)
70 
71 /* RXEN->RXIDLE + RXIDLE->RX (with default Radio ramp-up mode)
72  * in microseconds for LE 1M PHY.
73  */
74 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_DEFAULT_NS 140300 /*140.1 + 0.2*/
75 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_DEFAULT_US \
76 	HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_DEFAULT_NS)
77 
78 /* RXEN->RXIDLE + RXIDLE->RX (with default Radio ramp-up mode and
79  * no HW TIFS auto-switch) in microseconds for LE 1M PHY.
80  */
81 /* 129 + 0.2 */
82 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_DEFAULT_NO_HW_TIFS_NS 129200
83 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_DEFAULT_NO_HW_TIFS_US \
84 	HAL_RADIO_NS2US_CEIL( \
85 		HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_DEFAULT_NO_HW_TIFS_NS)
86 
87 /* RXEN->RXIDLE + RXIDLE->RX (with fast Radio ramp-up mode)
88  * in microseconds for LE 2M PHY.
89  */
90 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_FAST_NS 40300 /* 40.1 + 0.2 */
91 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_FAST_US \
92 	HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_FAST_NS)
93 
94 /* RXEN->RXIDLE + RXIDLE->RX (with default Radio ramp-up mode)
95  * in microseconds for LE 2M PHY.
96  */
97 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_DEFAULT_NS 144800 /* 144.6 + 0.2 */
98 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_DEFAULT_US \
99 	HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_DEFAULT_NS)
100 
101 /* RXEN->RXIDLE + RXIDLE->RX (with default Radio ramp-up mode and
102  * no HW TIFS auto-switch) in microseconds for LE 2M PHY.
103  */
104 /* 129 + 0.2 */
105 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_DEFAULT_NO_HW_TIFS_NS 129200
106 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_DEFAULT_NO_HW_TIFS_US \
107 	HAL_RADIO_NS2US_CEIL(\
108 		HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_DEFAULT_NO_HW_TIFS_NS)
109 
110 #define HAL_RADIO_NRF52805_TX_CHAIN_DELAY_NS     600 /* 0.6 */
111 #define HAL_RADIO_NRF52805_TX_CHAIN_DELAY_US \
112 	HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF52805_TX_CHAIN_DELAY_NS)
113 
114 #define HAL_RADIO_NRF52805_RX_CHAIN_DELAY_1M_NS  9400 /* 9.4 */
115 #define HAL_RADIO_NRF52805_RX_CHAIN_DELAY_1M_US \
116 	HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF52805_RX_CHAIN_DELAY_1M_NS)
117 
118 #define HAL_RADIO_NRF52805_RX_CHAIN_DELAY_2M_NS  5450 /* 5.0 + 0.45 */
119 #define HAL_RADIO_NRF52805_RX_CHAIN_DELAY_2M_US \
120 	HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF52805_RX_CHAIN_DELAY_2M_NS)
121 
122 #if defined(CONFIG_BT_CTLR_RADIO_ENABLE_FAST)
123 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_US \
124 	HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_FAST_US
125 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_NS \
126 	HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_FAST_NS
127 
128 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_US \
129 	HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_FAST_US
130 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_NS \
131 	HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_FAST_NS
132 
133 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_US \
134 	HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_FAST_US
135 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_NS \
136 	HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_FAST_NS
137 
138 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_US \
139 	HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_FAST_US
140 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_NS \
141 	HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_FAST_NS
142 
143 #else /* !CONFIG_BT_CTLR_RADIO_ENABLE_FAST */
144 #if defined(CONFIG_BT_CTLR_TIFS_HW)
145 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_US \
146 	HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_DEFAULT_US
147 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_NS \
148 	HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_DEFAULT_NS
149 
150 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_US \
151 	HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_DEFAULT_US
152 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_NS \
153 	HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_DEFAULT_NS
154 
155 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_US \
156 	HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_DEFAULT_US
157 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_NS \
158 	HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_DEFAULT_NS
159 
160 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_US \
161 	HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_DEFAULT_US
162 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_NS \
163 	HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_DEFAULT_NS
164 
165 #else /* !CONFIG_BT_CTLR_TIFS_HW */
166 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_US \
167 	HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_DEFAULT_NO_HW_TIFS_US
168 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_NS \
169 	HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_DEFAULT_NO_HW_TIFS_NS
170 
171 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_US \
172 	HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_DEFAULT_NO_HW_TIFS_US
173 #define HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_NS \
174 	HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_DEFAULT_NO_HW_TIFS_NS
175 
176 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_US \
177 	HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_DEFAULT_NO_HW_TIFS_US
178 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_NS \
179 	HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_DEFAULT_NO_HW_TIFS_NS
180 
181 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_US \
182 	HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_DEFAULT_NO_HW_TIFS_US
183 #define HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_NS \
184 	HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_DEFAULT_NO_HW_TIFS_NS
185 #endif /* !CONFIG_BT_CTLR_TIFS_HW */
186 #endif /* !CONFIG_BT_CTLR_RADIO_ENABLE_FAST */
187 
188 /* HAL abstraction of Radio bitfields */
189 #define HAL_NRF_RADIO_EVENT_END              NRF_RADIO_EVENT_END
190 #define HAL_RADIO_EVENTS_END                 EVENTS_END
191 #define HAL_RADIO_INTENSET_DISABLED_Msk      RADIO_INTENSET_DISABLED_Msk
192 #define HAL_RADIO_SHORTS_TRX_END_DISABLE_Msk RADIO_SHORTS_END_DISABLE_Msk
193 
194 /* HAL abstraction of Radio IRQ number */
195 #define HAL_RADIO_IRQn                          RADIO_IRQn
196 
hal_radio_reset(void)197 static inline void hal_radio_reset(void)
198 {
199 	/* TODO: Add any required setup for each radio event
200 	 */
201 }
202 
hal_radio_stop(void)203 static inline void hal_radio_stop(void)
204 {
205 	/* TODO: Add any required cleanup of actions taken in hal_radio_reset()
206 	 */
207 }
208 
hal_radio_ram_prio_setup(void)209 static inline void hal_radio_ram_prio_setup(void)
210 {
211 	struct {
212 		uint32_t volatile reserved_0[0x5a0 >> 2];
213 		uint32_t volatile bridge_type;
214 		uint32_t volatile reserved_1[((0xe00 - 0x5a0) >> 2) - 1];
215 		struct {
216 			uint32_t volatile CPU0;
217 			uint32_t volatile SPIS1;
218 			uint32_t volatile RADIO;
219 			uint32_t volatile ECB;
220 			uint32_t volatile CCM;
221 			uint32_t volatile AAR;
222 			uint32_t volatile SAADC;
223 			uint32_t volatile UARTE;
224 			uint32_t volatile SERIAL0;
225 		} RAMPRI;
226 	} volatile *NRF_AMLI = (void volatile *)0x40000000UL;
227 
228 	NRF_AMLI->RAMPRI.CPU0    = 0xFFFFFFFFUL;
229 	NRF_AMLI->RAMPRI.SPIS1   = 0xFFFFFFFFUL;
230 	NRF_AMLI->RAMPRI.RADIO   = 0x00000000UL;
231 	NRF_AMLI->RAMPRI.ECB     = 0xFFFFFFFFUL;
232 	NRF_AMLI->RAMPRI.CCM     = 0x00000000UL;
233 	NRF_AMLI->RAMPRI.AAR     = 0xFFFFFFFFUL;
234 	NRF_AMLI->RAMPRI.SAADC   = 0xFFFFFFFFUL;
235 	NRF_AMLI->RAMPRI.UARTE   = 0xFFFFFFFFUL;
236 	NRF_AMLI->RAMPRI.SERIAL0 = 0xFFFFFFFFUL;
237 }
238 
hal_radio_phy_mode_get(uint8_t phy,uint8_t flags)239 static inline uint32_t hal_radio_phy_mode_get(uint8_t phy, uint8_t flags)
240 {
241 	ARG_UNUSED(flags);
242 	uint32_t mode;
243 
244 	switch (phy) {
245 	case BIT(0):
246 	default:
247 		mode = RADIO_MODE_MODE_Ble_1Mbit;
248 		break;
249 
250 	case BIT(1):
251 		mode = RADIO_MODE_MODE_Ble_2Mbit;
252 		break;
253 	}
254 
255 	return mode;
256 }
257 
hal_radio_tx_power_min_get(void)258 static inline uint32_t hal_radio_tx_power_min_get(void)
259 {
260 	return RADIO_TXPOWER_TXPOWER_Neg40dBm;
261 }
262 
hal_radio_tx_power_max_get(void)263 static inline uint32_t hal_radio_tx_power_max_get(void)
264 {
265 	return RADIO_TXPOWER_TXPOWER_Pos4dBm;
266 }
267 
hal_radio_tx_power_floor(int8_t tx_power_lvl)268 static inline uint32_t hal_radio_tx_power_floor(int8_t tx_power_lvl)
269 {
270 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Pos4dBm) {
271 		return RADIO_TXPOWER_TXPOWER_Pos4dBm;
272 	}
273 
274 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Pos3dBm) {
275 		return RADIO_TXPOWER_TXPOWER_Pos3dBm;
276 	}
277 
278 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_0dBm) {
279 		return RADIO_TXPOWER_TXPOWER_0dBm;
280 	}
281 
282 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Neg4dBm) {
283 		return RADIO_TXPOWER_TXPOWER_Neg4dBm;
284 	}
285 
286 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Neg8dBm) {
287 		return RADIO_TXPOWER_TXPOWER_Neg8dBm;
288 	}
289 
290 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Neg12dBm) {
291 		return RADIO_TXPOWER_TXPOWER_Neg12dBm;
292 	}
293 
294 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Neg16dBm) {
295 		return RADIO_TXPOWER_TXPOWER_Neg16dBm;
296 	}
297 
298 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Neg20dBm) {
299 		return RADIO_TXPOWER_TXPOWER_Neg20dBm;
300 	}
301 
302 	/* Note: The -30 dBm power level is deprecated so ignore it! */
303 	return RADIO_TXPOWER_TXPOWER_Neg40dBm;
304 }
305 
hal_radio_tx_ready_delay_us_get(uint8_t phy,uint8_t flags)306 static inline uint32_t hal_radio_tx_ready_delay_us_get(uint8_t phy, uint8_t flags)
307 {
308 	ARG_UNUSED(flags);
309 
310 	switch (phy) {
311 	default:
312 	case BIT(0):
313 		return HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_US;
314 	case BIT(1):
315 		return HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_US;
316 	}
317 }
318 
hal_radio_rx_ready_delay_us_get(uint8_t phy,uint8_t flags)319 static inline uint32_t hal_radio_rx_ready_delay_us_get(uint8_t phy, uint8_t flags)
320 {
321 	ARG_UNUSED(flags);
322 
323 	switch (phy) {
324 	default:
325 	case BIT(0):
326 		return HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_US;
327 	case BIT(1):
328 		return HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_US;
329 	}
330 }
331 
hal_radio_tx_chain_delay_us_get(uint8_t phy,uint8_t flags)332 static inline uint32_t hal_radio_tx_chain_delay_us_get(uint8_t phy, uint8_t flags)
333 {
334 	ARG_UNUSED(phy);
335 	ARG_UNUSED(flags);
336 
337 	return HAL_RADIO_NRF52805_TX_CHAIN_DELAY_US;
338 }
339 
hal_radio_rx_chain_delay_us_get(uint8_t phy,uint8_t flags)340 static inline uint32_t hal_radio_rx_chain_delay_us_get(uint8_t phy, uint8_t flags)
341 {
342 	ARG_UNUSED(flags);
343 
344 	switch (phy) {
345 	default:
346 	case BIT(0):
347 		return HAL_RADIO_NRF52805_RX_CHAIN_DELAY_1M_US;
348 	case BIT(1):
349 		return HAL_RADIO_NRF52805_RX_CHAIN_DELAY_2M_US;
350 	}
351 }
352 
hal_radio_tx_ready_delay_ns_get(uint8_t phy,uint8_t flags)353 static inline uint32_t hal_radio_tx_ready_delay_ns_get(uint8_t phy, uint8_t flags)
354 {
355 	ARG_UNUSED(flags);
356 
357 	switch (phy) {
358 	default:
359 	case BIT(0):
360 		return HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_NS;
361 	case BIT(1):
362 		return HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_NS;
363 	}
364 }
365 
hal_radio_rx_ready_delay_ns_get(uint8_t phy,uint8_t flags)366 static inline uint32_t hal_radio_rx_ready_delay_ns_get(uint8_t phy, uint8_t flags)
367 {
368 	ARG_UNUSED(flags);
369 
370 	switch (phy) {
371 	default:
372 	case BIT(0):
373 		return HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_NS;
374 	case BIT(1):
375 		return HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_NS;
376 	}
377 }
378 
hal_radio_tx_chain_delay_ns_get(uint8_t phy,uint8_t flags)379 static inline uint32_t hal_radio_tx_chain_delay_ns_get(uint8_t phy, uint8_t flags)
380 {
381 	ARG_UNUSED(phy);
382 	ARG_UNUSED(flags);
383 
384 	return HAL_RADIO_NRF52805_TX_CHAIN_DELAY_US;
385 }
386 
hal_radio_rx_chain_delay_ns_get(uint8_t phy,uint8_t flags)387 static inline uint32_t hal_radio_rx_chain_delay_ns_get(uint8_t phy, uint8_t flags)
388 {
389 	ARG_UNUSED(flags);
390 
391 	switch (phy) {
392 	default:
393 	case BIT(0):
394 		return HAL_RADIO_NRF52805_RX_CHAIN_DELAY_1M_NS;
395 	case BIT(1):
396 		return HAL_RADIO_NRF52805_RX_CHAIN_DELAY_2M_NS;
397 	}
398 }
399