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_RADIO_INTENSET_DISABLED_Msk         RADIO_INTENSET_DISABLED_Msk
190 #define HAL_RADIO_SHORTS_TRX_END_DISABLE_Msk    RADIO_SHORTS_END_DISABLE_Msk
191 #define HAL_RADIO_SHORTS_TRX_PHYEND_DISABLE_Msk RADIO_SHORTS_PHYEND_DISABLE_Msk
192 
193 /* HAL abstraction of Radio IRQ number */
194 #define HAL_RADIO_IRQn                          RADIO_IRQn
195 
hal_radio_reset(void)196 static inline void hal_radio_reset(void)
197 {
198 	/* TODO: Add any required setup for each radio event
199 	 */
200 }
201 
hal_radio_stop(void)202 static inline void hal_radio_stop(void)
203 {
204 	/* TODO: Add any required cleanup of actions taken in hal_radio_reset()
205 	 */
206 }
207 
hal_radio_ram_prio_setup(void)208 static inline void hal_radio_ram_prio_setup(void)
209 {
210 	struct {
211 		uint32_t volatile reserved_0[0x5a0 >> 2];
212 		uint32_t volatile bridge_type;
213 		uint32_t volatile reserved_1[((0xe00 - 0x5a0) >> 2) - 1];
214 		struct {
215 			uint32_t volatile CPU0;
216 			uint32_t volatile SPIS1;
217 			uint32_t volatile RADIO;
218 			uint32_t volatile ECB;
219 			uint32_t volatile CCM;
220 			uint32_t volatile AAR;
221 			uint32_t volatile SAADC;
222 			uint32_t volatile UARTE;
223 			uint32_t volatile SERIAL0;
224 		} RAMPRI;
225 	} volatile *NRF_AMLI = (void volatile *)0x40000000UL;
226 
227 	NRF_AMLI->RAMPRI.CPU0    = 0xFFFFFFFFUL;
228 	NRF_AMLI->RAMPRI.SPIS1   = 0xFFFFFFFFUL;
229 	NRF_AMLI->RAMPRI.RADIO   = 0x00000000UL;
230 	NRF_AMLI->RAMPRI.ECB     = 0xFFFFFFFFUL;
231 	NRF_AMLI->RAMPRI.CCM     = 0x00000000UL;
232 	NRF_AMLI->RAMPRI.AAR     = 0xFFFFFFFFUL;
233 	NRF_AMLI->RAMPRI.SAADC   = 0xFFFFFFFFUL;
234 	NRF_AMLI->RAMPRI.UARTE   = 0xFFFFFFFFUL;
235 	NRF_AMLI->RAMPRI.SERIAL0 = 0xFFFFFFFFUL;
236 }
237 
hal_radio_phy_mode_get(uint8_t phy,uint8_t flags)238 static inline uint32_t hal_radio_phy_mode_get(uint8_t phy, uint8_t flags)
239 {
240 	ARG_UNUSED(flags);
241 	uint32_t mode;
242 
243 	switch (phy) {
244 	case BIT(0):
245 	default:
246 		mode = RADIO_MODE_MODE_Ble_1Mbit;
247 		break;
248 
249 	case BIT(1):
250 		mode = RADIO_MODE_MODE_Ble_2Mbit;
251 		break;
252 	}
253 
254 	return mode;
255 }
256 
hal_radio_tx_power_min_get(void)257 static inline uint32_t hal_radio_tx_power_min_get(void)
258 {
259 	return RADIO_TXPOWER_TXPOWER_Neg40dBm;
260 }
261 
hal_radio_tx_power_max_get(void)262 static inline uint32_t hal_radio_tx_power_max_get(void)
263 {
264 	return RADIO_TXPOWER_TXPOWER_Pos4dBm;
265 }
266 
hal_radio_tx_power_floor(int8_t tx_power_lvl)267 static inline uint32_t hal_radio_tx_power_floor(int8_t tx_power_lvl)
268 {
269 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Pos4dBm) {
270 		return RADIO_TXPOWER_TXPOWER_Pos4dBm;
271 	}
272 
273 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Pos3dBm) {
274 		return RADIO_TXPOWER_TXPOWER_Pos3dBm;
275 	}
276 
277 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_0dBm) {
278 		return RADIO_TXPOWER_TXPOWER_0dBm;
279 	}
280 
281 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Neg4dBm) {
282 		return RADIO_TXPOWER_TXPOWER_Neg4dBm;
283 	}
284 
285 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Neg8dBm) {
286 		return RADIO_TXPOWER_TXPOWER_Neg8dBm;
287 	}
288 
289 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Neg12dBm) {
290 		return RADIO_TXPOWER_TXPOWER_Neg12dBm;
291 	}
292 
293 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Neg16dBm) {
294 		return RADIO_TXPOWER_TXPOWER_Neg16dBm;
295 	}
296 
297 	if (tx_power_lvl >= (int8_t)RADIO_TXPOWER_TXPOWER_Neg20dBm) {
298 		return RADIO_TXPOWER_TXPOWER_Neg20dBm;
299 	}
300 
301 	/* Note: The -30 dBm power level is deprecated so ignore it! */
302 	return RADIO_TXPOWER_TXPOWER_Neg40dBm;
303 }
304 
hal_radio_tx_ready_delay_us_get(uint8_t phy,uint8_t flags)305 static inline uint32_t hal_radio_tx_ready_delay_us_get(uint8_t phy, uint8_t flags)
306 {
307 	ARG_UNUSED(flags);
308 
309 	switch (phy) {
310 	default:
311 	case BIT(0):
312 		return HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_US;
313 	case BIT(1):
314 		return HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_US;
315 	}
316 }
317 
hal_radio_rx_ready_delay_us_get(uint8_t phy,uint8_t flags)318 static inline uint32_t hal_radio_rx_ready_delay_us_get(uint8_t phy, uint8_t flags)
319 {
320 	ARG_UNUSED(flags);
321 
322 	switch (phy) {
323 	default:
324 	case BIT(0):
325 		return HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_US;
326 	case BIT(1):
327 		return HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_US;
328 	}
329 }
330 
hal_radio_tx_chain_delay_us_get(uint8_t phy,uint8_t flags)331 static inline uint32_t hal_radio_tx_chain_delay_us_get(uint8_t phy, uint8_t flags)
332 {
333 	ARG_UNUSED(phy);
334 	ARG_UNUSED(flags);
335 
336 	return HAL_RADIO_NRF52805_TX_CHAIN_DELAY_US;
337 }
338 
hal_radio_rx_chain_delay_us_get(uint8_t phy,uint8_t flags)339 static inline uint32_t hal_radio_rx_chain_delay_us_get(uint8_t phy, uint8_t flags)
340 {
341 	ARG_UNUSED(flags);
342 
343 	switch (phy) {
344 	default:
345 	case BIT(0):
346 		return HAL_RADIO_NRF52805_RX_CHAIN_DELAY_1M_US;
347 	case BIT(1):
348 		return HAL_RADIO_NRF52805_RX_CHAIN_DELAY_2M_US;
349 	}
350 }
351 
hal_radio_tx_ready_delay_ns_get(uint8_t phy,uint8_t flags)352 static inline uint32_t hal_radio_tx_ready_delay_ns_get(uint8_t phy, uint8_t flags)
353 {
354 	ARG_UNUSED(flags);
355 
356 	switch (phy) {
357 	default:
358 	case BIT(0):
359 		return HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_1M_NS;
360 	case BIT(1):
361 		return HAL_RADIO_NRF52805_TXEN_TXIDLE_TX_2M_NS;
362 	}
363 }
364 
hal_radio_rx_ready_delay_ns_get(uint8_t phy,uint8_t flags)365 static inline uint32_t hal_radio_rx_ready_delay_ns_get(uint8_t phy, uint8_t flags)
366 {
367 	ARG_UNUSED(flags);
368 
369 	switch (phy) {
370 	default:
371 	case BIT(0):
372 		return HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_1M_NS;
373 	case BIT(1):
374 		return HAL_RADIO_NRF52805_RXEN_RXIDLE_RX_2M_NS;
375 	}
376 }
377 
hal_radio_tx_chain_delay_ns_get(uint8_t phy,uint8_t flags)378 static inline uint32_t hal_radio_tx_chain_delay_ns_get(uint8_t phy, uint8_t flags)
379 {
380 	ARG_UNUSED(phy);
381 	ARG_UNUSED(flags);
382 
383 	return HAL_RADIO_NRF52805_TX_CHAIN_DELAY_US;
384 }
385 
hal_radio_rx_chain_delay_ns_get(uint8_t phy,uint8_t flags)386 static inline uint32_t hal_radio_rx_chain_delay_ns_get(uint8_t phy, uint8_t flags)
387 {
388 	ARG_UNUSED(flags);
389 
390 	switch (phy) {
391 	default:
392 	case BIT(0):
393 		return HAL_RADIO_NRF52805_RX_CHAIN_DELAY_1M_NS;
394 	case BIT(1):
395 		return HAL_RADIO_NRF52805_RX_CHAIN_DELAY_2M_NS;
396 	}
397 }
398