Skip to content

Commit

Permalink
nrfx 3.4.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 Mar 8, 2024
1 parent d0d0a36 commit 7c47cc0
Show file tree
Hide file tree
Showing 654 changed files with 1,118,287 additions and 3,803 deletions.
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
# Changelog
All notable changes to this project are documented in this file.

## [3.4.0] - 2024-03-08
### Added
- Added support for nRF54H20 and nRF54L15.
- Added support for changing the sub-power mode in the POWER driver.
- Added support for sleep configuration in the GRTC driver.
- Added HAL for TDM peripheral.
- Implemented a workaround for the anomaly 159 on the nRF5340 SoC in the QSPI driver.

### Changed
- Updated MDK to version 8.63.2.

### Fixed
- Fixed extended configuration setting in the SPIM driver. Now extended configuration is applied correctly when only a subset of extended features is available.

## [3.3.0] - 2023-12-21
### Added
- Added support for nRF54H20 Eng A and nRF54L15 Eng A.
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2017 - 2023, Nordic Semiconductor ASA
Copyright (c) 2017 - 2024, Nordic Semiconductor ASA
All rights reserved.

SPDX-License-Identifier: BSD-3-Clause
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.3"
PROJECT_NUMBER = "3.4"

# 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
2 changes: 2 additions & 0 deletions doc/nrfx_api.dox
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,8 @@

@defgroup nrf_tbm TBM

@defgroup nrf_tdm TDM

@defgroup nrf_temp TEMP

@defgroup nrf_timer TIMER
Expand Down
6 changes: 6 additions & 0 deletions doc/sphinx/drivers/tdm/hal.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
TDM HAL
=======

.. doxygengroup:: nrf_tdm_hal
:project: nrfx
:members:
9 changes: 9 additions & 0 deletions doc/sphinx/drivers/tdm/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
TDM
===

.. doxygengroup:: nrf_tdm

.. toctree::
:glob:

*
2 changes: 1 addition & 1 deletion drivers/include/nrf_bitmask.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2016 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2016 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion drivers/include/nrfx_adc.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2015 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down
4 changes: 2 additions & 2 deletions drivers/include/nrfx_bellboard.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2021 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down Expand Up @@ -65,7 +65,7 @@ enum {
/** @brief Macro for creating a BELLBOARD driver instance. */
#define NRFX_BELLBOARD_INSTANCE(id) \
{ \
.drv_inst_idx = NRFX_CONCAT_3(NRFX_BELLBOARD, id, _INST_IDX), \
.drv_inst_idx = NRFX_CONCAT(NRFX_BELLBOARD, id, _INST_IDX), \
.int_idx = id, \
}

Expand Down
2 changes: 1 addition & 1 deletion drivers/include/nrfx_clock.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2016 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2016 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion drivers/include/nrfx_comp.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2015 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion drivers/include/nrfx_dppi.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2018 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down
6 changes: 3 additions & 3 deletions drivers/include/nrfx_egu.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2019 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down Expand Up @@ -67,8 +67,8 @@ enum {
/** @brief Macro for creating an EGU driver instance. */
#define NRFX_EGU_INSTANCE(id) \
{ \
.p_reg = NRFX_CONCAT_2(NRF_EGU, id), \
.drv_inst_idx = NRFX_CONCAT_3(NRFX_EGU, id, _INST_IDX), \
.p_reg = NRFX_CONCAT(NRF_, EGU, id), \
.drv_inst_idx = NRFX_CONCAT(NRFX_EGU, id, _INST_IDX), \
}

/**
Expand Down
2 changes: 1 addition & 1 deletion drivers/include/nrfx_gpiote.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2015 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down
89 changes: 83 additions & 6 deletions drivers/include/nrfx_grtc.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2021 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down Expand Up @@ -57,14 +57,16 @@ extern "C" {
*/
typedef void (*nrfx_grtc_cc_handler_t)(int32_t id, uint64_t cc_value, void * p_context);

#if NRF_GRTC_HAS_RTCOUNTER || defined(__NRFX_DOXYGEN__)
#if NRFY_GRTC_HAS_EXTENDED || defined(__NRFX_DOXYGEN__)
/**
* @brief GRTC driver instance SYSCOUNTER valid handler type.
*
* @param[in] p_context User context.
*/
typedef void (*nrfx_grtc_syscountervalid_handler_t)(void * p_context);
#endif //NRFY_GRTC_HAS_EXTENDED || defined(__NRFX_DOXYGEN__)

#if NRF_GRTC_HAS_RTCOUNTER || defined(__NRFX_DOXYGEN__)
/**
* @brief GRTC driver instance RTCOMPARESYNC handler type.
*
Expand Down Expand Up @@ -98,6 +100,29 @@ typedef enum
NRFX_GRTC_ACTION_STOP = NRF_GRTC_TASK_STOP, /**< Stop the GRTC. */
NRFX_GRTC_ACTION_CLEAR = NRF_GRTC_TASK_CLEAR, /**< Clear the GRTC. */
} nrfx_grtc_action_t;

/** @brief GRTC SYSCOUNTER sleep configuration structure. */
typedef struct
{
uint32_t timeout; /**< Delay in LFCLK cycles after the condition allowing SYSCOUNTER to go to sleep is met. */
uint32_t waketime; /**< Number of LFCLK cycles to wakeup the SYSCOUNTER before the wake-up event occured. */
bool auto_mode; /**< Enable automatic mode, which keeps the SYSCOUNTER active when any of the local CPUs is active. */
} nrfx_grtc_sleep_config_t;

/**
* @brief GRTC sleep default configuration.
*
* This configuration sets up GRTC with the following options:
* - sleep timeout: 5 LFCLK cycles
* - wake time: 4 LFCLK cycles
* - automatic mode: true
*/
#define NRFX_GRTC_SLEEP_DEFAULT_CONFIG \
{ \
.timeout = 5, \
.waketime = 4, \
.auto_mode = true \
}
#endif // NRFY_GRTC_HAS_EXTENDED || defined(__NRFX_DOXYGEN__)

/** @brief GRTC compare event relative references. */
Expand All @@ -107,6 +132,28 @@ typedef enum
NRFX_GRTC_CC_RELATIVE_COMPARE = NRF_GRTC_CC_ADD_REFERENCE_CC, /**< The corresponding compare register content will be used as the reference. */
} nrfx_grtc_cc_relative_reference_t;

#if NRFY_GRTC_HAS_EXTENDED || defined(__NRFX_DOXYGEN__)
/**
* @brief Function for configuring the SYSCOUNTER sleep feature.
*
* @param[in] p_sleep_cfg Pointer to the configuration sleep structure.
*
* @retval NRFX_SUCCESS The procedure was successful.
* @retval NRFX_ERROR_NOT_SUPPORTED The sleep feature is not supported.
*/
nrfx_err_t nrfx_grtc_sleep_configure(nrfx_grtc_sleep_config_t const * p_sleep_cfg);

/**
* @brief Function for getting the SYSCOUNTER sleep configuration.
*
* @param[out] p_sleep_cfg Pointer to the structure to be filled with sleep configuration.
*
* @retval NRFX_SUCCESS The procedure was successful.
* @retval NRFX_ERROR_NOT_SUPPORTED The sleep feature is not supported.
*/
nrfx_err_t nrfx_grtc_sleep_configuration_get(nrfx_grtc_sleep_config_t * p_sleep_cfg);
#endif // NRFY_GRTC_HAS_EXTENDED || defined(__NRFX_DOXYGEN__)

/**
* @brief Function for allocating the GRTC capture/compare channel.
*
Expand Down Expand Up @@ -213,9 +260,11 @@ void nrfx_grtc_rtcounter_cc_int_enable(bool sync);

/** @brief Function for disabling the RTCOUNTER compare interrupt. */
void nrfx_grtc_rtcounter_cc_int_disable(void);
#endif // NRF_GRTC_HAS_RTCOUNTER || defined(__NRFX_DOXYGEN__)

#if NRFY_GRTC_HAS_EXTENDED || defined(__NRFX_DOXYGEN__)
/**
* @brief Function for enabling the SYSCOUNTER valid interrupt.
* @brief Function for enabling the SYSCOUNTERVALID interrupt.
*
* @param[in] handler Handler provided by the user. May be NULL.
* @param[in] p_context User context.
Expand All @@ -225,9 +274,7 @@ void nrfx_grtc_syscountervalid_int_enable(nrfx_grtc_syscountervalid_handler_t ha

/** @brief Function for disabling the SYSCOUNTERVALID interrupt. */
void nrfx_grtc_syscountervalid_int_disable(void);
#endif // NRF_GRTC_HAS_RTCOUNTER || defined(__NRFX_DOXYGEN__)

#if NRFY_GRTC_HAS_EXTENDED || defined(__NRFX_DOXYGEN__)
/**
* @brief Function for starting the 1 MHz SYSCOUNTER.
*
Expand Down Expand Up @@ -460,14 +507,33 @@ NRFX_STATIC_INLINE uint32_t nrfx_grtc_event_compare_address_get(uint8_t channel)
*/
NRFX_STATIC_INLINE bool nrfx_grtc_sys_counter_cc_enable_check(uint8_t channel);

/**
* @brief Function for retrieving the state of the compare GRTC event.
*
* @param[in] channel Compare channel of the corresponding event to be checked.
*
* @retval true The event has been generated.
* @retval false The event has not been generated.
*/
NRFX_STATIC_INLINE bool nrfx_grtc_syscounter_compare_event_check(uint8_t channel);

#if NRF_GRTC_HAS_RTCOUNTER || defined(__NRFX_DOXYGEN__)
/**
* @brief Function for reading the GRTC RTCOUNTER value.
*
* @return RTCOUNTER (32 kHz) value.
*/
NRFX_STATIC_INLINE uint64_t nrfx_grtc_rtcounter_get(void);
#endif
#endif // NRF_GRTC_HAS_RTCOUNTER || defined(__NRFX_DOXYGEN__)

#if NRFY_GRTC_HAS_CLKSEL || defined(__NRFX_DOXYGEN__)
/**
* @brief Function for setting the clock source for the GRTC low-frequency clock.
*
* @param[in] clk_src Selected clock source.
*/
NRFX_STATIC_INLINE void nrfx_grtc_clock_source_set(nrf_grtc_clksel_t clk_src);
#endif // NRFY_GRTC_HAS_CLKSEL

#ifndef NRFX_DECLARE_ONLY

Expand Down Expand Up @@ -497,13 +563,24 @@ NRFX_STATIC_INLINE bool nrfx_grtc_sys_counter_cc_enable_check(uint8_t channel)
return nrfy_grtc_sys_counter_cc_enable_check(NRF_GRTC, channel);
}

NRFX_STATIC_INLINE bool nrfx_grtc_syscounter_compare_event_check(uint8_t channel)
{
return nrfy_grtc_sys_counter_compare_event_check(NRF_GRTC, channel);
}

#if NRF_GRTC_HAS_RTCOUNTER
NRFX_STATIC_INLINE uint64_t nrfx_grtc_rtcounter_get(void)
{
return nrfy_grtc_rt_counter_get(NRF_GRTC);
}
#endif // NRF_GRTC_HAS_RTCOUNTER

#if NRFY_GRTC_HAS_CLKSEL
NRFX_STATIC_INLINE void nrfx_grtc_clock_source_set(nrf_grtc_clksel_t clk_src)
{
nrfy_grtc_clksel_set(NRF_GRTC, clk_src);
}
#endif // NRFY_GRTC_HAS_CLKSEL
#endif // NRFX_DECLARE_ONLY

/** @} */
Expand Down
6 changes: 3 additions & 3 deletions drivers/include/nrfx_i2s.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2015 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down Expand Up @@ -112,8 +112,8 @@ typedef struct
/** @brief Macro for creating an I2S driver instance. */
#define NRFX_I2S_INSTANCE(id) \
{ \
.p_reg = NRF_I2S##id , \
.drv_inst_idx = NRFX_CONCAT_3(NRFX_I2S, id, _INST_IDX), \
.p_reg = NRFX_CONCAT(NRF_, I2S, id), \
.drv_inst_idx = NRFX_CONCAT(NRFX_I2S, id, _INST_IDX), \
}

#ifndef __NRFX_DOXYGEN__
Expand Down
2 changes: 1 addition & 1 deletion drivers/include/nrfx_ipc.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2019 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion drivers/include/nrfx_lpcomp.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2014 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion drivers/include/nrfx_nfct.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2018 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion drivers/include/nrfx_nvmc.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2019 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion drivers/include/nrfx_pdm.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015 - 2023, Nordic Semiconductor ASA
* Copyright (c) 2015 - 2024, Nordic Semiconductor ASA
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
Expand Down
Loading

0 comments on commit 7c47cc0

Please sign in to comment.