nrfxlib API 3.3.99
Loading...
Searching...
No Matches
nrf_802154_peripherals_nrf53.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2019, Nordic Semiconductor ASA
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:
9 *
10 * 1. Redistributions of source code must retain the above copyright notice, this
11 * list of conditions and the following disclaimer.
12 *
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 *
17 * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
18 * contributors may be used to endorse or promote products derived from this
19 * software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
25 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 * POSSIBILITY OF SUCH DAMAGE.
32 *
33 */
34
40#ifndef NRF_802154_PERIPHERALS_NRF53_H__
41#define NRF_802154_PERIPHERALS_NRF53_H__
42
43/* This file must not include nrf.h or nrfx.h directly or indirectly,
44 * to avoid circular dependencies.
45 */
46
48#include "nrf_802154_config.h"
49#include "nrf_802154_sl_periphs.h"
50
51#ifdef __cplusplus
52extern "C" {
53#endif
54
62#ifndef NRF_802154_EGU_INSTANCE_NO
63#define NRF_802154_EGU_INSTANCE_NO 0
64#endif
65
75#define NRF_802154_EGU_INSTANCE NRFX_CONCAT_2(NRF_EGU, NRF_802154_EGU_INSTANCE_NO)
76
85#define NRF_802154_EGU_IRQ_HANDLER \
86 NRFX_CONCAT_3(EGU, NRF_802154_EGU_INSTANCE_NO, _IRQHandler)
87
93#ifndef NRF_802154_EGU_USED_MASK
94#define NRF_802154_EGU_USED_MASK (1 << NRF_802154_EGU_INSTANCE_NO)
95#endif
96
97#if (NRF_802154_CCAIDLE_TO_TXEN_EXTRA_TIME_US != 0) || defined(__DOXYGEN__)
98
105#define NRF_802154_EGU_TIMER_START_CHANNEL_NO 13
106
107#define NRF_802154_EGU_TIMER_START_USED_CHANNELS_MASK \
108 (1U << NRF_802154_EGU_TIMER_START_CHANNEL_NO)
109
116#define NRF_802154_EGU_TIMER_START2_CHANNEL_NO 12
117
118#define NRF_802154_EGU_TIMER_START2_USED_CHANNELS_MASK \
119 (1U << NRF_802154_EGU_TIMER_START2_CHANNEL_NO)
120
121#endif /* (NRF_802154_CCAIDLE_TO_TXEN_EXTRA_TIME_US != 0) || defined(__DOXYGEN__) */
122
129#ifndef NRF_802154_RTC_INSTANCE_NO
130#define NRF_802154_RTC_INSTANCE_NO 2
131#endif
132
139#define NRF_802154_DPPIC_INSTANCE NRF_DPPIC
140
149#ifndef NRF_802154_DPPI_RADIO_DISABLED
150#define NRF_802154_DPPI_RADIO_DISABLED 7U
151#endif
152
161#ifndef NRF_802154_DPPI_RADIO_READY
162#define NRF_802154_DPPI_RADIO_READY 4U
163#endif
164
173#ifndef NRF_802154_DPPI_RADIO_ADDRESS
174#define NRF_802154_DPPI_RADIO_ADDRESS 5U
175#endif
176
185#ifndef NRF_802154_DPPI_RADIO_END
186#define NRF_802154_DPPI_RADIO_END 6U
187#endif
188
197#ifndef NRF_802154_DPPI_RADIO_PHYEND
198#define NRF_802154_DPPI_RADIO_PHYEND 8U
199#endif
200
210#ifndef NRF_802154_DPPI_EGU_TO_RADIO_RAMP_UP
211#define NRF_802154_DPPI_EGU_TO_RADIO_RAMP_UP 10U
212#endif
213
223#ifndef NRF_802154_DPPI_TIMER_COMPARE_TO_RADIO_TXEN
224#define NRF_802154_DPPI_TIMER_COMPARE_TO_RADIO_TXEN 10U
225#endif
226
234#ifndef NRF_802154_DPPI_RADIO_SYNC_TO_EGU_SYNC
235#define NRF_802154_DPPI_RADIO_SYNC_TO_EGU_SYNC 12U
236#endif
237
238#if (NRF_802154_CCAIDLE_TO_TXEN_EXTRA_TIME_US != 0) || defined(__DOXYGEN__)
246#ifndef NRF_802154_DPPI_TIMER_START
247#define NRF_802154_DPPI_TIMER_START 16U
248#endif
249
258#ifndef NRF_802154_DPPI_RADIO_TXEN
259#define NRF_802154_DPPI_RADIO_TXEN 17U
260#endif
261
262#define NRF_802154_DPPI_TIMER_START_MASK (1U << NRF_802154_DPPI_TIMER_START)
263#define NRF_802154_DPPI_RADIO_TXEN_MASK (1U << NRF_802154_DPPI_RADIO_TXEN)
264
265#else
266
267#define NRF_802154_DPPI_TIMER_START_MASK 0U
268#define NRF_802154_DPPI_RADIO_TXEN_MASK 0U
269
270#endif /* (NRF_802154_CCAIDLE_TO_TXEN_EXTRA_TIME_US != 0) || defined(__DOXYGEN__) */
271
277#ifndef NRF_802154_DPPI_RADIO_CCAIDLE
278#define NRF_802154_DPPI_RADIO_CCAIDLE 14U
279#endif
280
286#ifndef NRF_802154_DPPI_RADIO_CCABUSY
287#define NRF_802154_DPPI_RADIO_CCABUSY 3U
288#endif
289
295#define NRF_802154_DPPI_RADIO_TEST_MODE_USED_MASK 0U
296
302#ifndef NRF_802154_DPPI_RADIO_HW_TRIGGER
303#define NRF_802154_DPPI_RADIO_HW_TRIGGER 15U
304#endif
305
311#ifndef NRF_802154_DPPI_CHANNELS_USED_MASK
312#define NRF_802154_DPPI_CHANNELS_USED_MASK ( \
313 (1UL << NRF_802154_DPPI_RADIO_DISABLED) | \
314 (1UL << NRF_802154_DPPI_RADIO_READY) | \
315 (1UL << NRF_802154_DPPI_RADIO_ADDRESS) | \
316 (1UL << NRF_802154_DPPI_RADIO_END) | \
317 (1UL << NRF_802154_DPPI_RADIO_PHYEND) | \
318 (1UL << NRF_802154_DPPI_EGU_TO_RADIO_RAMP_UP) | \
319 (1UL << NRF_802154_DPPI_TIMER_COMPARE_TO_RADIO_TXEN) | \
320 (1UL << NRF_802154_DPPI_RADIO_SYNC_TO_EGU_SYNC) | \
321 (NRF_802154_DPPI_TIMER_START_MASK) | \
322 (NRF_802154_DPPI_RADIO_TXEN_MASK) | \
323 (1UL << NRF_802154_DPPI_RADIO_CCAIDLE) | \
324 (1UL << NRF_802154_DPPI_RADIO_CCABUSY) | \
325 (1UL << NRF_802154_DPPI_RADIO_HW_TRIGGER) | \
326 NRF_802154_DPPI_RADIO_TEST_MODE_USED_MASK | \
327 NRF_802154_SL_PPI_CHANNELS_USED_MASK)
328#endif // NRF_802154_DPPI_CHANNELS_USED_MASK
329
335#ifndef NRF_802154_DPPI_GROUPS_USED_MASK
336#define NRF_802154_DPPI_GROUPS_USED_MASK 0UL
337#endif // NRF_802154_DPPI_GROUPS_USED_MASK
338
339#define NRF_802154_ENCRYPTION_ACCELERATOR_ECB
340
341#ifdef __cplusplus
342}
343#endif
344
345#endif // NRF_802154_PERIPHERALS_NRF53_H__