Skip to content

Commit 284316c

Browse files
committed
[nrf noup] modules: hal_nordic: adjust nrfx reservations to NCS
Added ncs-specific modules to nrfx_config_reserved_resources. The modules are: - mpsl - nrfe Signed-off-by: Rafał Kuźnia <[email protected]>
1 parent fe94056 commit 284316c

File tree

1 file changed

+206
-0
lines changed

1 file changed

+206
-0
lines changed

modules/hal_nordic/nrfx/nrfx_config_reserved_resources.h

Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,27 @@
5454
#endif /* defined(DPPI_PRESENT) */
5555
#endif /* defined(CONFIG_BT_LL_SW_SPLIT) */
5656

57+
#if defined(CONFIG_BT_LL_SOFTDEVICE)
58+
#include <sdc_soc.h>
59+
#if defined(NRF52_SERIES)
60+
#define NRFX_PPI_CHANNELS_USED_BY_BT_CTLR SDC_PPI_CHANNELS_USED_MASK
61+
#elif defined(NRF53_SERIES)
62+
#define NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR SDC_DPPI_CHANNELS_USED_MASK
63+
#elif defined(NRF54L_SERIES)
64+
#define NRFX_DPPI10_CHANNELS_USED_BY_BT_CTLR SDC_DPPIC10_CHANNELS_USED_MASK
65+
#define NRFX_DPPI00_CHANNELS_USED_BY_BT_CTLR SDC_DPPIC00_CHANNELS_USED_MASK
66+
#define NRFX_PPIB_00_10_CHANNELS_USED_BY_BT_CTLR \
67+
(SDC_PPIB00_CHANNELS_USED_MASK | SDC_PPIB10_CHANNELS_USED_MASK)
68+
#elif defined(NRF54H_SERIES)
69+
#define NRFX_DPPI020_CHANNELS_USED_BY_BT_CTLR SDC_DPPIC020_CHANNELS_USED_MASK
70+
#define NRFX_DPPI030_CHANNELS_USED_BY_BT_CTLR SDC_DPPIC030_CHANNELS_USED_MASK
71+
#define NRFX_PPIB_020_030_CHANNELS_USED_BY_BT_CTLR \
72+
(SDC_PPIB020_CHANNELS_USED_MASK | SDC_PPIB030_CHANNELS_USED_MASK)
73+
#else
74+
#error Unsupported chip family
75+
#endif
76+
#endif /* defined(CONFIG_BT_LL_SOFTDEVICE) */
77+
5778
#if defined(CONFIG_NRF_802154_RADIO_DRIVER)
5879
#if defined(NRF52_SERIES)
5980
#include <../src/nrf_802154_peripherals_nrf52.h>
@@ -76,6 +97,24 @@
7697
#endif
7798
#endif /* CONFIG_NRF_802154_RADIO_DRIVER */
7899

100+
#if defined(CONFIG_MPSL)
101+
#include <mpsl.h>
102+
#if defined(NRF52_SERIES)
103+
#define NRFX_PPI_CHANNELS_USED_BY_MPSL MPSL_PPI_CHANNELS_USED_MASK
104+
#elif defined(NRF53_SERIES)
105+
#define NRFX_DPPI0_CHANNELS_USED_BY_MPSL MPSL_DPPIC_CHANNELS_USED_MASK
106+
#elif defined(NRF54L_SERIES)
107+
#define NRFX_DPPI10_CHANNELS_USED_BY_MPSL MPSL_DPPIC10_CHANNELS_USED_MASK
108+
#define NRFX_DPPI20_CHANNELS_USED_BY_MPSL MPSL_DPPIC20_CHANNELS_USED_MASK
109+
#define NRFX_PPIB_11_21_CHANNELS_USED_BY_MPSL \
110+
(MPSL_PPIB11_CHANNELS_USED_MASK | MPSL_PPIB21_CHANNELS_USED_MASK)
111+
#elif defined(NRF54H_SERIES)
112+
#define NRFX_DPPI020_CHANNELS_USED_BY_MPSL MPSL_DPPIC020_CHANNELS_USED_MASK
113+
#else
114+
#error Unsupported chip family
115+
#endif
116+
#endif
117+
79118
#ifndef NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR
80119
#define NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR 0
81120
#endif
@@ -452,6 +491,173 @@
452491
#define NRFX_PPIB_020_030_CHANNELS_USED_BY_MPSL 0
453492
#endif
454493

494+
#if defined(NRF_802154_VERIFY_PERIPHS_ALLOC_AGAINST_MPSL)
495+
496+
BUILD_ASSERT((NRFX_DPPI0_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI0_CHANNELS_USED_BY_MPSL) == 0,
497+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
498+
"assigned to the MPSL.");
499+
500+
BUILD_ASSERT((NRFX_DPPI0_GROUPS_USED_BY_802154_DRV & NRFX_DPPI0_GROUPS_USED_BY_MPSL) == 0,
501+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
502+
"assigned to the MPSL.");
503+
504+
BUILD_ASSERT((NRFX_DPPI00_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI00_CHANNELS_USED_BY_MPSL) == 0,
505+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
506+
"assigned to the MPSL.");
507+
508+
BUILD_ASSERT((NRFX_DPPI00_GROUPS_USED_BY_802154_DRV & NRFX_DPPI00_GROUPS_USED_BY_MPSL) == 0,
509+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
510+
"assigned to the MPSL.");
511+
512+
BUILD_ASSERT((NRFX_DPPI10_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI10_CHANNELS_USED_BY_MPSL) == 0,
513+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
514+
"assigned to the MPSL.");
515+
516+
BUILD_ASSERT((NRFX_DPPI10_GROUPS_USED_BY_802154_DRV & NRFX_DPPI10_GROUPS_USED_BY_MPSL) == 0,
517+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
518+
"assigned to the MPSL.");
519+
520+
BUILD_ASSERT((NRFX_DPPI20_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI20_CHANNELS_USED_BY_MPSL) == 0,
521+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
522+
"assigned to the MPSL.");
523+
524+
BUILD_ASSERT((NRFX_DPPI20_GROUPS_USED_BY_802154_DRV & NRFX_DPPI20_GROUPS_USED_BY_MPSL) == 0,
525+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
526+
"assigned to the MPSL.");
527+
528+
BUILD_ASSERT((NRFX_DPPI30_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI30_CHANNELS_USED_BY_MPSL) == 0,
529+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
530+
"assigned to the MPSL.");
531+
532+
BUILD_ASSERT((NRFX_DPPI30_GROUPS_USED_BY_802154_DRV & NRFX_DPPI30_GROUPS_USED_BY_MPSL) == 0,
533+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
534+
"assigned to the MPSL.");
535+
536+
BUILD_ASSERT((NRFX_DPPI020_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI020_CHANNELS_USED_BY_MPSL) == 0,
537+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
538+
"assigned to the MPSL.");
539+
540+
BUILD_ASSERT((NRFX_DPPI020_GROUPS_USED_BY_802154_DRV & NRFX_DPPI020_GROUPS_USED_BY_MPSL) == 0,
541+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
542+
"assigned to the MPSL.");
543+
544+
BUILD_ASSERT((NRFX_DPPI030_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI030_CHANNELS_USED_BY_MPSL) == 0,
545+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
546+
"assigned to the MPSL.");
547+
548+
BUILD_ASSERT((NRFX_DPPI030_GROUPS_USED_BY_802154_DRV & NRFX_DPPI030_GROUPS_USED_BY_MPSL) == 0,
549+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
550+
"assigned to the MPSL.");
551+
552+
BUILD_ASSERT((NRFX_DPPI120_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI120_CHANNELS_USED_BY_MPSL) == 0,
553+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
554+
"assigned to the MPSL.");
555+
556+
BUILD_ASSERT((NRFX_DPPI120_GROUPS_USED_BY_802154_DRV & NRFX_DPPI120_GROUPS_USED_BY_MPSL) == 0,
557+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
558+
"assigned to the MPSL.");
559+
560+
BUILD_ASSERT((NRFX_DPPI130_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI130_CHANNELS_USED_BY_MPSL) == 0,
561+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
562+
"assigned to the MPSL.");
563+
564+
BUILD_ASSERT((NRFX_DPPI130_GROUPS_USED_BY_802154_DRV & NRFX_DPPI130_GROUPS_USED_BY_MPSL) == 0,
565+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
566+
"assigned to the MPSL.");
567+
568+
BUILD_ASSERT((NRFX_DPPI131_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI131_CHANNELS_USED_BY_MPSL) == 0,
569+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
570+
"assigned to the MPSL.");
571+
572+
BUILD_ASSERT((NRFX_DPPI131_GROUPS_USED_BY_802154_DRV & NRFX_DPPI131_GROUPS_USED_BY_MPSL) == 0,
573+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
574+
"assigned to the MPSL.");
575+
576+
BUILD_ASSERT((NRFX_DPPI132_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI132_CHANNELS_USED_BY_MPSL) == 0,
577+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
578+
"assigned to the MPSL.");
579+
580+
BUILD_ASSERT((NRFX_DPPI132_GROUPS_USED_BY_802154_DRV & NRFX_DPPI132_GROUPS_USED_BY_MPSL) == 0,
581+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
582+
"assigned to the MPSL.");
583+
584+
BUILD_ASSERT((NRFX_DPPI133_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI133_CHANNELS_USED_BY_MPSL) == 0,
585+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
586+
"assigned to the MPSL.");
587+
588+
BUILD_ASSERT((NRFX_DPPI133_GROUPS_USED_BY_802154_DRV & NRFX_DPPI133_GROUPS_USED_BY_MPSL) == 0,
589+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
590+
"assigned to the MPSL.");
591+
592+
BUILD_ASSERT((NRFX_DPPI134_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI134_CHANNELS_USED_BY_MPSL) == 0,
593+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
594+
"assigned to the MPSL.");
595+
596+
BUILD_ASSERT((NRFX_DPPI134_GROUPS_USED_BY_802154_DRV & NRFX_DPPI134_GROUPS_USED_BY_MPSL) == 0,
597+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
598+
"assigned to the MPSL.");
599+
600+
BUILD_ASSERT((NRFX_DPPI135_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI135_CHANNELS_USED_BY_MPSL) == 0,
601+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
602+
"assigned to the MPSL.");
603+
604+
BUILD_ASSERT((NRFX_DPPI135_GROUPS_USED_BY_802154_DRV & NRFX_DPPI135_GROUPS_USED_BY_MPSL) == 0,
605+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
606+
"assigned to the MPSL.");
607+
608+
BUILD_ASSERT((NRFX_DPPI136_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI136_CHANNELS_USED_BY_MPSL) == 0,
609+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
610+
"assigned to the MPSL.");
611+
612+
BUILD_ASSERT((NRFX_DPPI136_GROUPS_USED_BY_802154_DRV & NRFX_DPPI136_GROUPS_USED_BY_MPSL) == 0,
613+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
614+
"assigned to the MPSL.");
615+
616+
BUILD_ASSERT((NRFX_PPI_CHANNELS_USED_BY_802154_DRV & NRFX_PPI_CHANNELS_USED_BY_MPSL) == 0,
617+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
618+
"assigned to the MPSL.");
619+
620+
BUILD_ASSERT((NRFX_PPI_GROUPS_USED_BY_802154_DRV & NRFX_PPI_GROUPS_USED_BY_MPSL) == 0,
621+
"PPI groups used by the IEEE802.15.4 radio driver overlap with those "
622+
"assigned to the MPSL.");
623+
624+
BUILD_ASSERT((NRFX_PPIB_00_10_CHANNELS_USED_BY_802154_DRV &
625+
NRFX_PPIB_00_10_CHANNELS_USED_BY_MPSL) == 0,
626+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
627+
"assigned to the MPSL.");
628+
629+
BUILD_ASSERT((NRFX_PPIB_01_20_CHANNELS_USED_BY_802154_DRV &
630+
NRFX_PPIB_01_20_CHANNELS_USED_BY_MPSL) == 0,
631+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
632+
"assigned to the MPSL.");
633+
634+
BUILD_ASSERT((NRFX_PPIB_11_21_CHANNELS_USED_BY_802154_DRV &
635+
NRFX_PPIB_11_21_CHANNELS_USED_BY_MPSL) == 0,
636+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
637+
"assigned to the MPSL.");
638+
639+
BUILD_ASSERT((NRFX_PPIB_22_30_CHANNELS_USED_BY_802154_DRV &
640+
NRFX_PPIB_22_30_CHANNELS_USED_BY_MPSL) == 0,
641+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
642+
"assigned to the MPSL.");
643+
644+
BUILD_ASSERT((NRFX_PPIB_02_03_CHANNELS_USED_BY_802154_DRV &
645+
NRFX_PPIB_02_03_CHANNELS_USED_BY_MPSL) == 0,
646+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
647+
"assigned to the MPSL.");
648+
649+
BUILD_ASSERT((NRFX_PPIB_04_12_CHANNELS_USED_BY_802154_DRV &
650+
NRFX_PPIB_04_12_CHANNELS_USED_BY_MPSL) == 0,
651+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
652+
"assigned to the MPSL.");
653+
654+
BUILD_ASSERT((NRFX_PPIB_020_030_CHANNELS_USED_BY_802154_DRV &
655+
NRFX_PPIB_020_030_CHANNELS_USED_BY_MPSL) == 0,
656+
"PPI channels used by the IEEE802.15.4 radio driver overlap with those "
657+
"assigned to the MPSL.");
658+
659+
#endif /* NRF_802154_VERIFY_PERIPHS_ALLOC_AGAINST_MPSL */
660+
455661
/** @brief Bitmask that defines DPPI channels that are reserved for use outside
456662
* of the nrfx library.
457663
*/

0 commit comments

Comments
 (0)