Commit graph

105,063 commits

Author SHA1 Message Date
Mustafa Abdullah Kus
c9e908d7f3 drivers: rtc: rtc_ll_stm32: add rtc calibration out support
implementation rtc calibration output
frequency set routine.

Signed-off-by: Mustafa Abdullah Kus <mustafa.kus@sparsetechnology.com>
2024-02-27 14:47:31 +01:00
Emil Gydesen
689e3216fc Bluetooth: BAP: Add bt_bap_base_subgroup_get_bis_indexes
Add bt_bap_base_subgroup_get_bis_indexes that gets the BIS indexes
of a subgroup. This work very similar to
bt_bap_base_get_bis_indexes, except that it works for subgroups
rather than BASEs.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-27 14:46:33 +01:00
Fin Maaß
1f2a3c46df net: dhcpv4: initialization of option_callbacks list
Initialize sys_slist_t option_callbacks statically.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-02-27 14:45:40 +01:00
Fin Maaß
866c804cb8 net: dhcpv4: option callback check value explicitly
Check the value of net_dhcpv4_add_option_callback()
and net_dhcpv4_remove_option_callback() explicitly.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-02-27 14:45:40 +01:00
Anders Storrø
12d138b035 Bluetooth: Mesh: Shell: Fix doc for metadata encode
Fixes misleading docstring for input of core type for the
mesh models dfu metadata encode command.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2024-02-27 14:45:03 +01:00
Yuval Peress
375aa90c09 it82xx2: Add missing ISRs for gpioj
Without this we can't take advandage of pins 6 & 7.

Fixes #69503

Signed-off-by: Yuval Peress <peress@google.com>
2024-02-27 14:44:41 +01:00
Herman Berget
9135de7a66 Bluetooth: hci: Add hw variant definitions for nrf54H/L
Assign new numbers for new soc series and update string
conversion function.

Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
2024-02-27 14:43:07 +01:00
Gerard Marull-Paretas
75839ea4ad snippets: add snippet to boot Nordic PPR core from RAM
Add a new snippet that allows booting PPR core found in some Nordic
SoCs, configuring it with CONFIG_XIP=n.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 13:32:40 +01:00
Gerard Marull-Paretas
d1e59cf39f boards: nrf54h20pdk_nrf54h20: use XIP for PPR
The amount of RAM owned by PPR core is quite limited, making it
difficult to fit many samples. Instead, use execution in place and
increase its code partition from 28K to 64K (as now it doesn't have to
match RAM size).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 13:32:40 +01:00
Gerard Marull-Paretas
43f97710af soc: riscv: nordic_nrf: vpr: select HAS_FLASH_LOAD_OFFSET if XIP
This option is required to enable usage of DT partitions, used when
CONFIG_XIP=y.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 13:32:40 +01:00
Gerard Marull-Paretas
349c06ebc5 soc: nordic_nrf: add missing GRTC Kconfig option
Add missing option to select GRTC.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
1453008f6f soc: nordic_nrf: add support for WDT131-132
Add new Kconfig options to select WDT131-132.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
c57ec6f07a modules: hal_nordic: add support for WDT131-132
Add HAL glue code to support WDT131-132.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
30c77786e5 dts: nordic: nrf54h20_enga: add WDT nodes
Add nodes for WDT (Watchdog Timer).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
4db40601dd dts: nordic: nrf54h20_enga: add ECB node
Add node for ECB (AES electronic codebook mode encryption).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
d33e5fc7af dts: nordic: nrf54h20_enga: add RADIO node
Add node for the RADIO.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
0cb51de315 soc: nordic_nrf: add support for EGU020
Add support for EGU020.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
01b43074ab modules: hal_nordic: add support for EGU020
Add HAL glue code to support EGU020.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
bc53031824 dts: nordic: nrf54h20_enga: add EGU node
Add node for EGU (Event Generator Unit).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
9c6f47d786 dts: nordic: nrf54h20_enga: add COMP node
Add node for COMP (comparator).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
f1a352d00f dts: nordic: nrf54h20_enga: add TEMP node
Add nodes for the TEMP (temperature sensor) peripheral.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
735ee4c83a dts: nordic: nrf54h20_enga: add NFCT node
Add node for the NFCT (Near Field Connect Tag) peripheral.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
720719cf80 dts: nordic: nrf54h20_enga: add QDEC nodes
Add nodes for QDEC (Quadrature Decoder).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
010519c8e3 dts: nordic: nrf54h20_enga: add TWIM nodes
Add nodes for I2C/TWIM.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
e5ef767ab2 dts: nordic: nrf54h20_enga: add SPIM nodes
Add SPIM (SPI with EasyDMA) nodes.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
f77b30fa17 soc: nordic_nrf: add support for RTC130-131
Add new Kconfig options for RTC130-131 so that the new instances can be
used.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
3dd2b0d8b3 modules: hal_nordic: add support for RTC130-131
Add new HAL glue Kconfig options for RTC130-131.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
35fecb731a dts: nordic: nrf54h20_enga: add RTC nodes
Add RTC (Real Time Counter) node.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
07d961c112 soc: nordic_nrf: add support for TIMER020-022|120-121|130-137
Add new Kconfig options so that new TIMER instances can be used.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
7dd9853382 modules: hal_nordic: add support for TIMER020-022|120-121|130-137
Add new HAL glue Kconfig options so that new TIMER instances can be
used.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
083bf7e549 dts: nordic: nrf54h20_enga: add TIMER nodes
Add nodes for TIMER peripherals (Timer/Counter).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
5adbac51ab dts: nordic: nrf54h20_enga: add missing UARTE nodes
Add missing UARTE nodes.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Gerard Marull-Paretas
04025d87db dts: nordic: nrf54h20_enga: current-speed needs to be set by boards
This is a setting that depends on the board or application, so it should
not be part of SoC definition files.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-27 12:36:54 +01:00
Christopher Friedt
c5ba34ec90 tests: posix: common: add a testsuite for pthread_mutexattr_t
Add a testsuite for testing pthread_mutexattr_t related
functions.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-27 06:11:03 -05:00
Christopher Friedt
ec27e8875d posix: mutexattr: improvements for pthread_mutexattr_t
Previously, pthread_mutexattr_gettype() and
pthread_mutexattr_settype() were non-conformant and also
less safe, as they would not check whether a pthread_mutexattr_t
had been initialized prior to manipulating them. Furthermore,
they would potentially dereference NULL pointers.

Additionally, move the pthread_mutexattr_init() and
pthread_mutexattr_destroy() functions to the library, and add
some level of checking to them so that they are more than simply
static inline / no-op calls.

Lastly, reduce the size of struct pthread_mutexattr to only
what is necessary (one byte should suffice).

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-27 06:11:03 -05:00
Christopher Friedt
986e8f0ac4 tests: posix: mutex: init and destroy mutexattr properly
Previously, the mutex attribute was not initialized prior to its
first use or subsequently destroyed.

Ensure that it is initialized by calling
pthread_mutexattr_init() and destroyed by calling
pthread_mutexattr_destroy().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-27 06:11:03 -05:00
Grzegorz Ferenc
7645890af6 doc: ram_report: hidden and no paths
Added information about Hidden and No paths.
Made minor style edits to the page.

Signed-off-by: Grzegorz Ferenc <Grzegorz.Ferenc@nordicsemi.no>
2024-02-27 11:38:30 +01:00
Gerard Marull-Paretas
f0b975032a drivers: misc: nordic_vpr_launcher: fix address handling
When CONFIG_XIP=y, execution address may come from a partition, so its
absolute address is needed. Fix code by using VPR_ADDR() macro in all
cases: execution and source addresses.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-26 21:39:30 +01:00
Matthias Alleman
4a72cb16cf net: mgmt: Fix for wrong IPV6 DHCP event code
Fix wrong net event base for ipv6 dhcp events

Signed-off-by: Matthias Alleman <matthias.alleman@basalte.be>
2024-02-26 15:13:15 +01:00
Tomi Fontanilles
a738bfa7f4 net: l2: ppp: ipv6cp: add assert to check the link address length
This ensures that the configured link address is
at least as big as the part of it that is used.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-02-26 14:43:07 +01:00
Pavel Vasilyev
d1da07144e tests: bsim: bluetooth: mesh: Add short delay before suspending stack
The stack manages to suspend the advertiser before it finishes
transmitting the Outbound PDU Report message to confirm the transmission
of a Provisioning PDU. The test requires the server to become
unresponsive when the Provisioning PDU is sent to the unprovisioned
device to test timeout of the provisioning protocol.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-26 14:34:58 +01:00
Pavel Vasilyev
febff796bb Revert "bsim: Bluetooth: Mesh: fix provision timeout"
This reverts commit c1bbd48659.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-26 14:34:58 +01:00
Pavel Vasilyev
d6ce3e88b6 tests: bsim: bluetooth: mesh: Suspend advertiser from the start callback
Now, when the deadlock is removed from `bt_mesh_adv_disable` function,
the advertiser can be disabled from the `bt_mesh_send_cb`
callbacks.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-26 14:34:58 +01:00
Pavel Vasilyev
4c9ee14572 Bluetooth: Mesh: Allow to suspend mesh from bt_mesh_send_cb callbacks
This commit allows to suspend the mesh stack from `bt_mesh_send_cb`
callbacks by removing the deadlock caused by `k_work_flush` in the
extended advertiser.

In case of the extended advertiser there are 2 cases:
- when the `bt_mesh_adv_disable` is called from any of `bt_mesh_send_cb`
  callbacks which are called from the advertiser work item, or
- when it is called from any other context.

When it is called from `bt_mesh_send_cb` callbacks, since these
callbacks are called from the delayable work which is running on the
system workqueue, the advertiser can check the current context and its
work state. If the function is called from the advertiser work, it can
disable the advertising set straight away because all ble host APIs have
already been called in `adv_start` function. Before sending anything
else, the advertiser checks the `instance` value in `adv_start`
function, which is also reset to NULL in `bt_mesh_adv_disable` call, and
aborts all next advertisements. The `ADV_FLAG_SUSPENDING` tells the
advertiser work to abort processing while `bt_mesh_adv_disable` function
didn't finish stopping advertising set. This can happen if the work has
been already scheduled and the schedler ran it while sleeping inside
the `bt_le_ext_adv_stop` or `bt_le_ext_adv_disable` functions.

When `bt_mesh_adv_disable` is called from any other context or from the
system workqueue but not from the advertiser work, then `k_work_flush`
can be called safely as it won't cause any deadlocks.

The `adv_sent` function is inside the `bt_mesh_adv_disable` function to
schedule the advertiser work (`send_pending_adv`) and abort all pending
advertisements that have been already added to the pool.

In case of the legacy advertiser, if the `bt_mesh_adv_disable` is called
form the advertiser thread (this happens when it is called from
`bt_mesh_send_cb.start` or `bt_mesh_send_cb.end` callbacks), then
`k_thread_join` returns `-EDEADLK`. But the `enabled` flag is set to
false and the thread will abort the current advertisement and the
pending advertisements.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-26 14:34:58 +01:00
Rubin Gerritsen
360d49a348 samples: bluetooth: iso: Extend sample documentation
Extend the sample documentation for the central and peripheral
iso samples so that they become easier to get started with.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2024-02-26 14:34:07 +01:00
Rubin Gerritsen
ffabb09c1a samples: bluetooth: central_iso: Remove the CONFIG_BT_SMP=y
Some SoCs in the nRF52 series do not support encrypting and decrypting
isochronous channels packets.

To make it easier to get started with the central_iso sample,
we want to turn of SMP by default. Without this config,
the sample still serves its purpose.
Encrypting the isochronous channel is as simple as
enabling BT_SMP.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2024-02-26 14:34:07 +01:00
Rubin Gerritsen
f086afd47c samples: Bluetooth: Only connect to devices with rssi below -50
When the Bluetooth central samples in an open air environment
it is very likely that there are multiple devices nearby with
a received signal strength stronger than -70 dBm.

To avoid connecting to the wrong device, make the check stricter.

For tests using those samples, the NtNcable attenuation is changed
from the default 60 dBm to 40 dBm to satisfy the new requirement.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2024-02-26 14:34:07 +01:00
Abderrahmane Jarmouni
4affeaab20 drivers: serial: uart_stm32: fix for async_rx_buf_rsp
uart_stm32_async_rx_buf_rsp() does not return the necessary errors when
rx_next_buffer is already set & when async uart rx is disabled.
This patch was submitted by @mkaranki

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2024-02-26 14:30:27 +01:00
Christopher Friedt
1a3bb3fd5c posix: mqmeue: do not return NULL after pthread_exit()
pthread_exit() does not return and therefore it does not make
sense to return NULL after it in mq_notify_thread(), and that
would constitute dead code.

Rather than explicitly exiting the thread, simply return
gracefully from the thread function, and allow the pthread to
terminate in the usual way.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-26 08:12:29 -05:00
Benjamin Cabé
9d1df132b1 script: gen_isr_tables: remove unnecessary warning log
Remove a message that had a typo in it but, more importantly that was
not needed.
The CONFIG_ISR_TABLES_LOCAL_DECLARATION already selects EXPERIMENTAL so
a user is properly alerted about the consequences just like any other
EXPERIMENTAL features if they enable WARN_EXPERIMENTAL.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-02-26 11:55:59 +00:00