Compare commits

...

34 commits

Author SHA1 Message Date
Nikodem Kastelik
d0d0a36419 nrfx 3.3.0 release
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2023-12-21 19:49:07 +01:00
Nikodem Kastelik
f147ea557d nrfx_nfct: remove spurious assert from nrfx_nfct_parameter_set
This function can be called before nrfx_nfct_init.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2023-10-05 13:40:03 +02:00
Nikodem Kastelik
7ef620bedd nrfx 3.2.0 release
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2023-10-02 15:21:51 +02:00
Nikodem Kastelik
98d6f43331
nrfx 3.1.0 release
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2023-06-28 11:41:26 +02:00
Nikodem Kastelik
1c721175f2 nrfx 3.0.0 release
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2023-04-25 13:04:14 +02:00
Andrzej Głąbek
91ec616929 nrfx: mdk: Fix handling of APPROTECT on nRF91
Apply corrections that make it possible to disable APPROTECT mechanism
(which is enabled by default in hardware) on the nRF91 Series SiPs.

These are temporary changes supposed to be overwritten by the next
update of MDK.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-04-18 17:03:24 +02:00
Nikodem Kastelik
2527e3c844 nrfx 2.11.0 release 2023-04-07 12:23:03 +02:00
Nikodem Kastelik
23fb4437c0 nrfx 2.10.0 release 2022-10-25 11:12:47 +02:00
Stephanos Ioannidis
f5a9b04bac nrfx_clock: Disable array bounds warning for nrf_clock_is_running
This commit disables the array bounds warning (`-Warray-bounds`) for
the `nrf_clock_is_running` function because GCC 12 and above may report
a false positive due to the size of the write access to the memory
address pointed by the `p_clk_src` argument being variable depending on
the value of the `domain` argument.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-30 12:45:48 +02:00
Nikodem Kastelik
16756cadac nrfx 2.9.0 release 2022-07-19 11:08:16 +02:00
Andrzej Głąbek
99bfbc0d5d nrfx_qspi: Correct IO3 line level used in nrfx_qspi_mem_busy_check()
Keep the line high during the custom instruction transfer. Otherwise,
its low level can be interpreted by the memory chip as an active
HOLD#/RESET# signal and in consequence the memory status can be read
incorrectly.
Add also related notes to descriptions of nrfx_qspi_cinstr_xfer() and
nrfx_qspi_lfm_start() to warn users that the default configuration
provided by NRFX_QSPI_DEFAULT_CINSTR() may not always be suitable.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-06-20 13:42:47 +02:00
Nikodem Kastelik
55305292a2 nrfx 2.8.0 release 2022-04-05 09:29:07 +02:00
Andreas Pettersson
0805a0bce6 nrfx_nfct: remove unused enum 2022-01-18 13:27:30 +01:00
Andreas Pettersson
30cf7c6dd7 nrf_nfct: make all bits of SELRES get- and settable
Some NFC protocols require some of the RFU bits to be set. Cascade bit
is still not settable.

Signed-off-by: Andreas Pettersson <andreaspettersson95@gmail.com>
2022-01-18 13:27:30 +01:00
nitz
12658ea162 nrfx_ncft: Add callback for RXFRAMESTART event
Signed-off-by: Andreas Pettersson <andreaspettersson95@gmail.com>
2022-01-18 13:27:30 +01:00
nitz
718fa2b093 nrfx_ncft: Add function to tx specific bit count
Out of the box, nrfx_nfct only had the functionality to transmit whole
bytes. Things in many forms of NFC communication depend on specific bit
counts (like ACK/NAKs for particular protocols.) This adds a function
with a signature similar to nrfx_nfct_tx, aptly named nrfx_nfct_bits_tx.
It uses the data_size member of the nrfx_nfct_data_desc_t struct as
the number of bits to send rather than bytes. As such, it also
calculates the byte length of the buffer to provide to the MAXLEN
EasyDMA register based on the number of bits, taking into account bits
that don't fit evenly into the last whole byte.

Signed-off-by: Andreas Pettersson <andreaspettersson95@gmail.com>
2022-01-18 13:27:30 +01:00
Andrzej Głąbek
df4ea06e6b nrfx_pwm: Fix incorrect check that suppresses pin configuration
The whole pin configuration function in the driver should be skipped
when both GPIO and PSEL skip flags are set, but the code that checks
this condition, despite the comment correctly explaining its purpose,
contains an unwanted negation. This commit fixes this embarrassing
copy-paste mistake.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-01-03 09:52:33 +01:00
Nikodem Kastelik
3521c97df0 nrfx 2.7.0 release 2021-12-15 18:48:39 +01:00
Nikodem Kastelik
58ac10d629 nrfx 2.6.0 release 2021-11-22 10:28:11 +01:00
Sebastian Bøe
7d8fff3ded nrfx_nvmc: Add workaround function for nRF9160 anomaly 7
Add a workaround function for accessing UICR safely without being
affected by nRF9160 errata 7.

This workaround and bug is described in the errata with ID "[7] KMU:
Subsequent accesses between info_mem and main_mem of the flash may not
work properly".

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2021-10-11 09:58:57 +02:00
Nikodem Kastelik
b5399066bd nrfx_dppi: Fix variable used in logging function
Depending on the implementation of NRFX_CRITICAL_SECTION_ENTER
the 'channel' variable could be undefined in logging function.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2021-05-06 13:11:27 +02:00
Nikodem Kastelik
7eca6c2dc0 nrfx 2.5.0 release 2021-05-05 17:12:56 +02:00
Xavier Chapron
c7c5127e8a drivers: nrfx_{twi, twim}: Fix busy flag not reset
This is necessary so that next occurence of nrfx_{twi, twim}_enable()
followed by {twi, twim}_xfer() will not raised a NRFX_ERROR_BUSY error.

This could happen when a previous transfer is started but is aborted
using nrfx_{twi, twim}_disable() before the end of the transaction which
calls {twi, twim}_irq_handler().

Signed-off-by: Xavier Chapron <xavier.chapron@stimio.fr>
2021-03-18 13:15:40 +01:00
Nikodem Kastelik
d779b49fc5 nrfx 2.4.0 release 2020-11-13 08:40:54 +01:00
Karol Lasończyk
6c31cb7d0e nrfx 2.3.0 release 2020-08-20 14:11:39 +02:00
Andrzej Głąbek
233c96307e nrfx_nvmc: Fix setting of program memory access mode for secure code
For secure code, the access mode needs to be set for both secure and
non-secure regions. Otherwise, attempts from secure code to write or
erase a region configured as non-secure end up with BusFault.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2020-05-28 11:15:08 +02:00
Andrzej Głąbek
7116456ac8 nrfx_nvmc: Prevent use of NRF_UICR symbol in non-secure targets
In SoCs with TrustZone support, only secure code can access UICR.
When a non-secure target is built, the NRF_UICR symbol is not even
defined.
This commit prevents the NVMC driver from referencing the NRF_UICR
symbol when the driver is compiled for a non-secure target.
Assertions that normally use this symbol for checking if a given
address is valid for an operation on flash will fail in non-secure
code when the supplied address belongs to the UICR region, what is
the expected behavior.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2020-05-22 16:36:54 +02:00
Mieszko Mierunski
59ad34410b nrfx_spim: Fix error log message.
Log message references non existing p_instance variable, changed to
p_spim.

Signed-off-by: Mieszko Mierunski <mieszko.mierunski@nordicsemi.no>
2020-05-06 15:09:25 +02:00
Karol Lasończyk
a5397bea55 nrfx 2.2.0 release 2020-04-28 11:12:19 +02:00
Øyvind Rønningstad
1139551ce3 nrfx_nvmc: Add APIs for halfword (16-bit) access
In the OTP region in nRF91/53, halfwords must be changed with a single
operation (writes are blocked by HW if the current value != 0xFFFF).

Add function for halfwords so that users don't have to do the bitshifts
themselves.

Also, add read support, since UICR doesn't support unaligned accesses.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2020-04-22 16:35:18 +02:00
Øyvind Rønningstad
5a685a8362 nrfx_nvmc: Modify NRFX_ASSERT to allow writing to UICR
With the current assert, writes to UICR, including OTP in nRF91/53
triggers an assert.

Add static functions for checking whether an address is in app flash.
Add function in nrfx_common.h for checking whether an address is in UICR.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2020-04-22 16:35:18 +02:00
Andrzej Głąbek
3d64bcae3d drivers: Cast uint32_t arguments to unsigned long in log messages
To avoid warnings about providing an argument of type `uint32_t` (which
is `unsigned int`) where a `long unsigned int` one is expected.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2020-04-09 15:34:30 +02:00
Nikodem Kastelik
281cc2e178 nrfx 2.1.0 release 2020-01-24 11:39:10 +01:00
zyan-wu
9136253e27 nrfx_pwm: Make possible to skip GPIO configuration in nrfx_pwm_init() 2019-11-15 08:30:14 +01:00
889 changed files with 1192871 additions and 99640 deletions

3
.gitignore vendored
View file

@ -1,2 +1,5 @@
doc/html/* doc/html/*
doc/html_sphinx/*
doc/xml/*
doc/warnings_nrfx.txt doc/warnings_nrfx.txt
doc/warnings_sphinx_nrfx.txt

View file

@ -1,6 +1,372 @@
# Changelog # Changelog
All notable changes to this project are documented in this file. All notable changes to this project are documented in this file.
## [3.3.0] - 2023-12-21
### Added
- Added support for nRF54H20 Eng A and nRF54L15 Eng A.
- Added HALs for BELLBOARD, CRACEN, CTRLAP, EXMIF, GLITCHDET, GRTC, HSFLL, IPCT, LRCCONF, MEMCONF, MPC, MVDMA, PPIB, RAMC, RESETINFO, RRAMC, STM, TAMPC, TBM, UICR and, VPR.
- Added HALYs for BELLBOARD, GRTC, MVDMA, RRAMC, TBM, and VPR.
- Added drivers for BELLBOARD, GRTC, RRAMC, TBM, and VEVIF.
- Added the nrfx_ids helper layer to facilitate developing generic code that performs inter-domain signalling.
- Added possibility to use TX link feature without (D)PPI connection in the UARTE driver.
- Added possibility to get callback called on each byte received in the UARTE driver.
### Changed
- Updated MDK to version 8.60.3.
- Changed the default nrfx API version to 3.1.0.
- Changed how the buffers are provided to the I2S driver. Now, the buffer size must be passed alongside pointers to the next buffers.
- Improved peripheral power management in the PWM driver. Now, the peripheral is enabled only during playback.
### Fixed
- Fixed the workaround for nRF52840 anomaly 215 and nRF5340 anomaly 215 in the QSPI driver. Now, the custom instruction functions do not risk triggering anomalies.
- Fixed a missing CTRLAP reset reason for nRF91 in the POWER HAL.
- Fixed incorrect assertion in the TWIS driver. Now, the driver status can be checked when the driver is idle.
- Restored workaround for nRF52 anomaly 55 in the I2S driver.
## [3.2.0] - 2023-10-02
### Added
- Added multi-instance support for the GPIOTE driver.
- Added the nrfx_ram_ctrl helper layer to facilitate developing generic code that controls the power and retention settings of RAM blocks.
- Introduced the NRFX_TIMER_BASE_FREQUENCY_GET() and NRFX_SPIM_BASE_FREQUENCY_GET() macros for getting base frequencies in Hz for the specified TIMER and SPIM instances.
- Added a function for checking whether the specified voltage regulator is enabled in the REGULATORS HAL.
- Added a function for checking whether an inductor is connected to the DCC pin in the REGULATORS HAL.
- Added a function for checking if the detected voltage is below or above the threshold of VPOF (POF Comparator's threshold voltage) in the REGULATORS HAL.
- Added a function for powering on all RAM blocks in the VMC HAL.
- Added missing entries in enumerators for RAM sections in the VMC HAL.
- Added the new nrfx_wdt_stop() function to the WDT driver that stops the watchdog.
- Added the new nrfx_wdt_uninit() function to the WDT driver that uninitializes the watchdog.
- Added the new nrfy_wdt_task_stop_enable_set() function to the WDT HALY that enables or disables stopping the watchdog.
- Added functions for retrieving pointers to the receive and transmit buffers in the TWIS HAL.
- Added functions for checking whether given instance is initialized to all of the drivers.
- Added individual functions for setting reference selection, external reference, detection type and enabling hysteresis in the LPCOMP HAL. Now they are supposed to be used instead of nrf_lpcomp_configure() function.
- Added a blocking mode to the CLOCK driver. The mode is initialized when a user handler is set to NULL.
- Added a new member to the configuration structure of the QSPI driver. The new configuration member determines time in milliseconds when a timeout of the QSPI operation occurs.
- Added the new nrfx_qspi_timeout_signal() function to the QSPI driver that signals premature QSPI operation timeout.
### Changed
- Updated MDK to version 8.58.0.
- Overhauled the UARTE driver. Extended the UARTE driver with various modes of operations including: mixing of blocking and non-blocking transfers, linking transfers, continuous reception, low power operation.
- Changed all functions' parameters in the GPIOTE driver. A pointer to nrfx_gpiote_t structure was added as the first parameter in all functions. Now functions without the pointer to nrfx_gpiote_t structure as the first argument are deprecated.
- Changed functions for setting and reading the GPREGRET registers in the POWER HAL. Now there are only two functions, nrf_power_gpregret_set() for setting and nrf_power_gpregret_get() for reading. A new `reg_num` argument was added to both of them.
- Replaced nrf_regulators_dcdcen_set() and nrf_regulators_dcdcen_vddh_set() functions with nrf_regulators_vreg_enable_set().
- Replaced nrf_regulators_pofcon_set() and nrf_regulators_pofcon_vddh_set() functions with nrf_regulators_config_set().
- Replaced nrf_regulators_pofcon_get() function with nrf_regulators_pof_config_get().
- Renamed nrf_regulators_mainregstatus_get() function to nrf_regulators_main_status_get().
- Renamed NRF_REGULATORS_POTHR_V{XY} macros to NRF_REGULATORS_POF_THR_{X}V{Y}.
- Renamed NRF_REGULATORS_PORTHRVDDH_V{XY} macros to NRF_REGULATORS_POF_THR_VDDH_{X}V{Y}.
- Renamed nrf_regulators_pof_thrvddh_t structure to nrf_regulators_pof_thr_vddh_t.
- Renamed macros indicating features presence in the REGULATORS HAL.
- Changed a default value of the source reference structure member from 1.8V to 1.2V in the COMP driver configuration structure.
- Changed a prototype of an event handler in the WDT driver. The new prototype accepts an event type, requests and a pointer to the context. A previous version is deprecated.
- Changed a prototype of the nrfx_wdt_init() function in the WDT driver. The new prototype accepts a pointer to the instance, a pointer to the configuration, an event handler and a pointer to the context. A previous version is deprecated.
- Replaced the nrf_wdt_task_stop_enable() function with nrf_wdt_task_stop_enable_set(). Now it takes a boolean parameter.
- Replaced the deprecated NRFX_ERROR_ALREADY_INITIALIZED error code with the new NRFX_ERROR_ALREADY one.
- Changed the organization of configuration structure members in the LPCOMP driver.
- Changed the definition of nrf_saadc_value_t type in the SAADC HAL. Now pointer to the buffer holding conversion results is a void* instead of int16_t*.
- Changed the return value in all drivers in case initialization functions have already been executed. Now the NRFX_ERROR_ALREADY error code will be returned instead of NRFX_ERROR_INVALID_STATE.
- Changed the way that the QSPI peripheral is activated. Now the driver activates the peripheral instance before the first transfer or when the nrfx_qspi_activate() function is called.
### Fixed
- Fixed the device failing to reconnect to the host after USB cable being reconnected in the USBD driver.
- Fixed configuration of the external reference in nrfx_comp_init() and nrfx_comp_reconfigure() functions. Now the differential mode can be enabled in the COMP driver.
- Fixed support for P0.18, P0.20, and P0.28-P0.30 pins in the GPIOTE driver for nRF52820 SoC.
- Fixed events being forwarded to the user callback despite having their interrupts disabled in the QDEC driver.
## [3.1.0] - 2023-06-28
### Added
- Added the HALY layer for the NFCT. HALY is an extension of the HAL layer that aggregates basic hardware use cases within single functions. Now it is used instead of HAL in the NFCT drivers.
- Added the NRFX_IN_RANGE() macro for checking if a given value is in a given range.
- Added functions for writing a word to the flash and reading a buffer, word, halfword, and byte in the NVMC HAL.
### Changed
- Updated MDK to version 8.55.0.
- Modified the power management in the SPIM driver. Now the nrfx_spim_abort() function must be called once all expected transactions using the NRFX_SPIM_FLAG_NO_XFER_EVT_HANDLER, NRFX_SPIM_FLAG_HOLD_XFER, or NRFX_SPIM_FLAG_REPEATED_XFER option flags are finalized.
### Fixed
- Fixed a workaround for the anomaly 109 on the nRF52 family in the SPIM and SPIS drivers.
- Fixed the NRFX_TIMER_FREQUENCY_STATIC_CHECK() and NRFX_SPIM_FREQUENCY_STATIC_CHECK() macros.
- Fixed the nrfx_wdt_reconfigure() function that was returning the NRFX_ERROR_INVALID_STATE error code when the driver instance has been initialized.
- Fixed the nrfx_pwm_stopped_check() function when used without user's handler function.
## [3.0.0] - 2023-04-25
### Added
- Added the HALY layer for the following peripherals: COMP, DPPI, GPIO, GPIOTE, I2S, LPCOMP, PDM, PWM, QDEC, RTC, SAADC, SPIM, TEMP, TIMER, TWIM, UARTE, WDT. HALY is an extension of the HAL layer that aggregates basic hardware use cases within single functions. Now it is used instead of HAL in the corresponding drivers.
- Added functions for reconfiguring a peripheral outside of the initialization process in the following drivers: COMP, PDM, PWM, QDEC, QSPI, SPI, SPIM, SPIS, TIMER, TWI, TWIM, TWIS, UART, UARTE, WDT.
- Added multi-instance support for the I2S and QDEC drivers. Now a pointer to the driver instance needs to be specified in all relevant functions.
- Added the reportper_inten member to the configuration structure for the QDEC driver. It allows to explicitly enable interrupts associated with the REPORTRDY peripheral event.
- Added the NRFX_ERROR_FORBIDDEN error being returned from the nrfx_spim_init() function when a user attempts to configure a hardware-controlled and software-controlled chip select simultaneously.
- Added the NRFX_TIMER_FREQUENCY_STATIC_CHECK() macro to statically check if the given frequency is achievable for the specified TIMER instance.
- Added the NRFX_TWIM_XFER_DESC() macro to support creation of any type of TWIM transaction for the TWIM driver.
- Added auxiliary macros NRFX_KHZ_TO_HZ() and NRFX_MHZ_TO_HZ() for converting specified frequency value to Hertz.
- Added auxiliary macros for sophisticated handling of the preprocessor symbols to `nrfx_utils.h`.
- Added functions for getting the number of available channels and groups for a given peripheral instance in the DPPIC HAL.
- Added functions for getting the SEQSTART tasks and SEQEND events associated with a specified sequence index in the PWM HAL.
- Added the nrf_rtc_capture_task_get() function for getting the CAPTURE task associated with the specified CC channel in the RTC HAL.
- Added functions for managing the non-maskable watchdog interrupts in the WDT HAL.
- Added functions for getting the address of peripheral tasks and events in the EGU HAL.
- Added a function for enabling the watchdog STOP task in the WDT HAL.
- Added a function for getting the bitmask of all watchdog requests' statuses in the WDT HAL.
- Added a function for clearing the event and task endpoints for a given channel in the GPPI helper.
### Changed
- Renamed a macro from NRFX_VOLTAGE_THRESHOLD_TO_INT() to NRFX_COMP_VOLTAGE_THRESHOLD_TO_INT() in the COMP HAL.
- Renamed functions for getting the task of event address in the following drivers: CLOCK, GPIOTE, PPI, SPIM, TWIM. Now they follow a common scheme.
- Renamed configuration structure members `hal` and `hal_config`, containing low-level peripheral settings, to `config` in the LPCOMP and UARTE drivers.
- Renamed a function from nrfx_pwm_is_stopped() to nrfx_pwm_stopped_check() in the PWM driver.
- Renamed a symbol from NRF_QDEC_LED_NOT_CONNECTED to NRF_QDEC_PIN_NOT_CONNECTED in the QDEC HAL. Now it is consistent with other, similar symbols.
- Changed the way the API version to be used is specified. Now the following dedicated symbols shall be defined to form the API version as a numerical value: NRFX_CONFIG_API_VER_MAJOR, NRFX_CONFIG_API_VER_MINOR, NRFX_CONFIG_API_VER_MICRO.
- Changed prototypes of several functions in the UARTE driver. Now all functions have a return value, and some of them accept additional parameters.
- Changed a type of configuration structure members that hold a pin number from `uint8_t` to `uint32_t` in the following drivers: I2S, PWM, SPIM.
- Changed the prototypes of the nrf_i2s_pins_set() and nrf_i2s_configure() functions in the I2S HAL. Now they accept a pointer to the configuration structure instead of several individual parameters.
- Changed a default value of the `gain` structure member from `1/6` to `1` in the SAADC driver configuration structure.
- Changed a type of the configuration structure member specifying the clock frequency from an enumeration to an unsigned integer in the TIMER driver. Now the timer clock frequency must be specified in Hertz. Use the NRFX_TIMER_FREQUENCY_STATIC_CHECK() macro to check if the requested frequency is achievable for a given TIMER instance.
- Changed a type of the configuration structure member specifying the clock frequency from an enumeration to an unsigned integer in the SPIM driver. Now the clock signal frequency must be specified in Hertz. Use the NRFX_SPIM_FREQUENCY_STATIC_CHECK() macro to check if the requested frequency is achievable for a given SPIM instance.
- Changed the prototype of the NRFX_TIMER_DEFAULT_CONFIG() macro in the TIMER driver. Now the desired timer clock frequency in Hertz needs to be specified as a parameter.
- Changed a prototype of the WDT driver callback. Now a bitmask specifying which reload request caused the timeout is provided.
- Changed the prototype of the initialization and callback functions of the QDEC driver. Now the user context can be provided and accessed during the interrupt handler execution.
- Removed the deprecated nrf_gpio_pin_mcu_select() function and the corresponding nrf_gpio_pin_mcusel_t enumerator. Use the nrf_gpio_pin_control_select() function and the nrf_gpio_pin_sel_t enumerator instead.
- Removed the deprecated and spurious NRF_QDEC_REPORTPER_DISABLED symbol from the QDEC HAL.
- Removed the deprecated nrf_qdec_pio_assign() function from the QDEC HAL. Use the nrf_qdec_pins_set() function instead.
- Removed the deprecated nrf_timer_frequency_set() and nrf_timer_frequency_get() functions in the TIMER HAL. Use nrf_timer_prescaler_set() and nrf_timer_prescaler_get() instead.
- Removed symbols that mark a pin as unused in the following drivers: I2S, PWM, SPIM, SPIS. Now the HAL variant should be used instead.
- Removed deprecated functions from the GPIOTE driver. Use new functions instead.
- Removed the deprecated callback prototype in the IPC driver. Use a new variant instead.
- Removed the following redundant functions from the PWM driver: nrfx_pwm_sequence_values_update(), nrfx_pwm_sequence_length_update(), nrfx_pwm_sequence_repeats_update(), nrfx_pwm_sequence_end_delay_update(). Use the nrfx_pwm_sequence_update() function instead.
- Moved static inline functions from the header file to the source file in the GPPI helper.
- Refactored the method of configuring pins that should use inverted polarity in the PWM driver. Now an array inside driver configuration structure needs to be used instead of masking the pin number value. As a consequence, the NRFX_PWM_PIN_INVERTED symbol was removed.
- Renamed configuration structure members used for setting peripheral pins in the following drivers: PDM, TWIM, TWIS, UARTE. Now they use a common scheme.
- Renamed the nrf_wdt_started() and nrf_wdt_request_status() functions in the WDT HAL. Now they are named as nrf_wdt_started_check() and nrf_wdt_request_status_check() respectively.
### Fixed
- Fixed a misleading description for the nrf_rtc_event_disable() function in the RTC HAL. It accepts a bitmask of events instead of a single event.
## [2.11.0] - 2023-04-07
### Added
- Added support for the nRF9161 and nRF9131 SiPs. Use `NRF9120_XXAA` as the compilation symbol.
- Implemented a workaround for the anomaly 161 on the nRF5340 SoC in the RESET HAL.
### Changed
- Updated MDK to version 8.53.1.
### Fixed
- Removed a spurious function call causing aborting of endpoints in the SUSPEND event for the USBD driver.
## [2.10.0] - 2022-10-25
### Added
- Added NRFX_CONFIG_API_VER_2_9 and NRFX_CONFIG_API_VER_2_10 symbols that guard API-breaking changes. Deprecated API is used by default.
- Added new signature for the event handler in the IPC driver that accepts event index instead of event bitmask. The previous signature is deprecated.
- Added nrfx_ipc_gpmem_get() function that is used to get data from the GPMEM register in IPC. It should be now used instead of nrfx_ipc_mem_get(), which is deprecated.
- Added samples for the following drivers: EGU, PWM, RNG, SAADC, SPIM, SPIS, TEMP, TIMER, TWIM, TWIS, UARTE. They are a part of `zephyrproject-rtos/hal_nordic/nrfx` repository.
- Introduced the NRFX_{PERIPH}_INST_HANDLER_GET() macro for getting interrupt handler associated with the specified driver instance.
- Introduced the NRFX_{PERIPH}_INST_GET() macro for getting pointer to the structure of the registers of the specified peripheral.
- Introduced the NRF_TIMER_PRESCALER_CALCULATE() macro for computing prescaler value for given TIMER base frequency and desired frequency.
- Introduced the NRF_TIMER_BASE_FREQUENCY_GET() macro for getting base frequency in Hz for the specified TIMER instance.
- Added missing NRFX_RESET_REASON_CTRLAP_MASK in nrfx_reset_reason_mask_t for nRF9160.
- Added missing NRFX_RESET_REASON_SREQ_MASK in nrfx_reset_reason_mask_t.
### Changed
- Updated MDK to version 8.51.0.
- Refactored the TIMER driver to allow user handler to be NULL.
- Removed magic numbers from nrf_twim_event_t type in TWIM HAL.
### Fixed
- Fixed the NRFX_ROUNDED_DIV() macro for negative numbers.
- Disabled array bounds warning for nrf_clock_is_running() function that was false positive in GCC 12 and above.
## [2.9.0] - 2022-07-19
### Added
- Added configuration parameter NRFX_NFCT_PARAM_ID_FDT_MIN that allows settting the value of the FRAMEDELAYMIN register.
- Added nrf_gpio_pin_sel_t enumerator. It should be now used instead of nrf_gpio_pin_mcusel_t, which is deprecated.
- Added nrf_gpio_pin_control_select() function. It should be now used instead of nrf_gpio_pin_mcu_select(), which is deprecated.
- Added NRF_TIMER_CC_COUNT_MAX symbol that specifies maximum number of available compare channels.
- Added NRF_TIMER_ALL_CHANNELS_INT_MASK symbol that is used for creating the interrupt bitmask for all compare channels.
- Added nrf_timer_prescaler_set() and nrf_timer_prescaler_get() functions that are used for setting and retrieving the prescaler factor. They should be now used instead of nrf_timer_frequency_set() and nrf_timer_frequency_get(), which are deprecated.
- Added NRFX_MAX(), NRFX_MIN() and NRFX_ABS() macros.
### Changed
- Updated MDK to version 8.47.0.
### Fixed
- Fixed logging level in nrfx_uart_init() and nrfx_uarte_init() functions. It was reduced from warning to info.
- Fixed IO3 level used in nrfx_qspi_mem_busy_check(). The line is now kept high to prevent memory status from being read incorrectly.
## [2.8.0] - 2022-04-05
### Added
- Added function for getting the currently configured channels in the SAADC driver.
- Added callback for the RXFRAMESTART event in the NFCT driver.
- Added function for transmitting the NFC frame with specified number of bits in the NFCT driver.
- Added functions for getting and setting SEL_RES auto response configuration in the NFCT HAL.
### Changed
- Refactored calibration procedure in the SAADC driver, so it retains previously configured mode.
- Improved management of low frequency clock source during initialization in the CLOCK driver. Compatible source that already runs or is starting during initialization is now used without reconfiguration.
- Improved software-managed triggering of the START task on an END event in the SAADC driver.
### Fixed
- Fixed event processing order in the SAADC driver. Previously, incorrect buffer might have been filled when double-buffered sampling was used with END event and START task being connected through (D)PPI.
- Fixed the limits feature that could be spuriously triggered during calibration procedure in the SAADC driver.
## [2.7.0] - 2021-12-16
### Added
- Added new fields in the driver configuration structures to allow skipping GPIO and/or PSEL register configuration. Affected drivers: I2S, PDM, PWM, QDEC, QSPI, SPI, SPIM, SPIS, TWI, TWIM, TWIS, UART, UARTE.
### Changed
- Updated MDK to version 8.44.2.
### Fixed
- Fixed the inability to start subsequent simple mode conversion from the user callback context in the SAADC driver.
## [2.6.0] - 2021-11-22
### Added
- Added new functions for the GPIOTE peripheral management in the GPIOTE driver. Legacy API is now deprecated.
- Added support for the TIMER CC channels 6 and 7.
- Added the nrfx_flag32_allocator helper layer to unify resource allocation mechanism across several drivers.
- Added functions for getting shortcut bitmask associated with specified channel in the TIMER HAL.
- Added functions for channel allocation and deallocation in the nrfx_gppi helper layer.
- Added the nrf_gpio_reconfigure() function for selective reconfiguration of the specified pin.
- Introduced the NRFX_CLOCK_CONFIG_CT_ENABLED symbol for enabling the calibration timer support in the CLOCK driver. The symbol is enabled by default on supported SoCs.
- Introduced the NRFX_CTZ and NRFX_CLZ macros to allow providing custom implementation for these functionalities. By default `__RBIT()` and `__CLZ()` CMSIS macros are used.
- Introduced the NRFX_ATOMIC_CAS macro to allow providing custom implementation for atomic compare-and-swap functionality.
- Implemented workaround for the nRF9160 anomaly 7 in the NVMC driver.
### Changed
- Updated MDK to version 8.44.1.
### Fixed
- Fixed missing disabling of interrupts in the nrfx_qspi_lfm_start() and nrfx_qspi_lfm_xfer() functions.
- Fixed manual sample fetching when REPORTPER is disabled in the QDEC driver.
- Fixed a race condition in the NFCT driver when starting the transfer.
## [2.5.0] - 2021-05-05
### Added
- Added support for double-buffered transfers in the QSPI driver.
- Added support for one-by-one channel configuration in the SAADC driver.
- Added critical sections for channel allocation and deallocation in the DPPI driver.
- Added support for generating documentation in the RST format using Sphinx tool.
- Added high-drive pin configuration in the QSPI, TWIM, and SPIM drivers.
- Added report period setting of 1 sample in the QDEC HAL.
- Implemented workaround for nRF53 Series anomaly 121 in the QSPI driver.
### Changed
- Updated MDK to version 8.40.2.
- Removed implicit channel deallocation during initialization in the GPIOTE driver.
- Restricted pins that are supported for specific configuration on nRF5340 in the QSPI, TWIM, and SPIM drivers.
- Aligned IRQ handler symbols to new naming scheme for nRF53 Series.
### Fixed
- Fixed register access sequence in the COMP driver.
- Fixed memory corruption when uninitialized channel was freed in the GPIOTE driver.
- Fixed spurious access of DCX pin for every instance of the peripheral when extended features were enabled in the SPIM driver.
- Fixed overwrite of MCUSEL configuration in the nrf_gpio_cfg() function.
- Fixed driver behavior for zero-length transfer in the TWIM driver.
- Fixed internal state handling when transfer is aborted before finishing in the TWI and TWIM drivers.
- Corrected assertions for MPS requirements in the USBD driver.
- Corrected symbol describing maximum data payload for a full-speed isochronous endpoint in the USBD driver.
## [2.4.0] - 2020-11-13
### Added
- Added the channel allocator feature in the GPIOTE driver.
- Added support for registers associated with the Direction Finding feature in the RADIO HAL.
- Added support for the SUBSCRIBE and PUBLISH registers in the following HALs: AAR, CCM, ECB, RADIO, and RNG.
- Added support for the LATENCY register present on nRF5340 in the GPIOTE driver and the GPIOTE HAL.
- Implemented workaround for nRF53 Series anomaly 53 in the POWER driver.
### Changed
- Updated MDK to 8.37.0.
### Fixed
- Fixed unused parameters in the PPI, CLOCK, SPIM and POWER drivers to resolve compilation warnings, such as 'flags' in the SPIM driver.
- Fixed a race condition in the COMP driver when interrupt occured before update of the driver internal state.
- Fixed minor C++ compilation warnings in the drivers.
- Fixed implementation of workaround for nRF52 Series anomaly 197 in the POWER HAL, which was applied in incorrect configuration.
- Fixed implementation of workaround for nRF53 Series anomaly 4 in the CLOCK driver, which was applied in incorrect configuration.
- Fixed the incorrect signature of the nrf_clock_alwaysrun_set() function.
## [2.3.0] - 2020-08-19
### Added
- Added support for nRF52805.
- Implemented workaround for nRF52 Series anomaly 197 in the POWER HAL.
- Implemented workaround for nRF52 Series anomalies 211 and 223 in the USBD driver.
- Added support for the nRF53 Series in the QSPI HAL.
- Added function in the GPIO HAL that returns port index.
- Introduced a QSPI HAL symbol that indicates the availability of the QSPI mode 1.
- Introduced shortcut functionality in the CCM HAL.
- Added function in the TIMER HAL for setting the specified shortcuts.
- Added optional two-stage start procedure of the LFXO in the CLOCK driver.
### Changed
- Updated MDK to 8.35.0.
- Divided network and application core-specific functionalities for nRF5340 in the RESET HAL and the reset reason helper.
### Fixed
- Corrected assertions in the NVMC driver.
- Corrected return types in the CCM HAL.
- Fixed setting of program memory access mode for secure code in the NVMC driver.
- Removed usage of the NRF_UICR symbol on non-secure targets in address validity checks in the NVMC driver.
- Fixed an error message in the SPIM driver that prevented successful compilation with logging enabled.
- Fixed unused parameters in the PPI HAL.
## [2.2.0] - 2020-04-28
### Added
- Added support for nRF52820.
- Added possibility to use the nRF52833 DK in development for nRF52820. LEDs and buttons in this DK use GPIOs that are not present in the actual nRF52820 device, so accesses to these need special handling in the GPIO HAL.
- Added the nrfx_reset_reason helper layer, to facilitate developing generic code that uses the RESETREAS register.
- Implemented workarounds for nRF52 Series anomalies 170 and 196 in the I2S driver.
- Added implicit casting of uint32_t to unsigned long in log messages, to prevent compiler warnings.
- Added missing secure and non-secure peripheral symbol translations for nRF5340 and nRF9160.
- Added functions in the NVMC driver for reading and writing halfword data from the OTP region of the UICR.
### Changed
- Updated MDK to 8.32.1.
- Improved documentation regarding double-buffered reception in the UARTE driver.
- Unified policy of pin cleanup procedure during uninitialization of the drivers. Now every driver restores utilized pins to default setting.
- Removed support for revision Engineering A of nRF52840 in the USBD driver.
- Changed selected while() loops to NRFX_WAIT_FOR() macro in the SPIM, UARTE and CLOCK drivers to improve robustness.
### Fixed
- Fixed assertions that check write addresses in the NVMC driver. Now the UICR memory region is handled properly.
- Fixed a race condition in the CLOCK driver when requested clock was stopped during ramp-up from high priority interrupt.
- Fixed assertions that check pin numbers in the GPIO HAL and GPIOTE driver. Now noncontiguous groups of available pin numbers are handled properly.
- Fixed assertion that checks correctness of limit setting in the SAADC driver.
- Fixed spurious callback invocation when the SPIM driver was reinitialized to blocking mode from non-blocking mode.
- Fixed missing workaround for I2S STOP anomaly for nRF52833.
- Fixed handling of NRFX_SPIM_FLAG_HOLD_XFER setting in the blocking mode of the SPIM driver.
- Fixed void pointer cast in the CLOCK HAL, which could cause memory corruption with specific compiler settings.
- Fixed definition of the NRF_CLOCK_LFCLK_Synth value, to make it available also in builds for nRF5340.
## [2.1.0] - 2020-01-24
### Added
- Added HALs for DCNF, OSCILLATORS, USBREG, and VREQCTRL.
- Added support for 1-MHz clock frequency in TWIM.
- Introduced the NRFX_I2S_STATUS_TRANSFER_STOPPED flag in the I2S driver.
- Introduced the nrfx_power_compat layer that allows use of the nrfx_power API with new SoC.
- Added encryption support in the QSPI driver.
- Added support for USBD in nRF5340.
- Expanded HALs to cover new functions in nRF5340: GPIO, I2S, PDM, POWER, QSPI, and REGULATORS.
- Introduced new clock management system in the CLOCK driver.
- Introduced new audio clock configuration settings in the I2S and PDM drivers for nRF5340.
- Implemented workaround for nRF5340 anomaly 4 in the CLOCK driver.
- Implemented workaround for nRF5340 anomaly 10 in the CCM HAL.
- Implemented workaround for nRF9160 anomaly 21 and nRF5340 anomaly 6 in the NVMC HAL.
- Implemented workaround for nRF9160 anomaly 23 and nRF5340 anomaly 44 in the UARTE driver.
- Introduced the NRFX_TWIM_NO_SPURIOUS_STOP_CHECK flag in the TWIM driver.
- Added functions for getting shortcut configuration in the TWIM HAL.
### Changed
- Updated MDK to 8.30.2.
- Reorganized templates of nrfx_config header files for different SoCs. Now they are included through one common file according to the selected SoC.
- Improved the UARTE driver to consume less current after the driver uninitialization. Now all clocks are disabled properly after uninitialization.
- Improved the GPIOTE driver robustness by setting the LATCH functionality to be used by default.
- Changed names of the frequency divider symbols in the QSPI HAL to reflect the new frequencies in nRF5340. Old API names were preserved and are still supported.
- Improved spurious STOP condition handling in the TWIM driver.
- Improved sampling procedure in the advanced blocking mode in the SAADC driver.
- Improved calibration procedure in the SAADC driver for nRF5340 and nRF9160.
### Fixed
- Fixed address assertions in NVMC driver for the nRF5340 network core.
- Fixed an issue in the TWI driver that would make the driver stuck when a premature STOP condition was generated by a slave device. The driver now handles this situation properly and signals that a bus error occurred.
- Fixed the stopping procedure in the PWM driver. Previously in very specific circumstances the PWM output might be not stopped at all or might be immediately restarted.
## [2.0.0] - 2019-11-06 ## [2.0.0] - 2019-11-06
### Added ### Added
- Added support for nRF5340. - Added support for nRF5340.

View file

@ -1,6 +1,8 @@
Copyright (c) 2017 - 2019, Nordic Semiconductor ASA Copyright (c) 2017 - 2023, Nordic Semiconductor ASA
All rights reserved. All rights reserved.
SPDX-License-Identifier: BSD-3-Clause
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met: modification, are permitted provided that the following conditions are met:

View file

@ -3,23 +3,27 @@
## Overview ## Overview
nrfx is a standalone set of drivers for peripherals present in Nordic nrfx is a standalone set of drivers for peripherals present in Nordic
Semiconductor's SoCs. It originated as an extract from the nRF5 SDK. Semiconductor's SoCs and SiPs. It originated as an extract from the nRF5 SDK.
The intention was to provide drivers that can be used in various environments The intention was to provide drivers that can be used in various environments
without the necessity to integrate other parts of the SDK into them. without the necessity to integrate other parts of the SDK into them.
For the user's convenience, the drivers come with the MDK package. This package For the user's convenience, the drivers come with the MDK package. This package
contains definitions of register structures and bitfields for all supported contains definitions of register structures and bitfields for all supported
SoCs, as well as startup and initialization files for them. SoCs, as well as startup and initialization files for them.
## Supported SoCs ## Supported SoCs and SiPs
* nRF51 Series * nRF51 Series
* nRF52805
* nRF52810 * nRF52810
* nRF52811 * nRF52811
* nRF52820
* nRF52832 * nRF52832
* nRF52833 * nRF52833
* nRF52840 * nRF52840
* nRF5340 * nRF5340
* nRF9131
* nRF9160 * nRF9160
* nRF9161
## Directories ## Directories
@ -27,9 +31,10 @@ SoCs, as well as startup and initialization files for them.
. .
├── doc # Project documentation files ├── doc # Project documentation files
├── drivers # nrfx driver files ├── drivers # nrfx driver files
── include # nrfx driver headers ── include # nrfx driver headers
│ └── src # nrfx driver sources │ └── src # nrfx driver sources
├── hal # Hardware Access Layer files ├── hal # Hardware Access Layer files
├── haly # Extended Hardware Access Layer files
├── helpers # nrfx driver helper files ├── helpers # nrfx driver helper files
├── mdk # nRF MDK files ├── mdk # nRF MDK files
├── soc # SoC specific files ├── soc # SoC specific files
@ -40,6 +45,4 @@ SoCs, as well as startup and initialization files for them.
nrfx documentation is available in the `doc\html` folder of the release package. nrfx documentation is available in the `doc\html` folder of the release package.
You can also generate documentation yourself from the source code. To do it, install doxygen Refer to [this guide](doc/README.md) for more details.
and run one of the scripts: `generate_html_doc.bat` or `generate_html_doc.sh`. Generated
documentation will be stored in the `doc\html` directory. Use `index.html` to open it.

44
doc/README.md Normal file
View file

@ -0,0 +1,44 @@
# nrfx documentation
## Doxygen
You can generate `doxygen` based documentation by running
```shell
doxygen nrfx.doxyfile
```
You may want to use the provided scripts `generate_html_doc.sh` or
`generate_html_doc.bat`. The result can be viewed by opening
`html/index.html`.
## Sphinx
All the necessary files to compile the Sphinx based documentation for `nrfx`
are located under `sphinx` folder. As of today the content should match with
the one produced using `doxygen` only.
### Requirements
You will need to have Python 3 installed as well as some dependencies, which can
be installed by running:
```shell
pip install -r requirements.txt
```
### Build
You may want to use the provided scripts `generate_sphinx_doc.sh` or
`generate_sphinx_doc.bat`. The result can be viewed by opening
`html_sphinx/index.html`.
If you want to do it manually you can run the following commands from `doc`
directory:
```shell
# compile doxygen documentation (required to generate XML metadata)
doxygen nrfx.doxyfile
# compile Sphinx documentation
sphinx-build -b html sphinx html_sphinx
```

View file

@ -0,0 +1,16 @@
/**
* @defgroup nrfx_common_config Common configuration
* @{
* @ingroup nrfx
*/
/** @brief Symbol specifying major version of the nrfx API to be used. */
#define NRFX_CONFIG_API_VER_MAJOR
/** @brief Symbol specifying minor version of the nrfx API to be used. */
#define NRFX_CONFIG_API_VER_MINOR
/** @brief Symbol specifying micro version of the nrfx API to be used. */
#define NRFX_CONFIG_API_VER_MICRO
/** @} */

View file

@ -1,60 +1,102 @@
/** /**
@page nrfx_drv_supp_matrix Driver support matrix @page nrfx_drv_supp_matrix Driver support overview
The following matrix shows which drivers are supported by specific Nordic SoCs.
@{
Driver | nRF51 Series | nRF52810/nRF52811 | nRF52832 | nRF52833 | nRF52840 | nRF5340 | nRF9160 | This page lists MDK symbols to be used and nrfx driver components supported by particular SoCs and SiPs:
-----------------|--------------|-------------------| -------------| -------------| -------------| -------------| -------------| - @ref nrfx_mdk_symbols_table "MDK symbols table"
@ref nrf_aar |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross | - @ref nrfx_drv_supp_matrix_table "Driver support matrix"
@ref nrf_acl |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross | - @ref nrfx_drv_supp_matrix_list "Driver support lists"
@ref nrf_adc |@tagGreenTick |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |
@ref nrf_bprot |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross | @anchor nrfx_mdk_symbols_table
@ref nrf_cache |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross | @par MDK symbols table
@ref nrf_ccm |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
@ref nrf_clock |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | The following table presents MDK symbol used for a specific device.
@ref nrf_comp |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross | @warning The MDK symbol used to build nrfx for a specific device may not necessarily correspond to the device name.
@ref nrf_systick |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
@ref nrf_dppi |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick | | Device | MDK symbol |
@ref nrf_ecb |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross | |--------------------|--------------------------------------------------|
@ref nrf_egu |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | nRF51 Series | NRF51 |
@ref nrf_ficr |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | nRF52805 | NRF52805_XXAA |
@ref nrf_fpu |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross | | nRF52810 | NRF52810_XXAA |
@ref nrf_gpio |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | nRF52811 | NRF52811_XXAA |
@ref nrf_gpiote |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | nRF52820 | NRF52820_XXAA |
@ref nrf_i2s |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | nRF52832 | NRF52832_XXAA<br>NRF52832_XXAB |
@ref nrf_ipc |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick | | nRF52833 | NRF52833_XXAA |
@ref nrf_kmu |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick | | nRF52840 | NRF52840_XXAA |
@ref nrf_lpcomp |@tagGreenTick |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross | | nRF5340 | NRF5340_XXAA_APPLICATION<br>NRF5340_XXAA_NETWORK |
@ref nrf_mpu |@tagGreenTick |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross | | nRF9131<br>nRF9161 | NRF9120_XXAA |
@ref nrf_mutex |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross | | nRF9160 | NRF9160_XXAA |
@ref nrf_mwu |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagRedCross |
@ref nrf_nfct |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross | @anchor nrfx_drv_supp_matrix_table
@ref nrf_nvmc |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | @par Driver support matrix
@ref nrf_pdm |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
@ref nrf_power |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | The following matrix provides a comparative overview of which drivers are supported by specific Nordic SoCs and SiPs.
@ref nrf_ppi |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagRedCross |
@ref nrf_pwm |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | Driver | nRF51 Series | nRF52805 | nRF52810<br>nRF52811 | nRF52820 | nRF52832 | nRF52833 | nRF52840 | nRF5340 | nRF91 Series |
@ref nrf_qdec |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross | |------------------|--------------|--------------|----------------------|--------------|--------------|--------------|--------------|--------------|--------------|
@ref nrf_qspi |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagRedCross | | @ref nrf_aar |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
@ref nrf_radio |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross | | @ref nrf_acl |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
@ref nrf_reset |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross | | @ref nrf_adc |@tagGreenTick |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |
@ref nrf_rng |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross | | @ref nrf_bprot |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagGreenTick |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |
@ref nrf_rtc |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | @ref nrf_cache |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross |
@ref nrf_saadc |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | @ref nrf_ccm |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
@ref nrf_spi |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagRedCross | | @ref nrf_clock |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
@ref nrf_spim |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | @ref nrf_comp |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
@ref nrf_spis |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | @ref nrf_systick |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
@ref nrf_spu |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick | | @ref nrf_dcnf |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross |
@ref nrf_temp |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross | | @ref nrf_dppi |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |
@ref nrf_timer |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | @ref nrf_ecb |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
@ref nrf_twi |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagRedCross | | @ref nrf_egu |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
@ref nrf_twim |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | @ref nrf_icr |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
@ref nrf_twis |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | @ref nrf_fpu |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross |
@ref nrf_uart |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagRedCross | | @ref nrf_gpio |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
@ref nrf_uarte |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | @ref nrf_gpiote |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
@ref nrf_usbd |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagRedCross | | @ref nrf_i2s |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
@ref nrf_vmc |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick | | @ref nrf_ipc |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |
@ref nrf_wdt |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick | | @ref nrf_kmu |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |
| @ref nrf_lpcomp |@tagGreenTick |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
| @ref nrf_mpu |@tagGreenTick |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |
| @ref nrf_mutex |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross |
| @ref nrf_mwu |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagRedCross |
| @ref nrf_nfct |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
| @ref nrf_nvmc |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_pdm |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_power |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_ppi |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagRedCross |
| @ref nrf_pwm |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_qdec |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
| @ref nrf_qspi |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagRedCross |
| @ref nrf_radio |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
| @ref nrf_rng |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
| @ref nrf_rtc |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_saadc |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_spi |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagRedCross |
| @ref nrf_spim |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_spis |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_spu |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |
| @ref nrf_temp |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
| @ref nrf_timer |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_twi |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagRedCross |
| @ref nrf_twim |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_twis |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_uart |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |@tagRedCross |
| @ref nrf_uarte |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
| @ref nrf_usbd |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagRedCross |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagRedCross |
| @ref nrf_vmc |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagRedCross |@tagGreenTick |@tagGreenTick |
| @ref nrf_wdt |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |@tagGreenTick |
@anchor nrfx_drv_supp_matrix_list
@par Driver support lists
The following pages list the drivers supported by respective SoCs and SiPs:
- @subpage nrf51_series_drivers
- @subpage nrf52805_drivers
- @subpage nrf52810_drivers
- @subpage nrf52820_drivers
- @subpage nrf52832_drivers
- @subpage nrf52833_drivers
- @subpage nrf52840_drivers
- @subpage nrf5340_drivers
- @subpage nrf91_series_drivers
@}
*/ */

View file

@ -1,2 +1,2 @@
del html\*.* /Q del html\*.* xml\*.* /Q
doxygen nrfx.doxyfile doxygen nrfx.doxyfile

View file

@ -1,2 +1,2 @@
rm -rf html rm -rf html xml
doxygen nrfx.doxyfile doxygen nrfx.doxyfile

View file

@ -0,0 +1,3 @@
del html\*.* xml\*.* html_sphinx\*.* /Q
doxygen nrfx.doxyfile
sphinx-build -b html sphinx html_sphinx -w warnings_sphinx_nrfx.txt

3
doc/generate_sphinx_doc.sh Executable file
View file

@ -0,0 +1,3 @@
rm -rf html xml html_sphinx
doxygen nrfx.doxyfile
sphinx-build -b html sphinx html_sphinx -w warnings_sphinx_nrfx.txt

View file

@ -1,7 +1,7 @@
/** /**
@mainpage Introduction @mainpage Introduction and configuration
@em nrfx is a standalone set of drivers for peripherals present in Nordic nrfx is a standalone set of drivers for peripherals present in Nordic
Semiconductor's SoCs. It originated as an extract from the nRF5 SDK. Semiconductor's SoCs. It originated as an extract from the nRF5 SDK.
The intention was to provide drivers that can be used in various environments The intention was to provide drivers that can be used in various environments
without the necessity to integrate other parts of the SDK into them. without the necessity to integrate other parts of the SDK into them.
@ -14,7 +14,7 @@ for a given SoC.
@section nrfx_integration Integration @section nrfx_integration Integration
The purpose of @em nrfx is to make it possible to use the same set of peripheral The purpose of nrfx is to make it possible to use the same set of peripheral
drivers in various environments, from RTOSes to bare metal applications. drivers in various environments, from RTOSes to bare metal applications.
Hence, for a given host environment, a light integration layer must be provided Hence, for a given host environment, a light integration layer must be provided
that implements certain specific routines, like interrupt management, critical that implements certain specific routines, like interrupt management, critical
@ -25,18 +25,23 @@ named:
- @ref nrfx_log - @ref nrfx_log
Templates of these files are provided Templates of these files are provided
in the <a href="../../templates/">templates</a> subfolder. Their customized in the <a href="https://github.com/NordicSemiconductor/nrfx/tree/master/templates">nrfx/templates</a> subfolder. Their customized
versions can be placed in any location within the host environment that the versions can be placed in any location within the host environment that the
used compiler can access via include paths. used compiler can access via include paths.
In addition, the following locations should be specified as include paths In addition, the following locations should be specified as include paths
([nrfx] stands for the @em nrfx root folder location): ([nrfx] stands for the nrfx root folder location):
@code @code
[nrfx]/ [nrfx]/
[nrfx]/drivers/include [nrfx]/drivers/include
[nrfx]/mdk [nrfx]/mdk
@endcode @endcode
@note Unless otherwise stated, nrfx API functions do not provide thread safety
themselves. Users are responsible for providing the proper synchronization
of the nrfx function calls in a given environment if those are to be used
from different contexts.
@section nrfx_irq_handlers IRQ handlers @section nrfx_irq_handlers IRQ handlers
The IRQ handlers in all drivers are implemented as ordinary API functions The IRQ handlers in all drivers are implemented as ordinary API functions
@ -71,16 +76,25 @@ in a file named:
This file, similarly to the integration files mentioned above, can be placed This file, similarly to the integration files mentioned above, can be placed
in any suitable location within the host environment. in any suitable location within the host environment.
The <a href="../../templates/">templates</a> subfolder contains templates of The <a href="https://github.com/NordicSemiconductor/nrfx/tree/master/templates">nrfx/templates</a> subfolder contains templates of
configuration files for all currently supported Nordic SoCs placed in respective configuration files for all currently supported Nordic SoCs. These files are
subfolders. included through a common nrfx_config.h file, according to the selected SoC.
Refer to the "driver configuration" section in the API reference for a given Refer to the "driver configuration" section in the API reference for a given
driver for more information regarding configuration options available for it. driver for more information regarding configuration options available for it.
@section nrfx_api_change_procedure API change procedure
Starting from 3.0 release, nrfx API can no longer be considered as stable for minor version updates.
Taking into account the potential impact on the end users, APIs are changed in a few stages.
Every deprecated API is completely removed from the code base after two minor releases,
counting from the one making the functionality obsolete.
Refer to the <a href="https://github.com/NordicSemiconductor/nrfx/wiki/API-change-procedure">API change procedure</a>
for more details regarding the process.
@section nrfx_additional_reqs Additional requirements @section nrfx_additional_reqs Additional requirements
Nordic SoCs are based on ARM® Cortex™-M series processors. Before you can Nordic SoCs are based on ARM® Cortex™-M series processors. Before you can
start developing with @em nrfx, you must add the CMSIS header files to include start developing with nrfx, you must add the CMSIS header files to include
paths during the compilation process. Download these files from the following paths during the compilation process. Download these files from the following
website: website:

View file

@ -1,5 +1,9 @@
/** /**
@page nrf51_series_drivers nRF51 Series Drivers @page nrf51_series_drivers nRF51 Series drivers
This page lists nrfx driver components supported by the nRF51 Series SoCs.
For a complete overview, see @ref nrfx_drv_supp_matrix.
@{ @{
@ref nrf_aar @ref nrf_aar
@ -12,7 +16,7 @@
@ref nrf_ecb @ref nrf_ecb
@ref nrf_ficr @ref nrf_icr
@ref nrf_gpio @ref nrf_gpio

68
doc/nrf52805.dox Normal file
View file

@ -0,0 +1,68 @@
/**
@page nrf52805_drivers nRF52805 drivers
This page lists nrfx driver components supported by the nRF52805 SoCs.
For a complete overview, see @ref nrfx_drv_supp_matrix.
@{
@ref nrf_aar
@ref nrf_bprot
@ref nrf_ccm
@ref nrf_clock
@ref nrf_systick
@ref nrf_ecb
@ref nrf_egu
@ref nrf_icr
@ref nrf_gpio
@ref nrf_gpiote
@ref nrf_nvmc
@ref nrf_power
@ref nrf_ppi
@ref nrf_qdec
@ref nrf_radio
@ref nrf_rng
@ref nrf_rtc
@ref nrf_saadc
@ref nrf_spi
@ref nrf_spim
@ref nrf_spis
@ref nrf_temp
@ref nrf_timer
@ref nrf_twi
@ref nrf_twim
@ref nrf_twis
@ref nrf_uart
@ref nrf_uarte
@ref nrf_wdt
@}
*/

View file

@ -1,5 +1,9 @@
/** /**
@page nrf52810_drivers nRF52810/nRF52811 Drivers @page nrf52810_drivers nRF52810/nRF52811 drivers
This page lists nrfx driver components supported by the nRF52810/nRF52811 SoC.
For a complete overview, see @ref nrfx_drv_supp_matrix.
@{ @{
@ref nrf_aar @ref nrf_aar
@ -18,7 +22,7 @@
@ref nrf_egu @ref nrf_egu
@ref nrf_ficr @ref nrf_icr
@ref nrf_gpio @ref nrf_gpio

70
doc/nrf52820.dox Normal file
View file

@ -0,0 +1,70 @@
/**
@page nrf52820_drivers nRF52820 drivers
This page lists nrfx driver components supported by the nRF52820 SoC.
For a complete overview, see @ref nrfx_drv_supp_matrix.
@{
@ref nrf_aar
@ref nrf_acl
@ref nrf_ccm
@ref nrf_clock
@ref nrf_comp
@ref nrf_systick
@ref nrf_ecb
@ref nrf_egu
@ref nrf_icr
@ref nrf_gpio
@ref nrf_gpiote
@ref nrf_nvmc
@ref nrf_power
@ref nrf_ppi
@ref nrf_qdec
@ref nrf_radio
@ref nrf_rng
@ref nrf_rtc
@ref nrf_spi
@ref nrf_spim
@ref nrf_spis
@ref nrf_temp
@ref nrf_timer
@ref nrf_twi
@ref nrf_twim
@ref nrf_twis
@ref nrf_uart
@ref nrf_uarte
@ref nrf_usbd
@ref nrf_wdt
@}
*/

View file

@ -1,5 +1,9 @@
/** /**
@page nrf52832_drivers nRF52832 Drivers @page nrf52832_drivers nRF52832 drivers
This page lists nrfx driver components supported by the nRF52832 SoC.
For a complete overview, see @ref nrfx_drv_supp_matrix.
@{ @{
@ref nrf_aar @ref nrf_aar
@ -18,7 +22,7 @@
@ref nrf_egu @ref nrf_egu
@ref nrf_ficr @ref nrf_icr
@ref nrf_gpio @ref nrf_gpio

View file

@ -1,5 +1,9 @@
/** /**
@page nrf52833_drivers nRF52833 Drivers @page nrf52833_drivers nRF52833 drivers
This page lists nrfx driver components supported by the nRF52833 SoC.
For a complete overview, see @ref nrfx_drv_supp_matrix.
@{ @{
@ref nrf_aar @ref nrf_aar
@ -18,7 +22,7 @@
@ref nrf_egu @ref nrf_egu
@ref nrf_ficr @ref nrf_icr
@ref nrf_gpio @ref nrf_gpio

View file

@ -1,5 +1,9 @@
/** /**
@page nrf52840_drivers nRF52840 Drivers @page nrf52840_drivers nRF52840 drivers
This page lists nrfx driver components supported by the nRF52840 SoC.
For a complete overview, see @ref nrfx_drv_supp_matrix.
@{ @{
@ref nrf_aar @ref nrf_aar
@ -18,7 +22,7 @@
@ref nrf_egu @ref nrf_egu
@ref nrf_ficr @ref nrf_icr
@ref nrf_gpio @ref nrf_gpio

View file

@ -1,5 +1,9 @@
/** /**
@page nrf5340_drivers nRF5340 drivers @page nrf5340_drivers nRF5340 drivers
This page lists nrfx driver components supported by the nRF5340 SoC.
For a complete overview, see @ref nrfx_drv_supp_matrix.
@{ @{
@ref nrf_aar @ref nrf_aar
@ -16,13 +20,15 @@
@ref nrf_systick @ref nrf_systick
@ref nrf_dcnf
@ref nrf_dppi @ref nrf_dppi
@ref nrf_ecb @ref nrf_ecb
@ref nrf_egu @ref nrf_egu
@ref nrf_ficr @ref nrf_icr
@ref nrf_fpu @ref nrf_fpu
@ -54,8 +60,6 @@
@ref nrf_radio @ref nrf_radio
@ref nrf_reset
@ref nrf_rng @ref nrf_rng
@ref nrf_rtc @ref nrf_rtc
@ -78,6 +82,8 @@
@ref nrf_uarte @ref nrf_uarte
@ref nrf_usbd
@ref nrf_vmc @ref nrf_vmc
@ref nrf_wdt @ref nrf_wdt

View file

@ -1,5 +1,9 @@
/** /**
@page nrf9160_drivers nRF9160 drivers @page nrf91_series_drivers nRF91 Series drivers
This page lists nrfx driver components supported by the nRF91 Series SoCs.
For a complete overview, see @ref nrfx_drv_supp_matrix.
@{ @{
@ref nrf_clock @ref nrf_clock
@ -10,7 +14,7 @@
@ref nrf_egu @ref nrf_egu
@ref nrf_ficr @ref nrf_icr
@ref nrf_gpio @ref nrf_gpio

File diff suppressed because it is too large Load diff

View file

@ -9,6 +9,8 @@
@defgroup nrf_adc ADC @defgroup nrf_adc ADC
@defgroup nrf_bellboard BELLBOARD
@defgroup nrf_bprot BPROT @defgroup nrf_bprot BPROT
@defgroup nrf_cache CACHE @defgroup nrf_cache CACHE
@ -21,32 +23,54 @@
@defgroup nrf_systick Cortex-M Systick @defgroup nrf_systick Cortex-M Systick
@defgroup nrf_cracen CRACEN
@defgroup nrf_ctrlap CTRL-AP
@defgroup nrf_dcnf DCNF
@defgroup nrf_dppi DPPI @defgroup nrf_dppi DPPI
@defgroup nrf_ecb ECB @defgroup nrf_ecb ECB
@defgroup nrf_egu EGU @defgroup nrf_egu EGU
@defgroup nrf_ficr FICR @defgroup nrf_exmif EXMIF
@defgroup nrf_fpu FPU @defgroup nrf_fpu FPU
@defgroup nrf_glitchdet GLITCHDET
@defgroup nrf_gpio GPIO @defgroup nrf_gpio GPIO
@defgroup nrf_gpiote GPIOTE @defgroup nrf_gpiote GPIOTE
@defgroup nrf_grtc GRTC
@defgroup nrf_i2s I2S @defgroup nrf_i2s I2S
@defgroup nrf_icr ICR
@defgroup nrf_ipc IPC @defgroup nrf_ipc IPC
@defgroup nrf_ipct IPCT
@defgroup nrf_kmu KMU @defgroup nrf_kmu KMU
@defgroup nrf_lpcomp LPCOMP @defgroup nrf_lpcomp LPCOMP
@defgroup nrf_lrc LRC
@defgroup nrf_memconf MEMCONF
@defgroup nrf_mpc MPC
@defgroup nrf_mpu MPU @defgroup nrf_mpu MPU
@defgroup nrf_mutex MUTEX @defgroup nrf_mutex MUTEX
@defgroup nrf_mvdma MVDMA
@defgroup nrf_mwu MWU @defgroup nrf_mwu MWU
@defgroup nrf_nfct NFCT @defgroup nrf_nfct NFCT
@ -59,16 +83,22 @@
@defgroup nrf_ppi PPI @defgroup nrf_ppi PPI
@defgroup nrf_ppib PPIB
@defgroup nrf_pwm PWM @defgroup nrf_pwm PWM
@defgroup nrf_ramc RAMC
@defgroup nrf_resetinfo RESETINFO
@defgroup nrf_rramc RRAMC
@defgroup nrf_qdec QDEC @defgroup nrf_qdec QDEC
@defgroup nrf_qspi QSPI @defgroup nrf_qspi QSPI
@defgroup nrf_radio RADIO @defgroup nrf_radio RADIO
@defgroup nrf_reset RESET
@defgroup nrf_rng RNG @defgroup nrf_rng RNG
@defgroup nrf_rtc RTC @defgroup nrf_rtc RTC
@ -83,6 +113,12 @@
@defgroup nrf_spu SPU @defgroup nrf_spu SPU
@defgroup nrf_stm STM
@defgroup nrf_tampc TAMPC
@defgroup nrf_tbm TBM
@defgroup nrf_temp TEMP @defgroup nrf_temp TEMP
@defgroup nrf_timer TIMER @defgroup nrf_timer TIMER
@ -99,9 +135,14 @@
@defgroup nrf_usbd USBD @defgroup nrf_usbd USBD
@defgroup nrf_usbhs USBHS
@defgroup nrf_vmc VMC @defgroup nrf_vmc VMC
@defgroup nrf_vpr VPR
@defgroup nrf_wdt WDT @defgroup nrf_wdt WDT
@} @}
@defgroup nrfx nrfx API @defgroup nrfx nrfx API

View file

@ -0,0 +1,7 @@
API Reference
=============
.. toctree::
drivers/index
nrfx_api/index

1
doc/sphinx/changelog.rst Normal file
View file

@ -0,0 +1 @@
.. mdinclude:: ../../CHANGELOG.md

51
doc/sphinx/conf.py Normal file
View file

@ -0,0 +1,51 @@
#!/usr/bin/env python3
from pathlib import Path
import re
CONF_DIR = Path(__file__).absolute().parent
"""conf.py directory."""
with open(CONF_DIR / ".." / "nrfx.doxyfile") as f:
VERSION = re.search(r'PROJECT_NUMBER\s+=\s+"(.*)"', f.read()).group(1)
# General configuration --------------------------------------------------------
project = "nrfx"
copyright = "2021, Nordic Semiconductor ASA"
author = "Nordic Semiconductor"
version = VERSION
extensions = ["breathe", "m2r2"]
source_suffix = {
".rst": "restructuredtext",
".md": "markdown"
}
master_doc = "index"
exclude_patterns = ["theme"]
# Options for HTML output ------------------------------------------------------
html_theme = "sphinx_ncs_theme"
html_last_updated_fmt = "%b %d, %Y"
html_show_sphinx = False
html_theme_options = {"standalone": True}
# Options for Breathe ----------------------------------------------------------
breathe_projects = {"nrfx": str(CONF_DIR / ".." / "xml")}
breathe_default_project = "nrfx"
breathe_domain_by_extension = {"h": "c", "c": "c"}
breathe_separate_member_pages = True
c_id_attributes = [
"NRF_STATIC_INLINE",
"NRFY_STATIC_INLINE",
"NRFX_STATIC_INLINE",
"__STATIC_INLINE",
]
cpp_id_attributes = c_id_attributes
def setup(app):
app.add_css_file("css/nrfx.css")

View file

@ -0,0 +1,6 @@
AAR HAL
=======
.. doxygengroup:: nrf_aar_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
AAR
===
.. doxygengroup:: nrf_aar
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
ACL HAL
=======
.. doxygengroup:: nrf_acl_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
ACL
===
.. doxygengroup:: nrf_acl
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
ADC driver
==========
.. doxygengroup:: nrfx_adc
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
ADC HAL
=======
.. doxygengroup:: nrf_adc_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
ADC
===
.. doxygengroup:: nrf_adc
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
BELLBOARD driver
================
.. doxygengroup:: nrfx_bellboard
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
BELLBOARD HAL
=============
.. doxygengroup:: nrf_bellboard_hal
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
BELLBOARD HALY
==============
.. doxygengroup:: nrfy_bellboard
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
BELLBOARD
=========
.. doxygengroup:: nrf_bellboard
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
BPROT HAL
=========
.. doxygengroup:: nrf_bprot_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
BPROT
=====
.. doxygengroup:: nrf_bprot
.. toctree::
:glob:
*

6
doc/sphinx/drivers/cache/hal.rst vendored Normal file
View file

@ -0,0 +1,6 @@
CACHE HAL
=========
.. doxygengroup:: nrf_cache_hal
:project: nrfx
:members:

9
doc/sphinx/drivers/cache/index.rst vendored Normal file
View file

@ -0,0 +1,9 @@
CACHE
=====
.. doxygengroup:: nrf_cache
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
CCM HAL
=======
.. doxygengroup:: nrf_ccm_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
CCM
===
.. doxygengroup:: nrf_ccm
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
CLOCK driver
============
.. doxygengroup:: nrfx_clock
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
CLOCK HAL
=========
.. doxygengroup:: nrf_clock_hal
:project: nrfx
:members:

View file

@ -0,0 +1,11 @@
CLOCK
=====
.. doxygengroup:: nrf_clock
.. toctree::
:glob:
*
../hsfll/hal.rst
../oscillators/hal.rst

View file

@ -0,0 +1,6 @@
COMP driver
===========
.. doxygengroup:: nrfx_comp
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
COMP HAL
========
.. doxygengroup:: nrf_comp_hal
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
COMP HALY
=========
.. doxygengroup:: nrfy_comp
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
COMP
====
.. doxygengroup:: nrf_comp
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
CRACEN HAL
==========
.. doxygengroup:: nrf_cracen_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
CRACEN
======
.. doxygengroup:: nrf_cracen
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
CTRL-AP HAL
===========
.. doxygengroup:: nrf_ctrlap_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
CTRL-AP
=======
.. doxygengroup:: nrf_ctrlap
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
DCNF HAL
========
.. doxygengroup:: nrf_dcnf_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
DCNF
====
.. doxygengroup:: nrf_dcnf
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
DPPI driver
===========
.. doxygengroup:: nrfx_dppi
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
DPPI HAL
========
.. doxygengroup:: nrf_dppi_hal
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
DPPI HALY
=========
.. doxygengroup:: nrfy_dppi
:project: nrfx
:members:

View file

@ -0,0 +1,10 @@
DPPI
====
.. doxygengroup:: nrf_dppi
.. toctree::
:glob:
../../nrfx_api/gppi.rst
*

View file

@ -0,0 +1,6 @@
ECB HAL
=======
.. doxygengroup:: nrf_ecb_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
ECB
===
.. doxygengroup:: nrf_ecb
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
EGU driver
==========
.. doxygengroup:: nrfx_egu
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
EGU HAL
=======
.. doxygengroup:: nrf_egu_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
EGU
===
.. doxygengroup:: nrf_egu
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
EXMIF HAL
=========
.. doxygengroup:: nrf_exmif_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
EXMIF
=====
.. doxygengroup:: nrf_exmif
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
FICR HAL
========
.. doxygengroup:: nrf_ficr_hal
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
FPU HAL
=======
.. doxygengroup:: nrf_fpu_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
FPU
===
.. doxygengroup:: nrf_fpu
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
GLITCHDET HAL
=============
.. doxygengroup:: nrf_glitchdet_hal
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
GPIO HAL
========
.. doxygengroup:: nrf_gpio_hal
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
GPIO HALY
=========
.. doxygengroup:: nrfy_gpio
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
GPIO
====
.. doxygengroup:: nrf_gpio
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
GPIOTE driver
=============
.. doxygengroup:: nrfx_gpiote
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
GPIOTE HAL
==========
.. doxygengroup:: nrf_gpiote_hal
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
GPIOTE HALY
===========
.. doxygengroup:: nrfy_gpiote
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
GPIOTE
======
.. doxygengroup:: nrf_gpiote
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
GRTC driver
===========
.. doxygengroup:: nrfx_grtc
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
GRTC HAL
========
.. doxygengroup:: nrf_grtc_hal
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
GRTC HALY
=========
.. doxygengroup:: nrfy_grtc
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
GRTC
====
.. doxygengroup:: nrf_grtc
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
HSFLL HAL
=========
.. doxygengroup:: nrf_hsfll_hal
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
I2S driver
==========
.. doxygengroup:: nrfx_i2s
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
I2S HAL
=======
.. doxygengroup:: nrf_i2s_hal
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
I2S HALY
========
.. doxygengroup:: nrfy_i2s
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
I2S
===
.. doxygengroup:: nrf_i2s
.. toctree::
:glob:
*

View file

@ -0,0 +1,10 @@
ICR
===
.. doxygengroup:: nrf_icr
.. toctree::
:glob:
../ficr/hal.rst
../uicr/hal.rst

View file

@ -0,0 +1,7 @@
Drivers
=======
.. toctree::
:glob:
**/index

View file

@ -0,0 +1,6 @@
IPC driver
==========
.. doxygengroup:: nrfx_ipc
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
IPC HAL
=======
.. doxygengroup:: nrf_ipc_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
IPC
===
.. doxygengroup:: nrf_ipc
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
IPCT HAL
========
.. doxygengroup:: nrf_ipct_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
IPCT
====
.. doxygengroup:: nrf_ipct
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
KMU HAL
=======
.. doxygengroup:: nrf_kmu_hal
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
KMU
===
.. doxygengroup:: nrf_kmu
.. toctree::
:glob:
*

View file

@ -0,0 +1,6 @@
LPCOMP driver
=============
.. doxygengroup:: nrfx_lpcomp
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
LPCOMP HAL
==========
.. doxygengroup:: nrf_lpcomp_hal
:project: nrfx
:members:

View file

@ -0,0 +1,6 @@
LPCOMP HALY
===========
.. doxygengroup:: nrfy_lpcomp
:project: nrfx
:members:

View file

@ -0,0 +1,9 @@
LPCOMP
======
.. doxygengroup:: nrf_lpcomp
.. toctree::
:glob:
*

Some files were not shown because too many files have changed in this diff Show more