This new implementation is written from scratch and is not tied to the
image manager and MCUboot. It allows the user to define their own
backend and use a simple macro to instantiate an image. On the USB side
this is represented by an interface. The number of possible images is
configurable using the Kconfig option, and is a fairly inexpensive
approach since it only changes the size of the pointer array. The number
of images is only limited by the number of possible interfaces in a
configuration. The class implementation does not support multiple
instances, as there is no real use for it. However, it does provide two
class instances, one for runtime mode and one for DFU mode. The switch
from runtime to DFU mode can only be performed by the user application,
i.e. the application receives a notification when the host wants to
switch to DFU mode, and then the application can disable the runtime
configuration and enable the DFU configuration. This implementation does
not support switching to the DFU mode by bus reset issued by the
host.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
In the usbd_register_all_classes(), we may need to skip some instances
as they may have very specific function like USB DFU "DFU mode" which
should not be available by default.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
After recent kernel changes there's some thread scheduling race when
running tests, therefore add k_yield() at the end of the test to make
sure the network stack has a chance to run in between tests.
Make sure CONFIG_NET_TCP_TIME_WAIT_DELAY is set to 0 so that TCP
connections are released immediately.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
After recent kernel changes there's some thread scheduling race when
running tests, therefore add k_yield() at the end of each test to make
sure the server thread has a chance to run and do the cleanup.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Propagate device tree configuration for the power amplifier to
the HAL configuration header.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
When the SiSDK HAL was introduced, a corresponding Kconfig option
was not. Update Series 2 SoCs to use the new option.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Enable support for warm reboot for x86 arch as per the Reset Control
Register description.
Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
Add a DEVICE_DT_GET_BY_IDX macro to get a struct device reference for a
phandles node. This can be used directly as an argument of macros such
as DT_INST_FOREACH_PROP_ELEM_SEP.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
nRF boards have a ROM crunch esp. with combined with Matter/networking
features, as the advanced features are not essential for typical Wi-Fi
operation, disable them by default. Individual samples can choose to
enable it.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
yasinustunerg is an ADI employee and has contributed several PRs in ADI
areas, add him as a collaborator.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Explicitly add default trigger mode as none in the kconfig trigger
template for better readability.
Signed-off-by: Mayank Narang <narang.may77@gmail.com>
For the CPU-based drivers, delete the old MCUX based RTIO driver and use
the default RTIO submit implementation instead.
Rationale:
- 300 LOC -> 1 LOC to maintain.
- MCUX SDK based driver cannot control the chip select for the transfer
properly, but the new spi_nxp_lpspi.c driver can. So this fixes the
bug with the PCS when using RTIO.
Also enable the default RTIO implementation for DMA based driver.
In the future a DMA based RTIO driver with custom implementation can be
designed, but for CPU based transfer, which is already not optimal
performance, code maintenance is more important. Only requirement is
asynchronous submit, which is accomplished by p4wq in rtio workq.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Added SOC DTS for MCXW72
Adding BLE required info to MCXW72 dtsi
Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
Add test support for Counter driver of RZ/G3S-SMARC
Signed-off-by: Hieu Nguyen <hieu.nguyen.ym@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Generate a proper Cmake warning when signing tool isn't available.
This also allows not to fail in Github CI.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Update stm32n6 based boards documentation to reflect addition
of new sb variant and how it could be used for twister tests automation.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
On STM32N6 based series, there is no flash available and tests
are performed using load and run in RAM.
From twister point of view, we should consider a flash is available
with the same size as RAM.
(We may tune these values later as the RAM will actually be shared
between code and variables).
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
When flashing STM32N6 in USB-DFU mode, as required when running test
automation using twister, it is first required to power-off/power-on the
board to set board ready for USB-DFU (thanks to specific BootROM
configuration).
Provide a script that performs this operation using STM32CubeProgrammer.
This scipt could be provided in twister map.yaml file on 'pre_script'
property of board entry.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Implement possibility to specify options for --start and --download
arguments.
These options are implemented as lists to better fit STM32CubeProgrammer
programming model.
This options are required to enable the programming of STM32N6 in USB-DFU
mode, which requires "-d my.bin 0x1 -s noack" arguments list.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Allocate only one 'struct sockaddr_storage', instead of two separate
'struct sockaddr_in' and 'struct sockaddr_in6'. This saves some space in
case both IPv4 and IPv6 are used. Additionally it reduced preprocessor
ifdef statements, resulting in more readable code.
This also solves '-Warray-bounds=' GCC warning (reproducible with
'native_sim' and GCC version 14.2.1 on Arch Linux):
In function ‘create_socket’,
inlined from ‘smp_udp_receive_thread’ at \
subsys/mgmt/mcumgr/transport/src/smp_udp.c:242:7:
subsys/mgmt/mcumgr/transport/src/smp_udp.c:205:37: warning: \
array subscript ‘struct sockaddr[0]’ is partly outside array \
bounds of ‘struct sockaddr_in[1]’ [-Warray-bounds=]
205 | tmp_sock = zsock_socket(addr->sa_family, SOCK_DGRAM, \
| ~~~~^~~~~~~~~~~
IPPROTO_UDP);
subsys/mgmt/mcumgr/transport/src/smp_udp.c: In function \
‘smp_udp_receive_thread’:
subsys/mgmt/mcumgr/transport/src/smp_udp.c:170:28: note: \
object ‘addr4’ of size 8
170 | struct sockaddr_in addr4;
| ^~~~~
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
If a blob checksum does not match what is recorded in the
associated module.yml file, `west blobs fetch` should
(eventually) fail.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add "DNM (manifest)" to the "do not merge" labels. This is meant to be a
DNM controlled by the manifest action specific, so that the normal one
can be used by humans and the two are not going to fight with each
other.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add support for xg24_rb4187c to the ADC sample app. Configure two
channels, one measuring the AVDD supply against the 1.21V bandgap
reference, and one measuring pin PB1 (wired to button 0) against
the AVDD (VDDX) reference.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Add overlays for xg24_dk2601b and xg27_dk2602a for the accuracy test.
Update the api test to use named macros for readability.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Make use of ABUS support in the pinctrl driver to allocate
analog buses, rather than hard-coding bus 0 in the ADC driver.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
z_reschedule() already has a check to determine if it is called from
the context of an ISR--no need to duplicate it in k_wakeup().
Furthermore, if the target thread is not sleeping, there is no need
to reschedule and we can do a fast return.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
1. Fixes a performance issue in k_msgq_put() to allow for a fast return
path when handling a poll event does nothing.
2. Allows for a fast return path in k_msgq_purge() when no threads were
awakened.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>