Skip to content

Commit

Permalink
nrfx 3.9.0 release
Browse files Browse the repository at this point in the history
Signed-off-by: Nikodem Kastelik <[email protected]>
  • Loading branch information
nika-nordic committed Nov 19, 2024
1 parent 4fb7ccb commit 85c444e
Show file tree
Hide file tree
Showing 323 changed files with 599,650 additions and 1,616,103 deletions.
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,25 @@
# Changelog
All notable changes to this project are documented in this file.

## [3.9.0] - 2024-11-19
### Added
- Added support for nRF54L05, nRF54L09 Eng A, and nRF54L10.
- Added NRFX_RELEASE_VER_AT_LEAST() macro for conditional statements based on current nrfx release version.
- Added functions for handling pin retention in the GPIO HAL.
- Added HAL for the BICR peripheral.
- Added support for nRF54H20 in the nrfx_reset_reason helper.

### Changed
- Updated MDK to version 8.68.1.
- Removed support for nRF54H20 Eng A, nRF54H20 Eng B, and nRF54L15 Eng A.
- Removed event clearing in the initialization of the USBREG driver. Now, the USB stack built upon the driver can react to the cable being attached when the device is powered from the USB bus.
- Changed the default driver configuration for the COMP driver. Now, the description and code matches.
- Improved RX FIFO flush handling in the UARTE driver.

### Fixed
- Fixed the nRF54L15 memory map description in the nrfx_ram_ctrl helper. Now, it corresponds to the actual memory sections layout.
- Fixed the LIMIT events interrupt bitmask definition in the SAADC HAL. Now, the LIMIT events 4 to 7 are working properly.

## [3.8.0] - 2024-10-17
### Added
- Added multi-instance support in the DPPI driver.
Expand Down
160 changes: 81 additions & 79 deletions doc/drv_supp_matrix.dox

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions doc/nrf54l15_enga.dox → doc/nrf54l05.dox
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
@page nrf54l15_enga_drivers nRF54L15 Eng A drivers
@page nrf54l05_drivers nRF54L05 drivers

This page lists nrfx driver components supported by the nRF54L15 EngA SoC.
This page lists nrfx driver components supported by the nRF54L05 SoC.
For a complete overview, see @ref nrfx_drv_supp_matrix.

@{
Expand Down Expand Up @@ -46,6 +46,8 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_nfct

@ref nrf_pdm

@ref nrf_power

@ref nrf_ppib
Expand Down
78 changes: 78 additions & 0 deletions doc/nrf54l09_enga.dox
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
/**
@page nrf54l09_enga_drivers nRF54L09 Eng A drivers

This page lists nrfx driver components supported by the nRF54L09 Eng A SoC.
For a complete overview, see @ref nrfx_drv_supp_matrix.

@{

@ref nrf_aar

@ref nrf_cache

@ref nrf_ccm

@ref nrf_clock

@ref nrf_comp

@ref nrf_cracen

@ref nrf_systick

@ref nrf_dppi

@ref nrf_egu

@ref nrf_glitchdet

@ref nrf_gpio

@ref nrf_gpiote

@ref nrf_grtc

@ref nrf_icr

@ref nrf_kmu

@ref nrf_lpcomp

@ref nrf_memconf

@ref nrf_mpc

@ref nrf_power

@ref nrf_ppib

@ref nrf_radio

@ref nrf_rramc

@ref nrf_saadc

@ref nrf_spim

@ref nrf_spis

@ref nrf_spu

@ref nrf_tampc

@ref nrf_temp

@ref nrf_timer

@ref nrf_twim

@ref nrf_twis

@ref nrf_uarte

@ref nrf_vpr

@ref nrf_wdt

@}
*/
46 changes: 16 additions & 30 deletions doc/nrf54h20_engb.dox → doc/nrf54l10.dox
Original file line number Diff line number Diff line change
@@ -1,59 +1,55 @@
/**
@page nrf54h20_engb_drivers nRF54H20 Eng B drivers
@page nrf54l10_drivers nRF54L10 drivers

This page lists nrfx driver components supported by the nRF54H20 Eng B SoC.
This page lists nrfx driver components supported by the nRF54L10 SoC.
For a complete overview, see @ref nrfx_drv_supp_matrix.

@{

@ref nrf_aar

@ref nrf_auxpll

@ref nrf_bellboard

@ref nrf_cache

@ref nrf_ccm

@ref nrf_clock

@ref nrf_comp

@ref nrf_systick
@ref nrf_cracen

@ref nrf_ctrlap
@ref nrf_systick

@ref nrf_dppi

@ref nrf_egu

@ref nrf_exmif

@ref nrf_icr
@ref nrf_glitchdet

@ref nrf_gpio

@ref nrf_gpiote

@ref nrf_grtc

@ref nrf_ipct
@ref nrf_i2s

@ref nrf_lpcomp
@ref nrf_icr

@ref nrf_lrc
@ref nrf_kmu

@ref nrf_lpcomp

@ref nrf_memconf

@ref nrf_mpc

@ref nrf_mutex

@ref nrf_mvdma

@ref nrf_nfct

@ref nrf_pdm

@ref nrf_power

@ref nrf_ppib

@ref nrf_pwm
Expand All @@ -62,9 +58,7 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_radio

@ref nrf_ramc

@ref nrf_resetinfo
@ref nrf_rramc

@ref nrf_saadc

Expand All @@ -74,15 +68,9 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_spu

@ref nrf_stm

@ref nrf_tampc

@ref nrf_tbm

@ref nrf_tddconf

@ref nrf_tdm
@ref nrf_temp

@ref nrf_timer

Expand All @@ -92,8 +80,6 @@ For a complete overview, see @ref nrfx_drv_supp_matrix.

@ref nrf_uarte

@ref nrf_usbhs

@ref nrf_vpr

@ref nrf_wdt
Expand Down
2 changes: 1 addition & 1 deletion doc/nrfx.doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ PROJECT_NAME = "nrfx"

### EDIT THIS ###

PROJECT_NUMBER = "3.8"
PROJECT_NUMBER = "3.9"

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
5 changes: 3 additions & 2 deletions doc/sphinx/drv_supp_matrix.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ Driver support overview
nrf52833
nrf52840
nrf5340
nrf54h20_engb
nrf54h20
nrf54l15_enga
nrf54l05
nrf54l09_enga
nrf54l10
nrf54l15
nrf54l20_enga
nrf91_series
Expand Down
5 changes: 0 additions & 5 deletions doc/sphinx/nrf54h20_engb.rst

This file was deleted.

5 changes: 5 additions & 0 deletions doc/sphinx/nrf54l05.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
nRF54L05 drivers
================

.. doxygenpage:: nrf54l05_drivers
:content-only:
5 changes: 5 additions & 0 deletions doc/sphinx/nrf54l09_enga.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
nRF54L09 Eng A drivers
======================

.. doxygenpage:: nrf54l09_enga_drivers
:content-only:
5 changes: 5 additions & 0 deletions doc/sphinx/nrf54l10.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
nRF54L10 drivers
================

.. doxygenpage:: nrf54l10_drivers
:content-only:
5 changes: 0 additions & 5 deletions doc/sphinx/nrf54l15_enga.rst

This file was deleted.

8 changes: 4 additions & 4 deletions drivers/include/nrfx_comp.h
Original file line number Diff line number Diff line change
Expand Up @@ -110,18 +110,18 @@ typedef struct
/** @brief COMP threshold default configuration. */
#define NRFX_COMP_CONFIG_TH \
{ \
.th_down = NRFX_COMP_VOLTAGE_THRESHOLD_TO_INT(0.5, 1.8), \
.th_up = NRFX_COMP_VOLTAGE_THRESHOLD_TO_INT(1.5, 1.8) \
.th_down = NRFX_COMP_VOLTAGE_THRESHOLD_TO_INT(0.5, 1.2), \
.th_up = NRFX_COMP_VOLTAGE_THRESHOLD_TO_INT(1.0, 1.2) \
}

/**
* @brief COMP driver default configuration.
*
* This configuration sets up COMP with the following options:
* - single-ended mode
* - reference voltage: internal 1.8 V
* - reference voltage: internal 1.2 V
* - lower threshold: 0.5 V
* - upper threshold: 1.5 V
* - upper threshold: 1.0 V
* - high speed mode
* - hysteresis disabled
* - current source disabled
Expand Down
11 changes: 8 additions & 3 deletions drivers/include/nrfx_power_clock.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,15 @@ __STATIC_INLINE void nrfx_power_clock_irq_init(void)
#error "This code is not supposed to be compiled when neither POWER nor CLOCK is enabled."
#endif

if (!NRFX_IRQ_IS_ENABLED(nrfx_get_irq_number(NRF_CLOCK)))
#if defined(NRF54L05_XXAA) || defined(NRF54L10_XXAA) || defined(NRF54L15_XXAA)
IRQn_Type irqn = CLOCK_POWER_IRQn;
#else
IRQn_Type irqn = nrfx_get_irq_number(NRF_CLOCK);
#endif
if (!NRFX_IRQ_IS_ENABLED(irqn))
{
NRFX_IRQ_PRIORITY_SET(nrfx_get_irq_number(NRF_CLOCK), priority);
NRFX_IRQ_ENABLE(nrfx_get_irq_number(NRF_CLOCK));
NRFX_IRQ_PRIORITY_SET(irqn, priority);
NRFX_IRQ_ENABLE(irqn);
}
}

Expand Down
3 changes: 2 additions & 1 deletion drivers/include/nrfx_ppib.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ enum {

enum {
/* List all enabled interconnects. Smaller PPIB idx are always on the left. */
#if defined(NRF54L15_ENGA_XXAA) || defined(NRF54L15_XXAA) || defined(NRF54L20_ENGA_XXAA)
#if defined(NRF54L15_ENGA_XXAA) || defined(NRF54L05_XXAA) || defined(NRF54L09_ENGA_XXAA) || \
defined(NRF54L10_XXAA) || defined(NRF54L15_XXAA) || defined(NRF54L20_ENGA_XXAA)
#if NRFX_CHECK(NRFX_PPIB00_ENABLED) && NRFX_CHECK(NRFX_PPIB10_ENABLED)
NRFX_PPIB_INTERCONNECT_00_10_INST_IDX,
#endif
Expand Down
38 changes: 35 additions & 3 deletions drivers/nrfx_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,15 @@ extern "C" {
* @brief Common module.
*/

/** @brief Symbol specifying major number of the current nrfx version. */
#define NRFX_RELEASE_VER_MAJOR 3

/** @brief Symbol specifying minor number of the current nrfx version. */
#define NRFX_RELEASE_VER_MINOR 9

/** @brief Symbol specifying micro number of the current nrfx version. */
#define NRFX_RELEASE_VER_MICRO 0

/**
* @brief Macro for checking if the specified identifier is defined and it has
* a non-zero value.
Expand All @@ -99,6 +108,28 @@ extern "C" {
*/
#define NRFX_CHECK(module_enabled) NRFX_IS_ENABLED(module_enabled)

/**
* @brief Macro for checking if the nrfx version is greater than or equal
* to the specified version.
*
* @note Current nrfx version is specified with the following symbols:
* - @ref NRFX_RELEASE_VER_MAJOR
* - @ref NRFX_RELEASE_VER_MINOR
* - @ref NRFX_RELEASE_VER_MICRO
*
* @param[in] major Major version.
* @param[in] minor Minor version.
* @param[in] micro Micro version.
*
* @retval true Current nrfx version is greater than or equal to the specified version.
* @retval false Current nrfx version is smaller than the specified version.
*/
#define NRFX_RELEASE_VER_AT_LEAST(major, minor, micro) \
(((NRFX_RELEASE_VER_MAJOR > (major))) || \
((NRFX_RELEASE_VER_MAJOR == major) && (NRFX_RELEASE_VER_MINOR > (minor))) || \
((NRFX_RELEASE_VER_MAJOR == major) && (NRFX_RELEASE_VER_MINOR == minor) && \
(NRFX_RELEASE_VER_MICRO >= (micro))))

/**
* @brief Macro for checking if the configured API version is greater than or equal
* to the specified API version.
Expand All @@ -116,9 +147,10 @@ extern "C" {
* @retval false Configured API version is smaller than the specified API version.
*/
#define NRFX_API_VER_AT_LEAST(major, minor, micro) \
((NRFX_CONFIG_API_VER_MAJOR >= (major)) && \
(NRFX_CONFIG_API_VER_MINOR >= (minor)) && \
(NRFX_CONFIG_API_VER_MICRO >= (micro)))
(((NRFX_CONFIG_API_VER_MAJOR > (major))) || \
((NRFX_CONFIG_API_VER_MAJOR == major) && (NRFX_CONFIG_API_VER_MINOR > (minor))) || \
((NRFX_CONFIG_API_VER_MAJOR == major) && (NRFX_CONFIG_API_VER_MINOR == minor) && \
(NRFX_CONFIG_API_VER_MICRO >= (micro))))

/**
* @brief Macro for creating unsigned integer with bit position @p x set.
Expand Down
Loading

0 comments on commit 85c444e

Please sign in to comment.