For better testcase filter by 'depends_on' the board must provide
all supported Raspberry Pi Pico connector features.
For shield or application DTS overlays, the distinction between
usable standard interfaces and indexed interfaces should be clarified
based on their DTS node reference, e.g.: pico_i2c0 points to i2c0 and
pico_i2c1 to i2c1, but pico_i2c as default points also to i2c0.
Signed-off-by: Stephan Linz <linz@li-pro.net>
For better testcase filter by 'depends_on' the board must provide
all supported Raspberry Pi Pico connector features.
For shield or application DTS overlays, the distinction between
usable standard interfaces and indexed interfaces should be clarified
based on their DTS node reference, e.g.: pico_i2c0 points to i2c0 and
pico_i2c1 to i2c1, but pico_i2c as default points also to i2c0.
Signed-off-by: Stephan Linz <linz@li-pro.net>
In order to pass the Zephyr Project Compliance Test, specifically
the "LicenseAndCopyrightCheck" test case from the "Guidelines", some
copyright strings were missed for this board. According to initial
commit f3f8513 by David Schneider, these are hereby added.
Warning was:
Copyright missing:
File has no SPDX-FileCopyrightText header, consider adding one.
Signed-off-by: Stephan Linz <linz@li-pro.net>
For better testcase filter by 'depends_on' the board must provide
all supported Raspberry Pi Pico connector features.
For shield or application DTS overlays, the distinction between
usable standard interfaces and indexed interfaces should be clarified
based on their DTS node reference, e.g.: pico_i2c0 points to i2c0 and
pico_i2c1 to i2c1, but pico_i2c as default points also to i2c0.
Signed-off-by: Stephan Linz <linz@li-pro.net>
For better testcase filter by 'depends_on' the board must provide
all supported Raspberry Pi Pico connector features.
For shield or application DTS overlays, the distinction between
usable standard interfaces and indexed interfaces should be clarified
based on their DTS node reference, e.g.: pico_i2c0 points to i2c0 and
pico_i2c1 to i2c1, but pico_i2c as default points also to i2c0.
Signed-off-by: Stephan Linz <linz@li-pro.net>
For better testcase filter by 'depends_on' the board must provide
all supported Raspberry Pi Pico connector features.
For shield or application DTS overlays, the distinction between
usable standard interfaces and indexed interfaces should be clarified
based on their DTS node reference, e.g.: pico_i2c0 points to i2c0 and
pico_i2c1 to i2c1, but pico_i2c as default points also to i2c0.
Signed-off-by: Stephan Linz <linz@li-pro.net>
For better testcase filter by 'depends_on' the board must provide
all supported Raspberry Pi Pico connector features.
For shield or application DTS overlays, the distinction between
usable standard interfaces and indexed interfaces should be clarified
based on their DTS node reference, e.g.: pico_i2c0 points to i2c0 and
pico_i2c1 to i2c1, but pico_i2c as default points also to i2c0.
Signed-off-by: Stephan Linz <linz@li-pro.net>
When running check_compliance downstream the prefix path is not correct.
This need to be relative to zepphyr base.
This PR ensure that the prefix is set correctly when invoking dts-linter
Signed-off-by: Kyle Bonnici <kylebonnici@hotmail.com>
Update hal_nxp module to add PWM WAITEN bitfield
support.
This enables sleep mode control for PWM modules
on MCXA devices.
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
The UARTE instance must be disabled before the pinctrl state is
updated like it is done other places in this driver.
While the uarte is enabled, it controls the pins, keeping TX high
for example. Trying to apply pinctrl will have no effect other
than enabling pin retention, so the TX pin which should now be low
and configured as disconnected input, stays an output driven high.
Issue was discovered as the suspended UARTE was backpowering
devices connected to it because of the driven output pins.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
In C, character literals have type int, so using sizeof() on a
character literal evaluates to sizeof(int) and can easily lead to
subtle size miscalculations.
Add a new checkpatch warning to flag sizeof() usage on character
literals and suggest using an explicit cast instead.
Signed-off-by: Somil Gupta <somil24559@iiitd.ac.in>
This change updates uart_stm32_dma_rx_flush() to detect the wrap case
and emit two contiguous UART_RX_RDY events in order:
- tail: [offset .. buffer_length)
- head: [0 .. counter)
This guarantees that each RX_RDY event satisfies offset + len <=
buffer_length.
Non-cyclic behavior and cyclic non-wrapping cases remain
unchanged.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Extend sample configuration with check that confirms
correct use of register event API.
Use PyTes to validate that code executes faster when
event is registered.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Fix case where absolute event was registered. In that case PPI wake
up was never used.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add overlay for nrf54lm20dk.
Manual configuration for RRAMC is currently disabled for that target.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Rework RRAMC latency part to use only a single configuration. In that
configuration there are 3 runs of the same code using 3 different
RRAMC modes. This approach does not require to recompile the sample
to see the results for different RRAMC configuration.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
nrf_sys_event_unregister was missing an immediate return when PPI
was used by the handle. It was stepping into non-PPI case where
an assert might have been triggered.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Test a "ping-pong" message exchange between two MCTP UART endpoints.
Needs a loopback connection for the UART devices involved - although it
also works with a single UART device. More details on the board overlay.
Note that this test also depends on `uart_loopback` fixture.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
Test a "ping-pong" message exchange between an MCTP I3C Controller
and a target. Needs a loopback connection for the I3C devices involved
- more details on the board overlay.
Note that this test also depends on `i3c_loopback` fixture.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
Test a "ping-pong" message exchange between an MCTP I2C-GPIO Controller
and a target. Needs a loopback connection for the I2C and GPIO involved
- more details on the board overlay.
Note that this test also depends on `gpio_loopback` and `i2c_loopback`
fixtures.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
There's a method to enable RX (`mctp_uart_start_rx`), but not one to
stop it. This patch adds `mctp_uart_stop_rx` to do so.
It will be handy at least for tests, as it allows two MCTP endpoints to
share a single UART device - as long as only one has RX enabled - and
"ping-pong" messages between them.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
While currently it states that a single MCTP message will be read, one
could read *another* message on sequence without needing to enable RX
again. Make that clear in the documentation.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
Remove MCUBOOT_MODE_SWAP_USING_OFFSET from the Kconfig.sysbuild of the
boards stm32h573i_dk and stm32h750b_dk, because its the default
MCUBOOT_MODE since #100385.
Signed-off-by: Thomas Decker <decker@jb-lighting.de>
…iant
Now that ext_flash_app variant is available, it should be used for
mcuboot related apps on this board.
Delete boards/nucleo_h7s3l8.overlay (and boards/stm32h7s78_dk.overlay)
which are not needed anymore.
Signed-off-by: Thomas Decker <decker@jb-lighting.de>
Add ext_flash_app variant to nucleo_h7s3l8 to allow building
applications running on ext flash.
Based on Erwan Gouriou's work on stm32h7s78_dk in PR #97992
(which is based on A.Jarmouni's work on stm32h750_dk in PR 97037).
Signed-off-by: Thomas Decker <decker@jb-lighting.de>
Add write-block-size and erase-block-size attributes to xspi nor flash
connected to xspi2. This is needed for mcuboot to handle flash access
of the ext_flash. The changes in the node structure is taken from the
stm32h7s78_dk board.
Update zephyr,flash-controller in samples/sysbuild/with_mcuboot/boards
/nucleo_h7s3l8.overlay to have CONFIG_STM32_APP_IN_EXT_FLASH set when
direct parent of flash is not XSPI but only the parent of the flash-
controller.
Signed-off-by: Thomas Decker <decker@jb-lighting.de>
The work-queue based timing source ignored the interval passed via
.update() and always scheduled using the configured microstep interval.
In single-edge mode the step/dir driver programs the timing source with
half the microstep period to generate the required high/low edges, so
ignoring .update() causes the step toggling rate to be wrong.
Store the timing-source interval on update and schedule work using that
value.
Signed-off-by: Andre Stefanov <mail@andrestefanov.de>
Following recent updates, the bootloader dram segment length must be
increased to compile mcuboot on esp32.
Signed-off-by: Joel Guittet <joelguittet@gmail.com>
The dev-review meeting was discontinued due to lack of interest; remove
references from the contributor expectations document.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Use the zephyr,code-partition chosen node to determine the flash
partition offset for IROM/DROM mapping. This enables Direct-XIP
mode support where the slot1 variant image needs a different flash
offset than slot0.
Falls back to slot0_partition if zephyr,code-partition is not defined,
maintaining backward compatibility with existing configurations.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Somehow I forgot quite a few of the DTS snippets in commit
f4163bbe2c so this hopefully takes care
of the remainder.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Corrects an incorrect transfer size calculation when setting up DMA
transfers with a data size other than one byte.
Signed-off-by: John Batch <john.batch@infineon.com>
* Corrects DMA length calculation when data size is not one byte.
* Corrects incorrect descriptor address assignment in chain operations.
Signed-off-by: John Batch <john.batch@infineon.com>
Commit 6b2f1c19ac changed the lora_signal_bandwidth enum values from
sequential indices (0, 1, 2) to actual kHz values (125, 250, 500).
With the new enum values (125, 250, 500), this causes on loramac-node an
array out-of-bounds access, resulting in undefined behavior and crashes
(USAGE FAULT: undefined instruction).
Fix this by adding a translation function that converts the Zephyr
bandwidth enum values to the array indices expected by loramac-node.
Fixes: 6b2f1c19ac
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Commit 45cde341dc ("drivers: serial: pl011: Allows mixed IRQ
settings.") introduced a bug where PL011_SBSA_CONFIG_PORT defines
the IRQ config function as pl011_irq_config_func_sbsa_##n but
IRQ_CONFIG_FUNC_INIT(n) references pl011_irq_config_func_##n,
causing a compilation error when building for boards with SBSA
UART and interrupt support enabled.
Fix by using the correct function name with the _sbsa_ suffix
in the SBSA config port macro.
Fixes: 45cde341dc ("drivers: serial: pl011: Allows mixed IRQ settings.")
Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
Update the kernel timer docs to specify the differences between the
duration and period of a timer, and specifying that the period of
a periodic timer can be shorter or longer than the specified period,
and that it does not drift relative to the system timer.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Discover IN/OUT endpoint MPS at runtime (HS/FS agnostic).
Robust RX framing: handles header+payload in same read and
multiple frames per read.
Improve repeatability across consecutive runs:
detach kernel driver, clear halt, drain IN.
Add a ZLP-focused stress test:
Meaningful mainly for FS due to 1-byte LEN field.
Add BULK IN stress test
This makes the host tester a reliable regression tool for
MCTP-over-USB endpoint behavior.
Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
Arm the first OUT transfer when class is enabled
so the host's first write can complete.
On disable, cancel worker, drain FIFO, reset RX parser,
and unblock tx_lock if disconnect occurs mid-transfer.
Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
Add optional ZLP after an IN transfer that is an exact multiple of the
endpoint MaxPacketSize. Track outstanding IN completions via in_pending
to release tx_lock exactly once.
Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
Switch RX handling to enqueue completed OUT buffers into a FIFO
and parse them in a worker.
Re-arm BULK OUT immediately to avoid host-side stalls.
Drop zero-length OUT completions without scheduling the worker
Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
Commit 388725870f introduced thread-local
storage support for the ARM Cortex-M architecture. As part of this commit,
".TEXT.*" was added as input pattern for the `text` output section in the
Cortex-M architecture linker script, even though such a pattern is not
found in any other architecture.
I suspect this was done as a workaround for a bug in the very same commit:
a missing `#include` in __aeabi_read_tp.S results in the eponymous function
being placed in section `.TEXT.__aeabi_read_tp` (notice uppercase) instead
of `.text.__aeabi_read_tp`, which would trigger an "orphan section" linker
warning without the modified linker script. Over time, this workaround has
unfortunately allowed the same bug to appear in at least another file...
Realign Cortex-M with all other architectures and stop accepting ".TEXT.*"
as valid input section name for the `text` output section. This can be done
safely since all non-compliant code (in tree) has been fixed.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Functions in assembler file pm_s2ram.S are declared with the usual:
SECTION_FUNC(TEXT, <function name>)
Note the first argument (section name) is `TEXT` in capital letters which
a define in `include/zephyr/linker/sections.h` should replace with `text`,
such that the functions are placed in section `.text.<function name>` which
matches the ".text.*" pattern in linker script. However, this file is not
included by pm_s2ram.S: as such, the substitution never happens and the
functions go in `.TEXT.<function name>` instead! This has not caused issues
thanks to a workaround in the Cortex-M linker script, which also has
".TEXT.*" as input section name pattern (unlike all other archs!), but is a
bug nonetheless.
Fix this issue by adding the missing include which ensures the functions
are placed in sections with the proper name.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>