Commit graph

104,958 commits

Author SHA1 Message Date
Alberto Escolar Piedras
cee40d1d49 tests/drivers/uart/uart*: Allow on nrf52_bsim
Add the nrf52_bsim to the platform_allow list
for tests which had such a filter.

Note that for this test to pass, you need
to connect the uart in loopback, passing the command
line option `-uart0_loopback` to zephyr.exe

Note this tests do not run right now by default in CI
as the fixture is preventing it.
They can be run with:

twister -T tests/drivers/uart/ -v -p nrf52_bsim \
  --fixture gpio_loopback -- -uart0_loopback

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-12 11:27:23 -06:00
Alberto Escolar Piedras
cf54f9acf9 boards nrf52_bsim: Allow running uart tests in this board
Let's allow the uart tests to run in this board

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-12 11:27:23 -06:00
Alberto Escolar Piedras
f82f6cdeae tests uart/uart_async_api: Improve filter
These tests were filtering by CONFIG_UART_CONSOLE,
but that does not seem a strick requirement.
It seems the requirement would just be CONFIG_SERIAL,
but that is implicit if CONFIG_SERIAL_SUPPORT_ASYNC,
which is required for all these tests, so let's
just remove CONFIG_UART_CONSOLE.

(The simulated nrf5x boards do not set CONFIG_UART_CONSOLE
by default, as by default the console is routed to the
process stdout instead)

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-12 11:27:23 -06:00
Alberto Escolar Piedras
7ef23e1573 tests uart/uart_pm: Fix kconfig warning
The option CONFIG_NATIVE_UART_0_ON_STDINOUT
is only usable for the native_sim/posix(_64) targets,
but this test is only allowed for the nrf52840dk_nrf52840.
Building with this option set causes a kconfig warning.
Let's just remove it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-12 11:27:23 -06:00
Alberto Escolar Piedras
51f9af86e4 tests/drivers uart_pm: Fix for too fast targets
On the async configurations, the first part of the test
(test_uart_pm_in_idle) can interfere with the second part
of the test, if the device has a fast enough CPU.
This is due to the first part of the test ending
as soon as it queues the last byte for transmission.
If the device is fast enough (and the simulated
nrf52 is), the 2nd part of the test will start executing
enabling the UART Rx, which can result in either
the Rx being enabled mid frame, which can result in a frame
error or even before the Tx HW started pushing the byte
in the line (resulting in that byte being received).
Neither of these cases are handled by the 2nd test,
which sees a spurious error or received byte
and fails.

Let's just add a small delay at the end of the first test
to allow the Tx of the last byte to be done.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-12 11:27:23 -06:00
Alberto Escolar Piedras
992c04c471 manifest: Update nrf hw models to latest
* Update the HW models module to
a08acc7d3a853f890df2bf82167c02ab2153ffe7

Including the following:
* a08acc7 UART(E): Duty cycle warnings due to Rx while Rx Off
* aa1f38d UART(E): FIFO backend Minor bugfix
* 8b0819f UART(E): Add Loopback backend
* bc648f2 UART(E): Update RTS pin level as soon as the conf is changed
* b39e448 UART(E): Detect receiver opening mid frame

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-12 11:27:23 -06:00
Damian Krolik
36b7a3e701 net: openthread: Remove PSA crypto backend workarounds
Remove two workarounds in OpenThread's PSA crypto backend
that were required when Zephyr used pre-1.5 TF-M version:
1. psa_open_key() is no longer needed to reference
   a persistent key
2. psa_cipher_encrypt() can be used to simplify AES
   encryption

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
2024-01-12 11:26:41 -06:00
Toon Stegen
c860542cf1 boards: suppress dtc warning for SPI bridge on ST
Get rid of warnings

Signed-off-by: Toon Stegen <toon@toostsolutions.be>
2024-01-12 11:25:19 -06:00
Charles Dias
8b96814676 dts: bindings: Add vendor prefix fanke
Add vendor prefix fanke FANKE Technology Co., Ltd.

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2024-01-12 16:03:01 +00:00
Charles Dias
13671813fe boards: arm: Add support for FK7B0M1-VBT6 board
Adds the device trees, Kconfig, and documentation files.

The following features have been confirmed working on hardware:
* LED
* Button
* UART

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2024-01-12 16:03:01 +00:00
Jonathan Rico
3e1a82226d tests: Bluetooth: use unique IDs for l2cap bsim tests
If $BASH_SOURCE is the empty string, then those two tests end up with
the same simulation ID. That's not a good time.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-01-12 09:33:44 -06:00
Stephan Linz
162a8f00c1 samples: drivers: display: support small displays
With extremely small displays (much smaller than 64x24), the
calculation of the blocks in the four corners fails. These
might then be too large and no longer fit into the available
area of the small displays.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2024-01-12 09:32:33 -06:00
Stephan Linz
2fdea6b2b9 samples: drivers: display: distinguish mono pixel format
In exceptional cases, monochrome displays can deviate from the
general interpretation (PIXEL_FORMAT_MONO01) of a logical 1 as
pixel on (white) and 0 as pixel off (black) and instead set the
capability to PIXEL_FORMAT_MONO10. This small but significant
difference has been ignored so far, resulting in an inverse
display for those displays. In order to be technically correct
here, the buffers for a "white" background should be set to 0
instead of 1 and for "black" to 1 instead of 0.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2024-01-12 09:32:33 -06:00
Stephan Linz
e46265669f samples: drivers: display: fix mono buffer size
Rounding errors due to the division of non-integrally divisible
buffer sizes lead to the loss of one byte. This can be avoided
with the DIV_ROUND_UP() macro.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2024-01-12 09:32:33 -06:00
Manuel Argüelles
6d53c2aed2 soc: arm: nxp_s32: s32k3: select CONFIG_CACHE_MANAGEMENT
Commit 447a492 switched to `sys_cache*` to enable caches at SoC init. To
preserve the old behavior of enabling caches at init, is missing to
select `CONFIG_CACHE_MANAGEMENT`.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-01-12 09:21:58 -06:00
Nick Ward
7f41696a93 dts: binding: sensor: bq274xx: improve desc.
Improve descriptions of taper-current and terminate-voltage.
Also fixes units of taper-current.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2024-01-12 09:00:33 -06:00
Nick Ward
e9b56bd1ec drivers: sensor: bq274xx: remove float use
Remove float usage in calculation of
SENSOR_CHAN_GAUGE_TEMP

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2024-01-12 09:00:33 -06:00
Wojciech Sipak
12f4f4dc86 samples: hello_world_user: fail in compilation if userspace is not enabled
The sample depends on CONFIG_USERSPACE.

Signed-off-by: Wojciech Sipak <wsipak@antmicro.com>
2024-01-12 08:32:54 -05:00
Mahesh Mahadevan
37158ebf15 tests: counter: Add LPC RTC 1KHZ counter
Add counter test support for the RTC 1KHz counter

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-12 13:34:19 +01:00
Mahesh Mahadevan
008b5027a6 dts: nxp: Add support for 1Kz RTC counter
A 1KHz counter is present in the LPC RTC.
Add support for this counter to get better
resolution for certain applications.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-12 13:34:19 +01:00
Mahesh Mahadevan
08705f51f2 drivers: mcux_lpc_rtc: Add support for 1KHz counter
Add support for the 1KHz counter. Update the RTC
driver to allow the 1Hz and high resolution counters
to exist together.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-12 13:34:19 +01:00
Mahesh Mahadevan
0b72debabc dts: counter: Add binding for 1KHz counter in NXP LPC RTC
A 1KHz counter is also available inside the NXP LPC RTC
block. Add a binding to support that counter.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-12 13:34:19 +01:00
Henrik Brix Andersen
24b68fa67f drivers: adc: shell: update list of compatibles
Update the list of ADC compatibles based on the compatibles from
dts/bindings/adc/*.yaml.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-12 12:09:53 +00:00
Henrik Brix Andersen
0cd776e7dd drivers: adc: shell: sort the list of compatibles
Sort the list of supported ADC compatibles alphabetically.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-12 12:09:53 +00:00
Armando Visconti
765519ea92 drivers/sensor: fix some ST drivers dependency to HAL_ST module
In order to avoid build failures as described in issue #67242,
make all ST drivers using HAL_ST module dependent to HAL_STMEMSC
and HAS_STLIB libs, which need to be configured in all samples
referring to them.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-01-12 12:55:46 +01:00
Daniel DeGrasse
76f547e763 net: l2: wifi: wifi_utils: Resolve build warning with strncpy function
ARM GCC version 12.2.0 (Zephyr SDK 0.16.4) generates the following build
warning from the strncpy call in "wifi_utils_parse_scan_bands":

warning: '__builtin_strncpy' output truncated before terminating nul
copying as many bytes from a string as its length

To resolve this warning, pass the maximum length of the temporary
parse_str buffer to strncpy. This also has the benefit of correctly null
terminating parse_str, since we already verify the
scan_bands_str is properly null terminated with the strlen() check in
this function. We can therefore remove the line adding a null terminator
to parse_str as well.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-12 12:55:35 +01:00
Vinayak Kariappa Chettimada
7f99677aa6 Bluetooth: Controller: Add support for DYNAMIC_INTERRUPTS
Add support for DYNAMIC_INTERRUPTS and ARM specific
DYNAMIC_DIRECT_INTERRUPTS.

Co-authored-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-12 11:16:08 +01:00
Vinayak Kariappa Chettimada
2b30259e9f Bluetooth: Controller: Fix ull_prepare_dequeue for skipped events
Fix ull_prepare_dequeue to not skip events when preempt
does not match the event in the head of the prepare queue.
The head of the prepare queue does not match when
ull_prepare_dequeue has put the head of the queue to the
last of the queue when it is calling lll_resume interface.
This happens when there is already an active event which
needs a preempt timeout to be setup and there is another
non-resume event in the pipeline which now becomes the
head. The fix ensure to restore the order of the events
if a preempt timeout was to be setup.

Currently ull_prepare_dequeue loops through all events
before stopping at the original way the queue was. This is
not efficient and is a scope for improvement in future.

This reverts commit 91781306e9 ("Revert "Bluetooth:
Controller: Fix ull_prepare_dequeue for skipped events"").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2024-01-12 10:03:07 +01:00
Derek Snell
8d8d3a53c0 boards: arm: mimxrt595_evk_cm33: add power profiles
Power profiles enable the app to dynamically switch modes and support
DVFS.  These profiles leverage the PCA9420 PMIC to change the VDDCORE
voltage, and optimize power consumption.  Two runtime profiles are
provided for the application:
* main_clk sourced from FRO192M, VDDCORE at 0.9 V
* main_clk sourced from FRO96M,  VDDCORE at 0.8 V

Both profiles use the FRO, and the FRO is retrimmed with the target
frequency when switching profiles.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2024-01-12 10:00:00 +01:00
Derek Snell
11d52f71e5 soc: arm: nxp: increase NUM_IRQS for RT5xx series
This enables the PVT Sensor IRQ.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2024-01-12 10:00:00 +01:00
Andrej Butok
6b84d29c0c cmake: mcuboot: set align to 1 for overwrite only mode
Set align to 1 for CONFIG_MCUBOOT_IMGTOOL_OVERWRITE_ONLY,
used by non-swap update modes.
Fix imgtool error message for device with write size > 32B.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-01-12 09:59:51 +01:00
Martin Kiepfer
51e5ecf829 board: m5stack_stamps3: Add support for M5Stack StampS3 development board
Adding support for M5Stack StampS3 development board, featuring an ESP32
MCU

Signed-off-by: Martin Kiepfer <mrmarteng@teleschirm.org>
2024-01-12 09:59:41 +01:00
Martin Kiepfer
b7a1ff7b18 devicetree: led: Add timing definitions for WS2812C RGBs
Timing parameters for WS2812C variant of digital RGB.

Signed-off-by: Martin Kiepfer <mrmarteng@teleschirm.org>
2024-01-12 09:59:41 +01:00
Yuval Peress
4efa11ebf7 bbram: Add tests
Add emulation testing for it8xxx2, npcx, and mcp7940n. The test is made
to be generic and uses the backend API in order to verify both read and
write functionality. Additional tests are made for the API's limits when
reading/writing out of bounds.

Fixes #65018

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-12 09:59:31 +01:00
Yuval Peress
2772843cf1 bbram: npcx: Add emulator
Add an emulator for the NPCX BBRAM which supports reading and writing

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-12 09:59:31 +01:00
Yuval Peress
69dfb2fee3 bbram: mcp7940c: Add emulator
Add an emulator for the mcp7940c BBRAM that supports reading and writing.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-12 09:59:31 +01:00
Yuval Peress
59675bf682 bbram: it8xxx2: Add emulator implementation
Add an emulator that supports reading and writing to the it8xxx2 bbram.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-12 09:59:31 +01:00
Yuval Peress
af5ea66c99 bbram: emul: Add backend API
Add a backend API which allows us to set and get data

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-12 09:59:31 +01:00
Yuval Peress
a9afc5a7b8 emul: Add support for non-bus emulators
Adds a stub API for a non bus emulators. The stub is used to keep the
rest of the emulation consistent.

Signed-off-by: Yuval Peress <peress@google.com>
2024-01-12 09:59:31 +01:00
Ajay Parida
56de0a347e net: mgmt: Provide Regulatory channel info
Updated to provide regulatory channel information along with country
code.

Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
2024-01-12 09:59:19 +01:00
Mahesh Mahadevan
0a26da9b08 Revert "modules: hal_nxp: usb: enable sof notifications"
This reverts commit 2b91d62c0e.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-12 09:59:02 +01:00
Mahesh Mahadevan
5bda339058 Revert "drivers: usb: device: add start of frame notifications to nxp mcux driver"
This reverts commit 21c9c4abfe.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-01-12 09:59:02 +01:00
Gerard Marull-Paretas
f885763b50 arch: riscv: drop RISCV_HAS_CPU_IDLE
Because it was exclusively used by the "common" RISC-V privileged code
to build CPU idle routines that are now handled by arch level code.
Also, all platforms defaulted to "y", making it pointless in practice.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-12 09:58:31 +01:00
Gerard Marull-Paretas
7631e0ddfa soc: riscv: riscv-privileged: remove redundant idle implementation
Default RISC-V arch level implementation is equivalent.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-12 09:58:31 +01:00
Gerard Marull-Paretas
1dbcef9d3c soc: riscv: espressif_esp32: use arch idle
It is equivalent to the provided custom implementation.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-12 09:58:31 +01:00
Gerard Marull-Paretas
5fb6e267f6 arch: riscv: idle: trace idle and call wfi
While going to idle may require SoC specific implementations, provide a
more sensible default implementation.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-01-12 09:58:31 +01:00
Krzysztof Chruściński
04edca7a9f tests: unit: util: Add test for CONCAT macro
Add test for CONCAT.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-12 09:57:57 +01:00
Krzysztof Chruściński
fe4ea0f326 sys: util: Rework CONCAT to support variable length arguments
Rework CONCAT to accept multiple arugments which are concatenated
together. Number of arguments is limited to 8.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-01-12 09:57:57 +01:00
Daniel Leung
0ee1e28a2f xtensa: polish doxygen and add to missing doc
This polishes doxygen to, hopefully, make it better looking
on the API doc. Also adds missing doc to various functions
and macros.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-11 21:06:03 -05:00
Daniel Leung
035c8d8ceb xtensa: remove sys_define_gpr_with_alias()
This is not being used in Xtensa anywhere, so remove.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-01-11 21:06:03 -05:00