ext: hal: nordic: Update nrfx adaptation layer
Adds new entries needed by nrfx in version 1.3.0 so that it is properly adapted for being used in Zephyr. Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
This commit is contained in:
parent
836cb5b76a
commit
11716e4664
3 changed files with 326 additions and 29 deletions
|
@ -662,6 +662,79 @@
|
|||
|
||||
// </e>
|
||||
|
||||
// <e> NRFX_NFCT_ENABLED - nrfx_nfct - NFCT peripheral driver
|
||||
//==========================================================
|
||||
#ifndef NRFX_NFCT_ENABLED
|
||||
#define NRFX_NFCT_ENABLED 0
|
||||
#endif
|
||||
// <o> NRFX_NFCT_CONFIG_IRQ_PRIORITY - Interrupt priority
|
||||
|
||||
// <0=> 0 (highest)
|
||||
// <1=> 1
|
||||
// <2=> 2
|
||||
// <3=> 3
|
||||
// <4=> 4
|
||||
// <5=> 5
|
||||
// <6=> 6
|
||||
// <7=> 7
|
||||
|
||||
#ifndef NRFX_NFCT_CONFIG_IRQ_PRIORITY
|
||||
#define NRFX_NFCT_CONFIG_IRQ_PRIORITY 7
|
||||
#endif
|
||||
|
||||
// <e> NRFX_NFCT_CONFIG_LOG_ENABLED - Enables logging in the module.
|
||||
//==========================================================
|
||||
#ifndef NRFX_NFCT_CONFIG_LOG_ENABLED
|
||||
#define NRFX_NFCT_CONFIG_LOG_ENABLED 0
|
||||
#endif
|
||||
// <o> NRFX_NFCT_CONFIG_LOG_LEVEL - Default Severity level
|
||||
|
||||
// <0=> Off
|
||||
// <1=> Error
|
||||
// <2=> Warning
|
||||
// <3=> Info
|
||||
// <4=> Debug
|
||||
|
||||
#ifndef NRFX_NFCT_CONFIG_LOG_LEVEL
|
||||
#define NRFX_NFCT_CONFIG_LOG_LEVEL 3
|
||||
#endif
|
||||
|
||||
// <o> NRFX_NFCT_CONFIG_INFO_COLOR - ANSI escape code prefix.
|
||||
|
||||
// <0=> Default
|
||||
// <1=> Black
|
||||
// <2=> Red
|
||||
// <3=> Green
|
||||
// <4=> Yellow
|
||||
// <5=> Blue
|
||||
// <6=> Magenta
|
||||
// <7=> Cyan
|
||||
// <8=> White
|
||||
|
||||
#ifndef NRFX_NFCT_CONFIG_INFO_COLOR
|
||||
#define NRFX_NFCT_CONFIG_INFO_COLOR 0
|
||||
#endif
|
||||
|
||||
// <o> NRFX_NFCT_CONFIG_DEBUG_COLOR - ANSI escape code prefix.
|
||||
|
||||
// <0=> Default
|
||||
// <1=> Black
|
||||
// <2=> Red
|
||||
// <3=> Green
|
||||
// <4=> Yellow
|
||||
// <5=> Blue
|
||||
// <6=> Magenta
|
||||
// <7=> Cyan
|
||||
// <8=> White
|
||||
|
||||
#ifndef NRFX_NFCT_CONFIG_DEBUG_COLOR
|
||||
#define NRFX_NFCT_CONFIG_DEBUG_COLOR 0
|
||||
#endif
|
||||
|
||||
// </e>
|
||||
|
||||
// </e>
|
||||
|
||||
// <e> NRFX_PDM_ENABLED - nrfx_pdm - PDM peripheral driver
|
||||
//==========================================================
|
||||
#ifndef NRFX_PDM_ENABLED
|
||||
|
|
|
@ -662,6 +662,79 @@
|
|||
|
||||
// </e>
|
||||
|
||||
// <e> NRFX_NFCT_ENABLED - nrfx_nfct - NFCT peripheral driver
|
||||
//==========================================================
|
||||
#ifndef NRFX_NFCT_ENABLED
|
||||
#define NRFX_NFCT_ENABLED 0
|
||||
#endif
|
||||
// <o> NRFX_NFCT_CONFIG_IRQ_PRIORITY - Interrupt priority
|
||||
|
||||
// <0=> 0 (highest)
|
||||
// <1=> 1
|
||||
// <2=> 2
|
||||
// <3=> 3
|
||||
// <4=> 4
|
||||
// <5=> 5
|
||||
// <6=> 6
|
||||
// <7=> 7
|
||||
|
||||
#ifndef NRFX_NFCT_CONFIG_IRQ_PRIORITY
|
||||
#define NRFX_NFCT_CONFIG_IRQ_PRIORITY 7
|
||||
#endif
|
||||
|
||||
// <e> NRFX_NFCT_CONFIG_LOG_ENABLED - Enables logging in the module.
|
||||
//==========================================================
|
||||
#ifndef NRFX_NFCT_CONFIG_LOG_ENABLED
|
||||
#define NRFX_NFCT_CONFIG_LOG_ENABLED 0
|
||||
#endif
|
||||
// <o> NRFX_NFCT_CONFIG_LOG_LEVEL - Default Severity level
|
||||
|
||||
// <0=> Off
|
||||
// <1=> Error
|
||||
// <2=> Warning
|
||||
// <3=> Info
|
||||
// <4=> Debug
|
||||
|
||||
#ifndef NRFX_NFCT_CONFIG_LOG_LEVEL
|
||||
#define NRFX_NFCT_CONFIG_LOG_LEVEL 3
|
||||
#endif
|
||||
|
||||
// <o> NRFX_NFCT_CONFIG_INFO_COLOR - ANSI escape code prefix.
|
||||
|
||||
// <0=> Default
|
||||
// <1=> Black
|
||||
// <2=> Red
|
||||
// <3=> Green
|
||||
// <4=> Yellow
|
||||
// <5=> Blue
|
||||
// <6=> Magenta
|
||||
// <7=> Cyan
|
||||
// <8=> White
|
||||
|
||||
#ifndef NRFX_NFCT_CONFIG_INFO_COLOR
|
||||
#define NRFX_NFCT_CONFIG_INFO_COLOR 0
|
||||
#endif
|
||||
|
||||
// <o> NRFX_NFCT_CONFIG_DEBUG_COLOR - ANSI escape code prefix.
|
||||
|
||||
// <0=> Default
|
||||
// <1=> Black
|
||||
// <2=> Red
|
||||
// <3=> Green
|
||||
// <4=> Yellow
|
||||
// <5=> Blue
|
||||
// <6=> Magenta
|
||||
// <7=> Cyan
|
||||
// <8=> White
|
||||
|
||||
#ifndef NRFX_NFCT_CONFIG_DEBUG_COLOR
|
||||
#define NRFX_NFCT_CONFIG_DEBUG_COLOR 0
|
||||
#endif
|
||||
|
||||
// </e>
|
||||
|
||||
// </e>
|
||||
|
||||
// <e> NRFX_PDM_ENABLED - nrfx_pdm - PDM peripheral driver
|
||||
//==========================================================
|
||||
#ifndef NRFX_PDM_ENABLED
|
||||
|
@ -1828,16 +1901,16 @@
|
|||
|
||||
// </e>
|
||||
|
||||
// <q> NRFX_SPIM3_NRF52840_ANOMALY_198_WORKAROUND_ENABLED - Enables nRF52840 anomaly 198 workaround for SPIM3.
|
||||
|
||||
|
||||
// <i> See more in the Errata document located at
|
||||
// <i> https://infocenter.nordicsemi.com/
|
||||
|
||||
#ifndef NRFX_SPIM3_NRF52840_ANOMALY_198_WORKAROUND_ENABLED
|
||||
#define NRFX_SPIM3_NRF52840_ANOMALY_198_WORKAROUND_ENABLED 0
|
||||
#endif
|
||||
|
||||
// <q> NRFX_SPIM3_NRF52840_ANOMALY_198_WORKAROUND_ENABLED - Enables nRF52840 anomaly 198 workaround for SPIM3.
|
||||
|
||||
|
||||
// <i> See more in the Errata document located at
|
||||
// <i> https://infocenter.nordicsemi.com/
|
||||
|
||||
#ifndef NRFX_SPIM3_NRF52840_ANOMALY_198_WORKAROUND_ENABLED
|
||||
#define NRFX_SPIM3_NRF52840_ANOMALY_198_WORKAROUND_ENABLED 0
|
||||
#endif
|
||||
|
||||
// </e>
|
||||
|
||||
// <e> NRFX_SPIS_ENABLED - nrfx_spis - SPIS peripheral driver
|
||||
|
@ -2901,6 +2974,101 @@
|
|||
|
||||
// </e>
|
||||
|
||||
// <e> NRFX_USBD_ENABLED - nrfx_usbd - USBD peripheral driver
|
||||
//==========================================================
|
||||
#ifndef NRFX_USBD_ENABLED
|
||||
#define NRFX_USBD_ENABLED 0
|
||||
#endif
|
||||
// <o> NRFX_USBD_CONFIG_IRQ_PRIORITY - Interrupt priority
|
||||
|
||||
// <0=> 0 (highest)
|
||||
// <1=> 1
|
||||
// <2=> 2
|
||||
// <3=> 3
|
||||
// <4=> 4
|
||||
// <5=> 5
|
||||
// <6=> 6
|
||||
// <7=> 7
|
||||
|
||||
#ifndef NRFX_USBD_CONFIG_IRQ_PRIORITY
|
||||
#define NRFX_USBD_CONFIG_IRQ_PRIORITY 7
|
||||
#endif
|
||||
|
||||
// <q> USBD_CONFIG_DMASCHEDULER_ISO_BOOST - Give priority to isochronous transfers
|
||||
|
||||
// <i> This option gives priority to isochronous transfers.
|
||||
// <i> Enabling it assures that isochronous transfers are always processed,
|
||||
// <i> even if multiple other transfers are pending.
|
||||
// <i> Isochronous endpoints are prioritized before the usbd_dma_scheduler_algorithm
|
||||
// <i> function is called, so the option is independent of the algorithm chosen.
|
||||
|
||||
#ifndef NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST
|
||||
#define NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST 1
|
||||
#endif
|
||||
|
||||
// <q> USBD_CONFIG_ISO_IN_ZLP - Respond to an IN token on ISO IN endpoint with ZLP when no data is ready
|
||||
|
||||
|
||||
// <i> If set, ISO IN endpoint will respond to an IN token with ZLP when no data is ready to be sent.
|
||||
// <i> Else, there will be no response.
|
||||
|
||||
#ifndef NRFX_USBD_CONFIG_ISO_IN_ZLP
|
||||
#define NRFX_USBD_CONFIG_ISO_IN_ZLP 0
|
||||
#endif
|
||||
|
||||
// <e> NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module
|
||||
//==========================================================
|
||||
#ifndef NRFX_USBD_CONFIG_LOG_ENABLED
|
||||
#define NRFX_USBD_CONFIG_LOG_ENABLED 0
|
||||
#endif
|
||||
// <o> NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level
|
||||
|
||||
// <0=> Off
|
||||
// <1=> Error
|
||||
// <2=> Warning
|
||||
// <3=> Info
|
||||
// <4=> Debug
|
||||
|
||||
#ifndef NRFX_USBD_CONFIG_LOG_LEVEL
|
||||
#define NRFX_USBD_CONFIG_LOG_LEVEL 3
|
||||
#endif
|
||||
|
||||
// <o> NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix.
|
||||
|
||||
// <0=> Default
|
||||
// <1=> Black
|
||||
// <2=> Red
|
||||
// <3=> Green
|
||||
// <4=> Yellow
|
||||
// <5=> Blue
|
||||
// <6=> Magenta
|
||||
// <7=> Cyan
|
||||
// <8=> White
|
||||
|
||||
#ifndef NRFX_USBD_CONFIG_INFO_COLOR
|
||||
#define NRFX_USBD_CONFIG_INFO_COLOR 0
|
||||
#endif
|
||||
|
||||
// <o> NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix.
|
||||
|
||||
// <0=> Default
|
||||
// <1=> Black
|
||||
// <2=> Red
|
||||
// <3=> Green
|
||||
// <4=> Yellow
|
||||
// <5=> Blue
|
||||
// <6=> Magenta
|
||||
// <7=> Cyan
|
||||
// <8=> White
|
||||
|
||||
#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR
|
||||
#define NRFX_USBD_CONFIG_DEBUG_COLOR 0
|
||||
#endif
|
||||
|
||||
// </e>
|
||||
|
||||
// </e>
|
||||
|
||||
// <e> NRFX_WDT_ENABLED - nrfx_wdt - WDT peripheral driver
|
||||
//==========================================================
|
||||
#ifdef CONFIG_NRFX_WDT
|
||||
|
|
|
@ -61,7 +61,8 @@ extern "C" {
|
|||
*
|
||||
* @param expression Expression to evaluate.
|
||||
*/
|
||||
#define NRFX_STATIC_ASSERT(expression) static_assert(expression)
|
||||
#define NRFX_STATIC_ASSERT(expression) \
|
||||
static_assert(expression, "assertion failed")
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
@ -146,6 +147,79 @@ extern "C" {
|
|||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#include <atomic.h>
|
||||
|
||||
/**
|
||||
* @brief Atomic 32-bit unsigned type.
|
||||
*/
|
||||
#define nrfx_atomic_t atomic_t
|
||||
|
||||
/**
|
||||
* @brief Macro for storing a value to an atomic object and returning its previous value.
|
||||
*
|
||||
* @param[in] p_data Atomic memory pointer.
|
||||
* @param[in] value Value to store.
|
||||
*
|
||||
* @return Previous value of the atomic object.
|
||||
*/
|
||||
#define NRFX_ATOMIC_FETCH_STORE(p_data, value) atomic_set(p_data, value)
|
||||
|
||||
/**
|
||||
* @brief Macro for running a bitwise OR operation on an atomic object and returning its previous value.
|
||||
*
|
||||
* @param[in] p_data Atomic memory pointer.
|
||||
* @param[in] value Value of the second operand in the OR operation.
|
||||
*
|
||||
* @return Previous value of the atomic object.
|
||||
*/
|
||||
#define NRFX_ATOMIC_FETCH_OR(p_data, value) atomic_or(p_data, value)
|
||||
|
||||
/**
|
||||
* @brief Macro for running a bitwise AND operation on an atomic object
|
||||
* and returning its previous value.
|
||||
*
|
||||
* @param[in] p_data Atomic memory pointer.
|
||||
* @param[in] value Value of the second operand in the AND operation.
|
||||
*
|
||||
* @return Previous value of the atomic object.
|
||||
*/
|
||||
#define NRFX_ATOMIC_FETCH_AND(p_data, value) atomic_and(p_data, value)
|
||||
|
||||
/**
|
||||
* @brief Macro for running a bitwise XOR operation on an atomic object
|
||||
* and returning its previous value.
|
||||
*
|
||||
* @param[in] p_data Atomic memory pointer.
|
||||
* @param[in] value Value of the second operand in the XOR operation.
|
||||
*
|
||||
* @return Previous value of the atomic object.
|
||||
*/
|
||||
#define NRFX_ATOMIC_FETCH_XOR(p_data, value) atomic_xor(p_data, value)
|
||||
|
||||
/**
|
||||
* @brief Macro for running an addition operation on an atomic object
|
||||
* and returning its previous value.
|
||||
*
|
||||
* @param[in] p_data Atomic memory pointer.
|
||||
* @param[in] value Value of the second operand in the ADD operation.
|
||||
*
|
||||
* @return Previous value of the atomic object.
|
||||
*/
|
||||
#define NRFX_ATOMIC_FETCH_ADD(p_data, value) atomic_add(p_data, value)
|
||||
|
||||
/**
|
||||
* @brief Macro for running a subtraction operation on an atomic object
|
||||
* and returning its previous value.
|
||||
*
|
||||
* @param[in] p_data Atomic memory pointer.
|
||||
* @param[in] value Value of the second operand in the SUB operation.
|
||||
*
|
||||
* @return Previous value of the atomic object.
|
||||
*/
|
||||
#define NRFX_ATOMIC_FETCH_SUB(p_data, value) atomic_sub(p_data, value)
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* @brief When set to a non-zero value, this macro specifies that the
|
||||
* @ref nrfx_error_codes and the @ref nrfx_err_t type itself are defined
|
||||
|
@ -178,24 +252,6 @@ extern "C" {
|
|||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* @brief Macro for getting the interrupt number assigned to a specific
|
||||
* peripheral.
|
||||
*
|
||||
* In Nordic SoCs the IRQ number assigned to a peripheral is equal to the ID
|
||||
* of this peripheral, and there is a direct relationship between this ID and
|
||||
* the peripheral base address, i.e. the address of a fixed block of 0x1000
|
||||
* bytes of address space assigned to this peripheral.
|
||||
* See the chapter "Peripheral interface" (sections "Peripheral ID" and
|
||||
* "Interrupts") in the product specification of a given SoC.
|
||||
*
|
||||
* @param[in] base_addr Peripheral base address.
|
||||
*
|
||||
* @return Interrupt number associated with the specified peripheral.
|
||||
*/
|
||||
/* TODO - this macro should become a part of <nrfx_common.h> */
|
||||
#define NRFX_IRQ_NUMBER_GET(base_addr) (uint8_t)((uint32_t)(base_addr) >> 12)
|
||||
|
||||
/**
|
||||
* @brief Function helping to integrate nrfx IRQ handlers with IRQ_CONNECT.
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue