nrfxlib API 3.3.99
Loading...
Searching...
No Matches
nrf_802154_peripherals_nrf54l.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024, 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_NRF54L_H__
41#define NRF_802154_PERIPHERALS_NRF54L_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 10
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
131#define NRF_802154_CCM_INSTANCE_NO 00
132
141#define NRF_802154_CCM_INSTANCE NRFX_CONCAT_2(NRF_CCM, \
142 NRF_802154_CCM_INSTANCE_NO)
143
150#ifndef NRF_802154_RTC_INSTANCE_NO
151#define NRF_802154_RTC_INSTANCE_NO 2
152#endif
153
160#define NRF_802154_DPPIC_INSTANCE_NO 10
161
168#define NRF_802154_DPPIC_INSTANCE NRFX_CONCAT_2(NRF_DPPIC, NRF_802154_DPPIC_INSTANCE_NO)
169
178#ifndef NRF_802154_DPPI_RADIO_DISABLED
179#define NRF_802154_DPPI_RADIO_DISABLED 7U
180#endif
181
190#ifndef NRF_802154_DPPI_RADIO_READY
191#define NRF_802154_DPPI_RADIO_READY 4U
192#endif
193
202#ifndef NRF_802154_DPPI_RADIO_ADDRESS
203#define NRF_802154_DPPI_RADIO_ADDRESS 5U
204#endif
205
214#ifndef NRF_802154_DPPI_RADIO_END
215#define NRF_802154_DPPI_RADIO_END 6U
216#endif
217
226#ifndef NRF_802154_DPPI_RADIO_PHYEND
227#define NRF_802154_DPPI_RADIO_PHYEND 8U
228#endif
229
239#ifndef NRF_802154_DPPI_EGU_TO_RADIO_RAMP_UP
240#define NRF_802154_DPPI_EGU_TO_RADIO_RAMP_UP 23U
241#endif
242
252#ifndef NRF_802154_DPPI_TIMER_COMPARE_TO_RADIO_TXEN
253#define NRF_802154_DPPI_TIMER_COMPARE_TO_RADIO_TXEN 23U
254#endif
255
263#ifndef NRF_802154_DPPI_RADIO_SYNC_TO_EGU_SYNC
264#define NRF_802154_DPPI_RADIO_SYNC_TO_EGU_SYNC 22U
265#endif
266
267#if (NRF_802154_CCAIDLE_TO_TXEN_EXTRA_TIME_US != 0) || defined(__DOXYGEN__)
275#ifndef NRF_802154_DPPI_TIMER_START
276#define NRF_802154_DPPI_TIMER_START 21U
277#endif
278
287#ifndef NRF_802154_DPPI_RADIO_TXEN
288#define NRF_802154_DPPI_RADIO_TXEN 20U
289#endif
290
291#define NRF_802154_DPPI_TIMER_START_MASK (1U << NRF_802154_DPPI_TIMER_START)
292#define NRF_802154_DPPI_RADIO_TXEN_MASK (1U << NRF_802154_DPPI_RADIO_TXEN)
293
294#else
295
296#define NRF_802154_DPPI_TIMER_START_MASK 0U
297#define NRF_802154_DPPI_RADIO_TXEN_MASK 0U
298
299#endif /* (NRF_802154_CCAIDLE_TO_TXEN_EXTRA_TIME_US != 0) || defined(__DOXYGEN__) */
300
306#ifndef NRF_802154_DPPI_RADIO_CCAIDLE
307#define NRF_802154_DPPI_RADIO_CCAIDLE 14U
308#endif
309
315#ifndef NRF_802154_DPPI_RADIO_CCABUSY
316#define NRF_802154_DPPI_RADIO_CCABUSY 3U
317#endif
318
324#ifndef NRF_802154_DPPI_RADIO_HW_TRIGGER
325#define NRF_802154_DPPI_RADIO_HW_TRIGGER 10U
326#endif
327
333#ifndef NRF_802154_DPPI_CHANNELS_USED_MASK
334#define NRF_802154_DPPI_CHANNELS_USED_MASK ( \
335 (1UL << NRF_802154_DPPI_RADIO_DISABLED) | \
336 (1UL << NRF_802154_DPPI_RADIO_READY) | \
337 (1UL << NRF_802154_DPPI_RADIO_ADDRESS) | \
338 (1UL << NRF_802154_DPPI_RADIO_END) | \
339 (1UL << NRF_802154_DPPI_RADIO_PHYEND) | \
340 (1UL << NRF_802154_DPPI_EGU_TO_RADIO_RAMP_UP) | \
341 (1UL << NRF_802154_DPPI_TIMER_COMPARE_TO_RADIO_TXEN) | \
342 (1UL << NRF_802154_DPPI_RADIO_SYNC_TO_EGU_SYNC) | \
343 (NRF_802154_DPPI_TIMER_START_MASK) | \
344 (NRF_802154_DPPI_RADIO_TXEN_MASK) | \
345 (1UL << NRF_802154_DPPI_RADIO_CCAIDLE) | \
346 (1UL << NRF_802154_DPPI_RADIO_CCABUSY) | \
347 (1UL << NRF_802154_DPPI_RADIO_HW_TRIGGER) | \
348 NRF_802154_SL_PPI_CHANNELS_USED_MASK)
349#endif // NRF_802154_DPPI_CHANNELS_USED_MASK
350
356#ifndef NRF_802154_DPPI_GROUPS_USED_MASK
357#define NRF_802154_DPPI_GROUPS_USED_MASK 0UL
358#endif // NRF_802154_DPPI_GROUPS_USED_MASK
359
366#define NRF_802154_TIMER_INSTANCE_NO 10
367
368#define NRF_802154_ENCRYPTION_ACCELERATOR_CCM
369
370#ifdef __cplusplus
371}
372#endif
373
374#endif // NRF_802154_PERIPHERALS_NRF54L_H__