Commit graph

107105 commits

Author SHA1 Message Date
Matt Rodgers
bd83c19cc7 samples: http_server: update cipher suites and certificates
Existing cipher suites and certificates used by HTTP server sample are
included in RFC9113 Appendix A: Prohibited TLS 1.2 Cipher Suites. The
RFC specifies that when using HTTP/2, these cipher suites may be treated
as an error of type INADEQUATE_SECURITY, and in practice it seems that
Chrome and Firefox do implement this.

The certificates have been updated to use ECDSA-P265 signatures, and
supported cipher suites updated to include ECDH key exchange and AES GCM
and CCM modes.

Some scripts are included to allow users to generate their own
certificates if desired.

Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
2024-12-10 10:43:38 -05:00
Matt Rodgers
45c6553567 samples: http_server: consolidate certificate options
Remove the CONFIG_NET_SAMPLE_CERTS_WITH_SC option and make the CA-signed
certificate the only option - there is no real downside to this over
using the unsigned certificate.

Remove adding of CA certificate as a TLS credential on the server, since
this credential is not used by the server. It may be useful to include
in any client code used to communicate with the server, so the
certificate itself is retained.

After this, some TLS tag enumerations are unused so have been removed.

Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
2024-12-10 10:43:38 -05:00
Benjamin Cabé
2d60d248e8 tests: benchmarks: increase timeout for sched_queues tests
Some tests can take close to 60 seconds to complete on m2gl025_miv
platform (it runs at 4 MHz) so increase the timeout to 120 seconds
to be on the safe side.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-12-10 15:29:11 +00:00
Steve Boylan
95969f5a3d manifest: Update hal_infineon to latest version
Adds custom HAL support for SPI

Signed-off-by: Steve Boylan <stephen.boylan@beechwoods.com>
2024-12-10 16:23:36 +01:00
Steve Boylan
4c22fc9ada boards: rpi_pico: WiFi configuration for Pico W
Configure the Raspberry Pi Pico W for WiFi.
Move Pico W configuration details to devicetree
Add pinctrl configurations for data/interrupt sharing
Make memory config selectable
Align devicetree with Linux ordering

Signed-off-by: Steve Boylan <stephen.boylan@beechwoods.com>
2024-12-10 16:23:36 +01:00
Steve Boylan
37e39dee58 drivers: wifi: infineon: Add SPI support to AIROC driver
Added support for SPI in 4-wire and 3-wire configurations to
the Infineon AIROC WiFi driver (drivers/wifi/infineon).

Review changes:
Move DT_DRV_COMPAT to common header file
Correct board-specific preprocessor lines
Removed AIROC_MAP_COUNTRY_CODE
Move Pico W configuration details to devicetree
Use pinctrl to manage shared data/interrupt GPIO
Clean up bus selection in Kconfig.airoc
Make SDIO and SPI bus struct independent
Replace LOG_DBG with LOG_ERR
Remove functionally duplicate operation
Remove spurious Kconfig option
Minor cleanup in CMakeLists.txt

Signed-off-by: Steve Boylan <stephen.boylan@beechwoods.com>
2024-12-10 16:23:36 +01:00
Steve Boylan
46c9d160eb dts: bindings: wifi: Support SPI for Infineon AIROC driver
Additional bindings to configure SPI support.

Added new DTS option for data/IRQ sharing
Clarify default in driver DTS binding

Signed-off-by: Steve Boylan <stephen.boylan@beechwoods.com>
2024-12-10 16:23:36 +01:00
Emil Gydesen
778a9afae3 tests: Bluetooth: Audio: Remove uses of K_FOREVER in syswg for TX
Several tests were using K_FOREVER when allocating the
buffer for TX in the system workqueue, which is illegal behavior.

The solution chosen was to create a TX thread to handle TX,
similar to the solution used in the audio shell and some
sample applications.

This way we can continue to use K_FOREVER when allocting buffers
and it will always be done in a round-robin fashion while
TXing as much as possible, by always enqueuing all the buffers
with mock data.

Since this works for all streams (both broadcast and unicast),
it was obvious to use the same implementation for all tests,
and thus cleaning up the tests a bit and more them more similar.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-12-10 16:23:10 +01:00
Neil Chen
f6490bf33d samples: sensor/mcux_lpcmp: Add LPCMP use case
Enable LPCMP use case on NXP frdm_mcxa156 board.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-12-10 16:22:55 +01:00
Neil Chen
9535794017 boards: nxp: frdm_mcxa156: Support lpcmp for NXP frdm_mcxa156 board
Support lpcmp for NXP frdm_mcxa156 board.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-12-10 16:22:55 +01:00
Neil Chen
8ed26c6b39 dts: arm/nxp: Add lpcmp nodes to NXP MCXA156 dtsi file
Add lpcmp nodes to NXP MCXA156 dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-12-10 16:22:55 +01:00
Kyra Lengfeld
519f888942 Bluetooth: Mesh: Fix gatt advertiser start in bt_mesh_resume
To signal to the mesh extended advertiser that a proxy advertisement is
started, `bt_mesh_adv_gatt_send()` is called in combination with
setting the `ADV_FLAG_PROXY` flag in adv_ext.c. This ensures that it
won't try to start the advertiser again, which would result in the
controller rejecting it.

Setting this flag outside adv_ext.c is not viable, and as such calling
`bt_mesh_adv_gatt_send()` should also be limited to the advertising
source code.

As it stand now, once we utilize the new commit priority for `h_commit`
calls such a recall of `bt_mesh_adv_gatt_send()` with following
rejection by the controller will happen.

Within the `bt_mesh_resume()` function we can confidently assume the
extended advertiser has already been started. As such we can call
`bt_mesh_adv_gatt_update()` instead of `bt_mesh_adv_gatt_send()`.

This change has been tested with both running relevant bsim tests after
rearranging in which order the settings of the subsystems are loaded via
`h_commit`, as well as a modified light switch sample, adding
`bt_mesh_resume/suspend` calls on buttons.

Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
2024-12-10 16:22:45 +01:00
Emil Gydesen
6a03778309 tests: Bluetooth: CAP: Only advertise for tests that use connections
Move test_start_adv out from init and only call it for the
tests that require a connection.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-12-10 16:22:34 +01:00
Ioannis Damigos
29430e68c6 samples: susbsys: tracing: Fix harness configuration
Fix harness configuration for sample.tracing.gpio

Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
2024-12-10 16:22:27 +01:00
Krzysztof Chruściński
74d2735dc0 logging: frontend_stmesp: Fix compilation
Casting an argument was missing parenthesis so if argument was an
expression then casting was applied only to the first element and
that could lead to compilation warnings.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-12-10 16:21:25 +01:00
Axel Le Bourhis
5dfd41e51a nxp: combine MONOLITHIC_BT and MONOLITHIC_IEEE802154
Combine BLE and 802.15.4 monolithic build under a single config to make
it less error prone.
The choice between a BLE/802.15.4 combo firmware and a BLE only firmware
is done depending on the Soc (like RW610 vs RW612).

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2024-12-10 11:11:38 +01:00
Mario Paja
03b936f279 tests: drivers: build_all: ethernet: add lan9250 build test
Add build test for microchip lan9250

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2024-12-10 11:10:34 +01:00
Mario Paja
7abe775129 drivers: ethernet: add support for microchip lan9250
This PR adds support for LAN9250 spi ethernet controller.
This driver is tested on the Mikroe ETH Click 3
https://www.mikroe.com/eth-3-click

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2024-12-10 11:10:34 +01:00
Krzysztof Chruściński
ce6f5294fc drivers: misc: coresight: nrf_etr: Add support for turbo logs
Add support for optimized short log messages (aka turbo logs). They are
supported on cpuapp and co-processors owned by cpuapp (FLPR and PPR).
In general, it can be supported if cpuapp has access to logging strings
used for the log message. Currently mode is supported only in standalone
logging. When it is extended for dictionary logging then it will also
be supported on other cores (e.g. cpurad).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-12-10 11:09:55 +01:00
Krzysztof Chruściński
9d478d7675 logging: frontends: stmesp_demux: Add support for turbo logs
Add support for handling optimized short log messages (aka turbo logs).
There are 2 types of turbo log messages:
- No arguments. D16MTS is used for that on channel > 32768
- One numeric argument. DM16 followed by D32MTS is used.

Additionally, in order to be able to get source name for log messages
coming from owned by cpuapp co-processors (PPR and FLPR) there must
be a way of passing location of constant source data from PPR/FLPR to
cpuapp which handles ETR data. This method is added in the commit as
well. PPR/FLPR sends D32M during the boot with address of constant
source data section. Demultiplexer stores those addresses and it is
able to retrieve source name for log messages from PPR/FLPR.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-12-10 11:09:55 +01:00
Krzysztof Chruściński
752f8b0176 logging: frontends: stmesp: Add optimized short logs
Add 'turbo' logging feature. When enabled, short logs (no argument
or one numeric, 32 bit argument) are handled in a special way that
is much faster than the default one (5-10x faster). Additionally,
there is an option to remove all other logs from the system which
allows to not include almost any logging framework code in the
binary (~170 bytes of code is needed). It may be especially
valueable for memory constraint targets (ppr, flpr) where with
only 170 byte of code (+code for each log message) we can provide
limited formatted string logging support.

'Turbo' logging is using following to achieve that:
- logging strings are put into a memory section and additional
memory section is created which holds addresses of those strings.
Index in that array is used to identify a string (32 bit address
is encoded into a smaller number, 15 bits is more than enough).
This index is used for a STMESP register set (there are 2^16
available). So STMESP channel encodes string.
- Logging level is stringified and prepended to a string
- Source ID is encoded by using DM16 (so far not used).
- Log without arguments is written as DMTS16
- Log with one argumetn is written as DM16+DMTS32

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-12-10 11:09:55 +01:00
Krzysztof Chruściński
3f4739834f logging: Set frontend filters only when filtering enabled
Set initial filtering settings in the log core init only if
runtime filtering is enabled. It saves few bytes when runtime
filtering is off.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-12-10 11:09:55 +01:00
Pavel Vasilyev
0d0669167b tests: bluetooth: buf: Test the freed buf callback
This commit adds a unit test that checks the freed buffer callback of
the bluetooth data buffer API.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-12-10 11:09:36 +01:00
Pavel Vasilyev
c2488fdd30 bluetooth: buf: Add a callback for freed buffer in rx pool
The Bluetooth data buffer API currently lacks a mechanism to notify when
a buffer is freed in the RX pool. This limitation forces HCI drivers to
adopt inefficient workarounds to manage buffer allocation.

HCI drivers face two suboptimal options:

- Blocking calls: Use bt_buf_get_rx with K_FOREVER, which blocks the
  execution context until a buffer becomes available.
- Polling: Repeatedly call bt_buf_get_rx with K_NO_WAIT, which increases
  CPU load and reduces efficiency.

This commit introduces a callback mechanism that is triggered each time
a buffer is freed in the RX pool. With this feature, HCI drivers can:

- Call bt_buf_get_rx with K_NO_WAIT.
- Wait for the callback notification if a NULL buffer is returned,
  avoiding unnecessary polling.

The new callback improves efficiency by enabling event-driven behavior
for buffer management, reducing CPU overhead while maintaining
responsiveness.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-12-10 11:09:36 +01:00
Pavel Vasilyev
bd9a1cea84 bluetooth: buf: Convert bt_buf_type enum to bitmask
This allows to combine several types in a single value.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-12-10 11:09:36 +01:00
Jukka Rissanen
027760b6d4 net: if: Replace asserts by proper runtime checks
The asserts were not proper here, replace those by runtime
checks as the functions can be called from applications and
asserts are not meant for error checking.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-12-10 11:09:25 +01:00
Jukka Rissanen
692310d68c net: websocket: Remove assert call
Remove the useless assert as it is not needed at all here.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-12-10 11:09:25 +01:00
Jukka Rissanen
1e15eec64f net: vlan: Remove useless assert
The assert is not needed and it was in wrong place anyway.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-12-10 11:09:25 +01:00
Jukka Rissanen
2416cde90e net: trickle: Remove useless asserts
Replace asserts by runtime checks as the APIs can be used
from applications.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-12-10 11:09:25 +01:00
Gang Li
79fdf4a254 drivers: wifi: nxp: set the maximum number of stations
Add support for setting the maximum number of stations.
Add support for setting AP bandwidth.

Signed-off-by: Gang Li <gang.li_1@nxp.com>
2024-12-10 11:09:09 +01:00
Gang Li
5dcb3a0f6a hostap: fix VHT channel center segment0
1) Unless ACS is being used, both "channel" and
"vht_oper_centr_freq_seg0_idx" parameters must be set.
Fixed "channel center segment 0" not being set in VHT Operation IE.
2) Set HT capabilities and VHT capabilities via the wifi ap config command.
3) Set AP bandwidth to wifi driver via the wifi_mgmt_api->ap_config_params.

Signed-off-by: Gang Li <gang.li_1@nxp.com>
2024-12-10 11:09:09 +01:00
Gang Li
e73bc712cc net: wifi: add "bandwidth" parameter to "wifi ap enable" command
Add "bandwidth" parameter to "wifi ap enable" command.
Add "ht_capab" and "vht_capab" parameters to "wifi ap config" command.

Signed-off-by: Gang Li <gang.li_1@nxp.com>
2024-12-10 11:09:09 +01:00
Simon Guinot
c650720a83 samples: led_strip: fix bbc_microbit.conf location
Commit 55d9d1c6ba
("samples: led: consolidate LED samples under same directory")
moved the led_strip sample from samples/drivers to samples/drivers/led.

But commit f54a53b4b3
("drivers: ws2812_gpio: Make timing configurable and less hardware
dependend") was merged at the same time and added the bbc_microbit.conf
file to the old location.

This patch moves bbc_microbit.conf to its correct location.

Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
2024-12-10 11:09:00 +01:00
Nikodem Kastelik
a1152cd9fb modules: nordic: nrfx: workaround MDK erratas symbol for nRF54L05 & L10
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>
2024-12-10 11:08:49 +01:00
Nikodem Kastelik
a96b3e3d5d soc: nordic: nrf54l: add preliminary workaround for nRF54L anomaly 31
This workaround will be replaced with a variant
executed at SystemInit() level, once MDK implements it.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-12-10 11:08:49 +01:00
Nikodem Kastelik
2d378a19fe soc: nordic: nrf54l: remove configuration of DCDC regulator
Since nrfx 3.9 integration, configuration is executed
in MDK SystemInit().

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-12-10 11:08:49 +01:00
Dawid Niedzwiecki
9b3fe8cb88 clock: stm32_ll_h7: add missing STM32_SRC_HSI_KER entry
Add a missing case for STM32_SRC_HSI_KER in the
stm32_clock_control_get_subsys_rate function.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2024-12-10 11:08:39 +01:00
Francois Ramu
cdba98219d include: binding defines MCO division factor for stm32U5
On the stm32U5 serie the MCO prescaler is a value
set in the CFGR1 register to divide the MCO output clock.
See the RefMan for accepted values for this stm32U5 serie

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-12-10 11:08:30 +01:00
Henrik Brix Andersen
ea8bd5a09a doc: releases: remove v3.6.0 from the list of supported releases
remove Zephyr v3.6.0 from the list of supported releases. Zephyr v3.6.0
reached end-of-life on 2024-11-29.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-12-10 11:08:20 +01:00
Pisit Sawangvonganan
0156a322b1 bluetooth: host: hci_core: fix num_handles assignment
Replaced `sys_cpu_to_le16(1)` with a direct `1` assignment to the
`cp->num_handles` (uint8_t) field to avoid truncation to `0x00` on
big-endian architectures.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-12-10 11:08:15 +01:00
Fin Maaß
5d2068f491 logging: log_output: move partly unused code
move code, that is only needed for one case
to that case.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-12-10 08:06:25 +01:00
Fin Maaß
a9a475e525 lib: libc: newlib: Don't replace newlib libc time _r functions
Select TC_PROVIDES_POSIX_C_LANG_SUPPORT_R to keep Zephyr from
including the common libc implementation of the various _r APIs.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-12-10 08:06:25 +01:00
Fin Maaß
1d4249dea6 logging: remove part for when gmtime_r is not available
now that CONFIG_POSIX_C_LANG_SUPPORT_R will
add a custom implementation for gmtime_r() if that
is not provided by the toolchain, we can simply depend on
that, instead of using out own.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-12-10 08:06:25 +01:00
Fin Maaß
c221496f14 lib: libc: select POSIX_C_LANG_SUPPORT_R
also select POSIX_C_LANG_SUPPORT_R, so we can check
that, to see if gmtime_r() is available.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-12-10 08:06:25 +01:00
Fin Maaß
0418771902 lib: posix: set default of POSIX_C_LANG_SUPPORT_R
enable POSIX_C_LANG_SUPPORT_R by default if
the functions are already provided by the toolchain.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-12-10 08:06:25 +01:00
Fin Maaß
fc50427f3e logging: backend: net: add missing dependency
add missing dependency of NET_SOCKETS to LOG_BACKEND_NET.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-12-10 08:06:25 +01:00
Fin Maaß
048e7dc502 tests: logging: log_output: net: add test for syslog output
add test for syslog log output.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-12-10 08:06:25 +01:00
Khoa Nguyen
d95f82c36a boards: renesas: Add support CAN-FD for Renesas RA6, RA4
- Add support CAN-FD for EK-RA6E2, EK-RA4E2
- Enable ioport for can-transceiver on EK-RA6E2, EK-RA4E2

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2024-12-10 08:05:58 +01:00
Khoa Nguyen
f8325413dc dts: arm: renesas: Add dts node to support canfd for RA4E2, RA6E2
Add dts node for R7FA6E2Bx and R7FA4E2B93CFM MCU to support canfd

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2024-12-10 08:05:58 +01:00
Valerio Setti
35324319b9 doc: updates concerning ENTROPY_GENRATOR auto-enabling
Update the migration-guide to inform the users that now
CONFIG_ENTROPY_GENERATOR is automatically enabled as soon as
devicetree property "zephyr,entropy" is set.

Update also the "General recommendations" section of the Board Porting
Guide on the same topic.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2024-12-10 08:05:33 +01:00