Skip to content

Commit cd49156

Browse files
nika-nordicrlubos
authored andcommitted
[nrf noup] modules: hal_nordic: use Kconfig symbols in NCS reservation
As nrfx_config is included before MDK, MDK-specific device symbols cannot be used. Use Kconfig symbols instead. Signed-off-by: Nikodem Kastelik <[email protected]>
1 parent 3c9c7af commit cd49156

File tree

1 file changed

+40
-19
lines changed

1 file changed

+40
-19
lines changed

modules/hal_nordic/nrfx/nrfx_config_reserved_resources_ncs.h

Lines changed: 40 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,19 @@
3131
*/
3232
#define NRFX_TIMERS_USED 0
3333

34+
/* If the GRTC system timer driver is to be used, prepare definitions required
35+
* by the nrfx_grtc driver (NRFX_GRTC_CONFIG_ALLOWED_CC_CHANNELS_MASK and
36+
* NRFX_GRTC_CONFIG_NUM_OF_CC_CHANNELS) based on information from devicetree.
37+
*/
38+
#if DT_HAS_COMPAT_STATUS_OKAY(nordic_nrf_grtc)
39+
#define NRFX_GRTC_CONFIG_ALLOWED_CC_CHANNELS_MASK \
40+
(NRFX_CONFIG_MASK_DT(DT_INST(0, nordic_nrf_grtc), owned_channels) & \
41+
~NRFX_CONFIG_MASK_DT(DT_INST(0, nordic_nrf_grtc), child_owned_channels))
42+
#define NRFX_GRTC_CONFIG_NUM_OF_CC_CHANNELS \
43+
(DT_PROP_LEN_OR(DT_INST(0, nordic_nrf_grtc), owned_channels, 0) - \
44+
DT_PROP_LEN_OR(DT_INST(0, nordic_nrf_grtc), child_owned_channels, 0))
45+
#endif /* DT_HAS_COMPAT_STATUS_OKAY(nordic_nrf_grtc) */
46+
3447
/*
3548
* The enabled Bluetooth controller subsystem is responsible for providing
3649
* definitions of the BT_CTLR_USED_* symbols used below in a file named
@@ -40,32 +53,40 @@
4053
*/
4154
#if defined(CONFIG_BT_LL_SW_SPLIT)
4255
#include <bt_ctlr_used_resources.h>
43-
#if defined(DPPI_PRESENT)
44-
#if defined(NRF53_SERIES)
56+
#if defined(CONFIG_SOC_SERIES_NRF51X) || defined(CONFIG_SOC_COMPATIBLE_NRF52X)
57+
#define NRFX_PPI_CHANNELS_USED_BY_BT_CTLR BT_CTLR_USED_PPI_CHANNELS
58+
#define NRFX_PPI_GROUPS_USED_BY_BT_CTLR BT_CTLR_USED_PPI_GROUPS
59+
#elif defined(CONFIG_SOC_COMPATIBLE_NRF53X)
4560
#define NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR BT_CTLR_USED_PPI_CHANNELS
4661
#define NRFX_DPPI0_GROUPS_USED_BY_BT_CTLR BT_CTLR_USED_PPI_GROUPS
47-
#elif defined(NRF54L_SERIES)
62+
#elif defined(CONFIG_SOC_COMPATIBLE_NRF54LX)
4863
#define NRFX_DPPI10_CHANNELS_USED_BY_BT_CTLR BT_CTLR_USED_PPI_CHANNELS
4964
#define NRFX_DPPI10_GROUPS_USED_BY_BT_CTLR BT_CTLR_USED_PPI_GROUPS
5065
#endif
51-
#else /* defined(DPPI_PRESENT) */
52-
#define NRFX_PPI_CHANNELS_USED_BY_BT_CTLR BT_CTLR_USED_PPI_CHANNELS
53-
#define NRFX_PPI_GROUPS_USED_BY_BT_CTLR BT_CTLR_USED_PPI_GROUPS
54-
#endif /* defined(DPPI_PRESENT) */
5566
#endif /* defined(CONFIG_BT_LL_SW_SPLIT) */
5667

5768
#if defined(CONFIG_BT_LL_SOFTDEVICE)
69+
/* Define auxiliary symbols needed for SDC device dispatch. */
70+
#if defined(CONFIG_SOC_COMPATIBLE_NRF52X)
71+
#define NRF52_SERIES
72+
#elif defined(CONFIG_SOC_COMPATIBLE_NRF53X)
73+
#define NRF53_SERIES
74+
#elif defined(CONFIG_SOC_COMPATIBLE_NRF54LX)
75+
#define NRF54L_SERIES
76+
#elif defined(CONFIG_SOC_SERIES_NRF54HX)
77+
#define NRF54H_SERIES
78+
#endif
5879
#include <sdc_soc.h>
59-
#if defined(NRF52_SERIES)
80+
#if defined(CONFIG_SOC_COMPATIBLE_NRF52X)
6081
#define NRFX_PPI_CHANNELS_USED_BY_BT_CTLR SDC_PPI_CHANNELS_USED_MASK
61-
#elif defined(NRF53_SERIES)
82+
#elif defined(CONFIG_SOC_COMPATIBLE_NRF53X)
6283
#define NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR SDC_DPPI_CHANNELS_USED_MASK
63-
#elif defined(NRF54L_SERIES)
84+
#elif defined(CONFIG_SOC_COMPATIBLE_NRF54LX)
6485
#define NRFX_DPPI10_CHANNELS_USED_BY_BT_CTLR SDC_DPPIC10_CHANNELS_USED_MASK
6586
#define NRFX_DPPI00_CHANNELS_USED_BY_BT_CTLR SDC_DPPIC00_CHANNELS_USED_MASK
6687
#define NRFX_PPIB_00_10_CHANNELS_USED_BY_BT_CTLR \
6788
(SDC_PPIB00_CHANNELS_USED_MASK | SDC_PPIB10_CHANNELS_USED_MASK)
68-
#elif defined(NRF54H_SERIES)
89+
#elif defined(CONFIG_SOC_SERIES_NRF54HX)
6990
#define NRFX_DPPI020_CHANNELS_USED_BY_BT_CTLR SDC_DPPIC020_CHANNELS_USED_MASK
7091
#define NRFX_DPPI030_CHANNELS_USED_BY_BT_CTLR SDC_DPPIC030_CHANNELS_USED_MASK
7192
#define NRFX_PPIB_020_030_CHANNELS_USED_BY_BT_CTLR \
@@ -76,19 +97,19 @@
7697
#endif /* defined(CONFIG_BT_LL_SOFTDEVICE) */
7798

7899
#if defined(CONFIG_NRF_802154_RADIO_DRIVER)
79-
#if defined(NRF52_SERIES)
100+
#if defined(CONFIG_SOC_COMPATIBLE_NRF52X)
80101
#include <../src/nrf_802154_peripherals_nrf52.h>
81102
#define NRFX_PPI_CHANNELS_USED_BY_802154_DRV NRF_802154_PPI_CHANNELS_USED_MASK
82103
#define NRFX_PPI_GROUPS_USED_BY_802154_DRV NRF_802154_PPI_GROUPS_USED_MASK
83-
#elif defined(NRF53_SERIES)
104+
#elif defined(CONFIG_SOC_COMPATIBLE_NRF53X)
84105
#include <../src/nrf_802154_peripherals_nrf53.h>
85106
#define NRFX_DPPI0_CHANNELS_USED_BY_802154_DRV NRF_802154_DPPI_CHANNELS_USED_MASK
86107
#define NRFX_DPPI0_GROUPS_USED_BY_802154_DRV NRF_802154_DPPI_GROUPS_USED_MASK
87-
#elif defined(NRF54L_SERIES)
108+
#elif defined(CONFIG_SOC_COMPATIBLE_NRF54LX)
88109
#include <../src/nrf_802154_peripherals_nrf54l.h>
89110
#define NRFX_DPPI10_CHANNELS_USED_BY_802154_DRV NRF_802154_DPPI_CHANNELS_USED_MASK
90111
#define NRFX_DPPI10_GROUPS_USED_BY_802154_DRV NRF_802154_DPPI_GROUPS_USED_MASK
91-
#elif defined(NRF54H_SERIES)
112+
#elif defined(CONFIG_SOC_SERIES_NRF54HX)
92113
#include <../src/nrf_802154_peripherals_nrf54h.h>
93114
#define NRFX_DPPI020_CHANNELS_USED_BY_802154_DRV NRF_802154_DPPI_CHANNELS_USED_MASK
94115
#define NRFX_DPPI020_GROUPS_USED_BY_802154_DRV NRF_802154_DPPI_GROUPS_USED_MASK
@@ -99,16 +120,16 @@
99120

100121
#if defined(CONFIG_MPSL)
101122
#include <mpsl.h>
102-
#if defined(NRF52_SERIES)
123+
#if defined(CONFIG_SOC_COMPATIBLE_NRF52X)
103124
#define NRFX_PPI_CHANNELS_USED_BY_MPSL MPSL_PPI_CHANNELS_USED_MASK
104-
#elif defined(NRF53_SERIES)
125+
#elif defined(CONFIG_SOC_COMPATIBLE_NRF53X)
105126
#define NRFX_DPPI0_CHANNELS_USED_BY_MPSL MPSL_DPPIC_CHANNELS_USED_MASK
106-
#elif defined(NRF54L_SERIES)
127+
#elif defined(CONFIG_SOC_COMPATIBLE_NRF54LX)
107128
#define NRFX_DPPI10_CHANNELS_USED_BY_MPSL MPSL_DPPIC10_CHANNELS_USED_MASK
108129
#define NRFX_DPPI20_CHANNELS_USED_BY_MPSL MPSL_DPPIC20_CHANNELS_USED_MASK
109130
#define NRFX_PPIB_11_21_CHANNELS_USED_BY_MPSL \
110131
(MPSL_PPIB11_CHANNELS_USED_MASK | MPSL_PPIB21_CHANNELS_USED_MASK)
111-
#elif defined(NRF54H_SERIES)
132+
#elif defined(CONFIG_SOC_SERIES_NRF54HX)
112133
#define NRFX_DPPI020_CHANNELS_USED_BY_MPSL MPSL_DPPIC020_CHANNELS_USED_MASK
113134
#else
114135
#error Unsupported chip family

0 commit comments

Comments
 (0)