Skip to content

Commit 6e39d4f

Browse files
committed
nrfx: Update to version 3.12.1
Update nrfx to the recently released version. See https://github.com/NordicSemiconductor/nrfx/blob/v3.12.1/CHANGELOG.md for a list of changes that this version introduces. Origin: nrfx License: BSD 3-Clause URL: https://github.com/NordicSemiconductor/nrfx/tree/v3.12.1 commit: 472e5c92addb926b0f53f3072e8fae3dbf1a97cf Purpose: Provide peripheral drivers for Nordic SoCs Maintained-by: External Signed-off-by: Nikodem Kastelik <[email protected]>
1 parent 1f169d9 commit 6e39d4f

File tree

8 files changed

+23
-35
lines changed

8 files changed

+23
-35
lines changed

nrfx/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
# Changelog
22
All notable changes to this project are documented in this file.
33

4+
## [3.12.1] - 2025-06-09
5+
### Fixed
6+
- Fixed missing event clearing in case of NULL user handler in the GRTC driver.
7+
- Fixed the workaround condition for nRF54L Series anomaly 55 in the SPIM driver.
8+
49
## [3.12.0] - 2025-06-02
510
### Added
611
- Added a driver, HALY and HAL for MRAMC.

nrfx/README

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ nrfx
22
####
33

44
Origin:
5-
https://github.com/NordicSemiconductor/nrfx/tree/v3.12.0
5+
https://github.com/NordicSemiconductor/nrfx/tree/v3.12.1
66

77
Status:
8-
v3.12.0
8+
v3.12.1
99

1010
Purpose:
1111
With added proper shims adapting it to Zephyr's APIs, nrfx will provide
@@ -32,7 +32,7 @@ URL:
3232
https://github.com/NordicSemiconductor/nrfx
3333

3434
commit:
35-
db85149b1871aa09e8ff8ed240a177e8406ead58
35+
472e5c92addb926b0f53f3072e8fae3dbf1a97cf
3636

3737
Maintained-by:
3838
External
@@ -41,4 +41,4 @@ License:
4141
BSD-3-Clause
4242

4343
License Link:
44-
https://github.com/NordicSemiconductor/nrfx/blob/v3.12.0/LICENSE
44+
https://github.com/NordicSemiconductor/nrfx/blob/v3.12.1/LICENSE

nrfx/doc/nrfx.doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ PROJECT_NAME = "nrfx"
5050

5151
### EDIT THIS ###
5252

53-
PROJECT_NUMBER = "3.12"
53+
PROJECT_NUMBER = "3.12.1"
5454

5555
# Using the PROJECT_BRIEF tag one can provide an optional one line description
5656
# for a project that appears at the top of each page and should give viewer a

nrfx/drivers/include/nrfx_grtc.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,7 @@ nrfx_err_t nrfx_grtc_syscounter_cc_disable(uint8_t channel);
356356
/**
357357
* @brief Function for setting the absolute compare value for the SYSCOUNTER.
358358
*
359+
* @note This function is deprecated. Use @ref nrfx_grtc_syscounter_cc_abs_set instead.
359360
* @note This function marks the specified @p channel as used.
360361
*
361362
* @param[in] p_chan_data Pointer to the channel data instance structure.
@@ -391,6 +392,8 @@ void nrfx_grtc_syscounter_cc_abs_set(uint8_t channel, uint64_t val, bool safe_se
391392
/**
392393
* @brief Function for setting the relative compare value for the SYSCOUNTER.
393394
*
395+
* @note This function is deprecated. Use @ref nrfx_grtc_syscounter_cc_rel_set instead.
396+
*
394397
* Function has no assumptions on the current channel state so channel event is cleared and
395398
* interrupt can optionally be enabled for that channel.
396399
*

nrfx/drivers/nrfx_common.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ extern "C" {
9494
#define NRFX_RELEASE_VER_MINOR 12
9595

9696
/** @brief Symbol specifying micro number of the current nrfx version. */
97-
#define NRFX_RELEASE_VER_MICRO 0
97+
#define NRFX_RELEASE_VER_MICRO 1
9898

9999
/**
100100
* @brief Macro for checking if the specified identifier is defined and it has

nrfx/drivers/src/nrfx_grtc.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -976,19 +976,16 @@ static void grtc_irq_handler(void)
976976
*/
977977
if (!nrf_grtc_event_check(NRF_GRTC, NRFY_INT_BITPOS_TO_EVENT(idx)))
978978
{
979-
break;
979+
continue;
980980
}
981981

982982
nrf_grtc_event_clear(NRF_GRTC, NRFY_INT_BITPOS_TO_EVENT(idx));
983983

984984
m_cb.channel_data[i].handler(idx, cc_value, m_cb.channel_data[i].p_context);
985-
break;
986985
}
987-
988-
/* Return early as this is the most likely scenario (single CC expiring). */
989-
if (NRFX_IS_ENABLED(GRTC_EXT) && (intpend == 0))
986+
else if (nrf_grtc_event_check(NRF_GRTC, NRFY_INT_BITPOS_TO_EVENT(idx)))
990987
{
991-
break;
988+
nrf_grtc_event_clear(NRF_GRTC, NRFY_INT_BITPOS_TO_EVENT(idx));
992989
}
993990
}
994991
#if NRF_GRTC_HAS_RTCOUNTER

nrfx/drivers/src/nrfx_spim.c

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -488,23 +488,7 @@ static void spim_configure(nrfx_spim_t const * p_instance,
488488
#if NRFX_CHECK(NRF54L_ERRATA_55_ENABLE_WORKAROUND)
489489
if (nrf54l_errata_55())
490490
{
491-
uint32_t p = prescaler *
492-
((NRF_SPIM_BASE_FREQUENCY_GET(p_instance->p_reg) ==
493-
NRF_SPIM_BASE_FREQUENCY_16MHZ) ? 2 : 1);
494-
495-
// First condition (CPHA=0) applies to prescaler 4 (slow instances) and 8.
496-
// Second condition (CPHA=1) applies to prescaler 2 (slow instances) and 4.
497-
if (((p == 8) &&
498-
((p_config->mode == NRF_SPIM_MODE_0) || (p_config->mode == NRF_SPIM_MODE_2))) ||
499-
((p == 4) &&
500-
((p_config->mode == NRF_SPIM_MODE_1) || (p_config->mode == NRF_SPIM_MODE_3))))
501-
{
502-
p_cb->apply_errata_nrf54l_55 = 1;
503-
}
504-
else
505-
{
506-
p_cb->apply_errata_nrf54l_55 = 0;
507-
}
491+
p_cb->apply_errata_nrf54l_55 = 1;
508492
}
509493
#endif
510494

@@ -878,7 +862,7 @@ static nrfx_err_t spim_xfer(NRF_SPIM_Type * p_spim,
878862
nrfy_spim_enable(p_spim);
879863

880864
#if NRFX_CHECK(NRF54L_ERRATA_55_ENABLE_WORKAROUND)
881-
if (nrf54l_errata_55() && p_cb->apply_errata_nrf54l_55)
865+
if (p_cb->apply_errata_nrf54l_55)
882866
{
883867
*(volatile uint32_t *)((uintptr_t)p_spim + 0xc80) = 0x82;
884868
}
@@ -904,7 +888,7 @@ static nrfx_err_t spim_xfer(NRF_SPIM_Type * p_spim,
904888
if (!p_cb->handler)
905889
{
906890
#if NRFX_CHECK(NRF54L_ERRATA_55_ENABLE_WORKAROUND)
907-
if (nrf54l_errata_55() && p_cb->apply_errata_nrf54l_55)
891+
if (p_cb->apply_errata_nrf54l_55)
908892
{
909893
*(volatile uint32_t *)((uintptr_t)p_spim + 0xc80) = 0;
910894
}
@@ -1009,8 +993,7 @@ void nrfx_spim_abort(nrfx_spim_t const * p_instance)
1009993
static void irq_handler(NRF_SPIM_Type * p_spim, spim_control_block_t * p_cb)
1010994
{
1011995
#if NRFX_CHECK(NRF54L_ERRATA_55_ENABLE_WORKAROUND)
1012-
if (nrf54l_errata_55() && p_cb->apply_errata_nrf54l_55 &&
1013-
nrfy_spim_event_check(p_spim, NRF_SPIM_EVENT_END))
996+
if (p_cb->apply_errata_nrf54l_55 && nrfy_spim_event_check(p_spim, NRF_SPIM_EVENT_END))
1014997
{
1015998
*(volatile uint32_t *)((uintptr_t)p_spim + 0xc80) = 0;
1016999
}

nrfx/hal/nrf_saadc.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,14 +164,14 @@ extern "C" {
164164
/** @brief @deprecated Symbol specifying width of the 8-bit sample in bits. */
165165
#define NRF_SAADC_8BIT_SAMPLE_WIDTH 16
166166

167-
#if defined SAADC_SAMPLERATE_CC_Min || defined(__NRFX_DOXYGEN__)
167+
#if defined(SAADC_SAMPLERATE_CC_Min) || defined(__NRFX_DOXYGEN__)
168168
/** @brief Symbol specifying minimum capture and compare value for sample rate. */
169169
#define NRF_SAADC_SAMPLERATE_CC_MIN SAADC_SAMPLERATE_CC_Min
170170
#else
171171
#define NRF_SAADC_SAMPLERATE_CC_MIN (80UL)
172172
#endif
173173

174-
#if defined SAADC_SAMPLERATE_CC_Max || defined(__NRFX_DOXYGEN__)
174+
#if defined(SAADC_SAMPLERATE_CC_Max) || defined(__NRFX_DOXYGEN__)
175175
/** @brief Symbol specifying maximum capture and compare value for sample rate. */
176176
#define NRF_SAADC_SAMPLERATE_CC_MAX SAADC_SAMPLERATE_CC_Max
177177
#else

0 commit comments

Comments
 (0)