Commit graph

103008 commits

Author SHA1 Message Date
Tomi Fontanilles
571e6019d7 doc: secure_storage: add documentation for the secure storage subsystem
It includes both the high-level documentation of the subsystem and
that of APIs defined in code (PSA Secure Storage and internal APIs of
the subsystem).

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-10-07 13:38:43 +02:00
Tomi Fontanilles
c9a59dd02d samples: psa: persistent_key: add the persistent_key sample
Add a sample to demonstrate use of persistent keys in the PSA Crypto API.

The implementation of the PSA ITS API that allows storage of persistent
keys is provided either by the just-introduced secure storage subsystem
or by TF-M.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-10-07 13:38:43 +02:00
Tomi Fontanilles
d6bee54986 samples: psa: its: add the psa_its sample
Add a sample to demonstrate direct use of the PSA ITS API.

The implementation of the API is provided either by the just-introduced
secure storage subsystem or by TF-M.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-10-07 13:38:43 +02:00
Tomi Fontanilles
85a56b5ee3 tests: secure_storage: add tests for the secure storage subsystem
Add one suite to test the PSA ITS API directly, and another to test it
through the PSA Crypto API.

The PSA ITS API test suite is run with different configurations to also
test customization possibilities that the secure storage subsystem offers.

Both test suites also have a test scenario with TF-M instead of the
secure storage subsystem.
This serves as compatibility testing to ensure that the PSA Secure
Storage API behaves the same from the user's point of view regardless
of the underlying implementation provider.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-10-07 13:38:43 +02:00
Tomi Fontanilles
4b479016a7 modules: mbedtls: enable persistent keys when CONFIG_SECURE_STORAGE
With the secure storage subsystem now providing an implementation of
the PSA ITS API, let Mbed TLS use it when it's enabled.
This allows the use of persistent keys in the PSA Crypto API.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-10-07 13:38:43 +02:00
Tomi Fontanilles
bf0e6d7c83 secure_storage: introduce the secure storage subsystem
Implements RFC https://github.com/zephyrproject-rtos/zephyr/issues/75275.

See also the PR (https://github.com/zephyrproject-rtos/zephyr/pull/76222)
for more information.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-10-07 13:38:43 +02:00
Maureen Helm
d022d315d2 tracing: Fix sysview for soc families not subdivided into series
Fixes the systemview tracing backend for soc families, such as max32,
that don't subdivide into soc series and therefore don't define
CONFIG_SOC_SERIES. Use CONFIG_SOC_FAMILY instead in the system
description since it should always be defined.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-10-06 20:51:27 +01:00
Maureen Helm
82a00c9cb8 soc: adi: max32: Indicate Segger RTT support
Sets CONFIG_HAS_SEGGER_RTT on the max32 soc family to allow using RTT
backends in the logging, shell, and tracing subsystems.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2024-10-06 20:51:27 +01:00
Marcel Krüger
38c9a74099 kernel.h: Fix k_msgq_get retval doxygen
Added a hint about -ENOMSG being returned when the
queue is purged.

Signed-off-by: Marcel Krüger <marcel.krueger@ithinx.io>
2024-10-06 20:51:18 +01:00
Chris Friedt
b6aed5c505 kernel: dynamic: use 4k stack size for x86
x86 architectures require a dynamic stack size that is a multiple
of 4096 bytes due to mmu restrictions.

For example, this test would previously fail when using the
default dynamic stack size of 1024 bytes for 32-bit
platforms.

```
west build -p auto -b qemu_x86/atom/nopae -t run \
  tests/posix/common/ -- -DCONFIG_USERSPACE=y
```

It would pass with an additional argument
```
west build -p auto -b qemu_x86/atom/nopae -t run \
  tests/posix/common/ -- -DCONFIG_USERSPACE=y \
  -DCONFIG_DYNAMIC_THREAD_STACK_SIZE=4096
```

Add a special default for x86 when using dynamic thread stacks.

The x86 default removes the need for `boards/qemu_x86*.conf`,
with the exception of `qemu_x86_tiny`.

qemu_x86_tiny did not have sufficient memory (or configuration)
to run the non-userspace tests, so bump up the available ram
from 256k to 512k for this test and clone the .conf from the
demand paging tests.

Eventually, the common posix test should be split into more
concise functional categories.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-10-05 14:13:18 -04:00
Rex Chen
82ec1d7862 net: wifi: shell: add wps support
Add wps pin and wps pbc L2 layer cmd support.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2024-10-05 14:07:48 -04:00
Pisit Sawangvonganan
7d1953918a net: wifi: shell: enhance consistency in cmd_wifi_dpp_ap_auth_init
The `cmd_wifi_dpp_ap_auth_init` function was added but is not yet
aligned with others.
This update enhances consistency with the following changes:
- Unified the order of declaration for `opt`, `opt_index`,
  `state`, and `long_options`.
- Wrapped lines in the `long_options` declaration to prevent them
  from extending too far to the right.
- Applied `struct option` as `static const`
- Unified the wrapping of `getopt_long` calls, regardless of
  the length of the `options` string.
- Using `getopt_state` to access `optarg` and also `optopt` offers
  a better alternative to direct global access.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-10-05 14:07:33 -04:00
Lyle Zhu
3756429b6c Bluetooth: BREDR: L2CAP: Recover ident when conn is pending
The `ident` of L2CAP BR connection req will be cleared if
function l2cap_br_conn_req_reply called to send L2CAP BR
connection rsp with result `BT_L2CAP_BR_PENDING`.

Then the invalid `ident` (it is zero) will be filled in
the L2CAP BR connection rsp after the ACL connection is
encrypted.

Recover `ident` if the result of the connection rsp is
`BT_L2CAP_BR_PENDING`.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2024-10-05 14:07:24 -04:00
Lyle Zhu
c7c1f73045 Bluetooth: SSP: Support security level 4
Currently, error code `-ENOTSUP` will be
returned if start security with security
level 4.

For SC supported case, level 4 for ssp
should be supported.

Remove the code limitation to support
security level 4.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2024-10-05 14:07:15 -04:00
Lyle Zhu
7e54f13e7b Bluetooth: l2cap_br: Support Multi-Command Packet
Improve L2CAP BR to handle more than one
signaling command in one receiving L2CAP packet.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2024-10-05 14:07:09 -04:00
Lyle Zhu
3561540110 Bluetooth: L2CAP_BR: Set flags in CFG RSP
The flags of L2CAP_CONFIGURATION_REQ are set.
But in L2CAP_CONFIGURATION_RSP, all bits of
flags are cleared.

When used in the L2CAP_CONFIGURATION_RSP
packet, the continuation flag shall be set
to one if the flag is set to one in the
Request.

Copy flags from Request to Response if it
is a successful result.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2024-10-05 14:07:00 -04:00
Lyle Zhu
b7ab7c9d45 Bluetooth: L2CAP_BR: Process all defined OPTs
Currently, Only configuration opt MTU is handled.

For opt `Flush timeout`, `QOS`, `Retransmission
and Flow Control`, and `FCS`, response wilt
result `BT_L2CAP_CONF_UNACCEPT`.

For opt `extended flow specification` and
`extended windows size`, response wilt result
`BT_L2CAP_CONF_REJECT`.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2024-10-05 14:06:55 -04:00
Lyle Zhu
c5648044a8 Bluetooth: L2CAP_BR: incorrect result returned if config opt unsupported
The `BT_L2CAP_CONF_SUCCESS` is returned as result for the config
req with supported opt.

Result `BT_L2CAP_CONF_UNKNOWN_OPT` should be returned for this case.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2024-10-05 14:06:55 -04:00
Daniel Flodin
9c5fda3e11 include: kernel: arch: sys: Use new TLS macro
PR #78645 replaced uses of the GNU keyword `__thread` with a new macro
`Z_THREAD_LOCAL` which expands to correspond C/C++ standard keyword if
applicable, else it falls back to `__thread`.

This PR addresses some missed replacements in headers files for #78645.

Signed-off-by: Daniel Flodin <daniel.flodin@iar.com>
2024-10-05 14:06:26 -04:00
Jukka Rissanen
2e6c038363 tests: net: wifi: Run wifi tests together with net tests
Make sure wifi tests are run when verifying networking.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-10-05 14:06:15 -04:00
Ian Morris
627c33292a boards: mikroe: remove CONFIG_PINCTRL from defconfig of RA4M1 clicker
This PR fixes #78619 for the Mikroe RA4M1 Clicker board.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-10-05 14:05:48 -04:00
Robert Lubos
30a3d88d8a samples: net: wifi: Disable building on NS platform variants
The sample currently doesn't build for non-secure nRF platforms due to
mbed TLS misconfiguration - TFM enforces PSA crypto API, while the
default configuration for supplicant uses legacy crypto configuration.
In result, build fails due to unsatisfied dependencies. Therefore,
disable this variant from building temporarily to unblock the CI, until
the issue is resolved.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-10-05 14:05:36 -04:00
Mykhailo Lohvynenko
03029e7bd7 json: support parsing and serializing 'uint64_t'
Introduce support for 'uint64_t' type, so that unsigned numbers
can be serialized into JSON payloads.

Signed-off-by: Mykhailo Lohvynenko <Mykhailo_Lohvynenko@epam.com>
2024-10-05 14:04:48 -04:00
Ryan McClelland
ae63c62f0e drivers: i3c: implement support for ibi thr interrupts
Some IBI TIR packets can be larger than the ibi data fifo size
which can prevent it from receiving the full packet. This adds
a data struct in to the driver data where data can be pushed
to as data is being transfered.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-10-05 14:04:25 -04:00
Ryan McClelland
31e821bef6 drivers: i3c: cdns: grab mutex before adjusting prescalers
Grab the mutex before adjusting the prescalers to make sure no
transaction is on going.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-10-05 14:04:25 -04:00
Ryan McClelland
9c48f7eb37 drivers: i3c: cdns: correct sda push pull hold time
correct the comments and timing for the sda push-pull hold time
configuration.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-10-05 14:04:25 -04:00
Sylvio Alves
9403b08512 boards: esp32: move board specific kconfig definitions
HEAP_MEM_POOL_ADD_SIZE_BOARD is not a zephyr-defined entry and
should be placed into Kconfig instead of Kconfig.defconfig.

This PR moves that entry for all ESP32-based boards accordingly.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-10-04 22:53:01 +01:00
Martin Stumpf
4ec266152d drivers: cc: mcux: Fix incorrect clock source of FlexSPI2
The clock control mcux rev2 returns FlexSPI1 clock rate when FlexSPI2
clock rate is requested.

Signed-off-by: Martin Stumpf <martin.stumpf@vected.de>
2024-10-04 22:52:39 +01:00
Declan Snyder
8221a9a704 Revert "arch: common: Add user can specify the nocache location"
This reverts commit 88f6851a3d.

This is being reverted because it is redundant with the capabilities of
zephyr,memory-region and zephyr,memory-attr properties.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-10-04 22:52:31 +01:00
Andrej Butok
3ea954e97d tests: mcuboot: Add other nxp boards as test targets
Added other nxp boards as test targets:
frdm_ke17z, frdm_ke17z, frdm_ke17z512,
rddrone_fmuk66, twr_ke18f,
twr_kv58f220m, frdm_mcxn947/mcxn947/cpu0,
mimxrt1062_fmurt6, vmu_rt1170.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-10-04 22:51:22 +01:00
Jordan Yates
8354fc5c3c modules: tfm: default version numbers from VERSION
Populate the TFM application version numbers from the application
`VERSION` file if it exists.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-10-04 22:51:04 +01:00
Daniel DeGrasse
8a30c2318d boards: nxp: rd_rw612_bga: add display support documentation
Add documentation about supported displays on this board, as the list is
getting rather long and each display has its own bespoke connection
requirements.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-04 22:50:45 +01:00
Daniel DeGrasse
404041621f boards: nxp: rd_rw612_bga: enable with LCD_PAR_S035 shield
Enable the rd_rw612_bga board with the LCD_PAR_S035 shield. This shield
cannot be connected directly to the board, but the connection can be
made with a set of jumper wires.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-04 22:50:45 +01:00
Daniel DeGrasse
f8f70c2ac7 boards: shields: lcd_par_s035: enable reset gpio within input module
The LCD_PAR_S035 display module shares the reset pin between the display
module and the touchscreen controller. The touchscreen controller needs
the reset pin to be toggled low during boot in order to select the
expected I2C address. However, the reset sequence must occur before the
display is initialized. To enable this, set a custom INPUT driver init
priority when using this display module, so that INPUT drivers start
after MIPI DBI drivers but before DISPLAY drivers.

Since the reset sequence is now operating as expected, we no longer need
to use the alt-addr probing method. This method was previously only
working correctly because boards using this display were configuring
the display INT pin using the pin control API prior to resetting the
display, so when the display was reset it would select the alt-addr
I2C address.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-04 22:50:45 +01:00
Daniel DeGrasse
22a922fded drivers: mipi_dbi: nxp_lcdic: add support for 8080 mode
Enable support for 8 bit 8080 mode in the NXP LCDIC driver. Support
for programming the minimum duration of the write active/inactive signal
is also added, since this will be required to support high display
clocks in 8080 mode.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-04 22:50:45 +01:00
Daniel DeGrasse
04726a22cb drivers: display: st7796s: respect rgb_is_inverted in 8080 8 bit mode
Update ST7796s display driver to respect the setting of rgb_is_inverted
in 8080 8 bit mode, as it was previously not applied for this mode.

Also, simplify the logic check for 16 bit mode- the new check is
functionally equivalent, but no longer inverts both boolean values.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-04 22:50:45 +01:00
Daniel DeGrasse
3604aba75b shields: lcd_par_s035: rename nxp_flexio_lcd to zephyr_mipi_dbi_parallel
Although the parallel mipi dbi mode pinout used for the LCD PAR S035
display is specific to NXP boards, the definition of the display is
generic, and does not require NXP-specific parallel mipi dbi IP.
Therefore, rename the MIPI DBI node for this display from
`nxp_flexio_lcd` to `zephyr_mipi_dbi_parallel`. The gpio-nexus node name
is unchanged, as the pinout it describes is specific to NXP.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-04 22:50:45 +01:00
Joel Spadin
c82799bd4c tests: scripts: dts: Add tests for string escapes
Added tests for escape sequences in string and string-array properties.

Signed-off-by: Joel Spadin <joelspadin@gmail.com>
2024-10-04 13:26:51 -05:00
Joel Spadin
6edefd8f50 scripts: dts: properly escape string properties
Fixed escaping of double quotes, backslashes, and new line characters
so they can be used in string properties.

Previously, double quotes and backslashes were escaped in gen_defines.py
but not in gen_dts_cmake.py, and new lines were not escaped in either,
so using any of these characters would break the build.

Signed-off-by: Joel Spadin <joelspadin@gmail.com>
2024-10-04 13:26:51 -05:00
Jukka Rissanen
0515bfff7a net: lib: http-client: Use memcpy() to avoid gcc warning
GCC 12.2.0 can give this warning (version 11.4.0 did not), when
CONFIG_SPEED_OPTIMIZATIONS=y

subsys/net/lib/http/http_client.c: In function 'http_send_data.constprop':
subsys/net/lib/http/http_client.c:114:33: warning: 'strncpy' specified
bound depends on the length of the source argument [-Wstringop-truncation]
  114 |                                 strncpy(send_buf + end_of_send,
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  115 |                                         data + end_of_data,
      |                                         ~~~~~~~~~~~~~~~~~~~
  116 |                                         remaining);
      |                                         ~~~~~~~~~~
subsys/net/lib/http/http_client.c:87:41: note: length computed here
   87 |                         remaining_len = strlen(data + end_of_data);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~

The code properly checks that we do not overwrite the destination
buffer even if we use the source buffer length to determine how much
to copy. One possible fix is to use memcpy() or strcpy(), I opted
to use memcpy() because it has the length option which feels more
natural.

Fixes #79326

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-10-04 13:24:17 -05:00
Fabio Baltieri
09a643ee2c devicetree: make DT_..._REG_SIZE return unsigned
Simiarly to f98fde07b3, make the SIZE macros return unsigned literal
values.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-10-04 13:23:23 -05:00
Seppo Takalo
8068cb2567 net: lwm2m: Add shell command for listing resources
Add shell command for listing multiple objects, resources
or resource instances.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-10-04 16:35:59 +01:00
Aleksander Wasaznik
357427aee5 Bluetooth: GATT: Remove note on flow-control from `bt_gatt_write_without
It's not clear what this note is trying to convey. I assume it's
outdated.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2024-10-04 16:35:51 +01:00
Jukka Rissanen
eb7b3f67d4 ci: tags: Add wifi tag to hostap and other wifi related files
Make sure we run wifi tests for all hostap related files
that are changed.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-10-04 16:35:44 +01:00
Jukka Rissanen
335d713792 maintainers: Add wifi identifier for hostap files
Add wifi identifier for hostap related files.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-10-04 16:35:44 +01:00
Yong Cong Sin
8848fd4613 toolchain: match gcc 'missing-field-initializers' with others
`arcmwdt`` and `clang` both have
`-Wno-missing-field-initializers` in `warning_dw_1` and
`-Wmissing-field-initializers` in `warning_dw_2` while `gcc`
has `-Wmissing-field-initializers` in `warning_dw_1`, so
update it to match.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-10-04 16:35:27 +01:00
Luca Burelli
17be7ffca5 device.h: fix inconsistent semicolon logic for DEVICE_DT_DEFINE
When CONFIG_LLEXT_EXPORT_DEVICES is not enabled, the DEVICE_DT_DEFINE
macro ends with the contents of the Z_DEVICE_DEFINE macro, which always
includes a terminating semicolon.

When CONFIG_LLEXT_EXPORT_DEVICES is enabled, the macro ends with
Z_DEVICE_EXPORT, which does _not_ include a terminating semicolon. This
leads to a syntax error in places where the DEVICE_DT_DEFINE macro is
used without it.

Fix this by adjusting the added code when CONFIG_LLEXT_EXPORT_DEVICES is
enabled to include a semicolon after the Z_DEVICE_EXPORT macro; also use
the opportunity to remove a stray backslash.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-10-04 16:35:18 +01:00
Olivier Lesage
9ae2e23d34 bluetooth: host: Update text for BT_CHANNEL_SOUNDING kconfig
Include EXPERIMENTAL tag in the kconfig text and remove the word
"support" to align with other options

Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
2024-10-04 16:34:45 +01:00
Olivier Lesage
9e3943d13e bluetooth: host: Add CONFIG_BT_CHANNEL_SOUNDING_TEST
Makes it easier to make sure the CS test code is removed if desired.
It should hopefully allow for a clean split in general.

Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
2024-10-04 16:34:45 +01:00
Olivier Lesage
a12b869eac bluetooth: host: Add support for processing CS subevent results
Adds support for:
- LE CS Subevent Result event
- LE CS Test End Complete event

For now, recombination of subevent results with more steps than could
fit within a single HCI event is not supported, and such events
are discarded.

Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
2024-10-04 16:34:45 +01:00