Add UARTE23 and UARTE24 missing Kconfig options and their
translation to NRFX configuration macros.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Currently the config CLOCK_CONTROL_NRF2 is used as a GLOB
style config which includes all "NRF2" drivers and related
configs.
With NRF2, clocks are treated as individidual devices
with individual device drivers. This commit split the
CLOCK_CONTROL_NRF2 config into device specific configs
and ifdefs. With this, drivers are selected individually
based on devicetree state as is common for most devices
drivers, and dependencies like NRFS and specific NRFS
services are selected by the specific driver which nees it.
Checks for CLOCK_CONTROL_NRF2 are updated to check for
existance of the clocks instead.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The `owned-channels` property specifies which channels are assigned to
a given target. Additionally, the `source-channels` or `sink-channels`
property defines channels that can be used to forward an event outside
the DPPI domain, otherwise they can only be used within it.
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
Right now, the power_clock_irq is not available on nRF54LM20A.
Since the onoff mechanism relies on the irq, the timer is used
to emit the hfclk_ready callback.
Signed-off-by: Piotr Koziar <piotr.koziar@nordicsemi.no>
Create Kconfig configuration for nrfx_clock driver and use that to export
configuration to nrfx via nrfx_kconfig. So far nrfx_kconfig was using
Kconfig flags from clock_control which created a fixed connection between
nrfx_clock and clock_control and nrfx_clock could not be used without
clock_control in Zephyr.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Changes for this package version:
* CTRLSEL is now set appropriately for the SPIS121 pins.
* DPPI.LINK configuration is now skipped when processing
the 'dppic130' devicetree node.
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Fixes an issue where pinctrl psel properties encoded with
NRF_PSEL_DISCONNECTED() caused a build failure.
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Disable automatic LFCLK selection for GRTC during driver initialization.
For Zephyr applications it is selected by `sys_clock_driver_init()`
depending on configuration and DTS.
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
It is defined as spis120 rather than spi120,
because spi120 is already used for SPIM120 hardware instance,
but their base address is different.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
Added configuration for new audio PLL service.
Pull in new service implementation in new hal nordic.
Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
Added Kconfig options to allow use of TWIM frequency
workaround in NRFX for nRF52 and nRF53.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
MDK 8.70.0 introduced following changes in the device naming:
- renamed nRF54L20 Eng A to nRF54LM20A Eng A
- renamed nRF54L09 Eng A to nRF54LV10A Eng A
Actual SoC renaming will happen in followup PR.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
As of today, nrfx components are selectable depending if devicetree has
a certain compatible or not, and in case of IP that can operate in
multiple modes, nodelabel+compatible. An example of the later is:
```
config NRFX_SPI0
bool "SPI0 driver instance"
depends on $(dt_nodelabel_has_compat,spi0,$(DT_COMPAT_NORDIC_NRF_SPI))
select NRFX_SPI
config NRFX_SPIM0
bool "SPIM0 driver instance"
depends on $(dt_nodelabel_has_compat,spi0,$(DT_COMPAT_NORDIC_NRF_SPIM))
select NRFX_SPIM
config NRFX_SPIS0
bool "SPIS0 driver instance"
depends on $(dt_nodelabel_has_compat,spi0,$(DT_COMPAT_NORDIC_NRF_SPIS))
select NRFX_SPIS
```
These symbols are later selected by e.g. SPI driver if `spi0` node is
enabled. While this works in the Zephyr context, it can be a problem in
applications using nrfx directly in the application layer, unless they
tweak devicetree. For example, if devicetree `spi0` node defaults to
`compatible = "nordic,nrf-spim"`, NRFX_SPI0 or NRFX_SPIS0 won't be
selectable, but an application using nrfx directly doesn't really care
about what is defined in devicetree as it is effectively bypassing it.
It just wants to select e.g. `CONFIG_NRFX_SPI0=y` and forget about the
rest.
This patch fixes this problem by just checking for the existence of
certain nodelabels.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Added additional analog channels for ADC and COMP/LPCOMP and new pin
functionality mapping for TDM.
Signed-off-by: Karsten Koenig <karsten.koenig@nordicsemi.no>
To ensure that the accesses to the radio peripheral are done with
predictable timings, the constant latency must be enabled.
The constant latency mode is enabled alongside the HFXO.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
Added option to retry message send over ipc when for example
there is -ENOMEM error (shared memory buffer full).
Number of max retries and delay between them are Kconfigs.
Fixed nrfs error reporting when sending directly over
ipc service, status was not correct when negative value
was returned from ipc service send function.
Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
Deprecate NRFS_LOCAL_DOMAIN_DVFS_SCALE_DOWN_AFTER_INIT option for
scaling down CPU frequency during dvfs handler initialization.
Clock control API is managing access to DVFS and DVFS should not
be controlled bypassing this API. Deprecated feature will be added in
the clock control.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Due to internal dependencies on other modules init priority
the 802.15.4 priority level must be increased. Former init
priority caused the module to be initialied before those
it depends on, so that lead to hard faults.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
Recent versions fixed issues for EXMIF and TDM pins as well as support
for dynamic placement of the ETR buffer.
Signed-off-by: Karsten Koenig <karsten.koenig@nordicsemi.no>
User can assign callback functions to nrfs ipc backend
to be notified when connection is actually established.
Callbacks register needs to be done before nrfs is
initialized.
Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
Add clocks property to CPUs. nRF54Lx series is using hfpll as clock
source for CPU (and fast peripherals). CPU clock frequency can be
derived from frequency of the source clock so clock-frequency property
is removed from cpu as it is redundant.
nrfx/MDK expects that NRF_CONFIG_CPU_FREQ_MHZ define is set to correct
CPU frequency. Modified nrfx CMakeLists.txt to use clock frequency of
hfpll instead of CPU clock-frequency property.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Selects CLOCK_CONTROL config whenever nRF 802.15.4 Radio Driver
is enabled.
The driver requires HFCLK api available under the config switch.
Signed-off-by: Piotr Koziar <piotr.koziar@nordicsemi.no>
Add support for the new nrf hal CRACEN CTR DRBG driver including a new
kconfig option to enable it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
534916c2253 moved some defines from CMakeLists.txt to nrfx_kconfig.h
but those defines are used by MDK which does not include nrfx_kconfig.h
and that broke some nrf platforms (e.g. nrf54l20). Moving those
defines back to CMakeLists.txt.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Makes 802.15.4 use the API under CONFIG_CLOCK_CONTROL_NRF2
in nrf_clock_control.h to request/release HFCLK.
Previous HFCLK requesting/releasing on nRF54H20 was more
of a workaround and could produce issues when
comes to sharing the resources.
Signed-off-by: Piotr Koziar <piotr.koziar@nordicsemi.no>
* Move all KConfig configuration from CMake to `nrfx_kconfig.h`
* Move macro utils from `nrfx_kconfig.h` to `nrfx_zephyr_utils.h`
* Move GRTC channels allocation from `nrfx_kconfig.h` to
`nrfx_reserved_resources.h`
Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
There is no reason to duplicate `nrfx_config_*.h` files.
Use configuration files from `hal_nordic/nrfx/templates`.
Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
nrfx_config is setting NRFX_SPIM_EXTENDED_ENABLED based on presence of
a DT property. However, there are test cases when it is expected that
extended SPIM features will be disabled on a target that supports
extended features. Allow that by not setting the value if it is already
defined.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
We should use CONFIG_SOC_COMPATIBLE_NRF54L15 whenever possible.
With the current bsim model of 54L these files do not yet compile,
but that can be added separately.
Compilation warning:
```
/nrfx_interconnect_dppic_ppib.c:158:36:
warning: implicit declaration of function ‘nrf_address_bus_get’
[-Wimplicit-function-declaration]
158 | uint8_t bus_address_area =
nrf_address_bus_get(addr, p_dppic->apb_size);
| ^~~~~~~~~~~~~~~~~~~
```
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
The non-raw API has been removed from the nRF 802.15.4 Radio Driver.
There is no need to set NRF_802154_USE_RAW_API macro anymore in
CMakeLists.txt that integrates the driver.
Signed-off-by: Andrzej Kuroś <andrzej.kuros@nordicsemi.no>
Update SystemCoreClock to match current core frequency. This MDK
variable is used by nrfx_coredep_delay_us which performs busy
waiting and is used by k_busy_wait.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
It is not needed to use always the system work queue to send a
message over IPC. In thread context IPC service can be called
directly. It speeds up the communication and allows to use nrfs
from the system work queue. Legacy approach could easily lead
to the deadlock if user would call nrfs from work queue and
pend on semaphore until response is received.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
This is follow up to commit:
modules: hal_nordic: dvfs: added callback when scaling done
Used get and set timer user data functions.
Added missing help text in KConfig.
Signed-off-by: Lukasz Stepnicki <lukasz.stepnicki@nordicsemi.no>
MDK 8.68.1 uses nRF54L15_XXAA symbol for determining whether
given errata is applicable or not for nRF54L Series SoCs.
This causes all erratas to be disabled for nRF54L05 and nRF54L10.
To mitigate this DEVELOP_IN_NRF54L15 symbol needs to be defined,
and removed once new MDK is integrated.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
Added dppic0 node label, alongside the dppic to maintain backward
compatibility. The use of dppic0 is preferred.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
Changed the CMakeLists to enable the nrfx_gppi utilities based solely on
the CONFIG_NRFX_GPPI Kconfig. This unifies the configuration on all nRF
SoC families.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>