The tolower() function takes an int parameter. LLVM compilers generate a
warning if a char is passed instead.
Signed-off-by: Keith Short <keithshort@google.com>
A couple of tests were inconsistent with glibc and picolibc.
Significant rework done to the `fnmatch()` implementation which included
refreshing that and the `rangematch()` implementations from commit
0a3b2e376d150258c8294c12a85bec99546ab84b
in https://github.com/lattera/freebsd
Removed `match_posix_class()` and implemented that functionality as
`rangematch_cc()`, which uses 64-bit integer comparison for matching
`[:alnum:]` et al instead of string comparison. That likely only works
for the "C" locale.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Signed-off-by: Harun Spago <harun.spago.code@gmail.com>
(cherry picked from commit de2d0c9563)
A regression in 936d0278bd introduced a
subtle bug in the way that escaped expressions were handled.
The regression originated with the assumption that test data (originally
adapted from a 3rd-party testsuite) was correct when it was in fact
flawed.
Specifically, `fnmatch("[[?*\\]", "\\", 0)` should fail (`FNM_NOMATCH`),
since the "\\" sequence (a single backslash after compilation) escapes
the following ']' character, thus leaving the bracket expression
incomplete.
As @keith-packard has pointed out,
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/\
V3_chap02.html#tag_18_13_01 says that a bracket expression is only
interpreted as a bracket expression, when a proper bracket expression
is formed.
Therefore, the pattern is interpreted as the sequence
`'['`, `'['`, `'?'`, `*` (wildcard), `']'` and the call should return
`FNM_NOMATCH` to indicate failure rather than 0 to indicate success.
Added new test cases from #98827 and some commentary for subsequent
reviewers.
This change does not completely fix#55186 but is related to it.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
(cherry picked from commit 637080e7ec)
Add the functions below to the minimal libc ctype.h since they are
missing, and are required as of C89 (C99 for `isblank()`)
* `isblank()`
* `islower()`
* `ispunct()`
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
A review comment in the PR below requested that unnecessary casts were
removed from ctype.h in the PR below.
https://github.com/zephyrproject-rtos/zephyr/pull/99451
Tested with manual compilation in C and C++ mode with the arguments
```shell
gcc -Wconversion -Werror -Wall -Wextra -Wint-conversion
clang -Wconversion -Werror -Wall -Wextra -Wint-conversion
gcc -Wconversion -Werror -Wall -Wimplicit--Wextra
clang++ -Wconversion -Werror -Wall -Wextra
```
and also with `-- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y`
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Based on review feedback, it was suggested to express ctype
character checks in a more direct fashion, rather than using
arithmetic, and allow the compiler to optimize as it sees fit.
https://github.com/zephyrproject-rtos/zephyr/pull/99451#\
discussion_r2530339430
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The "check warns" workflow in CI warned over the use of `unsigned` as a
shorthand for `unsigned int` in several locations in
`lib/libc/minimal/include/ctype.h`.
```
UNSPECIFIED_INT: Prefer 'unsigned int' to bare use of 'unsigned'
File:lib/libc/minimal/include/ctype.h
```
Adjust `unsigned` to `unsigned int` to avoid linter warnings.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Sync up the doc-build toolchain in the branch to only use the arm one,
should save some disk space on backport PRs.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
OTGHS using the USBPHYC on STM32F723 and some STM32F730 requires
special clock configuration to work.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
OTGHS using the USBPHYC on STM32F723 and some STM32F730 requires
special clock configuration to work.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Verify that dns_unpack_name() generates a valid DNS name when unpacking
records and that it returns an error in case of overflow.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit 7a9ca8e410)
As the loop unpacking the DNS name from records checks the current
label length on each iteration, it's also needed to update the remaining
buffer length on each iteration, otherwise the buffer length checks
doesn't work as expected.
Additionally, the remaining buffer checks while technically worked, they
were conceptually wrong and unintuitive. The buf->data pointer doesn't
move, so comparing against this pointer when adding new labels doesn't
make sense. It's more intuitive to simply compare the label size vs
the remaining buffer space.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit 7bd45cd39b)
Temporarily disable running the user stack tests on mps2/an385 to
unblock ci issues reported in #98494.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
(cherry picked from commit 2408b808d2)
Fixes#97473 by:
- Marking the test as passed if the hardware executes user threads for a
while without triggering a stack corruption, instead of waiting
indefinitely.
- Adding a timeout to ensure the test exists gracefully if the issue is
not reproduced.
Also fixes a stack corruption issue on QEMU targets, caused by
insufficient stack size and revealed by the timer change.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
(cherry picked from commit a55053b216)
Fix the issue regarding passing the TRNG peripheral instance to the driver.
Increase the SYSTEM_WORKQUEUE_STACK_SIZE when CONFIG_BT is set.
According to the log of thread analyzer for beacon sample, 1048 bytes
are needed. So, it's been increased to a safer value.
Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
(cherry picked from commit 7a593ede3e)
Exclude the WB0x series from discarding data 12 times from the RNG data
register.
Add a comment to the recover_seed_error function explaining the reason
for reading and discarding data from the RNG data register 12 times.
Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
(cherry picked from commit 57ebf79d87)
Fix the TRNG driver issue regarding non-stop ISR firing for STM32WB09 by
clearing RNG_IRQ_SR_ERROR_IRQ flag.
Fix a typo related to a function input parameter.
Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
Add test cases that respective ICMPv4/ICMPv6 handlers are not called for
packets where address family doesn't match (i.e. malformed ICMPv4 packet
imitating ICMPv6 one).
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit 486e8247c6)
Check the address family of the packet before passing it to a ICMP
handler, to avoid scenarios where ICMPv4 packet is paseed to a ICMPv6
handler and vice versa.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit 587d9e6a4a)
When alloc the evt buffer,such as the adv report, only compare the
remaining data len, should aslo consider the hdr_len, because the
hdr also copy to alloced buffer.if not consider the hdr, then
hdr + remaining data may larger than alloced buffer, because the
alloced buffer is not enough,then will assert when receive the
remaining data.
Signed-off-by: Guotao Zhang <guotao.zhang@nxp.com>
(cherry picked from commit ec970a635e)
LVGL already provides an implementation wrapping a C standard library into
its own lv_* functions. Add them to the CMakeLists and set the appropriate
defines for them.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
(cherry picked from commit 076994f492)
Use the privileged stack when starting K_USER threads in arch_new_thread().
Threads entering user mode with k_thread_user_mode_enter() keep their
existing flow. To support both cases, z_arm_userspace_enter() now takes an
internal ABI flag (sp_is_priv) indicating whether PSP already points to
the privileged stack.
Also fix calculation of the privileged stack top: use priv_stack_end
directly instead of priv_stack_start + CONFIG_PRIVILEGED_STACK_SIZE, which
failed to account for guard/FPU offsets applied to priv_stack_start.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
(cherry picked from commit 0438b9f29e)
For devices other than the stm32h745/747/755/757 that use
dual-core cortex-M4/cortex-M7, do not multiply flash
controller size by 2. Single-core stm32h7x devices define
their flash-controllers dtsi as a single area, not two banks.
Use the presence of the bank2-flash-size prop to determine if
this is a dual-core stm3h7x or not.
Signed-off-by: Rory Piper <rory.piper@signal-fire.com>
(cherry picked from commit ea1245eb92)
Due to the alignment and granularity requirements of memory allocation,
setup->wLength is shorter than the allocated buffer size.
This lead to responses larger than what the host requested, which it
rejected. Fix it by using the minimum between the allocated size, the
struct size, and the wLength requested.
Signed-off-by: Josuah Demangeon <me@josuah.net>
(cherry picked from commit 366c64eca0)
Some OSes like MacOS use shorter UVC 1.1 probe/commit messages even when
UVC 1.5 is supported, without bUsage, bBitDepthLuma, bmSettings,
bMaxNumberOfRefFramesPlus1, bmRateControlModes bmLayoutPerStream.
Accept messages of arbitrary size to safely be processed, ignoring all
missing fields, improving standard compliance.
Signed-off-by: Josuah Demangeon <me@josuah.net>
(cherry picked from commit ed9327dec2)
Move the Ethernet API v1 Initialization in eth_init_api_v1()
helper function to match the V2 implementation.
Signed-off-by: Julien Racki <julien.racki-ext@st.com>
Fix the init call order for V2 API to be able to configure PTP
as PTP initialization happens before iface initialization.
Signed-off-by: Julien Racki <julien.racki-ext@st.com>
This commit updates the function to only set output-related flags
(GPIO_OUTPUT_INIT_HIGH, GPIO_OUTPUT_INIT_LOW) when the pin
is actually configured as output. For input pins, only GPIO_INPUT and
other relevant flags are set.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
(cherry picked from commit e803a10b91)
The increased complexity of the LVGL code now overruns the 4 KiB stack
of the main thread. Increase it to 6 KiB to fix the error.
Fixes: #94473
Signed-off-by: Detlev Zundel <dzu@member.fsf.org>
(cherry picked from commit e05a272817)
Combine the load and noload cache regions for a single MPU aligned block.
This is required to have an MPU region with a size that is a power of 2.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
(cherry picked from commit 8f7908694a)
Commit f9168ae464 made all non-cached memory
loadable by default.
However as nocache memory is typically used for reserving larger buffers to
be shared between peripherals, this comes at fairly large cost towards ROM
usage.
This commit creates two distinct sections for both loadable and
non-loadable nocache memory sections.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
(cherry picked from commit 294f7e52c5)
Commit 39cb574 changed the log level from LOG_DBG to LOG_ERR in
bt_le_adv_resume(). This causes the error log
"No valid legacy adv to resume" to appear during normal connection
establishment when using bt_le_ext_adv_start(), even though the
system is functioning correctly.
Revert the change to restore the original LOG_DBG level.
Fixes: #94954
Signed-off-by: Samuel Tsai <stsai@atmosic.com>
(cherry picked from commit 07dc0ad40d)
In case FIN packed also acknowledged most recently sent data, not all
ack-related TCP context variables were updated, resulting in invalid SEQ
number values sent in consecutive packets.
Fix this by refactoring the FIN handling in TCP_ESTABLISHED state.
Instead of having a separate block strictly for FIN packet processing,
let the packet be processed by common code responsible for regular
data/ack processing. This should be less error-prone for any future
modifications or not-yet-discovered issues. Only after the common
processing of data/ack is done, we check whether FIN flag was present in
the packet, and mark the connection for closing.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit 178150590c)
Add a test case for a scenario where the final data sent by one peer is
acknowledged in the FIN,ACK response from the other peer. Verify that
the acknowledgment is handled correctly, and a consecutive sequence
number sent by the TCP stack in such case is set correctly.
This complements the other existing test for FIN packet handling, which
verified that data received in a FIN packet is handled correctly. With
those tests in place it should be safer to update any logic related to
FIN packet handling.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit 99b435788e)
TCP context cannot operate w/o a TX packet for buffering transmitted
data. So far this net_pkt was allocated at runtime from the common
packet pool, but this created some not-obvious memory requirement on TCP
and could lead to TX packet starvation in case many TCP connections are
open in parallel. Therefore, allocate this packet structure statically,
as a part of the TCP context instead.
This increases the memory requirement of the TCP context by ~64 bytes,
however if that's a concern for the application, the maximum number of
TX packets can be lowered instead. In return, we get a clear separation
between the number of TCP connections opened, and the amount of packets
that can be transmitted.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit eda76ad21b)
Add helper function to initialize externally allocated TX packet. It's
especially important to configure net_buf slab for the packet so that
net buffers are allocated from a correct pool for the packet.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit b8c7984099)
Using net_pkt for TCP out-of-order recv queue was an overshot, as the
mechanism mostly used net_buf operations directly anyway. It can be
easily replaced with a direct net_buf pointer, so that it's not longer
needed to hog one net_pkt per TCP context anymore.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit aca511c91f)
Initialize the privilege stack and switch PSP to it early in the SVC
handler to ensure `z_arm_do_syscall` does not start on a user-accessible
stack frame.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
(cherry picked from commit 319c697286)
`west build` does not build the `empty_cpu0` application making
`west build -b mps2/an521/cpu1 -t run` fail because of the missing
empty_cpu0's binary.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
(cherry picked from commit 52151d0b23)
Introduce a test to overwrite the return address in the exception
stack frame of a lower-priority thread performing an SVC call.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
(cherry picked from commit f80bef31ef)
If we have allocated a TCP connection, and if after that
we get an error like EADDRINUSE, then we must de-allocate
the TCP connection otherwise there is a buffer leak.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
(cherry picked from commit 909710b598)
Adds a dependency that causes CMake to re-configure if the input
key files for MCUboot signing/encryption have changed
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
(cherry picked from commit 271dbb4015)
Exclude STM32F7 SoC series from PM support since that SoC doees not
yet manage power management in Zephyr and HAL API functions
LL_I2C_EnableWakeUpFromStop() and LL_I2C_DisableWakeUpFromStop()
are not implemented in the H7 HAL/LL drivers.
This change ports into the STM32 RTIO driver the change made in the
non-RTIO driver through commit 1804eb7bc3 ("drivers: i2c: stm32:
exclude stm32f7 family for PM").
Back ported from commit 5ff3dbeeee ("drivers: i2c: stm32: exclude
stm32f7 family for PM in RTIO driver").
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Always call pm_device_runtime_get() when registering a target
even if the device is not wakeup capable to prevent I2C target not being
function if the device goes into a SoC Stop mode.
This change ports into the STM32 v2 RTIO driver the change made in the
non-RTIO driver through commit 67f80e35b8 ("i2c: stm32: always call
runtime_get when registering targets").
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
(cherry picked from commit 181e544550)
This commit updates ZEPHYR_SDK to point to the Zephyr SDK 0.17.4 release.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 59a5909abb)
This commit updates the CI workflows to use the CI image v0.28.4, which
includes Zephyr SDK 0.17.4.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
(cherry picked from commit 13ba04fd1f)
With commit d280d89 the gpiof port got moved from file stm32u5.dtsi to
file stm32u5_extra.dtsi. stm32u5_extra.dtsi is not included for
STM32U535/545. In same file stm32u5.dtsi still node wkup-pin@8 references
non-existent port gpiof.
Fixes#93445
Signed-off-by: Andreas Schmidt <andreas.schmidt@dormakaba.com>
(cherry picked from commit 528ab9d9c2)
Currently this directive is not supported in EWARM 9.70.1,
it will be in future versions, but we want Zephyr 4.2
to work with IAR EWARM 9.70.1.
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
(cherry picked from commit fa165da667)
Replaces the check-then-create pattern for symlinks with
opportunistic creation. Instead of checking for existence
before creating the symlink, the code now attempts to
create it directly and gracefully handles the case
where it already exists.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
(cherry picked from commit dff24c8c00)
We're trying to re-synchronize picolibc bits across Zephyr and the Zephyr
SDK. At this point, SDK 0.17.3 is missing some minor updates found in the
module and the module is missing a commit from the SDK.
Signed-off-by: Keith Packard <keithp@keithp.com>
When fs_stat() queries the root / mountpoint it should return its root
i_node but instead it tries to return the parent i_node which does not
exist. Fix this by checking if parent is set otherwise return the root
i_node.
Fixes https://github.com/zephyrproject-rtos/zephyr/issues/94000.
Signed-off-by: Bas van Loon <bas@arch-embedded.com>
(cherry picked from commit 1dcf123e2d)
The Locally Administered Address (LAA) bit should be set on the first
octet of the MAC address.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
(cherry picked from commit f1b4c7c992)
The MAC addressed derived from the device ID is not assigned by the
manufacturer and therefor the Locally Administered Address (LAA) bit should
be set.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
(cherry picked from commit 300016c801)
Commit f499ea0 made it so that the compiler optimization flags are also
passed to the assembler. However, this breaks for the IAR toolchain
since it uses the GNU assembler which does not have the same
optimization flags as the IAR compiler.
This commit separates the compiler and assembler optimizations to make
it possible to specify appropriate flags in a toolchains corresponding
`compiler_flags.cmake`
Signed-off-by: Daniel Flodin <daniel.flodin@iar.com>
(cherry picked from commit a4b66f9214)
Use DT_NODE_HAS_COMPAT_STATUS to skip disabled child nodes. This
avoids build errors when setting a RAM type to 0 banks.
Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
(cherry picked from commit 169b47ce38)
Restore setting the ppp link-local address either to CONFIG_PPP_MAC_ADDR or
to a random value 00:00:5e:00:53:XX instead of leaving it uninitialized.
Recently the memory handling for the link-layer addresses was changed from
an approach of copying pointers to managing the memory as a member of the
`net_linkaddr` struct (ref ac3cb9dac0).
The piece of code this patch touches however, relied on the use of the
pointers to function properly.
With the recent change, the MAC address was copied to the new member
location before it was even set (either from Kconfig or selected randomly).
As a result, the link-layer address was kept initialized to zero, which
resulted in a IPv6 address of fe80::ff:fe00:0 which is exactly the
link-local EUI-64 representation of the MAC address 00:00:00:00:00:00
(without flipping the "universal/local" bit).
Signed-off-by: Marc Lasch <marc.lasch@husqvarnagroup.com>
(cherry picked from commit 15048337c4)
Several tests failed due to a low clock frequency for
the RNG peripheral.
Increase the RNG clock frequency by providing MSIK with
96 MHz as the domain source.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
(cherry picked from commit ac733b1ae9)
Shell functions targeting regulator parents used the auto-completion of
regulator devices instead.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
(cherry picked from commit 576b3daffa)
High speed support has been broken for the max32 driver since commit
faeabc63c9.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
(cherry picked from commit a4c757adc2)
The requested SPI clock rate and the actual rate that is set can be
different depending on the peripheral clock and divisors available to
the SPI peripheral. For some MAX32 SoCs, actual rate ended up being
higher than the devicetree setting. This would then cause latency tests
to fail as transfers finish earlier than minimum expected duration.
Update the test frequency values in several MAX32 board overlays to pass
latency tests.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
(cherry picked from commit 3de5883fc1)
spi_configure was returning HAL error codes that are incompatible with
Zephyr error definitions straight back to the caller. Replace these with
error codes that Zephyr can correctly interpret.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
(cherry picked from commit edc9ff951d)
Driver was not handling SPI word sizes other than 8 bits. Apply DFS
shift wherever necessary to support non 8-bit transfers.
DMA mode cannot support word sizes that are less than 8 bits so return
-ENOTSUP if word size less than 8-bits is required.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
(cherry picked from commit f47449e7e9)
Add test verifying that if keep-alive messages are exchanged, the
connection remains alive.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit dcbd1ed5fc)
Keep-alive probes have seq number set to SND.NXT - 1 and may or may not
contain an octet of data. The latter case was not handled properly
therefore add a special case when validating seq number to response to
keep-alive probes.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
(cherry picked from commit d93c5d6072)
Remove build warning when building the posix_arch_console driver with
CONFIG_PRINTK=n and CONFIG_STDOUT_CONSOLE=n.
Fixes: #93790
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
(cherry picked from commit 3eedebe031)
disable debug in general as it is too verbose and hides test output.
However, this now fixes an issue in the test itself after 4.2 release.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
(cherry picked from commit 94e0e5ae85)
In lis2dux12_freq_to_odr_val, the loop through the array of possible ODR
frequencies can break sooner than expected if power-mode is
set to High Performance mode and the requested ODR is less than or
equal to 25Hz.
Moreover, move the "odr |= 0x10" statement used for HP mode in the
chip_api set_odr_raw() API, so that we enter the HP mode even when the
ODR is set from DT only.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
(cherry picked from commit 0d38a88666)
Prevent disabling OTG HS and USBPHY clocks
during sleep on STM32U5 series
Disabling these clocks during sleep mode
was causing USB device initialization issues
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
(cherry picked from commit 8b355e9306)
Prevent disabling OTG HS and USBPHY clocks
during sleep on STM32U5 series
Disabling these clocks during sleep mode
was causing USB device initialization issues
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
(cherry picked from commit d4b2808b68)
If `desired_delay_ns` is `0`, it is much saner to set the delay to `0x00`
than to underflow and set it to `0xff`, which is the current behavior.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
(cherry picked from commit 860f9c8ef5)
The can_nrf device driver incorrectly passes its own device
driver pointer to a call to clock_control_get_rate() to get the
rate of the auxpll. The actual device driver which should be passed
to clock_control_get_rate() is the auxpll.
Without this fix, the call jumps to the can_nrf_api and returns
garbage (unfortunately it does not hardfault, which is why this
issue has not been discovered yet).
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
(cherry picked from commit f5ee52ecf3)
Interrupt vectors for lpuart1 and lpuart2 are swapped according to the
reference manual RM0503 table 54.
Fixes the usage of the interrupt-driven uart API.
Signed-off-by: Axel Utech <utech@sofiha.de>
(cherry picked from commit 4664f600d6)
Nicla Vision datasheet is referring to the 8-bit wire address (0x52) for
the VL53L1X sensor, so that's likely what ended up being used in the
board's devicetree. However, it's the 7-bit I2C address that should be
used so fix that by changing the I2C address to 0x29. Successfully
tested on actual hardware.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
(cherry picked from commit a663b2b374)
Add a missing newline to fix the formatting of the LoRaWAN entry.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
(cherry picked from commit 4867d45647)
Update security policy documentation to indicate 4.2 is the latest
version, and drop 4.0 from the supported versions
Signed-off-by: Dan Kalowsky <dkalowsky@amperecomputing.com>
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
Enforce sorting of entries, using zephyr-keep-sorted. This will make
sure that entries don't get out of order again within the release notes
or migration guide by throwing a compliance error.
Note that autogenerated areas do not have this enforcement enabled.
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
Clean up order of entries in the migration guide to be alphabetical.
Combine two duplicate regulator sections, and move driver sections
mistakenly placed under networking where they ought to be.
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
Clarify the introduction of st,stm32-ethernet-controller compatible
so that reader could not understand that this is the introduction of
STM32 ethernet (while it is only dts shenanigans).
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Make it possible to cross reference documentation for various harnesses
by adding target locations.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add note in release notes for v4.2 about de-deprecation of
CONFIG_CONFIG_UART_x_NRF_HW_ASYNC option.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Enhanced RX cannot be used when UART_x_NRF_HW_ASYNC is used so changing
default value to depends on.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
In certain configurations timeout field is not present in the
data structure so preprocessor ifdef must be used instead of
compiler check.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add a note about STM32 boards TF-M BL2 bootloader that do not embed
HW crypto drivers since migration to TF-M v2.2.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
This commit updates the maintainer check workflow to use the zephyrbot "PR
assigner" token with `org:read` permission because the default workflow
token is not able to retrieve organisation-level user membership
information.
Note that the workflow trigger condition is changed from `pull_request` to
`pull_request_target` because non-workflow secrets may not be accessed from
`pull_request` trigger for security reasons.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit updates the pull request assigner workflow to use the zephyrbot
token instead of the workflow token.
Note that the workflow token, by design, cannot access the
organisation-level user membership information, and may cause the assigner
script to return `Skip 'user': not in collaborators` even for valid
collaborators.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
The RP2040 datasheet link in the rpi_pico board documentation was broken.
It has been updated to point to the correct location.
This change ensures consistency and prevents confusion, while keeping the
useful reference to the official RP2040 documentation.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
The recommended back-end depends on the use case. There exists another note
(recommendation) in doc/services/storage/settings/index.rst which is up to
date.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
This fixes a typo in the formatting code that caused an exception
if the symlink creation failed.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Following changes in e35ac8f and 14c1b4a to how external Q/OSPI Flash
nodes are declared in DT for boards with STM32 SoCs, FLASH_BASE_ADDRESS
needs to be set manually similar to XSPI Flash, so that it does not
default to (dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH)) which gives 0.
This change is critical for running apps with MCUboot from external
Q/OSPI Flash.
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
Add SPDX Tooling area covering custom west command, zspdx library, and
tests. Add kartben as maintainer, swinslow and pdgendt as collaborators.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The migration guide mentions NET_REQUEST_ETHERNET_GET_QAV_PARAM twice
in a row. One instance should be NET_REQUEST_ETHERNET_SET_QAV_PARAM.
Signed-off-by: Christoph Mair <christoph.mair@husqvarnagroup.com>
Commit a0b746 deleted 2 deprecated driver init levels (EARLY,
APPLICATION), but didn't update the number mentioned in the doc.
Signed-off-by: Nabil Elqatib <nabilelqatib@gmail.com>
Sync with TF-M to fix STM32 platforms TF-M BL2 firmware (issue 92446),
and OTP provisioning build error and various build warnings.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
The variable 'mask' was declared but never used in
uart_sedi_line_ctrl_set().
This commit removes it to clean up the code..
No functional changes.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Update option name s/CONFIG_ETH_NATIVE_POSIX/CONFIG_ETH_NATIVE_TAP/, which
follows recent Zephyr change.
Fixes 78f800642a ("drivers/ethernet/eth_native_posix: Rename to
eth_native_tap")
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Split test configuration code into own class and do parsing in two steps
to get the right context of platforms and scenarios.
Fixeszephyrproject-rtos/zephyr#89774
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The auto-generated features table is used in most of the new boards and
is great to show the features available in different targets in the same
board.
So use it instead of manual tables
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
The IRQ_DIRECT_CONNECT macro eventually uses _Z_ISR_DIRECT_TABLE_ENTRY,
which defines a function. IRQ_DIRECT_CONNECT is meant to be used
inside functions. While nested functions are supported as an extension
in GNU C, the nested function cannot have static storage.
https://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html:
> A nested function always has no linkage. Declaring one with extern or
> static is erroneous.
./scripts/twister -c -s arch.interrupt.gen_isr_table_local.riscv --all
tests/kernel/gen_isr_table/src/main.c: In function
'gen_isr_table_test_build_time_direct_interrupt':
include/zephyr/sw_isr_table.h:197:41: error: invalid storage class for
function '__isr_table_entry_isr1_irq_2'
#define __MK_ISR_ELEMENT_NAME(func, id) __isr_table_entry_ ## func ## _irq_ ## id
^~~~~~~~~~~~~~~~~~
Issue #92194
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Coverity (CID 516253) reported that the return value of
initialize_tx_with_sid_disabled() was set but not used, leading to
potential silent failures.
Check if the return value is negative and propagate the error through the
existing cleanup path.
Fixes: CID 516253
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
When adding new fsbl variant this sample Kconfig overlay was missed
leading to non functional sample on this variant.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
USB_OTG_HS_EMB_PHY macro is always defined, so
`defined(USB_OTG_HS_EMB_PHY)` always results in true. This means that
driver always selected `USB_OTG_SPEED_HIGH_IN_FULL` and never
`USB_OTG_SPEED_HIGH`.
Fix that by checking value of defined macro.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Commit 65471a6095 separated
compiler flags into ASM, C and CXX as those flags may not be
universal to both assembler and compiler. Though, with that
separation, the assembler no longer gets the optimization
flags (e.g. speed/size optimizations). So adds this back so
the assembler can optimize the code if it chooses to. For
example, some instructions can be fused together to result
in small code.
Fixes#92439
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Ensure 'params' is not NULL before accessing its fields.
Prevents possible null pointer dereference when calling
strlen(params->ssid).
Delay access to ssid->ssid and ssid->ssid_len until after null check.
Prevents potential crash if wpa_s->current_ssid is NULL.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Offloaded socket implementations need to create the socket operations
vtable, therefore need access to struct socket_op_vtable. So far this
has been defined in a private header, so implementations needed to add
the header location to the include path in CMake.
Therefore, move struct socket_op_vtable definition to the internal part
of the public socket header, so it's no longer needed to include a
private header. This is also more consistent with the rest of the public
header content, as for example macros needed to register a socket
implementation are already there.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The .rodata_in_data section is produced by MWDT toolchain with -Hccm
option enabled. This option moves read-only data from the executable
memory (ICCM) to the data memory (DCCM), improving performance by
reducing conflicts between instruction fetches and data fetches.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
Deleted a redundant check for 'rpu_ctx_zep' pointer after it was already
dereferenced.
Clarifies code logic in nrf_wifi_get_power_save_config function.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Fix the conditional compilation to use `CONFIG_MBEDTLS_PKCS1_V21`
instead of `CONFIG_MBEDTLS_PKCS1_V15` when enabling `MBEDTLS_PKCS1_V21`.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Wrap K_HEAP_DEFINE to fit within 100-character CI limit and apply
consistent spacing.This is a formatting-only change.
Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
Adds an assertion and runtime log to ensure 'step' is not zero before
using it in division,preventing undefined behavior without modifying
the public API.
Avoids a signature change (void → int) to preserve API stability for
Zephyr 4.2.A more complete solution can be proposed for 4.3.
CID: 444378
Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
Add 4.2.0 release notes for networking and move the PM section which
somehow ended up inside Networking.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Fixed selectors that probably went stale overtime since the custom.css
was adopted from Godot and RTD having evolved in the meantime and that
were causing +/- icons to expand/collapse the navtree to be putting
margins where they shouldn't have.
Fixeszephyrproject-rtos/zephyr#78974
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Another take on zephyrproject-rtos/zephyr#76953.
This uses STRIP_FROM_INC_PATH to make sure #include snippets in the
documentation are not absolute paths and reflect what one would
actually use in their code.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
for DEVICE_PM and DEVICE_PM_RUNTIME, ztest need
hold status like CONFIG_PM, otherwise the following
flash will be blocked for some SOC
Signed-off-by: Hake Huang <hake.huang@nxp.com>
Both bt_le_adv_stop() and bt_le_adv_resume() were logging same
error message. Add aditional context to it so that logs are
distinguishable.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
Fix for CID 529870, where Coverity found an issue where `timespec.tv_sec`
is never greater than `UINT64_MAX / NSEC_PER_SEC` (18446744073).
This is naturally true when `time_t` is only 32-bit, which is actually
never the case for any Zephyr platform aside from `native_sim/native/32`.
When `time_t` is a signed 64-bit value, at some point in the future, but
maybe not in our lifetimes, `timespec.tv_sec` could exceed 18446744073,
since `INT64_MAX > UINT64_MAX / NSEC_PER_SEC`.
We should not see coverity issues errors like this in the future, once we
have a consistent `time_t` representation across all Zephyr platforms.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Fix regression caused by memset() replacement to zero volatile struct.
ESP32-C6 data_buf struct differs from other SoCs and needs custom
handling.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
s/net_if_get_by_ifindex/net_if_get_by_iface/
Fixes: 0e57844b2d ("drivers: wifi: esp_at: Bind DNS to device net
interface")
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Fix amp to milliamp conversion where a 10^4 factor was applied instead
of 10^3.
Adjust existing test cases accordingly (including a small change to one
of the expected RMS values in pm.power_states that either changed
since the test was introduced or was set too aggressively back then).
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
A segmentation fault occurs when a zero initialized struct with a string
field (JSON_TOK_STRING) is encoded. Encode a string null pointer as an
empty JSON string "".
Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
Fixed a problem where the command line option --vla was used
with C++ causing a command line error in the IAR ICCARM compiler.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
clang-tidy reports a bugprone-sizeof-expression warning for
sizeof((__v)) when __v is a pointer type. This is a false-positive
in contexts like logging with %p, where using a pointer is
intentional and expected.
Add a NOLINT comment to suppress the warning in static analysis.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
clang-tidy reports a performance-no-int-to-ptr warning due to the cast
(const char *)(uintptr_t)(v).
Previously, only char * was cast to const char *, but there's no downside
to constifying all pointer types.
This change updates the Z_CONSTIFY macro to apply const consistently,
which even aligns better with its name and resolves the warning.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
The reset commands were sent only in SPI mode, causing the device not to
be properly reset when in QPI mode. On the STM32H747I-DISCO boards, this
was causing the driver initialization to fail due to a bad SFDP magic
after flashing the external memory using STM32CubeProgrammer since the
external loader is configuring the flash memory in QPI mode.
The commands are sent in QPI mode first, then in SPI mode:
- If the flash memory was in QPI mode, the two first reset commands are
processed and after reset, the flash memory is in SPI mode and
correctly handles the SPI mode reset commands.
- If the flash memory was in SPI mode, for each QPI command the chip
select signal will be released before the flash memory had the
opportunity to receive a whole command (1 byte), so the partially
received commands will be ignored and won't cause any harm. Then, the
chip is reset by the commands sent in SPI mode.
Signed-off-by: Thomas Altenbach <altenbach.thomas@gmail.com>
Add a workaround which sets the isolation level to 2 in CMake.
The TF-M tests require the large TF-M profile because it supports
the full list of crypto algorithms needed, not because of the
solation level.
For the TF-M tests the isolation level is irrelevant so we
set it to 2 here so that we don't exclude the platforms which
don't support the isolation level 3.
I communicated with a TF-M maintainer and he informed me that this
workaround will be included in the TF-M 2.2 release branch later
so this is a short lived workaround that can be reverted when the
relevant commit from the TF-M branch is cherry-picked.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
This is not really high priority to support and is disrupting test
reporting, for now just hotfix the test by returning that this is not
supported, it's not really necessary anyways, there's multiple ways to
call the API to achieve the same effect.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
There is really no need for this header file at all besides if
there is a requirement to be annoying.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
This data update returns an error, we should propogate it where it is
called if there is an error returned.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The transfer must be aborted before clearing the status flags otherwise
they will be set again before the transfer is aborted and stay set
causing infinite interrupt.
Also, elevate the log message to error level and give it actual useful
information. The "flag" being logged before literally just is a bit that
says if there is an error or not, which we already know by virtue of
handling an error. The channel error status has actual details about
what was the reason of the error. Also this status should be reported
before the transfer is aborted to get the right status.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Adhere to Programming Guide with regards to when the DIEPCTL0.CNAK is
set. This allows the driver to survive abusive control transfers with
extremely short host timeouts.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
For unclear reason yet, cache activation on PSRAM causes stability issues
when using LTDC.
Disable cache for now.
We'll re-enable once the issue is better understood and fixed.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Some of the locks are created in supervisor mode (i.e. stdout one),
but should be accessed from user mode too. Unfortunately, there is
no way to distinguish these locks, so grant the access to all of them
as the actual reads and writes should end up as syscalls anyway.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
The ARC MWDT C library puts some constructors into .ctors section
to initialize its internal stdio locks. Enable the initializers
to make sure these constructors are actually executed.
Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
Use :c:func:`xxx` and :c:type:`xxx` when applicable, as well as reword
a deprecation to make the replacement appear.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Fix issues with Doxygen 1.14 and dark theme. Upstream PRs to
doxygen-awesome will be submitted in parallel.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Correct not resetting compression extension,
when checking for an uncompressed file,
in case if compression is enabled, but no compressed file found.
Signed-off-by: Andrey Dodonov <Andrey.Dodonov@endress.com>
In order to make it easier for folks to discover available twister
options when using/searching the documentation, or when making external
search in their favorite search engine, inline the output of
`twister --help` into the docs so as to have an always up-to-date
and searchable snapshot of it.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
With the four-channel-capture-support property enabled, the STM32 PWM
driver was missing every other frames during PWM capture.
The counter values are now reset just after getting the pulse and the
period of the cycle, instead of waiting the next interrupt to do so, and
thus missing a cycle.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
According to CoAP RFC (7252, ch. 4.2), Reset cannot be sent in a
response for an ACK reply, rejected ACKs should be silently ignored
instead. Therefore, in case an unrecognized response is received, verify
the response type before sending Reset.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The 'sys' argument in clock_control_renesas_ra_get_rate() is unused and
has been removed to clean up the implementation.
This also aligns with the function's actual behavior and eliminates
misleading validation logic.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Function spi_context_release reads the content of ctx->config without
checking first if it is set. In many drivers (including STM32), when a bad
configuration is made for the first transaction, ctx->config is not set,
and spi_context_release is called, resulting in hard fault.
This commit adds a check that ctx->config exists before reading it to
avoid this problem.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Add a new promptless Kconfig symbol (INSECURE). This symbols must
be selected by any setting which is used to enable an insecure
feature.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
Fixed a bug where unconfigured clocks were connected to the can
interface in the device tree for SAM0, causing the interface to work
incorrectly. Fixed by adding the correct index when calling GENCTRL.
Also, the default divider has been reduced to 6 to allow setting
the bitrate to 500 kbps.
Tested on a canopennode sample on a board with an ATSAMC21E18A
microcontroller.
Signed-off-by: Vitaliy Livnov <vitaliy.livnov@devkit.agency>
Move the call to prepare_regulator_voltage_scale()
before PLL setup in clock_stm32_ll_h7.c.
This ensures the voltage regulator is configured
to the appropriate voltage scale before increasing
the system clock frequency via PLLs.
Without this change, the system configuration
may be out of spec.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
This introduces the release notes and migration guide for Zephyr 4.3.0
earlier so that people have a placeholder to start adding content as
they line up pull requests for the 4.3 release.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
The ieee802154_radio_send() function does not decrease reference counter
of the net_pkt, it's instead done one layer above in ieee802154_send().
This commit updates the mgmt functions using ieee802154_radio_send() to
always free the used net_pkt afterward.
Signed-off-by: Simon Piriou <spiriou31@gmail.com>
Coverity reported a memory - illegal accesses when using memset in
ataes132a_aes_ecb_block(). This can happen when the input block is
exactly 16 bytes: memset(¶m_buffer[19], 0x0, 0) is called. But this
is an undefined behaviour in C even if size is 0, as ¶m_buffer[19]
is an invalid pointer.
The fix consists of simply skipping memset() in this case, since there's
nothing to zero out.
Coverity CID: 434642
Signed-off-by: Loic Domaigne <tech@domaigne.com>
When the QSPI is used in dual flash mode, e.g. on the STM32H747I-DISCO
board, only the first flash memory was reset and configured in 4-byte
addressing mode. This was in particular causing data to be incorrectly
read from the second flash memory and only even bytes were valid during
a read.
The dual flash mode was only enabled after reading the SFDP table since
it is desired to read the table of only one flash memory, not both.
This commit changes the driver to only disable the dual mode temporarily
while reading the SFDP table, ensuring all other commands and in
particular configuration commands are sent to both flash memories.
Signed-off-by: Thomas Altenbach <altenbach.thomas@gmail.com>
IUT works as an RFCOMM Client. The peer device, RFCOMM server, is a PC
running bumble.
Add following test cases:
Case 6, RFCOMM MTU Size Data Send/Receive Test. To verify that the RFCOMM
client can correctly send and receive data packets that are exactly equal
to the negotiated MTU size.
Case 7, RFCOMM Data Transfer Exceeding MTU Size Test. To verify that the
RFCOMM client can reject sending and receiving data packets that exceed
the negotiated MTU size.
Case 8, RFCOMM Disconnect and Reconnect Test. To verify that the RFCOMM
client can properly handle a normal RFCOMM disconnection and successfully
reestablish the connection.
Case 9, RFCOMM Recovery After ACL Disconnection Test. To verify that the
RFCOMM client can properly recover when the underlying ACL connection is
abruptly disconnected, by reestablishing both ACL and RFCOMM connections.
Signed-off-by: Jiawei Yang <jiawei.yang_1@nxp.com>
IUT works as an SM Initiator/Responder. The peer device,
SM Responder/Initiator, is a PC running bumble on it.
Add shell commands to create and manage L2CAP server and channel with
different security level.
In the test suite, there are 5 test cases. The test matrix combines
each bonding flag:
| Test Case ID | Initiator | Responder | Expected Result |
|--------------|-----------|-----------|-----------------|
| BR_SM_Bonding_INIT_001 | Non-bondable | Non-bondable | Pass |
| BR_SM_Bonding_INIT_005 | General Bonding | General Bonding | Pass |
| BR_SM_Bonding_RSP_010 | Non-bondable | Non-bondable | Pass |
| BR_SM_Bonding_RSP_011 | General Bonding | Non-bondable | Fail |
| BR_SM_Bonding_RSP_014 | General Bonding | General Bonding | Pass |
Signed-off-by: Can Wang <can.wang@nxp.com>
IUT works as an SM Initiator/Responder. The peer device,
SM Responder/Initiator, is a PC running bumble on it.
Add shell commands to create and manage L2CAP server and channel with
different security level, reboot the board, and transfer data on the
SDP channel.
In the test suite, there are 28 test cases to verify SMP functions.
The test case list is:
- BR_SM_INIT_001: Basic Pairing with No Input No Output Capability
- BR_SM_INIT_002: Pairing with Display Only Capability
- BR_SM_INIT_003: Pairing with Keyboard Only Capability
- BR_SM_INIT_005: L2CAP Connection Failure After Successful Pairing
- BR_SM_INIT_006: L2CAP Server with Incoming Connection
- BR_SM_INIT_008: ACL Disconnection During Pairing
- BR_SM_INIT_011: Repeated Pairing Between Same Devices
- BR_SM_INIT_012: Security Level Escalation
- BR_SM_INIT_013: Multiple Channel Establishment
- BR_SM_INIT_017: Pairing Rejection by Remote Device
- BR_SM_INIT_018: Pairing Timeout
- BR_SM_INIT_021: Authentication Failure during Pairing
- BR_SM_INIT_022: Secure Connection vs. Legacy Pairing Fallback
- BR_SM_INIT_025: Rejection of Weak Pairing Methods
- BR_SM_INIT_028: Reconnection After Key Deletion
- BR_SM_INIT_029: Pairing with Delayed Response
- BR_SM_INIT_030: Stress Testing with Multiple Connect/Disconnect Cycles
- BR_SM_INIT_032: Power Loss Recovery
- BR_SM_INIT_034: Pairing During Active Data Transfer
- BR_SM_INIT_035: Pairing with Very Long PIN/Passkey
- BR_SM_INIT_037: Pairing with Peripheral Requesting Maximum Key Size
- BR_SM_INIT_039: Security Level Downgrade Attempt
- BR_SM_RSP_001: Basic Non-bondable Pairing with No Input No Output
- BR_SM_RSP_002: Display Only with Secure Connection
- BR_SM_RSP_003: Keyboard Only with Dedicated Bonding
- BR_SM_RSP_006: Security Level Enforcement
- BR_SM_RSP_008: L2CAP Connection with Security Level 1
- BR_SM_RSP_009: L2CAP Server with Security Level 2
Signed-off-by: Can Wang <can.wang@nxp.com>
IUT works as an SM Initiator/Responder. The peer device,
SM Responder/Initiator, is a PC running bumble on it.
Add shell commands to create and manage L2CAP server and channel with
different security level.
In the test suite, there are 10 test cases. IUT is configured
with Secure Connections Only Mode. The peer device is configured with
Secure Connections Mode or Legacy Mode. The test matrix is:
| Case ID | Secure Connection Option | Security Level | Expected Result |
|---------|--------------------------|----------------|-----------------|
| BR_SM_SC_INIT_005 | SC Only with SC | Level 4 | Pass |
| BR_SM_SC_INIT_006 | SC Only with SC | Level 1 | Fail |
| BR_SM_SC_INIT_007 | SC Only with SC | Level 2 | Fail |
| BR_SM_SC_INIT_008 | SC Only with SC | Level 3 | Fail |
| BR_SM_SC_INIT_009 | SC Only with Legacy | Level 3 | Fail |
| BR_SM_SC_RSP_005 | SC Only with SC | Level 1 | Fail |
| BR_SM_SC_RSP_006 | SC Only with SC | Level 2 | Fail |
| BR_SM_SC_RSP_007 | SC Only with SC | Level 3 | Fail |
| BR_SM_SC_RSP_008 | SC Only with SC | Level 4 | Pass |
| BR_SM_SC_RSP_009 | SC Only with Legacy | Level 3 | Fail |
Signed-off-by: Can Wang <can.wang@nxp.com>
IUT works as an RFCOMM Server. The peer device, RFCOMM Client, is a PC
running bumble on it.
Add shell commands to create and manage RFCOMM server with different
flow control mechanisms.
In the test suite, there are seven test cases:
Case 1: RFCOMM Server - Reject RFCOMM Session. IUT should properly
reject incoming RFCOMM session when BR connection is disconnected.
Case 2: RFCOMM Server - Forward compatible with Bluetooth devices that
do not send PN command. IUT should properly handle this case and use
FCON/FCOFF as flow control.
RPN, Test) and send NSC responses
Case 3: RFCOMM Server - Respond to Control Commands After DLC
Establishment. IUT should properly respond to control commands (RLS,
RPN, Test) and send NSC responses.
Case 4: RFCOMM Server - Information Transfer with Aggregate Flow
Control. IUT should handle information transfer with aggregate flow
control and properly issue flow control signals.
Case 5: RFCOMM Server - Information Transfer with Credit Based Flow
Control and Active Disconnection. IUT should handle credit-based flow
control and actively disconnect DLC.
Case 6: RFCOMM Server - Information Transfer with Credit Based Flow
Control and Passive Disconnection. IUT should handle credit-based flow
control and respond to DLC disconnection.
Signed-off-by: Jiawei Yang <jiawei.yang_1@nxp.com>
fix ulpm driver polarity issue.
when pin-pol set to falling need to set the POL bit to 1.
when pin-pol set to rising need to set the POL bit to 0.
Signed-off-by: Titan Chen <titan.chen@realtek.com>
The tests was written wrong. It was meant to test using same spi bufs
for both rx and tx, as in tree many sensor and other spi device drivers
use this paradigm. But the 2nd buf setup call was overwriting the first.
Fix by not using the helper function for this case.
And for the write back test, test using same spi_buf_set.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The STM32F7 family does not yet support power management in Zephyr.
Besides, LL_I2C_EnableWakeUpFromStop and LL_I2C_DisableWakeUpFromStop
are not implemented in the H7 HAL/LL drivers
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
- Change erase-block-size from 8192 to 4096 bytes to match
the 4 KB page size of STM32U3 flash.
- Update max-erase-time from 5 ms to 14 ms according to
datasheet specifications.
- These changes ensure correct flash erase behavior
and timing on STM32U3 devices.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
The Quectel BG95 binding currently marks mdm-power-gpios as
required. This fits designs that expose the PWRKEY pin, but the
BG95-M3 in Mini PCIe form-factor boots automatically via its
on-module “Automatic Power-On Circuit” and does not route
PWRKEY to the card edge.
Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
Replace memset() with an explicit loop to zero the data_buf array,
which is part of a volatile struct. Standard memset does not guarantee
volatile stores, which can lead to incorrect hardware access.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Some ESP32 images may not end with a segment whose
load_addr is 0xFFFFFFFF, especially if the flash was not fully
erased or the image tool does not write an explicit end marker.
This can cause the loader to process leftover or unrelated data as
additional segments, resulting in boot failures.
Update the IS_LAST() macro to treat any segment not matching
a valid memory region as the end of the segment list.
This ensures only valid segments are loaded and any trailing
invalid data is safely skipped.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
moves adafruit_feather_esp32s3_tft_reverse_procpu.conf file
to the correct folder after PR was merged.
Signed-off-by: Philipp Steiner <philipp.steiner1987@gmail.com>
Correct PLL input frequency calculation to consider
HSI clock divider in clock_stm32_ll_h7.c file.
For sake of simplicity, use PLLSRC_FREQmacro that
already considers the HSI clock divider when applicable.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
When built with the minimal libc while using POSIX clocks, Zephyr
compilation breaks with "error: unknown type name 'clockid_t'." Use
int instead of clockid_t to eliminate the dependency.
Suggested-by: Chris Friedt <cfriedt@tenstorrent.com>
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Remove the unused variable 'lock_id' from main.c in the arc_vpx_lock test.
No functional change intended.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
When received the valid S frame, the retransmission timer should not
be restarted if unacknowledged I-frames have been sent but the
retransmission timer has not elapsed.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Fix Tx Ack FIFO's first index being advanced beyond a
recorded ack_last value in a node_rx when under race
between ll_rx_get() being pre-empted while executing the
`tx_cmplt_get()` and a call to `ll_rx_put()` in an
interrupt service routine.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
During #89407 a driver-specific header stm32_dcmipp.h got introduced to
support new functionnalities not yet covered by video APIs.
Move this header into a new <include/zephyr/drivers/video/> include
direcctory like what other driver classes do.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Bump the argc check from 3 to 4 as the shell scan command has 3 required
parameters, the last being the scan duration:
- argv[0]
- passive|active
- channels
- per-channel duration in ms
Signed-off-by: Simon Piriou <spiriou31@gmail.com>
Fix an issue where the BME280 sometimes returns an incorrect chip ID
immediately after a power cycle. This causes sensor initialization to fail.
According to the datasheet, the sensor requires a 2 ms start-up delay after
power is applied. This patch introduces a sleep delay to ensure the
required start-up time is respected before reading the chip ID.
Signed-off-by: Filip Stojanovic <filipembedded@gmail.com>
If the disconnect event is raised before the network has been connected,
report the connection result as `WIFI_STATUS_CONN_FAIL`, instead of as
`WIFI_REASON_DISCONN_SUCCESS`, which is interpretted as
`WIFI_STATUS_CONN_SUCCESS`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Setting the DOZEN bit in the flexio so the soc
does not force the peripheral to go into
low power mode when the soc is in idle.
Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
Based on a discussion around P4WQ limitations for our application, it
was determined that the RTIO workqueue required the ability to use
additional threads from the pool in spite of work items blocked.
Since this is not covered, nor desired for the P4WQ, then remove this
dependency and re-implement it in a way that covers also this use-case.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Processed on separate worker threads. This test is expected to fail
as the P4WQ limits the number of active items assigned to worker
threads to the number of CPU cores the system has.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
There is no need to call stm32_pwr_wkup_pin_cfg_pupd() because
the SoC does not have a pull-up/pull-down on the WKUP pin.
Call LL_PWR_ClearFlag_SB() before entering StandBy power mode.
Signed-off-by: Oleh Kravchenko <oleg@kaa.org.ua>
If z_get_next_switch_handle determines no reschdule is needed, do not
mark thread as switched_out in set_curent() where new and old thread are
the same.
See zephyrproject-rtos/zephyr#88596 for more details.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Previously we always had driver to support 2M PHY regardless of
configuration. As this was fixed the missing support statemenent
caused 2M support to miss regardless of configuration.
Signed-off-by: Petri Pitkanen <petri.pitkanen@silabs.com>
Avoids shadowing the outer 'err' variable by reusing it instead of
redeclaring it inside a conditional block.
This improves code readability.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
When the returned buffer is a `NULL` of the pull function, it means
there is not any data needs to be sent. However maybe there is any
frame pending on other L2CAP channel needs to be sent over the same
ACL connection.
Re-trigger the TX processor. It will call the pull function again
and the pending buffer will be pulled from following L2CAP.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Separate entry (see `Drivers: Wi-Fi as nRF Wi-Fi`) handles
Wi-Fi related reviews. Add files-exclude to decrease noise.
Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
Doxygen 1.14 comes with really useful UX improvements which we want to
benefit from in our API documentation so update the CI job accordingly.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Move `@cond INTERNAL_HIDDEN` comment where it belongs (fixing what was
probably a copy-paste/refactoring error).
This also makes the previously `bap_iso`, `group`, `_prev_seq_num`
visible again.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The clock tree of the STM32H7RS series uses the ppre1
and ppre2 naming convention instead of apb1_prescaler
and apb2_prescaler for bus prescaler.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Add APP_DIR as a kconfig environment variable.
This is useful in cases where you want to set a config path relative to
the directory of the application.
An example of this is how many sysbuild.cmake files sets the source
directory like this:
ExternalZephyrProject_Add(
APPLICATION remote
SOURCE_DIR ${APP_DIR}/remote
BOARD ${SB_CONFIG_REMOTE_BOARD}
)
The same however cannot be done in Kconfig.sysbuild:
config NETCORE_IMAGE_PATH
default "${APP_DIR}/<image_path>" if NETCORE_ABC
Instead they must use ZEPHYR_MY_MODULE_MODULE_DIR, however not all
applications are part of a zephyr module.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
Current Implementation to write to MAC_MDIO_ADDRESS causes CR to be
set to 0. This leads to the divide always being 42 (on FRDM_MCXN947)
so, by default the clock is running at ~3.6MHz which is out of spec
range (1.0-2.5MHz)
This stops the do_transaction function from overwriting CR.
It also saves off the CR register before DMA reset
Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
The `die_temp` variable declared under `CONFIG_ISM330DHCX_ENABLE_TEMP` was
never used.
Instead `die_temp2` was used without using
`CONFIG_ISM330DHCX_ENABLE_TEMP`.
Removing it to avoid confusion.
The variable `die_temp2` holds temperature data from IIS2MDC.
Since there is no other variable with this purpose anymore, rename it to
die_temp for clarity.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
add doxygen groups to include/zephyr/math header files and fold them
under Utilities top-level group.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
moved docs to Utilities group (vs. top-level)
cleaned several incorrect Doxygen group definitions
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Some of ESP32 Radio calls present in blobs needs to be
executed from IRAM or RAM instead of flash to avoid
cache disabled issues.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
z_sched_lock() has exactly one user in tree which is
k_sched_lock(). So combine them to make it easier to
follow (or not, since there is no jumping to another
file anymore).
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
When IMU is set to stream with High-res mode, the FSR settings are
fixed for ICM42688 at 16g and 2000dps.
Unless this is enforced, the driver will provide incorrect scaling for
readings coming through streaming when the current FS setting is any
different than these.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Clean up unused variable 'ret' and 'link_state' in eth_xilinx_axienet.c to
improve code clarity.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Clean up unused variable 'rand_mac_addr' in eth_sensry_sy1xx_mac.c to
improve code clarity.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
The current logic will result in rsp always being accept because LOSC
added is 0. and according to the spec, LOSC should not be added to the
Set Configuration Reject response.
Signed-off-by: Cheng Chang <cheng.chang@nxp.com>
It wasn't taken into account that bt_le_scan_set_enable()
has a return value. It's not likely that the controller
rejects the command when BT_DEV_SCANNING is set, however.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
Attempting this would fail (assuming the controller is implemented
correctly) because when using legacy commands it is not allowed to
change the device address while scanning.
It also did not make sense. If we have configured the scanner to use
the identity address as own_addr, because the advertiser and scanner
addresses are shared when using legacy commands, setting the adv NRPA
here would overwrite the identity address used by the scanner, which
I assume is not the intention.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
In 25c993e5b7 a new case was introduced
where own_addr_type is not set by bt_id_set_scan_own_addr properly.
This led to issues for users where increasing their zephyr version
led to failures to start scanning after advertising in the case where
CONFIG_BT_SCAN_WITH_IDENTITY=n and legacy advertising commands are used.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
Previously, the CMSDK APB timer driver hardcoded the
counter clock frequency to 24 MHz, which limits reuse
across SoCs and boards with different timer clock
sources.
This patch replaces the hardcoded frequency with a value
derived from the device tree's `clocks` phandle, using
the `clock-frequency` property of the referenced clock
controller node. If the property is missing, it falls
back to a default 24 MHz and issues a build-time
warning.
Signed-off-by: Lidor T <lidor@exibit-iot.com>
These two (sub)tests assume the system tick period divides evenly all
time interval values being tested, but this is not the case in general,
and when it is not, these tests fail.
Let's skip these 2 tests by now so we can release without a broken
CI, and do not block other development while the tests themselves are
being fixed.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The stm32h573i_dk target had the default value of BOOT_MAX_IMG_SECTORS
raised in efdd2a8ff2 (west.yml: MCUboot synchronization from upstream).
This currently causes a build failure on some samples running with mcuboot
because the platform has not been moved to use external flash (which was
the reason for increasing BOOT_MAX_IMG_SECTORS)
To workaround this, force the value of BOOT_MAX_IMG_SECTORS for failing
tests.
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
Disable the pwmleds nodes in the dts overlay for rev B/C boards. The
FLEXPWM is not routed to LED on these versions.
Fixes#92285
Signed-off-by: David Leach <david.leach@nxp.com>
When the endpoint is re-enabled, check if the current FIFO settings can
be reused. Further work is needed to improve FIFO memory handling for
more advanced interface configurations.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
- Installing python3-venv should be done right when all dependencies are
installed.
- Installing python3-venv is enough to pull wheel, setuptools
(python3-setuptools-whl), and pip (python3-pip-whl) so that they are
available in the venv, so reduce the list of packages to install
accordingly.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Ubuntu 20.04 has entered "security fixes only" mode since May 2025, so
we can simplify the getting started guide by making the instructions
apply to 22.04 and onwards, and remove the instructions for adding
Kitware APT repository in the process.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
In lis2dux12_read_status_cb() add a return instruction in case of
SENSOR_STREAM_DATA_NOP/SENSOR_STREAM_DATA_DROP.
Fixes: CID 529855
Signed-off-by: Armando Visconti <armando.visconti@st.com>
In lsm6dsv16x_read_status_cb() add a return instruction in case of
SENSOR_STREAM_DATA_NOP/SENSOR_STREAM_DATA_DROP.
Fixes: CID 529864
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Set fifo_mode structure to zero and initialize it properly according
to what interrupt event the user has selected.
Fixes: CID 529871
Fixes: CID 529865
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Update Zephyr fork of MCUboot to revision:
4eba8087fa606db801455f14d185255bc8c49467
Brings following Zephyr relevant fixes:
- 4eba8087 boot: zephyr: boards config of the stm32h573 disco kit
- 2dd7c655 boot: zephyr: boards config of the stm32h7rs target
boards
- cde66e17 boot: zephyr: defines FLASH device for external NOR
- 6a178d29 bootutil: Use flash base address for direct hash
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fixes an issue where external sysbuild Kconfig path variables
were not provided and meant they could not be overwritten
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
When LTO is enabled, linker may relocate literal pools out of Thumb LDR
instruction's reach causing "offset out of range" errors while linking.
This commit adds `.ltorg` directive in the inline asm blocks where absolute
addresses are loaded using the `ldr` instructions, in order to ensure that
the literal pool containing the absolute addresses are placed near the
`ldr` instructions.
Note that the `.ltorg` directive is recognised by all toolchains supported
by Zephyr and no toolchain abstraction is provided for now.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
When building the docs for a release, the section of the getting started
that lets the user `west init` their workspace now has them check out
the version matchin the release.
Fixeszephyrproject-rtos/zephyr#92163
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The allocated_bytes were missing the allocation metadata. Because of that
the sum of free_bytes and allocated_bytes doesn't remain constant after
each allocation. This convention doesn't match glibc's behavior. This
commit changes the chunksz_to_bytes function to include the metadata in the
calculation. The analysis of the mallinfo2 function from glibc has been
done in #92392 Pull Request.
Signed-off-by: Krzysztof Sychla <ksychla@antmicro.com>
The #91219 miss some entries when doing the clean-up. This removes
some of remaining SUBALIGN entries in the iterable sections. It do
not consider SECTION_PROLOGUE and zephyr_linker_section entries.
Fixes#92349
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
When peer monitor and retransmission timeout are zero, set them to the
default values. This ensures that the monitor timeout is always a valid
value to avoid the L2CAP BR timer work queue hang.
Signed-off-by: Make Shi <make.shi@nxp.com>
This commit updates the link to the source of the firmware of the DAPLink
on-board debug adapter.
Phytec migrates all repositories from the "PHYTEC-Messtechnik-GmbH" GitHub
organization to the "phytec" GitHub organization. The code in the relevant
branch remains unchanged and the branch has been pushed to the new
organization.
Signed-off-by: Jonas Remmert <j.remmert@phytec.de>
In check_dns_query(), the assignment `ret = -ENOMEM` was never used since
the function returns false immediately afterward.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Avoids shadowing the outer 'ret' variable by reusing it instead of
redeclaring it inside a conditional block.
This improves code clarity.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
The name used in CMakeLists for this test is "zero_latency_irqs" despite
testing the ramfunc feature instead. This might be a copy-paste mistake
as it was originally "arm_zero_latency_irqs", which is another test that
exists.
Change the project name in CMakeLists to match what the test truly is.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
HTTP 1.1 server has two ways of indicating the message body length -
either by providing the Content Length header, or by closing the
connection when the entire body has been transmitted.
The second method didn't work with Zephyr's HTTP client implementation,
as EOF on a socket was treated as an error condition. Therefore, if no
Content Length was provided by the server, such transfers would always
end up with ECONNRESET error.
In order to fix this, we need to notify the parser about the EOF on a
socket when connection is closed. It is the parser role to determine
whether the EOF was expected in current state (by marking end of message
flag) or not (by setting an error).
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add references to new API, functions, devicetree bindings introduced
from introduction of the UVC class.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Cache CTRL1 into reg_ctrl1_active_val inside lis2dh_init_chip()
in the PM_DEVICE_ACTION_TURN_ON path. This prevents the first
runtime-PM RESUME from writing 0x00 to CTRL1 and disabling the sensor
when runtime-PM is enabled.
Fixes: #92196
Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
Previously, ZRESTRICT was used in aio.h without also including
zephyr/toolchain.h.
Tests may have compiled because the toolchain header was included by
some other means.
We should explicitly include it to ensure that ZRESTRICT is defined.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
`DEVICE_DT_GET()` guarantees that the `dev` pointer can never
be `NULL`, the check is therefore redundant, remove it.
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
When a function pointer is `NULL`, it could be that the underlying
hardware doesn't support it, or it isn't implemented.
If a function isn't supported by the hardware, its driver should
return `-ENOTSUP`, the API layer should return `-ENOSYS` when a
function isn't implemented.
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Missed in #91596 that more platforms are added in common part.
Excluded nrf9160dk/nrf9160 and nucleo_wba55cg from
configuration with BLE.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
The second argument should unconditionally be the size of the output
memory area, not computationally derived from the input payload length.
The previous length validations would be incorrect when
`cmd_len == CONFIG_LORA_RYLRXX_CMD_BUF_SIZE`, as `snprintf` would be
told the output buffer was `CONFIG_LORA_RYLRXX_CMD_BUF_SIZE + 1` bytes
long.
Fixes#92619Fixes#92624
Signed-off-by: Jordan Yates <jordan@embeint.com>
Makes the choice CORTEX_M_SYSTICK_LPM dependent upon the
CORTEX_M_SYSTICK to prevent its default from showing up in
the .config of projects that do not use the CORTEX_M_SYSTICK
timer driver.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Remove duplicated check for 'ep->stream == NULL' to clean up conditionals
and avoid unnecessary repeated evaluations.
This cleans up the code and avoids unnecessary repeated condition
evaluation.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
The clock get rate api can be slow in certain targets and thus slowing
each SPI transaction. Instead on startup fetch the clock rate and store
this in ram. Then each spi configure action is simply reading that
variable
Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
Update the process_dns function signature to match the expected
k_thread_entry_t type:
typedef void (*k_thread_entry_t)(void *p1, void *p2, void *p3);
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Update the trigger_events function signature to match the expected
k_thread_entry_t type:
typedef void (*k_thread_entry_t)(void *p1, void *p2, void *p3);
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Update the socket_service_thread function signature to match the expected
k_thread_entry_t type:
typedef void (*k_thread_entry_t)(void *p1, void *p2, void *p3);
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
All Nordic boards were enabling CONFIG_HW_STACK_PROTECTION
unconditionally, which is usually not a problem except if the particular
application happens to want to disable the MPU (or equivalent hardware
for RISC-V). In that case, the following warning is shown:
warning: HW_STACK_PROTECTION (defined at arch/Kconfig) was assigned the
value 'y' but got the value 'n'.
Check these unsatisfied dependencies: ARCH_HAS_STACK_PROTECTION (=n).
In order to avoid this warning, conditionally enable the hardware stack
protection only when the architecture supports it.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Update gdb arguments to enable linkserver
debugging when app does not reset after load.
This is useful for when the app is loading to
ram. In this case if gdb reset after loaded the
ram would be flushed when debugging and there would be
nothing no image in ram to debug.
Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
Remove cmake code that updated the linkserver memory view, however
the values passed here are wrong and linkserver already includes
the correct space e.g location = 0x0 && size = 0x00080000
Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
Updated board.cmake to check for single
image builds to indicate rather an additional
reset is needed for cases such as sysbuild.
Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
This reverts commit 043bb58488.
Note that scripts/requirements-actions.txt might not be 100% the same
as what was pinned prior to the revert due to it being difficult to
restore previous versions while also accounting for the new dependencies
that were added in the meantime.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Virtio headers are moved to zephyr/drivers/ as they have no reason to be
top-level headers since virtio is a driver class.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fix a bug in zbus_chan_rm_obs() where removing the first observer in a
channel's observer list would cause undefined behavior due to accessing
a member of a NULL pointer.
The issue occurred when prev_obs_nd was NULL (indicating the first node
in the list) and the code attempted to pass &prev_obs_nd->node to
sys_slist_remove(). This resulted in accessing the 'node' member of a
NULL pointer, which is undefined behavior even when taking its address.
The sys_slist_remove() function is designed to handle a NULL prev_node
parameter correctly for removing the first element in a list. The fix
ensures we pass NULL directly instead of attempting to compute the
address of a member within a NULL pointer.
This was detected by Undefined Behavior Sanitizer as "member access
within null pointer".
Signed-off-by: Jan Tore Guggedal <jantore.guggedal@nordicsemi.no>
Peripheral clocks are currently not being disabled for JTAG reset
condition, which causes driver init failures when debugging the SoC
with JTAG. Fix by disabling all clocks for this reset type.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Coverity reports a potential integer overflow in the accel_range
computation due to the use of a left shift on an int type.
CID 520269: Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)
Even though the register value is constrained to 0–3 by the BMA456 spec,
and no real overflow occurs, an explicit cast to int64_t prevents false
positives and aligns with safe coding practices.
Fixes: #90517
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
There was an unnecessary nested `if` in `ifx_cat1_counter_init` with the
same condition already checked in the outer block.
This results in dead and redundant code with no functional impact but
harms readability.
The inner `if (rslt != CY_RSLT_SUCCESS)` was removed to clean up the
function.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
The function counter_rz_gtm_set_alarm was accessing alarm_cfg->flags and
alarm_cfg->ticks before verifying that alarm_cfg is non-NULL.
This could lead to undefined behavior or crashes if a NULL pointer is
passed.
The pointer check has been moved before any dereference to fix this bug.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
In coap_well_known_core_get(), move the null check for 'resource' before
applying pointer arithmetic ('resource + 1') to avoid undefined behavior
when 'resource == NULL'.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Socket dispatcher (and offloaded implementations in tests) register
fd as ZVFS_MODE_IFSOCK therefore they should register a close2(
function instead of close().
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
socketpair fd regsiters ZVFS_MODE_IFSOCK therefore it should register a
close2() function instead of close().
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case address mode in a packet is none, the address pointer within mhr
struct will not be set. Therefore, the pointer should not be used before
address mode is verified inside ieee802154_check_dst_addr().
This was reported by UBSAN:
subsys/net/l2/ieee802154ieee802154.c:296:41: runtime error: member
access within null pointer of type 'struct ieee802154_address_field'
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The iface test suite uses two different interface types with two
different context types and iid tests mixed up the two. It attempted
to create a mac address for Ethernet interface (which uses
struct eth_fake_context), however the net_iface_get_mac() function
only works with Dummy interface context (struct net_if_test). In
result the Ethernet interface context was corrupted (mac address
overwritten the promisc_mode flag).
Fix this by extracting mac generation code into a common function, and
use it in the Ethernet iface initialization phase instead of directly in
the test.
This was reported by UBSAN:
tests/net/iface/src/main.c:239:34: runtime error: load of value 11,
which is not a valid value for type '_Bool'
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Cast uint8_t variable to uint32_t explicitly to avoid implicit cast to
int, and thus potentially undefined behavior, reported by UBSAN:
net_pkt.c:1946:17: runtime error: left shift of 239 by 24 places
cannot be represented in type 'int'
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In order to avoid alignment issues when casting void pointers to
in(6)_addr structures, create a properly aligned copy of the ip(v6)
address on stack.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In order to prevent an overflow warning from UBSAN when bitshifting,
cast to uint64_t first before shifting, and then back to uint32_t.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
This was caught by UBSAN:
zvfs_select.c:70:2: runtime error: left shift of 1 by 31 places
cannot be represented in type 'int'
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
As struct sockaddr have now alignment of 4 bytes, net_ipaddr_copy()
gives the following error if used for sockaddr:
error: alignment 1 of ‘struct <anonymous>’ is less than 4
[-Werror=packed-not-aligned]
Just use memcpy() instead, net_ipaddr_copy() was intended to use with IP
addresses, not socket related structs.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
To avoid misalignment errors when casting between
sockaddr_storage/sockaddr and specialied sockaddr_* variants, specify
alignment for the former to match the alignment of the others.
The issue was reported by UBSAN:
utils.c:802:8: runtime error: member access within misaligned
address 0xf4aff186 for type 'struct sockaddr_in6', which requires
4 byte alignment
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Rework the IPv4-related code to avoid casting. Use raw variants of
IPv4-related functions whenever possible (especially on the critical
data path).
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
To address the misaligned access issues reported by UBSAN, introduce raw
variant of certain IPv4 functions used in the critical data path of the
network stack, operating on plain uint8_t buffers in stead of IPv4
address struct.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Rework the rest of the IPv6-related code to avoid casting. Use raw
variants of IPv6-related functions whenever possible (especially on the
critical data path). For the routing case, use a copy of the address to
avoid massive rework of the routing module.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
IPv6 Neighbor Discovery interfaces modules like neighbor or routing
tables - converting them to raw variants seems futile. Therefore, for
IPv6 ND case, copy the raw IP address from the packet into the in6_addr
structure, and then pass it to respective functions. Performance
overhead should not be a big problem in such case as those actions are
only performed if a respective ND packet is received.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Refactor local functions to work with byte buffers instead of struct
in6_addr and use switch to use raw variants of functions operating on
IPv6 addresses.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
To address the misaligned access issues reported by UBSAN, introduce raw
variant of certain IPv6 functions used in the critical data path of the
network stack, operating on plain uint8_t buffers in stead of IPv6
address struct.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The peer uses the RPA address.
A BR connection is created firstly, a subsequent BLE connection is
created secondly, the BR SMP CTKD occur thirdly (The BLE LTK is
derived from BR and the BR SMP distribute peer's IRK and identity address
here), but the BLE LTK is saved to key pool that is not
matched with the previous BLE connection because the derived LTK is saved
with identity address and BLE connection uses RPA. Fix it by: Resolve the
BLE connections' RPA with the derived IRK to find the previous BLE
connections and match the connections with derived LTK key.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Add a precision about the CONFIG_DEBUG :
When CONFIG_DEBUG is set, the system will not enter the low power mode
The DEBUG is possible but with higher power consumption of the target.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
SENT, PSI5, Virtio where all recently added types. Add them to the
binding-types.txt file so that their full name can be displayed in the
documentation.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This Kconfig was deprecated in Zephyr 3.5, remove allowing it to
be selected but keep the symbol as the HAL needs to be updated
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fix a broken link in the 'contribute/proposals_and_rfcs.rst' file that
pointed to a non-existent Markdown RFC template.
The link previously pointed to:
.github/ISSUE_TEMPLATE/003_rfc-proposal.md
It has been corrected to point to the actual YAML file:
.github/ISSUE_TEMPLATE/003_rfc-proposal.yml
Fixes: #92342
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
LPTIM2 is enabled by default; disable it to avoid
the build failure:
"Error: Only one LPTIM instance should be enabled"
when LPTIM1 is also enabled in the DTS.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
define stm32_lp_tick_source since PM is looking for this node
and change clock source for lptim2 to lsi.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
According to RFC 793, ch 3.9 Event Processing,
after the connection is sync-ed with seqnum of both sides then,
1. drop any received segment if the ACK bit is off.
2. validate the acknum like this:
SND.UNA =< SEG.ACK =< SND.NXT
The ACK validation is done before entering the state-machine, so
remove the flags <ACK> check in the state-machine processing.
Signed-off-by: Shrek Wang <inet_eman@outlook.com>
The bus helpers for SETDASA and SETNEWDA could have the same
dynamic address assigned as it's static addr for SETDASA or
as it's dynamic addr for SETNEWDA. (Althrough, only a clown
would set the new dynamic address to the same old dynamic
address, it is still a valid address to set to).
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Drop LOG_ERR calls from driver level related to transfer calls.
Application can handle the result and decide whether to log or not.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Build a combined mask from the tx_invert and rx_invert flags and pass it
to uart_hal_inverse_signal(). Only invoke the HAL call when the mask is
non-zero, preventing unintended inversions and eliminating redundant
calls when no inversion is requested.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
This adds the generic plugable alias to the Adafruit RP2040 QT PY for
its STEMMA-QT connector.
Signed-off-by: Ian Wakely <raveious.irw@gmail.com>
Signed-off-by: Ian Wakely <raveious.irw@gmail.com>
The LTDC RGB565 format corresponds to the PIXEL_FORMAT_BGR565 format.
Update the LTDC driver to advertise PIXEL_FORMAT_BGR565 as the supported
format instead of PIXEL_FORMAT_RGB565. This change ensures correct color
rendering in the sample display application and enables usage of the
video capture sample application.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Fix I2C target implementation so NACKs are issued if the callback returns
an error. This allows for proper signaling to the I2C host when commands
or data are invalid for the I2C target.
Signed-off-by: Alex Hogen <alex@edt.com>
Fix compile error due to unknown macro when building CONFIG_I2C_TARGET for
Silabs Thunderboard EFM32GG12 (SLTB009A). The previous macro exists in
(all?) EFR32 part headers but not EFM32.
Signed-off-by: Alex Hogen <alex@edt.com>
Description of parameters in st,control property didn't match the values
used in the code.
Modify the description to match with the current driver implementation.
Also add a description for reg property to help setting it properly and
add corresponding dt-bindings.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
These tests can be run equally on native_sim//64.
Let's also allow them in it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
For native_sim[//64], these tests need to be built with
CONFIG_SDL_DISPLAY_USE_HARDWARE_ACCELERATOR=n
Until now we defined this option in the yaml file for each test
targetting the sdl display driver.
But if somebody builds the test directly, it will fail as these yaml
kconfig defined options would not be used.
Let's instead define it in a board overlay, so in that case the test
will also work.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Change backup domain access gating in STM32 RTC interrupt handler
to only request access when RTC registers ar to be modified
instead of during the whole RTC interrupts service including
interrupt consumer callback execution.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Fix the backup domain access request in STM32 RTC initialization that
was unbalanced in case of clock configuration failure.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Add missing backup domain access requests in STM32 RTC counter
driver that are needed to modify RTC registers.
Remove backup domain access requests in rtc_stm32_read() since this
function only reads RTC registers and backup domain access protection
protects RTC registers against write accesses only.
Fixes issue 92511.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Add the 'const' qualifier when casting 'dev->config' to 'struct
bmp581_config *' to preserve const-correctness and fix SonarQube warning :
"A cast shall not remove any const or volatile qualification from the
type of a pointer or reference."
This improves maintainability by respecting the const contract and resolve
static analysis issues.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Move null check for 'dev' before dereferencing it to access dev->config.
This ensures the check is meaningful and avoids undefined behavior in case
of a null device pointer.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Not pretending for this to be exhaustive, but a pass at adding samples to
their respective areas as opposed to let them fall under the catch-all
"Samples" area.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The code was accessing bits 1 and 2 (but not 0), effectively needing three
bits, but still requesting only 2 when calling ATOMIC_DEFINE().
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Check for STM32F1 series was done with "#ifdef SOC_SERIES_STM32F1X"
but this symbol comes from Kconfig.
Use the correct "CONFIG_SOC_SERIES_STM32F1X" instead.
Signed-off-by: Oleh Kravchenko <oleg@kaa.org.ua>
Seems like github relabel rerun is susceptible to race conditions and
may not rerun the label check script if the manifest workflow runs at
the same time.
Delay the check to explicitly wait until the currently checked sha had a
successful manifest run.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add early_disconnect test cases for iso/cis and l2cap/stress
to test the bluetooth stack handling of disconnects
while transmit is still in progress.
Signed-off-by: Mike J. Chen <mjchen@google.com>
Channel tx_queue purging on disconnect was inconsistently handled
by the different channels: iso, l2cap, l2cap_br.
iso channels handled purging in the tx_data_pull hook.
l2cap and l2cap_br did the purging in channel delete functions
and did not expect tx_data_pull to be called for a disconnected
channel. Their data_pull functions could return a ptr to a
net_buf that was still on the tx_queue, which is problematic
when the conn tx_processor unrefs the returned buffer resulting
in multiple calls to the buf destroy function.
To make things consistent and correct, remove the code that tries
to purge tx_queues in the tx_processor and only do purging in
the channels themselves when they are deleted/disconnected.
Also refactor and clarify referencing of the net_buf returned
by tx_data_pull. It was confusing who had a reference and
when, which could vary depending on the length of the original
buffer. There are three cases: the buffer length is less
than the tx.mps, greater the mps but less than the mtu so
requiring segementation but not fragmentation, or greater than
both mps and mtu so requiring both segmentation and fragmentation.
The conn layer would increase the refcnt if the length was
greater than the mtu, but not have any awareness of whether
the net_buf was still on the tx_queue or not.
Now it is the tx_data_pull callbacks responsibitity to increment
the reference count if it is returning a pointer to a net_buf
that it is still keeping on the tx_queue for segmentation purposes.
The conn layer will now always transfer that reference into a
fragment view and not conditional it on the length relative to
the mtu, and always decrement the reference to the parent when
the fragment is destroyed.
So there is no risk of decrementing a reference to a net buf
that might still be on a tx_queue, which simplifies error
handling in particular.
Also add error handling paths for when asserts are not enabled.
Signed-off-by: Mike J. Chen <mjchen@google.com>
When WDT_OPT_PAUSE_IN_SLEEP option is passed in set enableWait flag
in addition to the enableStop.
Fixes#86437
Signed-off-by: David Leach <david.leach@nxp.com>
Fix peripheral role assertion during connection update and
simultaneous flash operations.
prepare_cb: Actual EVENT_OVERHEAD_START_US = 6149
This happens due to instant latency at connection update
where the ticks_at_expire was in the past.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Write operations are not constant time on nRF54Lx SoCs and
depend on the previous value present versus new value to be
written. Hence, perform no more than one iteration.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Immediate log mode may use a lot of stack and hence may cause some stack
overflow on some boards.
Enable deferred log mode to have the least impact on the application.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Add condition to do the test pattern fixture test only if the test
pattern control was successfully set.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Demonstrate the crop/compose API by introducing 4 new
CONFIG options in order to define the crop area.
Moreover, if the selection API is available and if
the targetted size is different from the current crop
size, then try to apply a compose in order to reach
the targetted format size.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Instead of having a conf file for all variants of STM32N6570_DK,
set the necessary settings for any platform which has DCMIPP enabled.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Clarify expectations about the recently modified default variant of the
board.
Update migration guide to warn existing users about the change.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
as in mbox cases the ocram is used as code area, so shall not be used
as sram again. this is a typo introduced by
aec0355380
fixing: #82841
Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
In HFP PTS, cases run fail with the log 'Bluetooth Profile Descriptor
List UUID (0x111E) is missing'.
With this patch, the affected cases can pass correctly.
Signed-off-by: Jiawei Yang <jiawei.yang_1@nxp.com>
Emphasize the role of maintainers in upholding the project's code of
conduct and fostering an inclusive environment for all.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add information about hostap IPC mechanism change that can save up to
6-8 kB memory when using native wifi stack.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
This resolves an issue on MacOS where
`west sdk install` would fail when extracting
a `.tar.xz` package due to the command line
options selected by patool.
Signed-off-by: Mirko Covizzi <mrkcvzz@gmail.com>
The struct video_buffer are currently used with `struct k_fifo`, which
require them to preserve the first word of data for use by the kernel.
Move the first fields to make it possible to keep using video buffers in
FIFO safely.
Fixes#92526
Signed-off-by: Josuah Demangeon <me@josuah.net>
Rename and clarify the @defgroup SENSOR_AXIS_ALIGN to better reflect its
purpose. Replace the vague "DT Options" title with a more descriptive
name: "Sensor axis alignment DT options".
This improves documentation clarity for developers configuring sensor
orientation via Device Tree.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
This commit fixes the content of the log messages that appear when an
error occurs while applying the pinctrl.
Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
IRQ 1 is used by the LiteX timer, so we can't use it for the test:
gen_isr_tables.py: error: multiple registrations at table_index 1 for
irq 1 (0x1)
Existing section
['.irq.WEST_TOPDIR/zephyr/tests/kernel/gen_isr_table/src/main.c.0'],
new section .irq.WEST_TOPDIR/zephyr/drivers/timer/litex_timer.c.0
Has IRQ_CONNECT or IRQ_DIRECT_CONNECT accidentally been invoked on the
same irq multiple times?
Issue #92194
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Some boards fail to build arch.interrupt.gen_isr_table_local.riscv test
since this region is too small:
riscv64-zephyr-elf/bin/ld.bfd: zephyr/zephyr_pre0.elf section `.intList'
will not fit in region `IDT_LIST'
riscv64-zephyr-elf/bin/ld.bfd: region `IDT_LIST' overflowed by 239 bytes
This is a bogus memory region, so increasing it has no effect on the
final binary size.
Issue #92194
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Move the IronSide APIs to soc/nordic from drivers/firmware since
these are vendor specific APIs. The header files are now included
from <nrf_ironside/*.h>. Adjust code that uses these APIs accordingly.
Also move the DT binding for "nordic,ironside-call" from
bindings/firmware to bindings/misc.
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
nordic,entropy-prng does not exist in Zephyr (it is part of NCS)
but we have in both the nordic,nrf-cracen-ctrdrbg which is
an actual source of true entropy and works with this SOC.
Let's use that instead.
Fixes failures to build targeting the nrf54lm20dk any test/sample
which uses the entropy driver.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
By default west looks at the parents directory to find Zephyr base
directory. However, in the case the build directory is not a subdirectory
of zephyr base and the user run "ninja flash" directly from the build
directory, west fails to detect Zephyr base.
So, this patch explicitly add ZEPHYR_BASE in the environment.
Implementation notes:
* ZEPHYR_BASE is already set for ninja menuconfig in
cmake/modules/kconfig.cmake:201
* ZEPHYR_BASE seems better than --zephyr-base since the environment in
inherited
* BTW, --zephyr-base seems to not have any impact and seems broken
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
htons() takes uint16_t as argument. Add the 'u' suffix to the
TTL constants to ensure the correct unsigned type is used and to avoid
undefined behavior if these functions are implemented as macros using
bit shifts.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Refactored the code to use the standard struct in_addr for
representing IPv4 addresses instead of a uint32_t combined
with the custom IP_ADDR macro.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Verify if the block number isn't negative before processing it, to
prevent potentially undefined behavior. This was reported by the
undefined behavior sanitizer.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Replace i2s_write invocation with i2s_buf_write invocation for test sine
wave playback.
When CONFIG_USE_DMIC=n, this sample attempts to play back a test sine
wave encoded in sine.h. As the i2s_write treats the given buffer as a
memory slab, it overwrites parts of it, resulting in data corruption and
improper playback. i2s_buf_write accepts a buffer existing outside the
playback queue (heap).
Manually tested on mimxrt595_evk/mimxrt595s/cm33 where it was first
observed.
Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
SonarQube reports: cast from 'const struct _snode *' to 'struct _snode *'
drops const qualifier. Fix it by removing the const.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
(cherry picked from commit 7982ee0df13b7f9e54595f799e32f38c464b0f9e)
1. bt_sdp_discover may be called in two tasks at the same time:
(1) If the 2 calls are for 2 acl conns,
the same session may be new allocated to two acl conns.
(2) If the 2 calls are for the same acl conn, the same session should be
used.
Use the bt_conn_index to map acl conn with session to fix it.
2. fix that bt_sdp_discover may use one session that is disconnecting,
put req to reqs_next and process it after disconnected.
3. remove memset of session, reset each members individually.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
(cherry picked from commit dcbe5d7dc5d72ce0d2915cf2b291cc84a916a536)
Defaults cannot be overidden (even with configdefault extension), they
only work if the original symbol is defined after the override e.g.,
"drivers and then subsys/net" but for kernel symbols,the default value
overrides don't work due "kernel and drivers" order, the kernel defines
the original symbol with the default and then it cannot be overridden.
Move the kernel symbol override to the original definition to make it
affect. Else any sample that uses nRF70 but doesn't enable WPA
supplicant ends up with 1024 and crashes.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Using ms and converting to us is a bad idea as we still get ms
granualrity in us units. Use the proper API to get us granularity.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Fix a null pointer dereference in akm09918c_submit(), where writeByte_sqe
was dereferenced before checking if it was NULL.
Coverity reported this as CID 516247: the pointer returned by
i2c_rtio_copy_reg_write_byte() may be NULL, and accessing its `flags`
field before checking leads to undefined behavior.
Move the access to writeByte_sqe->flags after confirming both
writeByte_sqe and cb_sqe are valid.
Fixes: CID 516247
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
In case the dmic had previous been run and stopped,
make sure active_buf_idx is initialized to 0 when
setting up dma on start, otherwise the dma callback
can return the wrong buffer.
Also purge the rx_queue before freeing the slab buffers,
to minimize risk of any async read request getting
back a slab buffer that is freed.
Signed-off-by: Mike J. Chen <mjchen@google.com>
Include all supported Espressif SoC variants in the MCUboot
test suite to ensure proper CI coverage.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
The interrupt handling was not deterministic before because it relied
on "guessing" if the lpspi was a v1 type that was stalling due to design
errata. This obviously ended up being wrong in some cases. So we really
need to fix this so that it is deterministic, and my idea to do that is
to explicitly count how many words we have written to the TX fifo
throughout the whole transfer.
As a side effect of making the IRQ more deterministic, we can't support
the SPI_HOLD_ON_CS flag for v1 LPSPI anymore. It is fundamentally
impossible due to the fact that the transfer can only complete in
hardware as a result of CS deasserting. If this is absolutely a
requirement to support this flag in the future, my recommendation is to
update the driver so that it muxes the pin to a gpio before ending the
transfer, but that would kind of defeat the point of having a native CS,
at least at the end of the xfer.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
This early exit section is only reached if there is an error.
In the case of not supported, the ret variable will be 0 and zassert
won't happen. This is because the test was meant to be skipped, not
passed or failed, in this case. So add the skip call.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The two collaborators, Casper-Bonde-Bose and MariuszSkamra,
are not actively collaborating on Zephyr anymore.
Remove to avoid assigning them as reviewer for PRs which
gives a false sense of who may actually review PRs.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Update the driver to handle -ENOSYS from phy_configure_link(), which is
now returned when the cfg_link callback is missing (e.g., in fixed-link
PHYs).
Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
Utilize a code spell-checking tool to scan for and correct spelling errors
in `Kconfig` files within the `soc` and `subsys` directory.
Additionally, incorporates a fix recommended by the reviewer.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Utilize a code spell-checking tool to scan for and correct spelling errors
in `Kconfig` files within the `arch`, `boards`, `kernel`, `modules`,
`samples`, and `share` directory.
Additionally, incorporates a fix recommended by the reviewer.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Utilize a code spell-checking tool to scan for and correct spelling errors
in `Kconfig` files within the `drivers` directory.
Additionally, incorporates a fix recommended by the reviewer.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Utilize a code spell-checking tool to scan for and correct spelling errors
in various files within the `doc` directory.
In `dsa_txrx_process.svg`, correct the typo `Tansmit` to `Transmit`.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Ensure that the BR/EDR L2CAP RX MTU is limited to the configured
BT_L2CAP_RX_MTU value during channel configuration.
This change prevent potential buffer overflow issues when receiving
data larger than the configured buffer size.
Signed-off-by: Jiawei Yang <jiawei.yang_1@nxp.com>
The MTU calculation in rfcomm_connected() was incorrectly adding the FCS
size instead of subtracting it.
This could lead to buffer overflows when sending data that exceeds
the actual available space.
Fix the calculation by properly subtracting both the RFCOMM header size and
the FCS size from the L2CAP MTU to get the correct RFCOMM session MTU.
Signed-off-by: Jiawei Yang <jiawei.yang_1@nxp.com>
Some of the Kconfig options did not reflect the actual
requirements from the TMAP spec. Relying on the AUDIO_TX
and AUDIO_RX was misleading, as they could be set by
broadcast configurations when the features required
unicast features.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The marking procedures can be reverted, since at this stage
it is already allowed to use the stack.
The MSP is temporairly set to interrupt stack in `reset.S` file before
calling s2ram procedures..
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
This reverts commit e68d110f7c.
Add a common function, start_broadcast_adv, to start
broadcast advertisement in the LE Audio BSIM tests.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
In case anyone enabled EAP_*_ALL explicitly without enabling the
Enterprise then it leads to a build error.
Fix by adding the dependency.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Avoid the following clang error
`error: label followed by a declaration is a C23 extension`
by writing this switch case as a codeblock.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
[Description]
After starting a DPP soft ap, enter 'wifi ap status'.
Security is shown as 'UNKNOW'.
[Root Cause]
1. Start a DPP soft ap:
wifi ap enable -s xxx -c x -p xxx -k 11
The parameter '-k 11' corresponds to
zephyr security type 'WIFI_SECURITY_TYPE_DPP'.
2. hapd_config_network() will be called to config a
new hostap bss.
3. Filed 'bss->wpa_key_mgmt' is set to
WPA_KEY_MGMT_PSK | WPA_KEY_MGMT_DPP.
4. When try to get security type of DPP soft ap,
there is no corresponding zephyr security type.
[Fix]
Add enhance code to convert the security type
to zephyr DPP security type.
Signed-off-by: Qiankun Li <qiankun.li@nxp.com>
This commit fixes the incorrect code formatting used by target_riscv.cmake
by changing the 4-space indent to 2-space and removing the space between if
keyword and parenthesis.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
If test configuration is not quarantined and `--quarantine-verify`
mode is enabled, these should be filtered and not attached
to reports.
Proposed change applies this approach.
Signed-off-by: Katarzyna Giądła <katarzyna.giadla@nordicsemi.no>
If test plan is used, memory usage metrics are overridden.
Result of this operation is missing memory footprint.
This change removes redundand metrics update and fixes
described inconvenience.
Signed-off-by: Katarzyna Giądła <katarzyna.giadla@nordicsemi.no>
Use UNALIGNED_MEMBER_ADDR when getting the address of possibly
unaligned structures members instead of attempting to directly
get the address as an offset.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Use UNALIGNED_MEMBER_ADDR when getting the address of possibly
unaligned structures members instead of attempting to directly
get the address as an offset.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Use UNALIGNED_MEMBER_ADDR when getting the address of possibly
unaligned structures members instead of attempting to directly
get the address as an offset.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Use UNALIGNED_MEMBER_ADDR when getting the address of possibly
unaligned structures members instead of attempting to directly
get the address as an offset.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Use UNALIGNED_MEMBER_ADDR when getting the address of possibly
unaligned structures members instead of attempting to directly
get the address as an offset.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Use UNALIGNED_MEMBER_ADDR when getting the address of possibly
unaligned structures members instead of attempting to directly
get the address as an offset.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In principle getting the address of an unaligned structure member
is undefined behaviour, and clang warns as much.
Let's provide a macro which can return such an address.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
When QSPI LPM is enabled, QSPI will already be uninitialized, and during
deinit if uninitialized is being called again then it leads to a hang as
it waits for mem busy check to pass which it won't.
Fix by checking if the device is initialized before calling
uninitialize.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Ensure the I2S echo sample only configures the audio_codec driver
when the `audio_codec` node is defined and enabled in the devicetree.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Until register ABB->STATUSANA is visible it must be checked using
defined offset to base ABB register.
Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
Add a log for the device name on bitrate changes, without this it's very
hard to understand what's going on in a system with multiple bridges.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Ensure that the BLE interrupt remains marked as reserved in the
interrupt table descriptor when it’s in use. This prevents accidental
reassignment of the BLE IRQ in downstream configurations.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Previously, reponse slot value is 5* 1.25ms = 6.25ms , on nxp rw61x
platform, host got the periodic adv report v2 and after about 6ms,
send reponse data cmd, it is too late , so always rpt the 0x46 too
late err code to host , in order to send the response , so make rsp
delay update to 10ms.
Signed-off-by: Alex Zhou <alex.zhou@nxp.com>
This snippet got introduced, and is not a breaking change for C APIs but
still introduce a change of command line to use for building projects,
so add a migration guide entry.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Remove the build instruction from README about using the native_sim
without using the video-sw-generator snippet, as it cannot build.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Add macros giving hints to users using #error, about what might be
missing to build and run the samples, such as a missing "chosen"
devicetree node.
Signed-off-by: Josuah Demangeon <me@josuah.net>
The GRTC counter is not cleared at startup, therefore the
`last_count` variable needs to be initialized accordingly.
This change:
- Prevents overflow of the `sys_clock_announce()` int32_t parameter
- Ensures the correct uptime value, which should be reset during
initialization
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
Removed duplicate assignment of ctx->executing under
CONFIG_SMF_ANCESTOR_SUPPORT.
Also replaced #ifndef with #ifdef to align with the positive logic
used elsewhere in this file.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Remove false alarm warning of
`braces {} are required around if/while/for/else`
for macro definitions with if/while/for/else.
Signed-off-by: Vignesh Pandian <vignesh@aerlync.com>
Use MISRA C:2012 Amendment 2 instead of 'MISRA C:2012 Amendment 2' in
all configuration files consistently.
Also fix a typo in one of the deviations.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Previously, FUNC_3 related setting were cleared unconditionally,
regardless of the selected alternate function. This could
unintentionally disable FUNC_3 settings when configuring other
alternate functions.
This change ensures that FUNC_3 gcr/ext bits are only cleared
when alt_func is IT8XXX2_ALT_FUNC_3.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
zperf should only return 'Kbps'. There are still two left-overs
from converting shell prints to 'Kbps'.
Align all prints to make it easier for scripting and parsing
content from console output.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Fix for compiling i2s drivers on the NXP mimxrt1010_evk board.
For mimxrt1011, the defines kCLOCK_Sai2... are not defined as the sai2
peripheral does not exist. Trying to compile gives error. Fixed by adding
check for device tree node around code that uses the defines. Also added
same for sai1 and sai3. Thanks @lucien-nxp, @ZhaoxiangJin from NXP.
Signed-off-by: Imran Sajjad <imran.sajjad@iconfitness.com>
net_event.h header makes use of macros defined in net_mgmt.h, therefore
it should include that header.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Fixed a bug where that was caused because the different LEDs use the
same 'dir' variable and that caused them to eventually lose
synchronization.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
The 16bit th_win in the TCP header was not set via htons(). It
will bring issues of wrong th_win value in the peer end. For
example, the 1280 (0x0500) TCP window size would be taken as
5 (0x0005) by the peer end.
Signed-off-by: Shrek Wang <inet_eman@outlook.com>
With junitparser 4.0.2, the JunitXml.fromfile() now returns a JUnitXml
instance. In order to access the junit.TestSuite instance, we must use
TestSuite.fromelem() to convert it back.
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
Fix variable declaration so that this driver will compile with clang,
which does not support variable declarations within switch statements
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
Several years ago we started enabling the -Waddress-of-packed-member
warning in commit cf111962e0 for GCC.
Do the same for Clang, since there is no reason not to and the warning
is very useful, especially in protocol stacks.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The NET_EVENT_WIFI_SIGNAL_CHANGE was not added to net mgmt event queue
so that no scan was triggered, which caused roaming fail. The event
NET_EVENT_WIFI_SIGNAL_CHANGE was dropped because it was not enabled in
WIFI_SHELL_MGMT_EVENTS. After adding NET_EVENT_WIFI_SIGNAL_CHANGE, the
roaming works as expected.
Same issue found on event NET_EVENT_WIFI_NEIGHBOR_REP_COMP for 11k
roaming. Add this event to WIFI_SHELL_MGMT_EVENTS, too.
Signed-off-by: Hui Bai <hui.bai@nxp.com>
The DT hierachy of the RT11xx series was somewhat incoherent. The boards
targets were directly including the series level DTSI with no SOC dtsi
in between, and there existed an SOC DTSI that had to be separately
included by a different board file, which didn't include the series DTSI
itself. It seems that this was only working if you included the files
exactly in the correct order in specific board files. Also, as a result
of this change, need to (correctly) define the cpu core only in the DTSI
for that core, instead of in the series generic dtsi, because that DTSI
was actually written with incorrect syntax due to duplicated node labels
on nodes right next to each other in the same file, and was relying on
other DTSI files to delete the duplicate nodes in order for it to build.
So overall this was a mess, needed cleanup.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Don't force select INIT_SYS_PLL at SOC level. Instead use default y so
that board can unset it. Keep previous case where we would default y
which was only on RT1040. Also, this config is not used in RT1170 soc,
so move it to RT10xx series kconfig instead of family level. And it
appears to be on all the RT10xx, so ifdef is not needed.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Don't force select the INIT_VIDEO_PLL config so that board level can
unset it. Also clean up the code a bit in soc.c files.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The LDO config should not be forcefully selected at SOC level. Instead,
use soft default y so that board definition can unset it if desired.
Also, in the soc.c, the LDO code should be on both the rt1160 and
rt1170, so the definitions should exist, and ifdef is not needed. So can
switch to IS_ENABLED to decrease configuration complexity of the source
code.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The DCDC should be on all the platforms and the functions and structs
should therefore be defined on all the platforms. So the ifdef is not
needed, we can remove it to increase code compilation coverage unity
across configurations slightly. Compiler should optimize out the block
when IS_ENABLED is false statically.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Don't forcefully select this config in SOC level. Make it softer default
y so board can unselect it.
The config should not be possible if there is no arm pll, namely on
RT101x and RT102x. So add dependency clause about this.
And of course, code for this was a mess, clean up a bit.
Also remove the ifdeffry for selecting a default value for the two SOCs,
because they already put the same default value in the SOC Devicetree
DTSI, so that code had no purpose as long as a board didn't completely
redefine the SOC DT.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Initial motivation for this commit was to not force select
the INIT_ENET_PLL config from SOC level to allow for board level
configuration which might want it to be off.
While doing that, I discovered that RT11xx actually does not have
anything called by "ENET PLL" in the reference manual. So I have
removed the config for RT11xx. The default clock source for this soc.c
code for RT11xx is PLL1 DIV2, which I changed to just be configured if
ethernet is enabled, which was the reason to configure this pll as it
stands now, even though it is not specific to ethernet (although the
DIV2 output is mostly for ethernet). Another config is therefore not
needed.
For RT10xx, the situation is a lot more complicated. There is a lot of
discrepancy again between what is considered the "ENET PLL" both
conceptually and literally between the RM, SDK, and Zephyr config. And
also the code to define the config struct was a complete mess. So I have
simplified the code and changed it so that the config is only a soft
default to y instead of selected forcefully. Also, for the case of the
RT1010 and RT1020 series, the SDK is appearing to configure PLL6 (again
there is no clear ENET PLL meaning on these platforms) 500M output
through this "enet pll" configuration function. So similarly instead of
always enabling this output for those platforms, I added a new config
which can be set or unset by board level.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Enable the RTC-domain and main digital regulators early in clock init,
then load and program the factory/runtime calibrated bias values for
high-power and low-power regulators into the PMU. This ensures the
correct voltage/current settings for stable, low-noise clock operation
in active, modem and sleep modes.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
The extra shell commands are useless unless you also enable
I2C_TARGET. Conditionally include them based on the I2C_TARGET
kconfig.
Signed-off-by: Yuval Peress <peress@google.com>
Add support for Waveshare RP2040 Plus board a Raspberry Pi Pico like
board including a battery charger.
Signed-off-by: David Schneider <schneidav81@gmail.com>
All this can be rolled into the single latency number.
Exit latency also triggers an additional timeout which
is not required for this SoC.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
The original logic relied on the tick passed in. This method
is inaccurate as the tick value passed in was the exit latency.
Update the code to calculate the remaining time left and set
a counter using this value.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Commit 3c47f91be4 introduced alignment
validation in K_MEM_SLAB_DEFINE macros.
A couple PTP message slabs wer using alignment 8, while the size of
the elements wasn't a multiple of 8, causing a static assertion
failure.
Fix by changing the alignment from 8 to 4 bytes.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The compiler requires that much of the C library be built without using LTO
so that various symbols are available for use by generated code, including
things like memset and memcpy.
Add the "prohibit_lto" CMake target compiler property to avoid LTO when
activated.
Signed-off-by: Matthias Plöger <matthias.ploeger@phoenixcontact.com>
Fixes#92059
Update getting started guide, migration-guide and
python.cmake to use Python 3.12.1 as minimum supported
version
Signed-off-by: Tu Nguyen Van <tu.nguyenvan@nxp.com>
Update the HW models module to:
6e5961223f81aa2707c555db138819a5c1b7942c
Including the following:
6e59612 CLOCK (52,53): Fix test interface with multiple instances
ecf2292 54 CRACEN: Improve model
1277b16 irq controller: Remove out of date comment
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The original definition of request_bytes as uint8_t caused incorrect
behavior when attempting to receive more than 256 bytes, as the variable
would overflow. This patch changes its type to uint32_t to allow
correct tracking of large I2C transfers.
Signed-off-by: Eason Huang <eason.huang@tronfuture.com>
Add overlay file for RT1170 EVK and simply existing flexio spi overlay
file for RT1060 EVKC and RT1064 EVK. One flexio-spi interface for both slow
and fast tests. Fast baud rate set to 16Mbps now.
Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
Several reason cause loopback test failed:
a) FlexIO input frequency is not correct, on RT11xx, input freq is 24M,
while max baud rate can reach 1/4 of input freq, so it can only support
6Mbps.
b) Flexio shift register depend on correct timer output to triggger TX
and RX, if timer comparison value is not accurate, RX error happens on
high baud rate. This is the reason why test fails on RT1060.
also fix a error on FlexIO clock ID calculation.
Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
Make sure the compilation is ok if PPP statistics is enabled.
This is related to commit 3e704256e3
("net: ppp: stats: Fix net_mgmt request handler format") which
was needed because earlier commit 5a9a39caf3
("net: mgmt: Convert the mgmt API to use 64-bit masks")
missed an compile problem because there was no compile test that
enabled CONFIG_NET_STATISTICS_PPP option.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add an explicit log message if setting suspend mode fails during error
handling in bmm350_init_chip(), to improve debuggability.
This addresses Coverity issue CID 520279 (Incorrect expression - CWE-398),
which flagged a conditional block where both branches effectively led to
the same outcome (return -EIO), making it appear redundant.
By adding a log before returning, we clarify the purpose of the condition
and avoid the issue of "identical code for different branches", while
keeping the functional behavior unchanged.
Coverity-CID: 520279
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Fix peripheral EVENT_OVERHEAD_START_US assertion due to
missing packet timer timestamp accumulation under single
timer use in nRF54Lx SoCs.
Relates to commit 373dc0db71 ("Bluetooth: Controller:
Single timer use Extended Advertising nRF54L support").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit adds a device-tree prop for the audio streaming
terminals to specify the bInterval values for the Isochronous
endpoints.
Signed-off-by: Victor Brzeski <vbrzeski@gmail.com>
Per section 5.6.4 of the USB 2.0 standard, Isochronous Endpoints
are derived by the (2^(bInterval-1) * F) formula. The current
implementation uses the formula intended for Interrupt Endpoints.
Signed-off-by: Victor Brzeski <vbrzeski@gmail.com>
Now that they are handled through their dedicated driver, remove
clock activation for AXISRAM3/4/5/6 (which was useless anyway as
RAMCFG part was missing).
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
AXISRAM3/4/5/6 nodes are added as children of their respective controller.
They're declared as "zephyr,memory-region" and disabled by default.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Add a driver to handle AXISRAM3/4/5/6 configurations.
Provide the required changes to add RAM sections into the build system.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Replaces binary literal with 3ULL to avoid shift overflow and align
with Zephyr coding style.
Fixes: #81963
Fixes: CID 434591
Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
This change allows for enabling/disabling the idle traces by setting the
CONFIG_TRACING_IDLE config.
Signed-off-by: Krzysztof Sychla <ksychla@antmicro.com>
Use default value 0 if board DT doesn't define it.e
It's totally fine if the board device tree doen't define
load_capacitance_picofarads for the crystal oscillator. In that case,
just fallback to 0.
Signed-off-by: jens rudberg <jens@teenage.engineering>
1. add the ostimer
2. by default, the systick is used.
3. The ostimer could be tested with below configure in xxx.overlay:
&systick {
status = "disabled";
};
&ostimer0 {
status = "okay";
};
And below configure in xxx.conf:
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=1000000
Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
Do not use qemu_cortex_m3 for the "build all" case, as it overflows and
provides no benefit over native_sim. Add native_sim/native/64 platform
to the tests.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The previous setup packet reference will simply be overwritten when the
host omits data (OUT) stage. If a new setup packet arrives before the
previous data stage is complete, free the last setup packet buffer.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add new filters for Xtensa platforms:
* imxrt7xx supports now a hifi1 core
* imxrt6xx/imxrt7xx support now a hifi4 core
Kconfig* and CMakeList.txt files could be updated for Xtensa related
code so add them to the filters too.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Add support for the frame buffer address and stride alignment.
If user set the CONFIG_LV_DRAW_BUF_ALIGN to not be 4, the buffers
shall be allocated aoocrdingly.
If user set the CONFIG_LV_DRAW_BUF_STRIDE_ALIGN to not be 1, the
methods of flushing the display shall set the pitch accordingly.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
The mipi_dbi_nxp_dcnano_lcdif driver support non-contiguous frame
buffer, so when mipi_dbi_nxp_dcnano_lcdif cannot be used to send
the frame buffer data, the driver needs to check whether the data
is non-contiguous first. If it is then extra methods need to be
applied. First the data of each write must not exceed the line
width, second if each line's data exceeds the max payload, it also
needs to be sent seperately.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
display_rm67162 uses mipi_dsi API(s) to update transfer frame data, some
low level IP can while some cannot handle non-contiguous buffer(the frame
pitch is larger than frame width). In this case, pass the frame descriptor
as the user data in the message to the low level driver and let it
handle how many data to send. The display_rm67162 driver only need to
set the address correctly for each transfer according to the pitch/width.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Add member in mipi_dsi_msg structure to store user data, incase the high
level driver or application needs to pass down extra configuration.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Update CMakeLists.txt to conditionally include address translation
support based on Kconfig options.
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Add NXP-specific address translation table to support memory-mapped
translations between driver and device.
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
There are SoCs that have different memory maps for device and driver.
Therefore the shared memory between them has different values and we
need to convert the addresses.
This commit introduces address translation support for OpenAMP:
- implements the address translation functions;
- returns the I/O operations used for address translation.
The ops can be used in Libmetal (see metal_io_init()).
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Make the stm32n6_dk variant (stm32n6570_dk/stm32n657xx/fsbl) unable
to execute tests in CI with Twister.
This change will help avoid many CI build failures caused by this variant.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Fixed typo whereby the description field started with `description: |`
instead of actual description.
Also added a proper title field while at it
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Enalbe II2C hal driver status polling timeout in order to avoid
blocking of some driver API, such as kernel hang during i2c scanning.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Add dt_compat_enabled_num Kconfig helper function for counting the number
of compatible nodes with status okay.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
The siwx91x need a specific firmware image format. These image end with
.rps extension. The current name of the image is zephyr.bin.rps. However,
the .bin suffix is not relevant. It makes even more sense if we consider
the output of west sign: zephyr.signed.bin.rps. We can simplify these name
by remove the .bin suffix.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Once the keys has been provisioned on the Silabs siwx91x, the chip expects
the firmware to be properly signed.
This PR automate the signing process. Hence, "west flash" will work as
expected.
Co-developed-by: Aasim Shaik <aasim.shaik@silabs.com>
Signed-off-by: Aasim Shaik <aasim.shaik@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Disable generation of .hex output, since the Commander runner
prefers it over the .bin output but SiWx91x needs a .bin.rps file.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Co-developed-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Use runners_yaml_props_target to set the name of the file to
flash, rather than hard-coding it for each board.
Co-developed-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Like other API in DNS cache, `dns_cache_remove` should check arguements
return -EINVAL if any of them is NULL.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
STM32H7 spi_loopback test fails since the introduction of a test enabling
SPI_HOLD_ON_CS.
This uncovered an issue where the SPI ISR is constantly called if the SPI
is not disabled, even if the interrupt enable register is completely
cleared.
A workaround is to disable the SPI IRQ at the NVIC level when
SPI_HOLD_ON_CS is used.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Enable parsed results to be printed to the console in addition
to being exported, rather than requiring one or the other.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
If exporting to multiple formats (e.g., HTML and JSON), do not stop
after the first format when errors are found. Instead, continue
exporting to all specified formats and only exit afterwards.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
MAX32657 introduces changes for registers named (master, slave) to
(controller, target) this causes build issues
Signed-off-by: Mert Ekren <mert.ekren@analog.com>
Some architectures use pseudo instructions in assembly.
Introduce an option that allows forcing raw instruction mnemonics.
Currently implemented for GNU binutils.
Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
Commit 64149e4df6 added an "#if defined()"
for configuring DMA channels differently depending on SOC family of the
STM32 HAL, but did not include the STM32H7 family in the same group as
STM32F7. Fix it by adding the STM32H7 in the same #ifdef filter.
Fixes#92015
Signed-off-by: Josuah Demangeon <me@josuah.net>
This change adds two macros that allow the user to specify the section
the memslab buffer should be allocated from. This is useful for systems
where memory must reside in DMA-able memory like USB.
Signed-off-by: Victor Brzeski <vbrzeski@gmail.com>
Allow overriding puncover default host and port. Using
PUNCOVER_HOST/PUNCOVER_PORT it is possible now to set the host and port
to something else other than the default.
example:
export PUNCOVER_HOST=10.0.1.1
export PUNCOVER_PORT=8088
will start puncover on 10.0.1.1:8088 and make it available over the
local network.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add driver for Microchip PolarFire SoC (MPFS) peripheral clock and soft
reset control.
Normally, the peripheral clocks and reset state are controlled by the
Hart Software Services (HSS) running on the Monitor processor. As an
alternative to using HSS services, applications can now enable the reset
controller in a device tree overly, for example:
&reset {
status = "okay";
};
&uart4 {
resets = <&reset MSS_RESET_ID_MMUART4>;
};
Embedded the reset controller node in system controller node.
Signed-off-by: Frank Kühndel <frank.kuehndel@embedded-brains.de>
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
Signed-off-by: Conor Paxton <conor.paxton@microchip.com>
Avoid accessing tx_bufs or rx_bufs when they are NULL by adding proper
conditional checks before dereferencing. This addresses Coverity issue
CID 516225 (CWE-476).
Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
1. Increased interfaces count as there are 6 MACs on i.MX943.
2. Increased NETC ring length as extended BD will be used.
3. Enabled monitor for gPTP sync status.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
- fixes is25wp064 flash size in DTS. It must be 8 MBytes (64MBits).
- uses DT_SIZE_M() macro instead of an absolute value.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
This set of changes adds support for QSPI-based external flash and
Bluetooth to the device tree. This make it possible to correctly build and
execute the fatfs and several Bluetooth samples out of the box.
Also added a function to read the external flash OTP to extract
information about the Opta model and hardware features and a second
function to retrieve the "official" Opta serial number.
Signed-off-by: Federico Di Gregorio <fog@dndg.it>
Floating-Point System ID register (FPSID) = 0x41033094
AArch32 Media and VFP Feature Register 0 (MVFR0) = 0x10110222
AArch32 Media and VFP Feature Register 0 (MVFR1) = 0x1111111
MVFR1 SIMDFMAC, bits [31:28] = 0; FMAC is not supported
Signed-off-by: Simon Maurer <mail@maurer.systems>
Recent changes to net_link_addr structure to not use pointers
have made it necessary to update the modem_cellular driver
to ensure compatibility with the new structure definition.
Otherwise, an assertion failure occurs in subsys/net/l2/ppp/ipv6cp.c:40.
This commit updates that link address is set to NET_LINK_ADDR_MAX_LENGTH
least significant bytes of IMEI instead of IMEI total length.
Signed-off-by: Jani Hirsimäki <jani.hirsimaki@nordicsemi.no>
According to the C standard it is undefined behavior to use preprocessor
directives inside macro invocations.
Cppcheck stops when it see this UB with an error message, and so this
change will improve Cppcheck analysis
This is a refactoring to fix UB, no logical change is intended.
Signed-off-by: Daniel Marjamäki <daniel.marjamaki@cppchecksolutions.com>
This commit adds the following:
* Sensor related usage IDs in the Sensors' page of the HID standard.
* A HID usage macro that works with IDs of 2 bytes.
* A macro to define the exponent in a report descriptor.
The values and naming came from the following document: https://www.usb.org/sites/default/files/hutrr39b_0.pdf
Signed-off-by: Zak Essadaoui <zak0@meta.com>
struct init_entry may point to a struct device or a struct service,
each ones belonging to device or service iterable section.
Service section being newly added, handling it in cmake relevantly.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
check_init_priorities.py does no longer output any information about any
initialization function pointer as such pointer has been removed from
struct init_entry.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
As the pointer has been removed from struct init_entry, there is no point
to look for it nor to display any information about it (obviously).
Fixing the test script as well.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
Since the addition of deinit operation in device, init and deinit have
been within each device, rendering their init entry's init function
useless.
In order to save ROM space, let's remove the init function from
init entry altogether, and introduce a new object called "service"
which owns an init function to go along with SYS_INIT/SYS_INIT_NAMED.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
Addition of a shield st_mb1897_cam embedding a GC2145 CSI
sensor which can be connected to the STM32MP135F-DK via a 15pins FFC.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The STM32MP135F-DK board embeds a ST-MIPID02 CSI to DVP
bridge allowing to connect a CSI 15pins FFC cable enabled
sensor to the DCMIPP in parallel interface.
Add the ST-MIPID02 node and its dependency MCO clock as well
as partially filled DCMIPP node.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
MCP230XX IO expander is interfaced via i2c hence it is
suffisant to align its init priority to the i2c one.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Following the addition of USB Video Class, this adds a sample that makes
use of the zephyr,camera chosen node of any board to stream the video
source to the host. A snippet video-sw-generator can be used to test
and debug devices without a zephyr,camera chosen node.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Introduce a new USB Video Class (UVC) implementation from scratch.
It exposes a native Zephyr Video driver interface, allowing to call the
video_enqueue()/video_dequeue() interface. It will query the attached
video device to learn about the video capabilities, and use this to
configure the USB descriptors. At runtime, this UVC implementation will
send this device all the control requests, which it will send to the
attached video device. The application can poll the format currently
selected by the host, but will not be alerted when the host configures
a new format, as there is no video.h API for it yet.
Signed-off-by: Josuah Demangeon <me@josuah.net>
The Arduino Nicla Vision board supports the new device_next USB stack
and can be used for testing USB Device features such as UVC.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Always return exit code 0 when cmd_uart_read stopped reading
data from UART. Instead, return with a error code in case
reading from the UART interface failed.
Currently, this command might return with exit code -1 because
uart_poll_in didn't return data and the read duration expired.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Update Zephyr fork of MCUboot to revision:
07222c1929e1d79d303baa8fde7f977a79e48e9a
Brings following Zephyr relevant fixes:
- 07222c19 boot_serial: Avoid re-initializing state in
boot_image_validate_encrypted
- a18f635a boot: Remove now superfluous start_off parameters
- c62c19db boot_serial: Use flash sectors from bootloader state
when possible
- 13edc5fb boot_serial: Use flash area from bootloader state when
possible
- f1aa499c boot_serial: Initialize a bootloader state for bs_list
and bs_set
- f1efd483 bootutil: loader: Expose routine to determine sector
layout
- 72166868 bootutil: loader: Expose routine to open/close all
flash areas
- 0319e91c boot: bootutil: Fix encryption/decryption size
during copy
- a36f9513 imgtool: Add support for HMAC/HKDF-SHA512 with
ECIES-X25519
- 37719169 zephyr: Support for HKDF/HMAC with SHA512
- 1d83177c bootutil: Add support for HAMC-SHA512 with ECIES-X25519
- 7de064ea boot: zephyr: add support for booting ARC processors
- 72459ec0 boot: zephyr: stm32n6570_dk: define
CONFIG_MULTIPLE_EXECUTABLE_RAM_REGIONS
- be8b3abc boot: Zephyr: Add a Kconfig for
MULTIPLE_EXECUTABLE_RAM_REGIONS define
- c5011f2b zephyr: Improve logging
- 11f9c6f2 bootutil: Improve logging coverage
- adbe1cfb boot: stm32n6: Define specific executable region
- 93c2b50a boot: zephyr: boards: Add configuration for
stm32n6570_dk
- fca80b41 boot: zephyr: defines FLASH device for external NOR
- 78d94cf4 imgtool: bump minimal required version to 2.2.0
- af602f81 bootutil: Replace local identifiers with common
definitions
- e5756df5 bootutil: Remove redundant ALIGN definitions
- e3a271c9 bootutil: Move all encryption TLV helper identifiers
into one place
- 68a4c962 boot: bootutil: avoid full erase on BOOT_MAGIC_BAD
in boot_set_next
- 1ed0218c scripts: imgtool: Add hash for ECDSA256P1Public
- a90ddfc7 zephyr: Fix pinreset trigger
- e56cecc4 bootutil: Small cleanup in image.h
- 402d3f7f boot: zephyr: Refactor DFU entry logic
- 687dc8c5 bootutil: boot_decrypt_key: Only one
bootutil_hmac_sha256_drop needed
- a0065f8f bootutil: Fix boot_scramble_region escaping flash
area
- bb644c7c bootutil: loader: overwrite-only mode fix for
trailer erase
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
use DT_INST_PROP_OR for local-mac-address, so
that it is not required to be set in dt, as there are
other ways to se the mac address.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
make sure, that zephyr,random-mac-address
has a higher prio, than local-mac-address, as
documented in ethernet-controller.yaml.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
make sure, that zephyr,random-mac-address
has a higher prio, than local-mac-address, as
documented in ethernet-controller.yaml.
Also make sure, that no vaild mac address
doesn't lead to init fail, as it can still be
set later via set_config.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
increase value of the adc-prescaler to avoid ADC
overrun.
adc driver related error log:
"E: ADC overrun error occurred ..."
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Extend tests/boot/with_mcumgr with BLE configuration.
Updated sample to use the source code from smp_svr.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
The zephyr_library macro does not expect any arguments, add a check for
that and similar for zephyr_library_named for no unexpected additional
arguments.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Add zephyr_check_no_arguments that macros and functions can call to check
that no arguments are given.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
UDC drivers use udc_buf_get_all() when dequeueing endpoint. On drivers
that require double buffering for isochronous IN endpoint, the dequeue
on interface disable will result in class request API called on net_buf
with frags set. Call release callback on the buffer pointed in frags
because it was passed in using usbd_uac2_send().
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Do not synchronously wait for endpoint interrupt bits when disarming
endpoints. Introduce ep_disabled k_event that makes it possible for
application to wait for the action to take effect which is necessary
when handling SetFeature(ENDPOINT_HALT) or SetInterface() requests.
This change improves incomplete iso IN and OUT handling performance,
especially when there are multiple isochronous endpoints that need
servicing.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
At High-Speed there is at most 25 us handling window for incomplete iso
IN/OUT and therefore determining which endpoints are isochronous is too
wasteful. Add lookup variable holding which isochronous endpoints are
enabled and limit the search to only enabled endpoints. For applications
with just one OUT and one IN isochronous endpoint this is optimal.
The lookup variable is updated only when mutex is held. Interrupt
handler accesses the variable read-only and in general there is no
problem is incomplete iso handling interrupt hits when the lookup
variable is updated, because:
* when endpoint is just activated, it cannot be source of incomplete
iso interrupt because the endpoint is not armed yet
* when endpoint is just deactivated, it was first disabled
If there is more than one isochronous endpoint same direction then just
relying on endpoint enabled is not necessarily optimal. However, in
order to be able to limit the search to only armed endpoints, the lookup
variable would have to be updated on every transfer preparation and
completion which would require more time-expensive synchronization.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Replace irq_lock() with spin lock which is proper synchronization
primitive that should be used. Because non-SMP implementations are
allowed to optimize spin lock to just locking interrupts the resulting
code is the same on all currently supported DWC2 targets.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Introduce test for device_deinit() which deinitializes the spi
bus, then configures miso as input, mosi as output using gpio,
utilizing the loopback to test directly controlling the pins.
Then reinit the spi device.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Constify vendor quirks structure to not keep it in RAM. Use constified
vendor quirks structure directly if there is only one snps,dwc2 instance
to allow compiler inlining quirk implementation.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add tests to check the correctness of '#address-cells' usage.
The missing tests have allowed bug #77890 to persist for years.
Signed-off-by: Andrey VOLKOV <andrey.volkov@munic.io>
The '_raw_unit_addr()' function was incorrectly written a long time ago.
It tries to look up and use the '#address-cells' of the node containing
the 'interrupts' property itself, instead of using the '#address-cells' of
the interrupt controller's node (or its parent).
As a result, the mapping is successful only if the '#address-cells' value
is the same in both the node and the interrupt controller, all other cases
lead to random errors being generated by the 'gen_defines.py' script.
Also, the function was trying to use the '#address-cells' value as a
little-endian one, which led to unpredictable results as well.
This problem has been fixed too.
Fixes#77890, and probably #78020
Signed-off-by: Andrey VOLKOV <andrey.volkov@munic.io>
Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
According to the following comment on github
https://github.com/zephyrproject-rtos/zephyr/pull/77900/files#r1750393745
edtlib implementation is partially correct and it is missing two things:
1. If an ancestor has an interrupt-controller or interrupt-map property,
the walk must terminate.
2. If an interrupt-parent property is found, the linked node must be a
valid interrupt controller or nexus.
This commit add these checks.
Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
The lp_mspm0g3507 has a red LED that can be driven by GPIO or PWM TIMA0
CH0, set maximum prescale and divider to arrive lower timer clock from
clock source. Add to the samples.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
TI MSPM0 SoC series has General Purpose Timer and Advanced control timers
with Compare block which is used to generate time expiry and output
waveform like PWM. Add driver support for MSPM0 PWM output.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
When loopback mode is enabled, the output of transmit serial shifter
is connected to the input of receive serial shifter internally.
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Add support to use DMA mode with cc23x0 SPI module. This consists in
specifying the DMA channels and peripherals.
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Two DMA channels are assigned to TX and RX respectively:
- A TX DMA single request is asserted when there is space in the FIFO.
- A RX DMA single request is asserted when data is in the FIFO.
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Earlier we had socketpair to pass wifi event information from
wpa_supplicant side to zephyr adaption layer. This is now replaced
by k_fifo to save some RAM.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Enlarge NUM_IRQS by 32 which is the number of interrupts for
SGI (Software Generated Interrupts) and PPI (Private Peripheral
Interrupts).
Signed-off-by: Tony Han <tony.han@microchip.com>
Obtain the divisor value for generate the corresponding MCKx from the
register instead of from the variable to avoid wrong result caused by
un-synced division ratios.
Signed-off-by: Tony Han <tony.han@microchip.com>
Obtain generic clock division ratio from the register instead of
from the variable to avoid wrong result caused by un-synced
division ratios.
Signed-off-by: Tony Han <tony.han@microchip.com>
Optimize sckc_get_rate() to be called without configurations in
parameter, the selection of slow clock of the timing domain directly
comes from the register.
Optimize sckc_get_status() with return value "CLOCK_CONTROL_STATUS_ON",
slow clock is always on either driven by the RC oscillator or by the
32.768 kHz crystal oscillator.
Signed-off-by: Tony Han <tony.han@microchip.com>
Create bus helpers that will send ccc commands as well as update
items within the i3c descriptor. These are different than the
direct ccc functions as these can give a bit of convience to also
updating the descriptor.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
The issue is found when doing shell command "i2c scan" on sama7g54-ek.
In this case no data will be transferred besides START and STOP. Data
abort would occur on accessing "msg->buf[msg->idx++]" when MMU is
enabled and "msg->idx" is very large.
Signed-off-by: Tony Han <tony.han@microchip.com>
Fixes/adds jedec-id for is25wp128, is25lp064 and w25q512jvfiq flashes,
according to information from Flash data-sheets.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Add bus gpios to zephyr,user node in nrf overlays to enable testing
device_deinit test case.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Add device_deinit test case which, in case there are two devices
using gpio loopbacks, deinits both controller and target devices,
then uses gpio to configure and toggle the pins of the bus, then
reinitializes both devices.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Adding supporting soc files for the k32lx platforms and updating
soc.yaml.
Signed-off-by: Ishraq Ibne Ashraf <ishraq.i.ashraf@gmail.com>
soc: nxp: kinetis: k32lx: Use device tree provided value
This clock frequency value will be defined in the board device tree.
Signed-off-by: Ishraq Ibne Ashraf <ishraq.i.ashraf@gmail.com>
CS hold time parameter is not correct which may cause bus fault
randomly.
System hang during status register reading after flash progromming which
is caused by parameter accessing in XIP mode.
Add dummy delay for READ command according the flash datasheet which is
required for SDR mode.
Use FlexSPI internal divider for clock updating instead of register in
CCM to avoid potential risk caused by flash access during clock updating
procedure.
Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
MT35 flashes could run in octal mode, Now the driver doesn't support
octal mode, add octal mode support for MT35 flashes.
Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
- Adds new tested NXP boards to the test_mcuboot platform_allow list.
- Sorts NXP boards alphabetically.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Updated documentation for Wi-Fi BT nxp shield.
Added information to build WPA supplicant based apps using this shield.
Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
Replace IC specific fuel gauge example with a generic fuel gauge example
and move the fuel gauge sample to sample/drivers folder
Signed-off-by: Philipp Steiner <philipp.steiner1987@gmail.com>
Call updatehub_report_error() when detecting an unconfirmed image in
autohandler to ensure the server is notified of the failure before
triggering a rollback.
Signed-off-by: Adrien Maillard <adrien.maillard@edu.hefr.ch>
Report the error state to the UpdateHub server before triggering a rollback
in autohandler mode. This prevents the server from redeploying the same
(failed) update after rollback, avoiding update loops. Also exposes a new
public syscall: updatehub_report_error(), allowing manual mode users to
report an error explicitly.
Signed-off-by: Adrien Maillard <adrien.maillard@edu.hefr.ch>
When external station connects to soft ap,
fill ap_sta_info.twt_capable with external
station HE capability.
Signed-off-by: Qiankun Li <qiankun.li@nxp.com>
1. When external station connects to soft ap, zephyr
hostap will fill sta_info before sending mgmt event
to l2 wifi layer.
sta_info.twt_capable should be filled with external
station capability rather than soft ap self.
2. Rename hapd_is_twt_capable to
hapd_get_sta_he_twt_capable.
Try to get twt_capa form capability of external station
rather than soft ap.
Signed-off-by: Qiankun Li <qiankun.li@nxp.com>
1. When external stations connect to soft ap,
Wi-Fi driver will send UAP_CLIENT_ASSOC event with data.
nxp_wifi_wlan_event_callback will be called to process this event.
2. The data should include some basic station information
but not only mac address of station.
3. Fill ap_sta_info with information of
connected station but not soft ap self.
4. Fix: Wi-Fi driver send UAP_CLIENT_ASSOC event
with basic station information.
5. Fix: ap_sta_info with information of connected station.
Signed-off-by: Qiankun Li <qiankun.li@nxp.com>
Different LPSPI IPs are used for RT11xx and MCXN. On a older version of
LPSPI, a transmit command or a TX data need to be issued to end a frame.
On a new version, no such requirement.
Based on above information, we have to make DMA transfers "cascade" in
the DMA ISR to keep CS asserted during the whole SPI transfer.
PCS_HOLD_ON is a feature to keep CS asserted during multi SPI transfers.
It is implemented and supported on new LPSPI IP but it is impossible to
be supported on an older version like RT11xx.
Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
There is an issue that the SCO connect cannot be un-referenced by HFP
AG when the SCO connection is broken if the SCO connect is not created
by HFP AG.
Register SCO connect change callback. And un-reference the SCO connect
in SCO disconnected callback.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
There are two issues found,
Issue 1, if the SCO connection has been established, the SCO connected
event will not be notified. Then the call that waiting for the SCO
connected event will not be updated. And the call will be rejected due
to the timeout.
Issue 2, the SCO con object will be cleared when SLC is disconnecting
and the SCO connection has been established. It causes the SCO connect
object will be `NULL` in the SCO disconnected callback.
Add a new field `sco_conn` to keep the SCO connect object. Manage the
SCO connection via the field `ag->sco_conn`.
When creating the SCO connection, keep the created SCO connect object
to `ag->sco_conn`. And if the `ag->sco_chan.sco` is `NULL`, it means
the SCO connection has been established. Just update the call that
waiting for the SCO connected event directly.
Increase the `ref` of SCO connect object and pass to the field
`ag->sco_conn` if the `ag->sco_conn` is `NULL`.
Decrease the `ref` of SCO connect object if the `ag->sco_conn` is not
`NULL` when disconnect the SCO connection or process SCO disconnected
event.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add an overlay to the spi_controller_peripheral test for the
frdm_mcxa156. Since this IP has multiple CS, need to introduce a way to
configure the correct CS to the test; just going to use zephyr,user for
now instead of refactoring to be less nordic-specific, keeping the usage
optional.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Increase the number of HCI command transmit buffers on ESP32 to prevent
sporadic command timeouts. This is a temporary workaround.
Upcoming changes to the BLE proprietary blobs will address the root cause.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
List NEORV32 v1.11.6 as the currently supported version. No changes to the
in-tree drivers needed for the changes between v1.11.3 and v1.11.6.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Coverity regularly raised a CID with every release that it found
`sizeof(char **)` confusing and somehow nonportable.
With every release, it needed to be marked as a false positive.
Change `sizeof(char **)` to `sizeof(void *)` to silence the
CID warnings.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The Adafruit Feather ESP32S3 TFT Reverse is a development board in the
Feather standard layout, sharing peripheral placement with other devices
labeled as Feathers or FeatherWings. The board is equipped with an
ESP32-S3 mini module, a fuel gauge, a USB-C and Qwiic/STEMMA-QT connector.
This variant additionally comes with a 240x135 pixel IPS TFT color display
on the backside of the boards and with 3 buttons.
Signed-off-by: Philipp Steiner <philipp.steiner1987@gmail.com>
The basic characteristics of "atmel,sam-rtc" is the same as the ones
of sama7g5.
Differences between the RTCs listed bellow:
| atmel,sam-rtc | rtc in sama7g5
--------------------|---------------|----------------------
Persian calendar | Y | N
UTC Mode support | N | Y
Tamper Timestamping | N | Y
Signed-off-by: Tony Han <tony.han@microchip.com>
This test case is not supported on the S32Z platform,
as it requires execution across two CPU cores
Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
Strictly speaking not a problem for in-tree tooling, but better to
have all binding files follow the same naming convention.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The preferred way to reference the size of the MAC address is
WIFI_MAC_ADDR_LEN.
For consistency, replace ARRAY_SIZE(mac.octet) with WIFI_MAC_ADDR_LEN.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
We avoid to assign unused values during declaration. Hence, the reader
knows that every value assigned are meaningful. It also allow compile to
raise true warning if a value is used uninitialized.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Usually, the exception are treated in a condition before the nominal
case:
ret = f();
if (ret) {
return -EXXX;
}
... nominal case ...
siwx91x_on_join_ipv4() and siwx91x_on_join_ipv6() didn't follow this
pattern.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
sl_wifi_interface_t interface is always initialized with
sl_wifi_get_default_interface().
Let's assign the value during the declaration everywhere.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Unify the way the error code are tested:
- sl_status_t is an alias to an int. The compiler won't complain if an
int is assigned or compared to a sl_status_t. In the other hand,
"int" is well known to manage error code. So, just use "int"
everywhere.
- Always name the return code "ret"
- Unless it is meaningful, test the value of ret against 0
(SL_STATUS_OK is just a convoluted way to say 0).
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
siwx91x_wifi.c starts to contains to much code. Let' simplify it by
grouping all the station related functions in a separated file.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
siwx91x_wifi.c starts to contains to much code. Let's simplify it by
grouping all the power-save related functions in a separated file.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
siwx91x_wifi.c starts to contains to much code. Let' simplify it by
grouping all the Access Point related functions in a separated file.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
siwx91x_wifi.c starts to contains to much code. Let's simplify it by
grouping all the scan related functions in a separated file.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Functions in siwx91x_wifi_socket.h are not declared static. So it create
duplicated symbols if the file is included twice.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Previously the clock was not attached to all Flexcomm ports. Some ports
were configured with FRO_12M, others with FRO_HF, some not at all.
Now every Flexcomm port in I2C, SPI or USART mode uses the FRO_HF clock,
if it is enabled in the device tree, to cover all use cases.
Signed-off-by: Fabian Otto <fabian.otto@rohde-schwarz.com>
cbprintf_package_convert may invoke z_cbprintf_cpy with a null pointer
to buf and zero length to indicate a flush operation. This triggers
an error from the undefined behavior sanitizer due to memcpy being called
with a null src, which is undefined behavior according to the C standard.
This is avoided by exiting early in z_cbprintf_cpy when length is zero.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Add tests to ensure 100% line and branch coverage of previously untested
net_buf_linearize() function.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Updated the contribution guidelines to specify that pseudo or anonymized
emails (e.g., GitHub noreply addresses) are not allowed for commits.
Signed-off-by: Maxwell Weru <mburumaxwell@gmail.com>
Add custom interoperability tests verifying that numerical observe
attributes work as expected.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case a new notification is triggered while the previous one is still
active (i.e. not acknowledged), the LwM2M engine will start busy
looping, as the new notification is still valid (and supposed to be sent
after the previous one is done), but it's not sent in the current
iteration. The busy looping might prevent the system from receiving the
acknowledgment for the previous one, resulting in unresponsive system.
Fix this, by delaying the new notification timestamp a bit in such case,
so that the new notification will be scheduled for later instead of
trying to send it again right away.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
While it was possible to specify Greater Than / Less Than / Step
observe attributes for a resource, they were not taken into
consideration when evaluating notification criteria. This commit adds
support for checking if the resource value meets the value criteria
specified by gt/lt/st attributes.
Note that gt/lt attributes are thresholds - notification should only
sent if the resource value crosses them.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Update the value stored in the notification registry whenever
notification is sent (for those resources that have gt/lt/st attributes
assigned).
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Greater than, Less than and Step attributes require to track the last
notified value of a resource/resource instance in order to be able to
apply the specific thershold/step rules that the attributes define.
Therefore, implement a simple registry of the last notified values. When
one of the gt/lt/st attributes is configured on a resource/resource
instance, a registry entry is allocated for respective resource.
Whenever a notification is sent (either as a reply to Observe message,
or proactively) the registry is updated for the notified resources.
The stored resource values have been unified as "double" variables, to
avoid implementation complexity of having to support different
integer/floating point resource types.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
gt/lt/st attributes can only be applied to numerical resources according
to LwM2M specification (and common sense), hence verify that when
attributes are assigned.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Following renaming of the raspberry csi connector nexus,
rename all places when csi 22pins is mentioned to only keep
csi instead.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Following renaming of the raspberry csi connector nexus,
rename all places when csi 22pins is mentioned to only keep
csi instead.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Update the RaspberryPi CSI camera connector nexus gpio in order to only
expose the list of GPIO pins in order to support both 15-pin and 22-pin
connectors as well as 15-pin to 22-pin conversion cables.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
This patch allows to link the request of the linklayer for a
temperature calibration to the temperature driver.
The linklayer will then adapt and trigger its calibration related to
the current temperature.
Signed-off-by: Romain Jayles <romain.jayles@st.com>
Adds a Kconfig for the STM32WBA associated BT configuration
The first configuration added is the possibility to activate the
calibration of the radio using the temperature
Signed-off-by: Romain Jayles <romain.jayles@st.com>
When running pytest tests with coverage enabled, the test process starts
to write the coverage data when it receives the SIGTERM signal. On slow
machines, this can take longer than 0.5s. Increase the timeout and only
attempt to kill the process if it is still running after the timeout.
Signed-off-by: Marco Widmer <marco.widmer@bytesatwork.ch>
1. Add counter tag in siwx91x board yaml files
2. Enable sysrtc node for siwx917_rb4342a through overlay
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Refactor the `MIN_HEAP_FOREACH` macro to use a cleaner
for-loop style removing the need for a third `body` argument.
Update the sample application with the new macro changes.
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Remove using `swap()` which was using VLA and replace it
with `byteswp()`.
Reduce the scope of local variables in `heapify_up/down` to
the smallest necessary block.
Replace `while(true)` loop in `heapify_down()` with a bounded `for`
loop.
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Test for power domains driver based on TISCI API added. This test is
for the target am243x_evm/am2434/r5f0_0.
Signed-off-by: Dave Joseph <d-joseph@ti.com>
Support added for power domain regulation using TISCI added for
devices using the binding ti,sci-pm-domain.
This driver relies on the TISCI layer to make calls to the
device manager core to perform power management.
Signed-off-by: Dave Joseph <d-joseph@ti.com>
The clock startup latency is now obtained from the clock driver and the
nrf-802154 is now set to a value that matches hardware capabilities.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
The nrf-802154 component of hal_nordic is updated.
The CCA threshold configuration is now done in dBm units, instead of
hardware-dependent scale.
Fixed a bug, where the CONFIG_NRF_802154_CCA_ED_THRESHOLD units were
different from the NRF_802154_CCA_ED_THRESHOLD units. Now all
configuration is done in dBm.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
Change license owner to Prevas due to initially wrong owner due to company
mix-up during co-development.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
There were a lot of places where the return value was sum'ed up
which can be slightly easier to read, but can give an odd return
value in the end. This changes it to just return immediately if
an error is seen.
There was also runtime NULL checking of input arguments that are
rather programmer clown prevention. Change these to asserts.
The return value didn't have a consistant type through the file,
make it consistently an int.
This changes the name of the return value of fix_sign to be
signed_value differenating it from the ret name used elsewhere.
Use the sizeof(buffer) as the argument for reg reads and writes
rather than a hard number.
Some log messages ended with '\n'. Remove all these.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Add configurations for setting the pad drive strength and the
interrupt active high/low and od/pp.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
There is a race condition where an interrupt can fire before the
drdy_handler is registered. The drdy_handler will tradionaly
callback the sample get clearing the interrupt... but if it's not
configured and NULL, the interrupt will stay forever latched. Read
the interrupt status to clear the interrupt flag allowing it to
trigger again.
Also, move the serial api function helpers in to the header
allowing them to be used from other c files.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Fix the oversampling value to be 1 from 0 for no oversampling to be
consistant with other sensor drivers.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Add the attr_get api. Also rename functions where they implied
accelerometer to imply magnetometer.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Describe the magnetometer part of the lsm9ds1 sensor, available in the
Arduino Nano 33 BLE through I2C.
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
Test added for new nrf2_auxpll driver. Frequency checks are
against known usecases of the auxpll (USB, CAN and AUDIO).
Also update test to be more modular, only running certain tests
if in the devicetree.
Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
Added new binding for macros of possible auxpll frequency settings.
Will be used in future products also.
Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
Currently twister complains:
benchmark.kernel.footprints.pm on siwx917_rb4342a/siwg917m111mgtba
error (CMake build failure - warning: SILABS_SLEEPTIMER_TIMER (defined
at soc/silabs/silabs_s2/Kconfig.defconfig:17,
drivers/timer/Kconfig.silabs:4) has direct dependencies
(SOC_FAMILY_SILABS_S2 || SOC_FAMILY_SILABS_SIWX91X) &&
DT_HAS_SILABS_GECKO_STIMER_ENABLED && SYS_CLOCK_EXISTS with value n,
but is currently being y-selected by the following symbols:)
So, SILABS_SLEEPTIMER_TIMER can't be selected because
DT_HAS_SILABS_GECKO_STIMER_ENABLED is not selected.
We just have to enable the proper timer in the DT of rb4342s to fix the
issue.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
The test benchmark.kernel.footprints.pm currently generate these warnings
during the link:
[204/209] Linking C executable zephyr/zephyr_pre0.elf
.../ld.bfd: warning: orphan section `.udma_addr1' from \
`zephyr/libzephyr.a(UDMA.c.obj)' being placed in \
section `.udma_addr1'
[209/209] Linking C executable zephyr/zephyr.elf
.../ld.bfd: warning: orphan section `.udma_addr1' from \
`zephyr/libzephyr.a(UDMA.c.obj)' being placed in \
section `.udma_addr1'
Last version of hal_silabs provide a workaround for this issue.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Commit removes unused host hci custom functionality
that was moved to mesh by misinterpretation of it.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
As the net_dhcpv4_stop() will now properly remove DNS servers, remove
the loop check so that the add event gets tested again.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add information how the DNS reconfiguration API functions
dns_resolve_reconfigure() and dns_resolve_reconfigure_with_interfaces()
have changed.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Print information which DNS servers were added by DHCP when
listing DNS servers in "net dns" command. This helps debugging
DNS server issues.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Remember which DNS server was added by a source like DHCPv4 or v6
message. This will allow system to remove DNS servers that were added by
that source. Then when stopping for example DHCP, we can remove those
specific DNS servers and not leaving DNS servers hanging in the system.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Pins can be configured to retain their config even when the power
domain they belong to is suspended. Update pinctrl_nrf to enable
retain only if the pin has been configured and is not in use
(pincnf is low-power/sleep), disable retain otherwise.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The usage of nrf_gpio_port_retain_disable/_enable, in cases where
the soc pins support retention, every pin must be
retained/unretained regardless of what power domain the pad is in.
This patch ensures retain is applied to all pins in all domains by
the gpio_nrfx device driver, not only pins specifically in the
fast_active_1 domain. Without this patch, pinctrl will correctly
retain pins, while gpio_nrfx will fail to unretain them when
again.
We no longer check the output state either, which was passed with
the flags arg of gpio_nrfx_gpd_retain_set() so this arg has been
removed.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The STM32MP13 clock control has set and clear registers
for the clocks. So clearing the set register won't have any effect.
Instead, we should write on the clear register.
Signed-off-by: Julien Racki <julien.racki@st.com>
Use 64 bit values for accumulating idle time and measurement window
as it was possible to get overflow if window was long enough.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
From Zephyr SDK 0.17.1 the RX architecture is supported so
update the documentation of RX130 board to reflect this
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Excluding this test for qemu_rx because it's failing randomly
Root cause not identified yet, #92213 is created to keep track
of this
This test case is working fine on actual RX HW so issue might be
in the inside the qemu environment
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Ignore gapfill for RX target as some RX toolchains generate wrong
output image when running gapfill for binary format.
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
The qemu_rx some how with too big offset in "mov" instruction
cannot manipulate the memory correctly
This commit reconfigure the slot count to reduce the size of
psa_global_data_t struct so that issue on qemu_rx not occur
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
The qemu_rx is having issue with twister harness, command cannot
be send from twister test to qemu console, this commit temporary
disable them for further checking
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Somehow icount shift making this test fail on qemu_rx target
maybe clock rate on RX is too low, as work around I disable
the icount shift for this test case on qemu_rx
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
GCC for RX would crash with an internal compiler error during
DWARF frame generation in `dwarf2out_frame_debug_adjust_cfa()`
when compiling the `trigger_fault_illegal_instruction()`
test function.
This patch adds `__builtin_unreachable()` to help the compiler
reason about control flow, preventing incorrect DWARF CFA
generation.
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
The prj.conf was missing CONFIG_COMMON_LIBC_MALLOC causing
warning of the depended config CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Change noinit region to be after bss so that it would not cause
alignment issue for the data region setup
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
The QEMU RX doesn't allow to write value to IR flag,
There is also mentioned in RX HWM that the IR should
not be write 1 to. So we change the method to trigger
interrupt here is to call directly to SW irq table
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
The "p -= slab->info.block_size;" is causing the "p" pointer
to be underflow in RX architecture case, where the RAM address
start from 0x0, in some case p minus block size make it underflow
This change implementation uses an index-based reverse loop to
safely iterate over each block from last to first.
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
The source code is missing the Receive enable in serial
poll-in function so the status flag will never become affect
and data will never be read
Add the RE write before checking for receive status flag
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
The RX linker is using the name "data" for .data region start
which caused the application cannot use "data" for variable
naming globally.
This commit change the name to "__data_region_start" as expected
in the linker_defs.h file
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
I'm not sure why this was necessary, but analyzing RX
executables was crashing with a divide by zero error on a
symbol which appeared to be duplicated in this list.
Signed-off-by: Keith Packard <keithp@keithp.com>
RX adds an underscore to all global symbols, so when we look for
log_const_ globals, we need to allow for that.
Signed-off-by: Keith Packard <keithp@keithp.com>
This architecture is missing lots of support bits. Stub out this piece so
we can get more things building.
Signed-off-by: Keith Packard <keithp@keithp.com>
I2S driver support standard format, short/long sync, left/right justified.
Supporting 2 channels as a default.
Signed-off-by: Lewis Lee <llee@ambiq.com>
Fixes these files to no longer delete non-secure partitions as
they are not present, and updates the offset of the area to use
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Add LINKLAYER_PLAT_EnableBackupDomainAccess() and
LINKLAYER_PLAT_DisableBackupDomainAccess() to use Zephyr resources
that use a reference counter for access requests, for enabling
and disabling access the BackupDomain resources.
Bump hal_stm32 module to the revision integrating related stm32wba
BLE updates.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Fix STM32 WBA and H7 clock drivers to release the reference counter
added to access LSE configuration controllers once the clock is
configured. Keeping such an unbalanced access request is no more
needed since SoC functions manage reference counting of access requests.
Fixes issue 90942.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Use recently added SoCs functions to request access to SoC backup
domain resources These function use a reference counter to track these
request and ensure the resources are accessible as long as at least a
consumer requires access.
By the way, correct stm32_hsem.h header file inclusion that requires
brackets (<>) delimiters, not double quotes, as per convention on header
location.
Fixes issue 90942.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Use recently added SoCs functions to request access to SoC backup
domain resources These function use a reference counter to track these
request and ensure the resources are accessible as long as at least a
consumer requires access.
By the way, move inclusion of stm32_hsem.h header file after inclusion
of the LL header files and Zephyr header standard files.
Fixes issue 90942.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Use recently added SoCs functions to request access to SoC backup
domain resources These function use a reference counter to track these
request and ensure the resources are accessible as long as at least a
consumer requires access. When we're done accessing RTC registers and
other protected resource, release the access refcount.
By the way, simplify rtc_stm32_read() when COUNTER_NO_DATE is defined
that used a useless extra local variable.
By the way, correct stm32_hsem.h header file inclusion that requires
brackets (<>) delimiters, not double quotes, as per convention header
location.
Fixes issue 90942.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Use recently added SoCs functions to request access to SoC backup
domain resources These function use a reference counter to track these
request and ensure the resources are accessible as long as at least a
consumer requires access.
Fixes issue 90942.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Use recently added SoCs functions to request access to SoC backup
domain resources These function use a reference counter to track these
request and ensure the resources are accessible as long as at least a
consumer requires access.
Fixes issue 90942.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Add SoC functions to enable/disable STM32 backup Domain access
and use a reference counter to track requests. These helper functions
may be called from a interrupt context. On domain access enable, the
function loops until written bit is set however this is expected to be
effective after very few clock cycles and seems not even required
(not mentioned in any SoC documentation). The loop is preserved as
used in previous implementation.
Among all supported STM32 SoCs, only STM32C0 and STM32WB0 series do not
implement this mechanism hence add option CONFIG_STM32_BACKUP_PROTECTION
that is enabled for all SoC series but these 2.
Fixes issue 90942.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Update with the latest nordic hal which includes an updated
CRACEN driver which supports the 54LM20 and newer devices
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Updated documentation to clarify that while credential pairs should
generally share the same secure tag for subsystems supporting multiple
credentials per tag, some implementations may expect only one credential
per tag.
Signed-off-by: Maxwell Weru <mburumaxwell@gmail.com>
...when FIFO is empty"
This reverts commit 47e43d552e.
This is breaking sample.sensor.shell.pytest where characters
are either missing or repeated when printing to the console.
Originally this is just for RISC-V with PLIC interrupt
controller. That was made more general to avoid having arch
specific code in a generic driver. And now it is breaking
on non-RISC-V platforms. Note that the QEMU RISC-V boards
all have PLIC as interrupt controller and are passing sensor
shell pytest without this workaround. So this does not seem
to be an issue with PLIC and NS16550. So revert the commit
for now.
Fixes#92187
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Add support for the stlink_gdbserver runner to the aforementionned board.
Update the "Debugging" section of the board documentation accordingly,
along with cleaning up the existing text.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Add support for the stlink_gdbserver runner to the aforementionned board.
Update the "Debugging" section of the board documentation accordingly,
along with cleaning up the existing text.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
When try to set twt, system will try to
get interface status firstly.
In shim driver, miss filling twt_capable field.
The twt_capable is set as false by default.
Failed to set twt because of incorrect
twt_capable.
Add enhance code to fill twt_capable field
in shim driver.
Signed-off-by: Qiankun Li <qiankun.li@nxp.com>
With the current configuration, we encounter a user setting error
during the test with the log:
"Wrong number of bytes received, got: 2, expected: 3."
Workaround:
Increase the clock frequency to enable faster data transmission
and avoid user setting errors.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Since nucleo_f746zg has NOCACHE_MEM defined
(related to test cases drivers.uart.async_api.nocache_mem
and drivers.uart.async_api.nocache_mem_dt.nucleo_f746zg),
the TX buffer should be placed in a non-cacheable memory region
for the uart_async_var_buf_length testsuite to pass.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Commit adds information about the removal of
the TinyCrypt crypto in Bluetooth Mesh.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Fixes: commit 5f4b51f9b1 ("soc: intel_adsp: add a debug window slot
descriptor") - restore the maximum debug slot number. The added slot
resides in page 0, not at the end of the array. The bug didn't have
any run-time implications - no access to those high index value slots
is performed, all platforms so far have 3 slots at most, so this is a
pure correctness fix.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Previously, zms_read() could fill the buffer up to sizeof(rdname),
leaving no space for the null terminator, which could cause an
out-of-bounds write.
This change reduces the read size to sizeof(rdname) - 1 and appends
a '\0' manually, ensuring the buffer is always null-terminated safely.
Fixes: CID 516244
Fixes: #90533
Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
Add Renesas RA board support for these tests:
- tests/drivers/i2s/i2s_api
- tests/drivers/i2c/i2c_speed
Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Size given to __aligned() is in bytes.
Align following DCACHE line size, or default to 32-byte alignment
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
implements option to enable double endpoint buffer to improve throughtput
for non-control endpoints.
Signed-off-by: Chew Zeh Yang <zeon.chew@ambiq.com>
Add USB node to apollo510 qualifier, and apollo510_evb board to enable
USB support on the SoC and its EVB.
Signed-off-by: Chew Zeh Yang <zeon.chew@ambiq.com>
Fix issues that Renesas RZ boards cannot run the below serial
samples properly with sci and scif.
- `samples/subsys/console/echo`
- `samples/subsys/shell/shell_module`
The modification is to make the callback invoked in tei interrupt.
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
This demonstrates the ADC driver added in the previous commit. The
sample reads A0 as well as two built-in channels - one that reports
the internal 1.2 reference volatage and one that reports half the
analog supply voltage.
Signed-off-by: Michael Hope <michaelh@juju.nz>
The CH32V003 has a 8 channel, 10 bit onboard ADC. Add an immediate
mode driver and the appropriate pinctrl bindings. Note that the
CH32V003 GPIO pins have both a floating input and an analogue input
mode, and the pinctrl is needed to put the pin in analogue mode.
Signed-off-by: Michael Hope <michaelh@juju.nz>
Due to a BootROM clock switching issue, XSPI1 should use HCLK otherwise
app won't restart on reset.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Make axisram2 which is used in fsbl mode available as well to
chainloaded application in order not to loose 1M of RAM
In order to avoid conflicts with bootloader, verify that code + ro data
of the loaded application won't go further than bootloader start address.
This is done with a linker assert.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Add a new /fsbl variant which replaces the default variant and typically
fits for development or bootloader (MCUBoot typical target). Image
is limited to 511KB.
Default variant now stands for the real application which is supposed
to be loaded by the bootloader. It runs from axisram1 and could be both
XIP or RAMLOADED. Image has access to the whole AXISRAM1 and 2 (2MB).
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Add support for npck3m8k board that is a development platform to
evaluate the Nuvoton NPCK3 embedded controller.
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
The WCH GPIO peripheral integrates with the EXTI and supports firing
interrupts when a GPIO pin changes.
Add optional support for firing a callback on rising edge, falling
edge, or both edges.
Tested on the `linkw` and the `ch32v006evt` using
`samples/basic/button`.
Signed-off-by: Michael Hope <michaelh@juju.nz>
The WCH External Trigger and Interrupt controller (EXTI) supports
between 8 and 22 lines where each line can trigger an interrupt on
rising edge, falling edge, or both edges. Lines are assigned to a
group, and each group has a separate interrupt. On the CH32V003/6,
there is one group of 8 lines, while on the CH32V208 there are
multiple groups with between one and six lines per group.
In the same way as the STM32 and GD32, define an EXTI driver that
configures the peripheral and an internal interface that can configure
individual lines.
Signed-off-by: Michael Hope <michaelh@juju.nz>
Instead of assuming the reset pin is low at boot, create a reset pulse
by setting the pin low long enough for the LAN controller to recognize
it.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Replaces using an odd mix of Kconfig dts for partition offsets with
just use dts for non-secure board targets
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This is temporary update because in HWM only mention IRQCR but
FSP is defining for IRQCRa and IRQCRb with same values.
Haven't understood why need both IRQCRa and IRQCRb.
Current update is using IRACRa.
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
RA8P1 has 14 ports (from 0 to d) and 32 external irq while current
driver support 12 ports (0 to b) and 16 external irq.
This add addtional support for remain ports and external irq to be
able to work with RA8P1.
Fix the lack condition GPIO_RA_IOPORT for GPIO_RA_HAS_VBTICTLR
config
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
For the negative errno rzt2m_gpio_get_pin_irq may return to be properly
handled, irq variable needs to use signed type.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Demonstrate the crop/compose API by introducing 4 new
CONFIG options in order to define the crop area.
Moreover, if the selection API is available and if
the targetted size is different from the current crop
size, then try to apply a compose in order to reach
the targetted format size.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Correct cmd_video_format return value in case of video_shell_parse_in_out
returns a negative value.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add shell handling in order to interact with drivers
via the set/get_selection APIs allowing to get/set
crop / compose and get HW capabilities such as
crop bound / compose bound or native size.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add possibility to perform crop on all pipes and compose (downscale) on
pixel pipes (endpoint #1 and endpoint #2).
Rework the code in order to move the downscale control from
the set_fmt into the set_selection (compose).
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Addition of selection APIs (set/get) in order to be able
to control the crop and compose of a video device.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Having alphabetical order on an init block causes a linker error.
So it is one of the things replaced when translating a block to its
corresponding init block.
The recent changes in ff8b24b6bd caused
iterable sections having ONLY alphabetical order as an attribute,
triggering a bug in this regexp.
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
To enable gpio-e module of numaker_m55m1.dts for PE10, PE11 & PE12
setting depending on numaker_m55m1 board.
Signed-off-by: cyliang tw <cyliang@nuvoton.com>
- Added support for CAP_COMMANDER in configuration to allow tmap-cg
and tmap-ums roles to be validated. For CG and UMR, CAP INITIATOR
and CAP COMMANDER roles are mandatory. Without this support, config
"CONFIG_BT_TMAP_CG_SUPPORTED" & "CONFIG_BT_TMAP_UMS_SUPPORTED" are
not getting defined and function fail during "valid_tmap_role()".
- Replaced iso_pool user-data size from 8 to kconfig setting
"CONFIG_BT_CONN_TX_USER_DATA_SIZE" to allow conn_iso_send()
to success. Without it the user-data for iso_pool configured
with value 8 but the kconfig "BT_CONN_TX_USER_DATA_SIZE" has
default value as 16 causes conn_iso_send() function to fail.
- Updated audio_timer_timeout() with expected QoS interval value
to send ISO_SDU at every 10msec instead of 1 sec. Without this sink
device receiving null-sdu most of the time as ISO interval is 10ms
and unicast-source keep sends SDU at every 1 sec.
Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
- Issue: There is a bus-fault while accessing empty userdata structure
pointer if application does not include any include service
userdata instance (which consist of UUID list of included service)
but service array has defined dummy entry for it assumed to be
overridden by app during initial flow.
- For example, the issue has happened in case of tmap-central sample
without "CONFIG_BT_OTS" support. there are some MCS attributes
dependent on OTS service because of that
"BT_GATT_INCLUDE_SERVICE(NULL)" entry is added as part of service
definition. The given entry does not have userdata handler defined
and is expecting to be overriden by the app if it will be included.
During "bt_mcs_init()" call, "mcs.attrs[i].user_data" is not
populated with any attr-instance pointer. This makes CPU to access
null-address during reading local-database include-service attribute
which was not provided by the app but the include-service entry was
added to the db.
- Fix: Adding condition to check if user-data has null address, and
returning back to avoid any hard-faults.
Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
This fixes deadlock in socket close path. In the scenario:
1. on_cmd_ipd/esp_socket_rx invokes esp_socket_ref_from_link_id
and increments refcount.
2. zvfs_close/esp_put locks cond.lock.
3. zvfs_close/esp_put waits on sem_free.
4. on_cmd_ipd/esp_socket_rx waits on cond.lock before esp_socket_unref.
5. sem_free waits on esp_socket_unref for refcount reaching zero.
As we detect socket is closing, we can ignore last rx data and escape
from the trap.
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
This fixes premature socket release. Without this fix, system will crash
because esp_rx thread can still hold reference to the socket in the
following cases:
1. esp_rx thread has got the socket reference but hasn't unref'ed
via esp_socket_unref.
2. esp_rx thread can still get the socket reference for refcount not
being zero in esp_socket_ref.
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
Add nucleo u385rg_q as allowed platform for iwdg and wwdg tests
to verify functionality on the STM32U3-series.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
These were wrong and incomplete. Rebuild based on section 7.2.11 of
the CH32V00XRM and added the CH32V007-only remaps.
Signed-off-by: Michael Hope <michaelh@juju.nz>
The CH32V series now has GPIO, watchdog, I2C, and PWM drivers. Enable
Twister for these drivers by updating the board definitions to match.
On the larger chips, also enable the watchdog in Devicetree so it's
usable by the sample.
Note that the 203 and 303 do not yet have the appropriate iwdg
Devicetree node.
Signed-off-by: Michael Hope <michaelh@juju.nz>
SIM-cards remember which networks has rejected attach attempts. This is
not always desired if the user has control over which networks to allow.
This commit adds a Kconfig symbol which enables clearing of saved
forbidden networks from SIM-card on boot.
Signed-off-by: Emil Lindqvist <emil@lindq.gr>
U-blox LARA-R6 LWM2M client is enabled by default. Not only causes this
the modem to connect to U-blox's server on its own, it also for some
reason causes the modem to reply "Destination unreachable" to DNS answers
from DNS requests that we send
Signed-off-by: Emil Lindqvist <emil@lindq.gr>
The hardware MRU on SoC S32Z supports ping-pong data on a
MBOX channel within one core.
Added Kconfig TEST_SINGLE_CPU to enable test on single CPU to wrap
the specific code for each testcase, As the expected received data
must match the sent data when running test single CPU. This differs
from the expected data in the current supported test transfer data
between 2 other cores, where the remote core increments the data by
one before transferring it back to the main core.
Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
The rtc device driver APIs rtc_update_set_callback and
rtc_alarm_set_callback are not allowed from usermode threads, thus
they should not be marked as syscalls. The APIs where never
implemented as sycalls, there is no z_vrfy wrapper for them, so
only change needed is to not mark them as syscalls with the
special __syscall "attribute" and z_impl wrapper.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The USB CDC driver relies on the HSI48 internal oscillator as the
default clock source for USB functionality. In the weact_stm32h5_core
device tree, the clk_hsi48 node was missing, resulting in USB
initialization failure.
Signed-off-by: Filip Stojanovic <filipembedded@gmail.com>
STM32U0 specific changes to enable the PM feature.
Base on the power-related code from the STM32U5 target.
Signed-off-by: Mickael Bosch <mickael.bosch@linux.com>
The `zephyr-env.sh` script was adjusted to look for the zephyrrc file in
three locations following the [XDG Base Directory Specification]. The
documentation of the environment variables is now adjusted to reflect that
change.
[XDG Base Directory Specification]: (https://specifications.freedesktop.org/basedir-spec/latest/)
Signed-off-by: Andreas Schuster <andreas.schuster@schuam.de>
According to the [XDG Base Directory Specification] there is a single base
directory in which user configuration files should be stored. This helps
users to keep their home directory uncluttered. This base directory can be
set in the environment variable $XDG_CONFIG_HOME and defaults to
${HOME}/.config if $XDG_CONFIG_HOME is not set.
This commit adjusts the zephyr-env.sh script to look for a user
configuration file in the following locations:
- $XDG_CONFIG_HOME/zephyr/zephyrrc
- $HOME/.config/zephyr/zephyrrc
- $HOME/.zephyrrc
The first one that is found will be used.
[XDG Base Directory Specification]: (https://specifications.freedesktop.org/basedir-spec/latest/)
Signed-off-by: Andreas Schuster <andreas.schuster@schuam.de>
Add a snippet for Wi-Fi credentials support. Update the heap sizes as
required for enterprise mode.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
Adds a reference to west rtt as alternative to using putty. Also provides
a command that prints supported rtt runners for the specific build.
This issue is encountered now with the nRF54L1, for example, because
the nrfutil runner does not support RTT at this time.
Signed-off-by: Helmut Lord <kellyhlord@gmail.com>
- Added a CPU load callback with threshold
- Changed cpu_load to use k_timer instead of k_work
Signed-off-by: Kristoffer Rist Skøien <kristoffer.skoien@nordicsemi.no>
Use k_event bit flags to test individual events and callbacks. Don't rely
on the number of events that happened.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
When reading and printing hosname or domain name from DHCP options, we need
to skip the leftover bytes that do not fit into the provided buffers.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Coverity is reporting a possible untrusted loop bound, caused by accessing
num_pins through a tainted pointer. Use explicit type cast to keep coverity
happy.
CID: 347195
Signed-off-by: Loic Domaigne <tech@domaigne.com>
Drop few CONFIG_PM_DEVICE_RUNTIME guards, the pm_device_runtime
functions they are masking are no-op automatically when the
corresponding config option is not selected.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Current code only calls pm_device_runtime_get when registering target
devices if the device is marked as wakeup capable by the application.
This does quite work for a setup with PM=n and PM_DEVICE=y and
PM_DEVICE_RUNTIME=y, where the CPU does not really go in stop mode ever,
and results in the i2c target device not working at all.
Fix this by always claiming the device when PM_DEVICE_RUNTIME is
enabled.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Fix an issue where calling gpio_pin_interrupt_configure
with edge mode and later calling it with level mode, did
not release the allocated gpiote channel.
Repeating the above sequence caused us to run out of
gpiote channels.
Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
The TIMER has 3 PWM channels, allowing all 3 RGB leds to be
controlled by the same PWM controller instance.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Add PWM driver for the Timer peripheral on Series 2.
The TIMER uses the high-frequency EM01 Group A clock, and has
a 16- or 32-bit counter. It supports PWM period and pulse capture
on channel 0, and PWM output on all channels.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Add PWM driver for the Low Energy Timer peripheral on Series 2.
The LETIMER runs at up to 32 kHz and has a 24-bit counter. It
only supports PWM output, it does not support input capture.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Use LOG_ERR() instead of LOG_DBG() in flash_fill() when this function
fails to perform the write operation, so that the failure is better
visible and its cause is easier to identify.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
When no flash device requires erase, this test does not retrieve
flash page size with flash_get_page_info_by_offs(), but instead
it takes an arbitrary page size based on the test area length.
Since the test_flash_copy routine needs to use two pages, the test
area needs to be split into at least two parts. Correct the related
code and add a check if test_flash_copy requirements are met.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Implement NXP-specific support for the remote processor
resource table, including custom definitions and initialization
logic to meet NXP's communication requirements.
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Modify the build system to conditionally compile
vendor-specific resource table support based on configuration.
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Introduce macros to define initialization
routines for OpenAMP resource table entries.
This will allow to extend the default OpenAMP
resource table with vendor-specific data structures.
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Enhance flexibility by allowing vendors to define their own
resource tables. This is achieved by moving the vdev and vring
functions into the source file, requiring each vendor to
implement these functions within their specific resource
table definitions.
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Switching to void allows greater flexibility in supporting
vendor-specific resource tables.
This change reverts commit 39863b66bd, and adds some fixes.
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Use new docker with SDK 0.17.2.
SDK 0.17.2 has a new Qemu with improved support for RX architecture.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Seperate the ``ethos_u_common`` for every vendor and
``ethos_u_arm`` for sepcific Arm's boards. Enable vendors
to self-configure the init flow and IRQ handler.
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
- Update to use ETHOS_U config instead of ARM_ETHOS_U
- Update prefix ETHOS_U_ for all configs that use ARM_ETHOS_U_
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Add UART test overlays for Nucleo U385RG-Q board.
Remove non serial boot conf file since they are now unnecessary.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
The bq27xx driver incorrectly uses the 'val' variable in a switch()
statement that should operate on 'chem_id'. This leads to incorrect
behavior for fuel gauges such as the BQ27427, where the chemical ID
determines how properties are interpreted.
This commit replaces 'switch(val)' with 'switch(chem_id)' to ensure
proper handling of fuel gauge behavior across supported devices.
Signed-off-by: Oleksii Shcherbyna <oleksii.shcherbyna@droid-technologies.com>
Disable testing second QDEC instance until the issue with multiple
QDEC instances support is resolved
Signed-off-by: Bartosz Miller <bartosz.miller@nordicsemi.no>
Use MMIO for device memory mapping, so that the driver can be used
both on MCU and MPU.
Add removed static MMU mapping in some platform accordingly.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Avoid undefined behavior caused by casting floating-point values outside
the int32_t range. The updated implementation explicitly validates input
bounds before performing conversions, ensuring consistent behavior across
platforms.
Added test cases to cover edge conditions near float rounding limits
and INT32 range boundaries.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
RA2L1 doesn't support for SPI Hardware Peripgheral Select.
Disable this config as default in RA2L1
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
Add support for trng, spi, pwm (gpt), counter (agt), i2c (iic_master),
adc and dac for RA2L1.
Add external interrupt for RA2L1.
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
Define the request handler properly within the net mgmt test. This is
required for the alias() attribute to work correctly with clang. Also,
correct the handler signature to use size_t as expected. This resolves a
test failure seen with clang when building the net mgmt test for
native_sim.
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
Fix the following build warnings highlighted in this driver while
building with clang targeting native_sim:
- exp() expects a double, so passing a float would cause type promotion
- variable declarations within C switch statements are a C23 specific
extension
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
Fix memory corruption issue where buffer pointer was not being advanced
properly due to missing dereference.
Fixes Coverity issue CID 434607
Fixeszephyrproject-rtos/zephyr#81957
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use a local signed variable to store negative return values instead of
unsigned previously so that errors are actually detected/returned.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This bit would be used in order to generate several variants
of Bayer formats, however it shouldn't be enabled for YUV/RGB
formats by default.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Correct wrong macro GC2145_REG_OUTPUT_FMT / GC2145_REG_SYNC_MODE
being used while a different page is being accessed.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
- Fixed the partition sizes in the comments
- Updated the second partition base address to be correct
The layout now matches the Arduino Nano Matter
which was used for reference.
Signed-off-by: Tamas Jozsi <tamas.jozsi@silabs.com>
SENSOR_XBR818_CLOCKRATE / val->val1 is getting assigned
to uint8_t variable which is causing the logically
dead issue, this commit is a fix for it.
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
This fixes the case where uart_tx() called from tx callback
fill UART output fifo and immediately execute callback again.
This can happen when hardware does not have interrupt for
output FIFO empty and there is no non-blocking way to tell
that transfer finished.
For such case as soon as output FIFO is filled there is
interrupt that informs that more data can be transmitted.
For hardware with 32 byte fifo callback was seen to be
executed recursively 3 times.
That would not be a problem if chained_write_next_buf
was set BEFORE next call uart_tx().
Additionally semaphore max value is increased to 2
to accommodate such case.
Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg.xr@bp.renesas.com>
Enable `flash-before` mode for devices connected via serial-pty
the same way, as for physical serial.
This mode allows Twister to start reading from the DUT's serial
connection only after the flashing stage has been completed,
thus excluding an early part of the log stream not directly
related to the current test.
It can help in situations, when the device is connected via some
serial-over-network harness which is still transferring device
logs or keeping in its buffer a tail with different RunID etc.
from the previous test image run.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Fix misleading comments and ensure "Bus Error" flag is properly cleared
(Bus-Off Entry flag was used twice previously).
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Tracing using Segger's SystemView works fine without enabling RTT_CONSOLE
(or CONSOLE, in general).
SEGGER_SYSTEMVIEW was automatically selecting RTT_CONSOLE, which prevents
applications from using another console backend (e.g. UART_CONSOLE).
Signed-off-by: Koen Van Herck <koen.v.herck@gmail.com>
The macro SHELL_SUBCMD_SET_END was defined as {NULL}, which triggers a
-Wmissing-field-initializers warning due to the missing 'help' field in
the shell_cmd struct. Replacing {NULL} with {0} silences the warning.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Selects TIMER_HAS_64BIT_CYCLE_COUNTER as an dependency for MCUX_OS_TIMER
This already is supported in the timer implementation in
drivers/timer/mcux_os_timer.c
Signed-off-by: Tomas Groth Christensen <tgc@foss.dk>
1. The edma version 5 share one driver with edma 4.
2. Edma5 tcd structure some difference, Use tcd type to distinguish,
and Edma5 uses 64 bytes for alignment instead of 32.
3. Some platforms have some address offsets for certain memory
when processing from a DMA perspective, such as imx95 cm7 TCM,
so add offset processing.
Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
The boards defconfig enabled CONFIG_(MFD|REGULATOR), which are not
stricly needed if the corresponding node is not enabled in the device
tree. These options also enable many drivers, which are problematic on
the mcuboot bootloader target. By moving them to the Kconfig, we can
make them depend on !MCUBOOT which restores the sysboot target.
Signed-off-by: Felix Moessbauer <felix.moessbauer@gmail.com>
Previously, mac->addr[2] was skipped and mac->addr[3] was duplicated.
This change ensures all six MAC address bytes are logged in the
correct order.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
cb_sqe could have been NULL before being passed into the callback function,
which expects cb_sqe to be non-NULL.
Add NULL check before the callback function with cb_sqe is called. The
reordering of the callback function after the sqe drop is okay as the
sqe drop is called when cb_sqe is NULL and the callback function isn't
expected to work when cb_sqe is NULL.
Signed-off-by: Alexander Apostolu <apostolu240@gmail.com>
For yaml files we do not normally even add a license, but if any it
should be Apache2 and not the Nordic one.
Note there is plenty of examples of yaml files very similar to this
in the Zephyr tree. So even if the author/submitter of the original
commit could have used as starting point a file from NCS, it would have
been the same if he would have used a Zephyr one.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
For yaml files we do not normally even add a license, but if any it
should be Apache2 and not the Nordic one.
Note there is plenty of examples of yaml files very similar to this
in the Zephyr tree. So even if the author/submitter of the original
commit could have used as starting point a file from NCS, it would have
been the same if he would have used a Zephyr one.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The fallback to Bootstrap on a Registration Failure might not be desirable
for some applications. This change makes the default behavior configure
through Kconfig.
An alternative to configure "Bootstrap on Registration Failure" would be to
set the server object resource id 16 at runtime. However, this is tedious
and error-prone, as it will be reset when the server object is deleted and
might have to be set at different locations in the client code.
Signed-off-by: Marc Lasch <marc.lasch@husqvarnagroup.com>
Add UART5 as zephyr console and shell-UART device by default and ensure
its corresponding GPIOG node is enabled.
Add USART6 as a disabled node for potential use.
Enable UART support to the STM32MP257F-EV1 board configuration and add
the shell feature in the yaml.
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
Add clock bindings for UART/USART (1-9) peripherals in the
`stm32mp2_clock.h`.
Add UART/USART clocks rate reading to the STM32MP2 clock driver.
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
The STM32WBA Flash Manager driver is failing to erase a sector, instead of
erasing one sector, two sectors are erased.
Fix it by correctly calculating the number of sectors to erase
Signed-off-by: Eric Mechin <eric.mechin@st.com>
Previously if the MDIO access failed to complete, the driver could enter
an infinite busy loop. Add timeouts to fail the operation if the
hardware fails to respond within a reasonable time.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
esp8684_devkitm board build is failing due to
missing overlay file, which enables timer/counter.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
If the next ticker is too close then hop over it when
rescheduling a ticker with drift in slot window is used.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
The existing SAI diver cannot initialize the PLL on the
board, so the PLL settings will not be performed in the
driver.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
There are multi sai instance shared on clock source on
cm33_cpu0, clock driver don't need index parameter, so
modify clock driver to adapt clock driver.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
XCACHE has been designed for RT700, tcd pool need to be put in
noncache region, update driver to support
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
The CH32V20x and CH32V30x SoCs have 16 pins per GPIO bank, but in the
devicetree, `ngpios` was incorrectly set to 8.
Fix the devicetrees by setting the correct value.
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
A mid-air collision between two different changes to sys_clock.h
resulted in a test failure.
```shell
tests/kernel/timer/timer_api/src/main.c:763:
timer_api_test_timeout_abs: Z_IS_TIMEOUT_RELATIVE(t2) is false
```
Re-apply the change that was added in
9075d53355
to keep tests running smoothly.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Porting gp_renesas_isr_context variable used in FSP interrupt source
to unify with RZ/V2H and prevent build error since they share the same
hal_renesas source code.
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Automatically initialize NXP Wi-Fi driver and FW for Wi-Fi networking
operation. Disable this setting if Wi-Fi module will be used for
non-Wi-Fi use cases (manufacturing/calibration/test).
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Add PM hooks to release or reattach the serial ports from the bridge.
Does not save power per se but allows switch the lower level serial
ports for something else in runtime.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Merge sys_clock.h into sys/clock.h and preserve the original header.
This allows us to use a slightly more intuitive name for the
sys/clock.h header, while reducing churn throughout the codebase.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Remove POSIX_TIMERS and XSI_SINGLE_PROCESS dependencies from the aws
cloud sample and the lwm2m client sample, as they are no longer
required.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The ISO C function time() should not depend on POSIX and this was
corrected recently via the common libc time() implementation.
Remove this dependency from the network subsystem where it has
been unduly needed for some time.
Similarly, XSI_SINGLE_PROCESS was a dependency for time() via
picolibc, because the time() implementation in picolibc relies
on the POSIX gettimeofday() call.
However, since Zephyr's common libc time() implementation no longer
depends on that, it can be removed as a dependency in the network
subsystem as well.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Use the newly added sys_clock API in lib/os for
* clock_gettime()
* clock_settime()
* clock_nanosleep() and nanosleep()
* gettimeofday()
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Presumably the time testsuite was separate from the c library set of
testsuites because it had a depedency on POSIX.
Since that dependency no longer exists, colocate the time testsuite
with the other c library testsuites.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Use sys_clock_gettime() instead of clock_gettime() and use
timespec_add() instead of manually adding timespec structures.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Use `timespec_from_timeout(K_MSEC(msec), &ts)` instead of leaning on
lazily-crafted timespecs with invalid tv_nsec fields.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The specification does not say that the first struct timespec passed to
thrd_sleep() may be NULL.
Preserving the testpoint so that a possible future testsuite can be
run that expects faults to occur when undefined behaviour is used.
Faults are one possible solution to handling undefined behaviour, but
it would be good to come to a concensus about how that should be
handled in Zephyr for standard function calls belonging to ISO C or
POSIX.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The C standard does not guarantee that `thrd_success` is equal to
zero, so ensure that the test takes that into account.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Use the implementation of time() from the common libc, since there
it no longer pulls in POSIX.
Use is implied for minimal, newlib, and picolibc, and selected
for IAR.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Remove POSIX clock_gettime() from the common libc time implementation,
since POSIX should not be a dependency for ISO C.
Instead, use the newly added lib/os sys_clock API.
Specifically, sys_clock_gettime().
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add bullets to release notes for sys_clock_gettime(),
sys_clock_settime(), and sys_clock_nanosleep().
These changes were significant, as they make timekeeping dependencies
more independent between libc and posix, and remove several unnecessary
dependencies on posix for ISO C library routines.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Additional entries for the sys_clock API, comprised of:
* sys_clock_gettime()
* sys_clock_settime()
* sys_clock_nanosleep()
along with the constants
* SYS_CLOCK_REALTIME
* SYS_CLOCK_MONOTONIC
* SYS_TIMER_ABSTIME
The primary motivation for this API is so that libc and other
libraries have a familiar-enough API to reach to when POSIX
is not available, since POSIX is optional in Zephyr.
By adding this API to lib/os, we also eliminate dependency cycles
between libc and posix, as lib/os is a mutual dependency.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Previously, log messages would generate warnings (escalated to errors
in CI) when CONFIG_TIMEOUT_64BIT=n.
For example,
```
west build -p auto -b qemu_cortex_m0 -t run tests/posix/timers/ \
-- -DCONFIG_TIMEOUT_64BIT=n
..
warning: format '%llx' expects argument of type \
'long long unsigned int', but argument 3 has type 'k_ticks_t' \
{aka 'unsigned int'}
```
Use portable print specifiers and cast the argument to int64_t.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Previously, code like the snippet below would not pass compliance checks.
With this change, we add `CONFIG_BOARD_UNIT_TESTING` to the Kconfig allow
list, so that code like the snippet below is not incorrectly reported as
a compliance failure.
```
if defined(CONFIG_BOARD_UNIT_TESTING)
/* unit-testing only */
endif
```
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
- Add support for gpio interrupt on RX130.
- Add support for gpio-keys input subsys on RSK_RX130_512KB boards.
Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
Enable NXP_WIFI_TX_RX_ZERO_COPY for IW610, which will reduce extra memcpy
between net stack and driver in TX data path and avoid the allocation of
RXPD and mlan_buffer in RX data path, to improve the throughput
performance.
Increase CONFIG_NET_BUF_DATA_SIZE to hold one packet in one buffer.
NXP_WIFI_TX_RX_ZERO_COPY can be enabled not only for NXP_RW610 case.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Flexio ISR handle all flags even they are not interrupt enabled.
This will cause invalid calling of ISR callback functions.
Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
This commit changes the implementation to distinguish between is25lpXXX
and is25lpXXXd. Using RDERP as in the original solution didn't work for
is25wpXXX chips and would cause a halt. This new implementation reads
the AutoBoot register instead, which is not present in is25lpXXX but
present in is25lpXXXd, is25wpXXX and is25wpXXXd.
Tested on:
- mimxrt1020-evk
- mimxrt1170-evk rev. A
- custom board with mimxrt1170 and is25lp128d
Signed-off-by: John Barbero Unenge <git@lsrkttn.com>
For future developers to hopefully save some time trying to figure out why
no GPIO interrupt callback is fired.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
The lpuart8 pinctrl nodes for RT1060 need to be defined, as WIFI + BT
(bt_tester) scenario requires three uart.
- LPUART1: shell uart
- LPUART3: bt hci uart
- LPUART8: uart pipe
Signed-off-by: Gang Li <gang.li_1@nxp.com>
Add counter to the list of supported drivers for MAX32657EVKIT secure
and nonsecure boards.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Set right frame size in spi_context_buffers_setup and fetch
the right rx size based on frame size. Also clear SPI control register
before set mode & data width in spi configure routine.
Signed-off-by: cyliang tw <cyliang@nuvoton.com>
pm_device_runtime has inconsistent behavior regarding
getting and putting a device's domain. This commit
aligns it to get the domain only once, once device
is resumed, and put only once, once device is
suspended.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Replaced conditional compilation of `CONFIG_NXP_WIFI_SOFTAP_SUPPORT`
where applicable with IS_ENABLED() macro to improve code readability.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Add support for gating/ungating IMX8QM/IMX8QXP's ESAI clocks and the
AUD_PLL_DIV_CLK0 clock used as source for ESAI's EXTAL.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
In case of the st,stm32-qspi-nor compatible
new property and node definitions will requires new macro
to get the external NOR flash base address and size
Add the config for running the sample on stm32l475 disco kit
Signed-off-by: Francois Ramu <francois.ramu@st.com>
This change defines the "st,stm32-qspi-nor" compatible Node
in conformance to the DTS specifications
Includes the size property (in Bits) of the external memory device
Signed-off-by: Francois Ramu <francois.ramu@st.com>
New property of the st,stm32-qspi-nor compatible gives
the external NOR flash in bits.
The property of the st,stm32-qspi compatible gives
the external NOR flash base address
Signed-off-by: Francois Ramu <francois.ramu@st.com>
The st,stm32-qspi compatible is defining the reg property
with the register address and size at first index
followed by the external mem base address and max allocated size.
For the stm32F412, stm32F7, stm32L4, stm32H7, stm32WB series.
qspi is addressing max 256 MBytes from 0x90000000.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Adds I2C Devicetree node configuration for phyBOARD Pollux
on the Coretex-M7 including the boards standard pinmuxing.
Signed-off-by: Peter Fecher <p.fecher@phytec.de>
Fix ABUS allocation if both EVEN and ODD busses are used for the
same port. The initialisation loop would incorrectly overwrite
entire GPIO_nBUSALLOC when iterating the pinctrl array, must do
a read/mask/update/write sequence.
Signed-off-by: Jonny Gellhaar <jonny.gellhaar@prevas.se>
DT config for MPS4 corstone315 boards which can be tested with simulation.
Creates a custom section in the unused SRAM region. Executing code
in this region in privileged mode will result in an MPU fault while,
execution in unprivileged mode should work fine.
Signed-off-by: Shaunak saha <ssaha@tsavoritesi.com>
What is changed?
Added config for Ethos-U65 for Corstone315 which has default 256 MACs
as per FVP.
Why do we need this change?
This will help in validating the NPU when we add support for FVP
testing for Ethos-U65.
Signed-off-by: Shaunak saha <ssaha@tsavoritesi.com>
What is changed?
- Add initial support for the MPS4 Corstone-315 FVP platform, including
board and SoC definitions.The qualifier to build/run application
with board mps4/corstone315 is
`mps4/corstone315/fvp` for secure and
`mps3/corstone315/fvp/ns` for non-secure.
- FVP testing with corstone315 uses the ARM FVP
`FVP_Corstone_SSE-315`.
Why do we need this change?
- This enables FVP support for corstone315.
- A separate FVP variant was added for corstone315 as the TFM board
used for non-secure variant differs for FPGA and FVP.
TFM board `arm/mps4/corstone315` support is present but no FVP support
yet. We can test this by building TF-M with
-DTFM_PLATFORM=arm/mps4/corstone315 and then lauching FVP:
FVP_Corstone_SSE-315 --data "bl1_1.bin"@0x11000000
--data "cm_provisioning_bundle.bin"@0x12024000
--data "dm_provisioning_bundle.bin"@0x1202aa00
--data "bl2_signed.bin"@0x12031400
--data "tfm_s_ns_signed.bin"@0x38000000
Signed-off-by: Shaunak saha <ssaha@tsavoritesi.com>
Comments and documentation mention compatibility with several
Sharp LS0xxx references, such as LS012B7DD06, a 64-color 6-bit
parallel display, and LS013B7DH06 a 8-color serial display.
The ls0xx driver supports serial and monochrome only.
Signed-off-by: Eve Redero <eve.redero@gmail.com>
Allow setting fifo-highres from DT, also unify the
naming of all registers and expand to a more complete list.
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Add initial support for i2c on Renesas RX MCU
This driver is controlling the RIIC HW of RX MCU for i2c bus
interface on Zephyr
Only master mode is supported
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Add a missing assignment of the return value of zms_write() to rc
variable so that potential error is actually checked and returned.
Fixes CID 524778
Fixeszephyrproject-rtos/zephyr#90474
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Implement I2C target mode in STM32 I2C RTIO drivers. The implementation
in respectively i2c_ll_stm32_v1_rtio.c and i2c_ll_stm32_v2_rtio.c is
based on the implementation of the non-RTIO drivers, respectively
i2c_ll_stm32_v1.c and i2c_ll_stm32_v2_rtio.c.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Correct management of I2C write transfers that are driven from 2
I2C messages, one for the transfer of the address to write
to and a following message for the transfer of the data to be written.
In this case, no START and STOP bit should be triggered between the 2
I2C transfers.
In STM32 I2C v1 driver, this simply means not emitting a START
condition when the input sequence does not set the RESTART flag.
In STM32 I2C v2 driver, this can only be achieved using the SoC I2C
controller Reload Mode feature, hence update Reload Mode implementation
to use reload mode for both transfers over 255 bytes (splitted in
chunks) and for cases where no STOP and START bits are emitted between
2 transfer in the same transaction.
Regarding STM32 I2C v2 driver, the reload mode must be enable before the
first transaction, known that it's needed due to the following
transaction. Therefore we need to parse the messages grouped in the same
transaction to detect such sequences (a message without STOP flag
followed by a message without RESTART flag) and when so, pass the
information to the I2C driver through RTIO framework. To achieve that,
let's use a free bit from I2C message flags (bit 7) in the message
for which we need to enable SoC ReloadMode from the first transfer.
We check that this bit flag is not used by the I2C framework prior
using it.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
The first transfer in an I2C transaction series must always set
the RESTART flag. Since this is not always done by callers,
enforce the flag is set, both in the I2C API and RTIO API entry
points of STM32 I2C RTIO drivers.
Add a sanity test in STM32 I2C v2 RTIO driver on transaction
chunks regarding RESTART and STOP flags, as done on the non-RTIO
driver.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Raising event from driver itself after successful AP start,
instead of waiting for an event from SDK/TA FW. TA used to send an
asynchronous event earlier but currently does not.
Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
Fixes: commit a73f20214 ("drivers: wifi: siwx91x: Fix boot_config")
Disabled the 160 MHz feature due to stability issues (mode change)
Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
Mark bt_hci_cmd_create() as deprecated (superceded by bt_hci_cmd_alloc()),
and update any references to the new function.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
These tests have some sort of simple host implementation, which reuses the
bt_hci_cmd_create() API name, but the implementation is actually local and
something that can be made static. Change the function to be static and
rename it to be more in line with other internal functions.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
The command buffer was incorrectly encoded due to the recent change to H:4
encoding. Instead of fixing the header offset, just use the newly
introduced bt_hci_cmd_alloc() API, since that takes care of correctly
encoding the command header when it gets sent.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Introduce a new bt_hci_cmd_alloc() API which only allocates a command
buffer and reserves sufficient headroom for H:4 and command headers, but
doesn't actually encode any of those headers into the buffer. Additionally,
modify bt_hci_cmd_send() and bt_hci_cmd_send_sync() so that they handle
such buffers and perform the header encoding correctly. To avoid
duplication, bt_hci_cmd_send_sync() now builds upon (i.e. calls internally)
the bt_hci_cmd_send() API.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Commit be40d854c2 introduced the ability
of building Zephyr with deprecation warnings enabled, by making
COMPILER_WARNINGS_AS_ERRORS depend on the newly added DEPRECATION_TEST
Kconfig option. This has the downside of disabling **all** warnings, not
only the deprecation ones.
This patch instead makes DEPRECATION_TEST disable only the deprecation
warning, but leaves COMPILER_WARNINGS_AS_ERRORS enabled.
This has the advantage of being able to see other unrelated warnings
(and fail if they appear) but has the disadvantage of not printing out
the deprecation warnings themselves (since they are disabled).
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Update a comment about GDB use of register index and "regno"
parameters. Only some GDB versions use "idx" instead of "regno."
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Add gdbstub support to Meteor Lake and a base for other ACE
platforms. Based on the Tiger Lake implementation, but some registers
do differ.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Uses SRAM debug region to pass GDB messages to host, which is exposed
via PTY by cavstool with -d arg or using the SOF kernel driver via a
debugfs file.
Signed-off-by: Noah Klayman <noah.klayman@intel.com>
[guennadi.liakhovetski@linux.intel.com: update to current "main"]
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Stack offset for spilled registers can be larger than 256 bytes, e.g.
on ADSP platforms with additional floating point and SIMD registers.
Register indices can also be larger than 255. Update both types to
support larger values.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
To report unavailable registers to the GDB client, the GDB stub has
to return a string like "xx" in the value string.
Signed-off-by: Noah Klayman <noah.klayman@intel.com>
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Move an assignment performed on both "if" branches as the last
operation to after the "if."
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
GDB can now also be built without UART support, e.g. on Xtensa it can
use a memory window backend. Update the Kconfig dependency to avoid
build failures.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Add a debug window slot descriptor for the debug window area in the
first page, where descriptors themselves occupy the first few
hundreds of bytes. This area begins 1024 bytes after the beginning of
the debug window until the end of the page and is therefore 3 * 1024
bytes large. Descriptor 15 will be used to describe it and it will be
used for the GDB stub.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
All debug window slot indices should be defined in
adsp_debug_window.h, move them there and use them consistently.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Run the sample to execute in place on the external flash of the
stm32h7s78_dk or nucleo_h7s3l8 boards.
with_boot is build and linked for the external flash
Download the mcuboot zephyr.bin in internal memory
Download the with_mcuboot zephyr.signed.bin in external memory
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Samples to execute code in external memory in Memory mapped mode
on the stm32h7s3l8 nucleo or stm32h7s78 disco kit
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add the memory attributes to XiP in MemoryMapped mode on the
external octo-flash of the stm32h7s78_dk board.
Use the STM32Cube programmer to flash with the corresponding
external loader for XiP mode.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add the memory attributes to XiP in MemoryMapped mode on the
external octo-flash of the nucleo_h7s3l8 board.
Use the STM32Cube programmer to flash with the corresponding
external loader for XiP mode.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Fix incorrect aux offset value in the aux pointer in the
primary advertising channel PDUs when using single timer
tIFS switching feature in nRF54Lx.
End time was not captured when only Tx follow by Tx happens
in the primary advertising channels. End time needs to be
always captured when using single timer so that elapsed
packet timer value is correctly accumulated, for use to
setup subsequent radio transmission or reception inside the
same radio event.
Relates to commit 373dc0db71 ("Bluetooth: Controller:
Single timer use Extended Advertising nRF54L support").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Enable testing periodic advertising chains on nrf54l15bsim
target to cover the Controller's use of single timer for
packet and tIFS switching.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Do not clear timer clear subscription until the radio event
is done. This is required for single timer switching when
periodic chains are to be received by LLL scheduling. Each
PDU in the train requires the timer to be cleared when the
parent PDU has been received such that reception of
auxiliary PDU's radio_tmr_start_us() can use the relative
offset since last PDU reception.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Use defines for Transmit/Receive and Inter-frame spacing
related Radio End events. This will ease some spaghetti of
conditional compilations for single timer and direction
finding support.
Direction Finding is not yet supported when using single
timer software tIFS switching.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fixup commit 031a17c271 ("Bluetooth: Controller: Align
DDPI usage with nRF54L power domains").
Align DDPI usage with nRF54L series power domains and
available DDPI configurations.
Use indices below 4 when needing to bridge with GPIO,
use indices below 8 when needing to bridge with MCU domain
like CCM and AAR; and use indices above 7 to bridge with
Peripheral domain.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
HAL_SW_SWITCH_TIMER_CLEAR_PPI is same as
HAL_SW_SWITCH_GROUP_TASK_ENABLE_PPI, hence the single PPI
suffice being disabled.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add support for nPM1304 in the npm13xx drivers. The nPM1304 supports
different voltage and current ranges which are handled through the
initialization macros.
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
Add nPM1304 device tree bindings. Extract the properties common to
nPM1300 and nPM1304 into npm13xx-common files.
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
Rename npm1300 to npm13xx in function names, documentation, etc. where
applicable for all the npm13xx drivers
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
Rename npm1300 drivers and header files to npm13xx to allow for usage
with other nPM13xx product variants.
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
TISCI driver test added to validate the TISCI API
functionality in Zephyr. This test is for the target
am243x_evm/am2434/r5f0_0.
Signed-off-by: Dave Joseph <d-joseph@ti.com>
Device tree edits to add DMSC system controller support for
AM2434 EVM. This includes the addition system-controller and
secure-proxy mailbox nodes in arm46x_main.dtsi.
Signed-off-by: Dave Joseph <d-joseph@ti.com>
This change modifies the secure proxy mailbox driver to pass user data
to the interrupt service routine (ISR) callback. This allows the ISR
to access the specific context or data associated with the mailbox
message being processed.
Signed-off-by: Dave Joseph <d-joseph@ti.com>
Use signed variable for negative error codes so that potential errors
are actually detected and returned properly.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Now that Python 3.12 is the minimum required version for Zephyr, ruff
should target that instead of 3.10.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Enable privacy peripheral test for nRF5340.
After fixing scan interval, the test started passing on nRF5340 as well.
Enable it for regressions.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
The scan interval must match scan window to start next scanning after
previous window completes. Otherwise, one of advertisements may be
missed and test will fail because it will think that RPA rotation didn't
happen in time.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Add the ST-Link GDB server (part of the STM32CubeCLT) as west runner.
The STM32CubeCLT is an all-in-one multi-OS command-line toolset, which is
part of the STM32Cube ecosystem, and notably includes a GDB server for
debugging using ST-Link probes.
This runner supports the "attach", "debug" and "debugserver" commands.
Documentation: https://www.st.com/en/development-tools/stm32cubeclt.html
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
CLOCK_CONTROL is required for fast instances of UART and COUNTER,
help select it when possible. The fast instances are UARTE120,
TIMER120 and TIMER121, and CLOCK_CONTROL is not supported for
CPUFLPR and CPUPPR even when the fast instances are used.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The cpurad_hsfll is not yet supported by the NRFS DVFS service,
disable it to prevent driver from being loaded.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Allows application code to control allocation of buffers of optional
resources.
Y value, Z value, min range value, max range value resources are
optional.
Signed-off-by: Nick Ward <nix.ward@gmail.com>
Otherwise the next attach could have the ISR invoked
before init has completely initialized all the required
data structures to handle the ISR properly.
Signed-off-by: Mike J. Chen <mjchen@google.com>
Add configuration and feedback implementation necessary to run UAC2
samples on nRF54H20. Limit nRF54H20 to Full-Speed only operation because
the samples currently don't have necessary logic to support High-Speed.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Do not call cache management functions in sample because it does not
work properly if driver uses bounce buffers.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Add helper to handle SOF interrupts/events and new Kconfig option to
disable SOF interrupt.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Removing stop functionality wrapped in stepper_disable since
there is a dedicated function for it.
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Disabling the stepper shall not cancel any active movements.
stepper_stop() shall be used after disabling the stepper in
order to explicitly cancel stepper movements.
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
As per Zephyr guidelines regarding the use of inclusive language, apply
the following replacements:
- s/master/primary/g
- s/slave/secondary/g
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Support for 8 dummy cycles in a single line RX transaction is required
for the standard JEDEC Read SFDP command. The SSI controller does not
support dummy cycles in Standard SPI mode, but the driver can simulate
those by just sending a dummy data byte.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Immediately finish an RX transfer when the RX FIFO overflow is
encountered and return the -EIO error code, which better indicates
the problem than -ETIMEDOUT that was returned previously in such
case.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
- use separate code paths for TX and RX in ISR
- make sending of dummy bytes in the single line mode (Standard
SPI) more consistent so it can be easily extended
- use value 0 instead of 0xAA for dummy bytes as there is normally
no point in making noise one the MOSI line when only receiving
data (it can only be useful in debugging transfers)
- move all writing of data in the TX FIFO to ISR to avoid broken
transfers in the single line mode (where the clock stretching
is not available) when the driver is preempted right before it
enables interrupts
- use the TX FIFO start level also for transfers without data,
so that it's not possible that the TX FIFO gets emptied between
the writes of command and address fields in the single line mode
- add a few comments to explain better how transfers are handled
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
After the START task is triggered, the clock that drives the SSI core
needs some time to become ready. Before that, writes to SSI registers
may be unsuccessful. Add a loop that performs test writes to one of
the registers after the EXMIF peripheral is resumed to ensure that it
is fully operable.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
- replace %d with %u in two error log message format strings
- add checks for maximum supported address length
- correct *_WAIT_CYCLES_MAX macros used in XIP handling routines
(although their values are valid, they belong to different SSI
registers)
- remove one unnecessary use of SPI_CTRLR0_WAIT_CYCLES_MASK
- remove doubled definitions of the XIP_CTRL register bit fields
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Add validation to ensure gPTP signaling messages
contain the correct TLV type, IEEE 802.1 Committee OUI
and sub-type before processing it as interval requests.
signed-off-by: Yusuke Omae <s1413091@gmail.com>
Add Kconfig to enable/disable Dynamic ED which add support for
proprietary algorithm to enhance performance in high-traffic channels.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
Added overlay for nrf9280 cpuapp iron board.
Modified overlay for nrf9280 cpuapp board to use common dtsi.
Signed-off-by: Aymen LAOUINI <aymen.laouini@nordicsemi.no>
Use signed variable for negative error codes so that potential errors
are actually detected and returned properly.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add the nodes for on board EEPROM devices. Only the basic compatible
functions implemented. EUI-48 Node Address not added.
Signed-off-by: Tony Han <tony.han@microchip.com>
When the FLEXCOM is activated in the DT, configure it's register
region with strong ordered, read and write access.
Signed-off-by: Tony Han <tony.han@microchip.com>
Some tests requires to also run fsbl and load bitstream before loading
Zephyr.
Currently only --elf-file and --fsbl are suported.
But there could be also bitstream loaded via --bistream parameter but
xsdb script is missing it.
Tricky part on it is when only fsbl or bitstream are loaded they are
sharing the same argument location that's why detect if second parameter is
bitstream by matching "*.bit" in it to support all combinations.
And also switch board to jtag boot mode all the time. The reason is that
starter kits with SOM have preloaded SW already and starting in QSPI boot
mode that's why with using XSDB make sure that board is running in jtag
boot mode all the time no matter if any SW runs on it.
Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
If supported, the data and control source for a signal can come from
either software or hardware. This change adds a custom configuration
flag to set this for a specific pin.
Signed-off-by: Corey Wharton <xodus7@cwharton.com>
Remove redundant register updates in pinctrl_configure_pins, and replace
the improper (and inefficient) use of bitwise OR assignment (|=) with
direct assignments when writing to the write-only BSHR registers
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Create and select the proper module device tree file which loads the
correct radio config for the MGM240P module.
Signed-off-by: Tamas Jozsi <tamas.jozsi@silabs.com>
Add device tree and support files for the Nano Matter board
based on the Silicon Labs MGM240SD22VNA chip.
Signed-off-by: Tamas Jozsi <tamas.jozsi@silabs.com>
Enable connecting native sim to a physical board running hci_uart
without usage of Bumble or other intermediary steps, but rather using
common h4 hardware driver.
Most commonly used port is USB CDC-ACM, as by default for most nRF
boards.
Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
In some cases UART drivers might have too high init priorities
so HCI must be initialized even later if used with those.
One example is zephyr,native-tty-uart.
Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
Ensure that the various configuration and conversion tables are marked
as const to save on RAM usage.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Align code with the comment :) There apparently was a copy-paste issue
from the clock_control_on code.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Include rpi_pico.overlay from the rpi_pico_rp2040_w.overlay in order to
have `pico/rp2040/w` board to work out of the box.
Signed-off-by: John Lin <john.lin@beechwoods.com>
Prevent out-of-bounds access in nxp_pint_pin_enable by fixing the
comparison to use >= instead of >.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This enables the clock_control driver build on bl60x.
It is currently deferred init, due to being incompatible
with current SDK-based boot, to avoid later giant PR.
Signed-off-by: Camille BAUD <mail@massdriver.space>
The current CMakeLists.txt uses hardcoded flash addresses for the
bootloader and application, which may not match the slot defined
in the DTS file. This can lead to inconsistencies when flashing
and running images.
This update introduces support for using CONFIG_FLASH_LOAD_OFFSET
and applies CONFIG_BUILD_OUTPUT_ADJUST_LMA if specified,
ensuring that the final image address aligns with the DTS
and runtime expectations.
Note: For ESP32-C6, a custom workaround is included since the
LPCORE does not support MCUboot images.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Updated buffer length variables to be size_t as they need to be able to
represent the maximum buffer size which is 4092.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add several more luma-only formats also known as grayscale, of variable
bit depth, 0-padded to fit 16-bits per pixel: Y10, Y12, Y14, Y16
Signed-off-by: Josuah Demangeon <me@josuah.net>
Introduce an index field to the video buffer structure to help track
individual buffers throughout the workflow.
This is particularly useful in scenarios where buffers are wrapped
in a pool, such as in GStreamer. The index allows efficient
identification of the currently dequeued buffer without needing to
iterate through the entire pool and compare buffer addresses.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
In case of the st,stm32-ospi-nor compatible
new property and node definitions will requires new macro
to get the external NOR flash base address and size
Signed-off-by: Francois Ramu <francois.ramu@st.com>
This change defines the "st,stm32-ospi-nor" compatible Node
in conformance to the DTS specifications
Includes the size property (in Bits) of the external memory device
Signed-off-by: Francois Ramu <francois.ramu@st.com>
New property of the st,stm32-ospi-nor compatible gives
the external NOR flash in bits.
The property of the st,stm32-ospi compatible gives
the external NOR flash base address
Signed-off-by: Francois Ramu <francois.ramu@st.com>
The st,stm32-ospi compatible is defining the reg property
with the register address and size at first index
followed by the external mem base address and max allocated size.
For the stm32H7, stm32L4plus, stm32L5, stm32U5 series.
ospi1 is addressing max 256 MBytes from 0x90000000
ospi2 is addressing max 256 MBytes from 0x70000000
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Update the description of the bindings to match the
xspi-nor-flash node properties: size in expressed in Bits
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Adds support for checking modules for disallow Kconfig's in boards
and SoCs, which have been defined in a Zephyr module file
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
On windows the Magic.from_file method fails to convert a PathLike to its
representation.
Pass using os.fspath.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Main changes since v2.6:
* ext_2G4_phy_v1: Runtime performance optimizations
* ext_2G4_libPhyComv1: Add BT LE HDT support
* ext_2G4_channel_Indoorv1: Add BT LE HDT support
Note: Like before, bsim remains fully backwards compatible
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Update the HW models module to:
968d55ff22579080466bf2f482596dd6e35361c6
Including the following:
968d55f 54LM20: Also build CRACEN RNG
2c6d49d CRACEN RNG: Add model of the new version of the IP
914b475 54LM20: Add first version
fb68cc6 grtc hal replacement: Remove pointless macro use
ef2f63e Fix wrong NRF_UARTE register reference
63a2e85 README: Clarify the models are not perfect, and correct links
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Current code would have systematically tried to add the FS_O_CREATE flag
when opening a file in read mode. This effectively made it impossible to
open files to read them on read-only file systems.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace the slew-rate based method of delaying signals with a more
appropriate I/O delay. Also update the comment to better describe
what we are now doing.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Modify the STM32 pinctrl driver and SoC-specific pinctrl macros
to introduce support of the st,stm32n6-pinctrl variant.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Use the new and appropriate "st,stm32n6-pinctrl" compatible for the pinctrl
in DTSI for STM32N6 series.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Add a new binding for the pinctrl controller of STM32N6 series.
The specificity of this series is the "I/O retime" feature not present on
other series. This new binding exposes pinctrl properties to configure this
feature.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Fix typo in errno which isn't caught when building since ENONET
is also a valid code, despite not being defined (nor allowed?)
in Zephyr proper.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
SphinxLint doesn't need to report trailing whitespace errors as it's
already checked by checkpatch.pl.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Set the status of the pwm_leds node in the Raspberry Pi Pico
overlay to "okay". Without this change, the serial output shows
"PWM-based LED fade. Found 0 LEDs" and the led doesn't light up
on the Pico.
Signed-off-by: Saifan Rafiq <saifanr@gmail.com>
The PHY is necessary for a high speed USB connection.
Same code as on the closely related lpcxpresso55s69.
Signed-off-by: Fabian Otto <fabian.otto@rohde-schwarz.com>
Move .bss and noinit sections to the end to reduce
binary size when the output format doesn't support
skipping empty space.
Signed-off-by: Andrew Lewycky <alewycky@tenstorrent.com>
Check that the channels are configured with the reference
ADC_REF_INTERNAL when compiling the driver.
Signed-off-by: Colin Evrard <colin.evrard@mind.be>
- Adding support for GPIO_DISCONNECTED mode.
- Removing redundant interrupt configuration logic from the
.pin_configure API (already handled in pin_interrupt_configure).
Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Only by default enable NXP_WIFI_TC_RELOCATE for RW612, which will
relocate traffic API into RAM. But for other platform, for example
the RT series, the ITCM/DTCM is a more suitable place for critical
code.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
CONFIG_GNSS_LUATOS_AIR530Z_SATELLITES_COUNT
and CONFIG_GNSS_U_BLOX_M8_SATELLITES_COUNT
would unnecessarily be in .config file.
Signed-off-by: Nick Ward <nix.ward@gmail.com>
Allow optimization if high speed is not supported. Unify strings for
error logging. Allow the application to enable/disable the USB device.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Replaces space with an equal sign when assigning the clang configuration
file to the --config parameter. This change improves compatibility with
tools that parse the compilation database and expect compiler arguments
to be separated by space.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
According to user manual UM3448, spi2 is connected to
the ST Arduino header.
This has been confirmed using the spi_loopback test driver.
Also update documentation.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
When the quad-enable-requirements property is set to "NONE" or is not
present, no Quad Enable operation should be performed.
This fixes an issue with the mx25uw6345g flash chip that is present
on the nRF54h20 DK and supports the Single I/O mode, but cannot be
used in that mode.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Category: Null pointer dereference (CWE-476)
Corrects the logic that validates the result of mipid04_get_format_desc().
Previously, the check was inverted, which could lead to a NULL pointer
dereference when accessing desc->pixelformat.
Fixes Coverity CID: 525183
Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
Some DMA and LP wrappers were missing for MAX32660 which caused build
errors on CI runs. Update hal_adi to get the necessary fixes.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Few rules are duplicate and are reported multiple times, so disable
those from pylint and rely on ruff reporting them.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit enables the Random Nb Generator peripheral
instance (RNG) on the target board nucleo u385rg_q
from STMicroelectronics.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
Make sure network interface contains information when the operational
state was changed. After boot, the value is set to 0.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
When enumerating controls with VIDEO_CTRL_FLAG_NEXT_CTRL, if child devices
have controls with IDs lower or equal to the ones in the parent devices,
those controls will be accidentally skipped.
Fix this by resetting the query's ID and tracking of the queried device in
the query when moving to the next device in the pipeline.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Signed-off-by: Josuah Demangeon <me@josuah.net>
In both implementation, when comparing received data length take into
account that the buffer obtained from bt_buf_get_tx() stores the type at
the top. The buffer types are H:4 and in the TX path we need to check for
BT_HCI_H4_* types not BT_BUF_*.
In the legacy implementation, the hci_acl_pkt_len() function obtains the
length from the USB transaction buffer, which does not contain a buffer
type at the top.
In the new implementation, partially revert the changes and restore
hci_pkt_get_len(), this will be required for any further changes anyway.
Fixes commit f85d63a6cc ("Bluetooth: Remove USB H4 mode support").
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add check for invalid microstep resolution directly in api to avoid the
check in each and every driver
Set microstep resolution is made a mandatory function now as all
stepper drivers support it and hence should implement it
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Release the SPI during the deinit to put respective GPIOs in low-power
state or disconnected.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
By default QSPI is uninitialized after every transaction, so, deinit is
a no-op, but if QSPI_LOW_POWER is disabled, then we need to uninitialize
the QSPI in the deinit.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Correct XSPI configuration in order to improve PSRAM access on the
STM32N6 discovery board.
Ideally, this should be defined by device tree, but I'm fixing
the only user for now.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Combining the two regions provides enough memory to
successfully build applications.
Note that SRAM1 and SRAM2 are continuous regions.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
-add nucleo_u385rg_q overlays files
for testbench purpose.
- add platform_exclude property to skip test on boards
with little ram size.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
The previous initialization sequence fails to configure the module
properly. Update the sequence using the code provided by vendor.
The update is verified using the FRDM-MCXN947 SmartDMA camera case
under samples/drivers/video/capture.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Add Kconfig option to limit the length requested from HWINFO to a
meaningful number of digits. Also, check the length returned by the
HWINFO driver and rename the variables to a more suitable name.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
When we have skips in ctest, the overall result should not be marked as
a SKIP unless all tests have been skipped. If we have passing tests,
mark the test as PASS. Any failures/errors obviously will fail the
tests.
Also pass the skip reason from ctest to twister to give a hint about
what is going on in case of skips.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Fix timeout error that can occur in rare case.
When the thread writing to flash is pre-emptive it can be scheduled
out after reading the status register, but before checking if timeout
has expired. In this case it will report timeout without re-checking
the status register.
When writing a lot to flash, for example a firmware update process
then this situation is very likely to occur.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
This dts include file is for certain stm32 boards
such as the stm32l552zc,which have a memory size
of 256KB for both flash and RAM peripherals.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
This removes 'return' statements affecting code flow from debug code in
llext_link(). Also, all valid relocations are tried before returning an
error, so that the user can see all the errors (most likely missing
symbols) at once.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
.xtensa.info section isn't large so it was ignored in the beginning,
but its contents can differ depending on the build platform even if
the sources and the toolchain are the same. Strip the section to
restore binary reproducibility.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Update the documentation to recommend installing the latest puncover
release publiced to the Python Package Index (PyPI).
At the time of this commit, the latest release on PyPI is v0.4.2, which
matches the latest release available on the puncover GitHub repo.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Use video_buffer_aligned_alloc instead of video_buffer_alloc for buffer
allocation in order to be able to enforce required buffer alignment
configured via CONFIG_VIDEO_BUFFER_POOL_ALIGN.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
By default, enable the SharedMultiHeap allocated buffer on
stm32n6570_dk and enable its usage for LTDC or video buffers.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Set the LTDC buffer alignment to 256 in order to avoid an
issue when accessing to PSRAM via XSPI.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The SMH attribute when using the XSPI PSRAM is set to EXTERNAL (2)
within the driver hence set default for both LTDC and video
buffer SMH attribute to 2 if all conditions are validated.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add the CONFIG_STM32_LTDC_FB_SMH_ALIGN option in order to
indicate the alignment required for the buffer allocated via
SMH.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Removes a superfluous Kconfig for setting the MCUboot operating
mode as sysbuild does this automatically, adds a comment about why
it is omitted, and then sets it in the correct place
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Update getting started guide, release notes, CI actions and
Python version compliance check to use Python 3.12 as
minimum supported version.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add semihosting support for Xtensa architecture.
Existing semihosting instructions are based on ARM, so they are
converted to Xtensa codes before the semihosting call is invoked.
Return codes of read, write and seek calls had to be converted to match
semihosting API definitions.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Move semihost_x_args structs to include/semihost_types.h so that
semihost implementations can access their elements if needed.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Several subsystems have configuration options that allow large buffers
to be placed in specialized memory sections. When PSRAM is enabled, the
MBEDTLS heap and LVGL heap and buffer can be relocated to custom sections
within the PSRAM segment.
Enabling `CONFIG_ESP_SPIRAM` together with any of the following options:
* `CONFIG_MBEDTLS_HEAP_CUSTOM_SECTION`
* `CONFIG_LV_Z_MEMORY_POOL_CUSTOM_SECTION`
* `CONFIG_LV_Z_VDB_CUSTOM_SECTION`
will place the corresponding buffers into the `.mbedtls_heap`,
`.lvgl_heap`, and `.lvgl_buf` sections, respectively.
If none of these custom section options are enabled, the buffers will
fall back to the `.ext_ram.bss` section.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Python 3.10 and 3.11 are no longer supported so drop them from the
GitHub Actions test matrices.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Native sim was inadvertently forgotten from the platform_allow list with
commit 257e56c.
It should be in there as it is an integration platform.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
When calling device_get_binding(NULL) from userspace, this eventually
funnels down to a call to arch_user_string_nlen() where it tried to
verify that the kernel has access to this address (0x0). But since
this originates from userspace, we really want to know if this is
accessible from userspace, so using arch_buffer_validate() instead
of xtensa_mem_kernel_has_access() is preferable.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
This stupid errata will not leave me alone, here is another bandaid to
deal with an issue where an extra byte was being sent on version 1
LPSPIs due to the algorithm of filling NOPs when only RX is left was not
expecting the situation where the LPSPI actually consumed everything
from the fifo but is not sending it due to this ridiculous stalling errata.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The buf_len parameter of lpspi_fill_tx_fifo is supposed to be bytes, so
we do not need to convert it. This could cause an issue if the end of
the buffer is less bytes than the word size.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Fixing some issues with the TX fifo fill logic in two places:
First in the normal fill function, it didn't take into account a
situation where the TX fifo is already partially filled. This currently
doesn't cause a problem because the driver is written in a way that the
watermark is always 0 for TDF, but in case the watermark were anything
else it would cause a problem.
Second, when filling the TX fifo with NOPS in order to clock the rest of
the RX in from the bus, the calculation regarding the current TX fifo
length was just wrong and was leading to a bug in some cases where there
was a subtraction underflow and billions of NOPs were being filled.
Also, there could be a problem where a few extra NOPs are put in the TX
fifo if we don't count what we already have in the TX fifo, so fixing
that as well.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
There is no need to update the tx context in interrupt instead of
directly after the fill, this just makes the code more complex. Also,
the spi context header already handled iterating over buffers so we can
remove that code too.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Since the LPSPI drivers no long use MCUX at all, remove the MCUX
branding, to avoid confusion. In the future if an implementation uses
the MCUX SDK driver, it should specifically be called by MCUX in the
name.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
For optimization purpose, remove calls to SDK. Since we know exactly
what we want, this results in smaller code size.
Also, this code calculates the SCK parameters more efficiently than the
SDK driver did it by using a binary (instead of linear) search.
Lastly, remove call to LPSPI_Reset in the init call and replace with
native driver code, and remove inclusion of SDK header.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Instead of waiting forever and potentially allowing infinite loop on
ISR, wait some arbitrary amount of cycles to error out if it isn't
happening. Still make this configurable for debugging purposes.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Since I expect that the drivers will need to read this version ID maybe
multiple times, instead of repeatedly doing so over the peripheral bus,
it is probably worth it to store a byte in RAM representing this
version. The behavior of the LPSPI is fairly significantly different
between versions. Not enough to warrant separate drivers but enough to
need a few workarounds or different code branches depending on this.
Also, the interrupt based driver is currently using a wrong macro to
read this, and that is a bug.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Clarify at the top of the common lpspi file what is the purpose of the
file to be clear to future developers that this file is not supposed to
make any assumption about a particular implementation of the zephyr API
using the LPSPI, because I imagine it could be very likely that more
lpspi implementation will be done in the future to make different
tradeoffs than the current two. Also the current two are different
enough that we should avoid making assumptions even if they currently
hold for both because they might not always, as things change.
We should disable interrupt events while configuring the LPSPI
regardless of implementation. The specific implementation should enable
the interrupts it needs on its own transceive implementation.
Also clarify and simplify some code in the configure function. Namely,
we no longer need to check if we are already configured to write to
registers because a recent commit made it so that we clock the
peripheral from the zephyr driver init instead of upon the MasterInit
call on the SDK. There is also a redundant CR write which I have removed.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
These settings are used to put the pins in power saving mode
when we enter SUSPEND power mode.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
The sleep-output property is no longer used. This results in the sleep
bit to be always cleared. Delete this code so we can retain any sleep
mode configuration done.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Create a virtual shield to connect an OpenThread RCP radio device with a
host using the UART or SPI bus.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Implement the HDLC over SPI adapter driver to support the Openthread RCP
with SPI communication.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Registers driver with pm_device_driver_init(); implements TURN_ON,
SUSPEND and RESUME. Sets ODR = 0 on suspend per datasheet
Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
Cast NSEC_PER_SEC to long to resolve a compiler warning about comparison
between signed and unsigned integer expression.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Change the default of the mac address for a few example boards
to use the "unique" option based on the chip unique ID,
instead of random. The RW was chosen because it has HWINFO implemented
currently. RT1050 was chosen as one of the RT boards.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Use the HWINFO API for getting the unique mac address, and use the
pre-existing hardcoded macros as fallbacks if hwinfo is not implemented
properly.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The DHT driver incorrectly assumes all sensor instances are the same
type as the first instance (dht@0). The data parsing logic uses a
hardcoded check of the devicetree property for instance 0, which
causes incorrect readings when different sensor models (e.g., DHT11
and DHT22) are used together.
This change stores the model type in each per-instance config struct
during initialization. The data parsing logic is updated to use this
per-instance flag, ensuring each sensor is handled correctly
according to its specific model.
Signed-off-by: John Shelton <moosery@gmail.com>
Adds details on a new optional parameter for the OS mgmt reset
command which can specify the boot mode
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds an optional boot mode field which can be used to boot into a
specific image or mode using MCUmgr's OS mgmt reset command
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
- Adds NXP platforms for the filesystem.fat.ram.api test case.
- Renames prj_native_ram.conf to prj_ram.conf,
as it can be used by all platforms.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Verify that collaborators/maintainers added to the MAINTAINERS.yml file
actually have access to the project and are members.
Only those who already gained access following the process shall be
added to the file.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Implies the Kconfig symbol for generated a padded, confirmed image
when MCUboot has been configured in directxip mode with revert, as
the main image must be confirmed in order for it to be booted
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fix radio IRQ priorities. With the Controller update from SiSDK,
its behavior changed so that it overwrites the IRQ priorities.
Reconfigure the priorities after the Controller is initialized.
Source interrupt numbers and priorities from devicetree.
Also set the SYNTH IRQ priority on all HW, and set either the
RDMAILBOX or HOSTMAILBOX IRQ depending on which one exists.
Signed-off-by: Jori Rintahaka <jori.rintahaka@silabs.com>
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Increase the long workqueue stack size to prevent it from being
overflown for example in the GATT database hashing. This leaves
us with a bit less than 200B of headroom as of today
Signed-off-by: Jori Rintahaka <jori.rintahaka@silabs.com>
Refactor the controller init to use the new init routines the
controller now provides. Instead of using a hardcoded set of
features, the features are now initialized based on Kconfig
values that the application selects.
Add config files under modules/hal_silabs, used by the controller
init routines in the external module hal_silabs to determine which
features to enable based on Kconfig options. This brings the
controller feature configurability to roughly parity with the
Simplicity SDK.
Signed-off-by: Jori Rintahaka <jori.rintahaka@silabs.com>
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Update the Simplicity SDK HAL for Silicon Labs Series 2
devices to v2025.6.0.
The em_core source file no longer exists in the latest version
of the HAL, and is removed.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
The current test was just a basic sanity check.
This adds actual validation of the SPDX files being generated as
being spec-compliant.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Generating SPDX SBOMs for the ``native_sim`` platform has propably
never worked, but at least now it will be documented.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Update the str_out function signature to match the expected
cbprintf_cb_local type:
typedef int (*cbprintf_cb_local)(int c, void *ctx);
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
This information is useful for troubleshooting and not available
anywhere else, does not quite belong to this script but this runs for
every PR so it's not a bad place to have it.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Reduce frequency of counting issues. The output of this workflow is
legacy and published externally, so we should re-consider keeping this
or do things a bit differently.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add a missing break statement in the pm_action function to ensure that
PM_DEVICE_ACTION_RESUME is not treated as an error.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
To reduce low power current value, added host sleep handshake
enhancement. If CPU3 is wokenup by WLAN, do host sleep handshake with
CPU1 as before. For other wakeup sources, skip host sleep handshake.
Signed-off-by: Hui Bai <hui.bai@nxp.com>
The fractional part of the qdec sensor readout is set to zero (val2 =
0).
Changed the format of the run time data to Q26.6 and adjusted the
assignment of val1 and val2 accordingly.
Signed-off-by: Juraj Lieskovský <lieskovsky.juraj@gmail.com>
Struct girq_regs has an array field of length 1 at its end. Since this
field is never used in the code base, we can replace it with a non-array
field of its original element type to remove the flexible-array-like
behaviors and avoid using a flexible array file in the middle of a
struct or defining an array of flexible array struct type.
Fixes zephyrproject-rtos#84251
Signed-off-by: Ella MA <xutong.ma@inria.fr>
SHIM Nordic modification for the ADC driver controlling the SAADC
peripheral. Replaced HAL based implementation in favor of nrfx driver.
As a next step, it is planned to implement a feature that will allow
the peripheral SAADC timer to be used for sampling, and for this it is
necessary to use the nrfx driver in this SHIM.
This will allow more accurate and faster sampling than the kernel
mechanism currently provides.
Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
Adds ability to get properties from the /cpus group,
in the goal of retrieving timebase-frequency for CPU groups.
Signed-off-by: Camille BAUD <mail@massdriver.space>
New control transfer is started prematurely from device perspective when
host timeout occurs. Any data transfer from previous control transfer
have to be cancelled prior to handling SETUP data. Unconditionally
disable control IN endpoint to prevent race for enqueued buffer between
udc_buf_get_all() called in dwc2_handle_evt_setup() and udc_buf_peek()
called in dwc2_handle_in_xfercompl().
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Corrected the installation instructions for the IAR Arm Toolchain
to reflect the latest recommended version.
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
Implement the MIN_SIZE and MAX_SIZE options to
zephyr_linker_section_configurefor the IAR icf linker file
generator
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
This makes c++ sample
`sample.libraries.hash_map.newlib.cxx_unordered_map.djb2`
start working on gcc w. `CMAKE_LINKER_GENERATOR=y`.
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
Texas Instruments MSPM0 series supports device id fields with
various part information and also resgister to hold reset reason.
Reset cause register will defaults to 0 after first read.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
Flash memory uncorrectable ECC error can either generate NMI
or reset. When reset is triggered, add entry to handle flash
ECC errors in hwinfo.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
SoC with support to enter and exit into bootstrap loader or
bootloader mode for programming and verifying the flash memory
will have reset cause as bootloader.
Add entry to accommodate entry and exit from bootloader mode.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
The build system currently generates mapfiles by invoking ld with the
"-Map=<mapfile>" command line argument. This variant of the flag was
introduced in GNU binutils 2.20.
To enable compatibility with legacy versions of the GNU ld, the argument
has been replaced with the "-Map <mapfile>" variant.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
The EDAC shell code previously contained a number of references to the
Intel IBECC driver. Make the shell code more generic to the defined EDAC
API, and make IBECC-specific code dependent on its config option.
Also make NMI control dependent on X86 as it is specific to that
platform.
Rather than looking for a node labeled "ibecc", the EDAC shell code
now simply requires that a chosen entry for "zephyr,edac" be present to
point to the desired device. The Intel Elkhart Lake DTS has been updated
to add this alias.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Add an EDAC driver for the Synopsys DDR memory controller, used in the
Xilinx MPSoC (ZynqMP) devices, to allow monitoring for ECC errors.
Note that currently only the compatible string used for the ZynqMP
(shared with Linux) is currently supported. Support for other Synopsys
core implementations can be added in the future.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
When reconfiguring the SSP, some changes do not immediately take effect
in particular changes to the clock polarity are not applied. Disabling
and re-enabling the SSP forces the new configuration to take effect
immediately.
Signed-off-by: George Norton <george_norton_uk@hotmail.com>
The existing logic caused a regeneration when any of the .conf files
changed, but modifying the Kconfig files can also cause the .config file
to become out of date e.g. by adding a new config option or by changing
the default value of a config option (when that default is not
overridden by a .conf).
Without this change, an incremental build wouldn't pick up the new value
and would require the user to notice that and manually do a clean build.
Signed-off-by: Richard Hughes <rhughes@xilinx.com>
Add "net dns service <dns-service-name>" which can resolve
service names like "_http._tcp.dns-sd.org" described in DNS-SD
RFC 6763.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If the default max. answer length of 512 bytes is not enough,
user can specify it by setting CONFIG_DNS_RESOLVER_MAX_ANSWER_SIZE
to suitable value.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Corrected the timeout condition in the ti_adc_sequencer_start function
to ensure proper timeout handling during ADC sequencer operations.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Ensure proper release of memory slab when dmm_buffer_in_release fails in
the event_handler function.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Set regulatory domain to default US for IW610 and RW610 socs
and WW for IW416 and IW612 socs.
Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
Added kconfig for regulatory domain in hostapd. Default is set to
00 as World Wide mode.
Also added 3rd octet kconfig to set regulatory environment and set
it to 32 for all supported environments.
Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
To circumvent peculiarities in the linker, the _init blocks
(as well as their content) needs to be tagged with keep.
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
The `zephyr_code_relocate` now supports the NOINIT memory type in addition
to DATA, TEXT and BSS. This patch documents its usage.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
The code relocation feature allows code and data section to be located
inside a designated RAM region.
Currently, this feature supports relocation of code (text) and data
including mutable data (data), read-only data (rodata), and
zero-initialized data (bss).
However, relocation of non-initialized data sections was not previously
supported, meaning that any data annotated with the __noinit attribute
could not be relocated into the desired RAM region.
This patch adds a NOINIT memory-type which can be used implicitly or
explictly in the zephyr_code_relocate() CMake function. This causes the
build system to generate additional linker-script section-matching rules.
By the nature of noinit data, no action is required by Zephyr at boot.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
This patch improves the formatting of the "Additional Configurations"
section of the "Code And Data Relocation" document.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
Modify the reset function to also reset the connection and
PA sync states.
Modify and add missing checks for mutex locks to use ASSERT
when using K_FOREVER, as they should never fail/timeout.
Cleanup some text and error checks.
Ensure that the add_src_param is reset for each loop
iteration as well.
Modify so that we use K_FOREVER fewer places.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
IUT works as an RFCOMM Client. The peer device, RFCOMM server, is a PC
running bumble.
In the test suite, there are five test cases:
Case 1, RFCOMM Client with Command Responses. Tests that the client can
establish a DLC, respond to various commands (RLS, RPN, Test), send NSC
responses, and properly handle DLC disconnection and RFCOMM session
shutdown.
Case 2, RFCOMM Client with Credit Based Flow Control. Tests that the
client can establish a DLC, perform information transfer with credit
based flow control, initiate disconnection, and shutdown the RFCOMM
session.
Case 3, RFCOMM Client with BR Connection Disconnection. Tests that the
client correctly handles scenarios where the BR connection is
disconnected during DLC establishment.
Case 4, RFCOMM Client with Aggregate Flow Control. Tests that the client
can establish a DLC, perform information transfer with aggregate flow
control, and properly handle disconnection and session shutdown.
Case 5, RFCOMM Client with Failed PN Response. Tests that the client
correctly handles scenarios where it fails to receive a PN response when
establishing a DLC.
Signed-off-by: Jiawei Yang <jiawei.yang_1@nxp.com>
Bluetooth 6.1 has version number 0x0F and was released in May 2025.
This commit ensures this version number is properly decoded.
Going forward we may consider removing printing the version
number as a string because the feature set is more important
than the version number.
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
For a long time (since version 3.3.0) nrfx contained an incorrectly
defined symbol NRF_SAADC_8BIT_SAMPLE_WIDTH that was set to 8 for nRF54L
and nRF54H Series SoCs, which was probably only true for very early
engineering revisions of those. Based on this, the adc_nrfx_saadc driver
was incorrectly writing consecutive 8-bit samples in supplied buffers,
cutting off the highest 8 bits of the results. And for sequences with
multiple channels, it was even causing that the results written as
16-bit words by hardware were partially overwritten in next iteration.
In nrfx 3.12.0 (see commit f46798fa55)
this was finally corrected - the symbol is now deprecated and it is
always set to 16. This commit is a follow-up to the above and removes
parts of adc_nrfx_saadc that now became dead code to prevent further
confusion regarding 8-bit sampling.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Remove parts of overlays for nRF targets that were just copied from
the adc_dt sample but are not used by the adc_sequence sample and only
generate confusion here.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Extend I2S testing with additional test cases that verify
I2S/TDM driver operation at various configurations.
Check:
- word sizes of 8, 16, 24, 32 and 48 bits;
- one, two, four and eight audio channels configuration;
- data format I2S, Left Justified, Right Justified,
PCM Long, PCM Short;
- data order MSB and LSB first;
- bit clock and frame clock inversion;
- block size of 6 bytes;
- bit clock continuous and gated;
- internal loopback;
- pingpong option.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
When set 'wifi reg_domain' CMD, need to create and download countryinfo
to sync driver and FW for embedded supplicant case
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Add information how the net_mgmt request handler is changed.
The event number type is changed from uint32_t to uint64_t to allow
the event command to be a bit mask instead of enum value.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
We cannot use the network management event number directly as
a socket option value because the management value is uint64_t
and that cannot be mapped directly to 32 bit integer.
So have an intermediate socket option that is mapped to actual
network management request number in getsockopt() and setsockopt().
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Instead of using 32 bit enum values for event numbers, convert
the code to use 64 bit long bit fields. This means that the
user API is changed to use 64 bit event values instead of 32
bit event values.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Update the input_thread function signature to match the expected
k_thread_entry_t type:
typedef void (*k_thread_entry_t)(void *p1, void *p2, void *p3);
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Add `k_heap_array_get` as an alternative to `sys_heap_array_get`, which
only returns statically defined heaps (those defined with
`K_HEAP_DEFINE` or `K_HEAP_DEFINE_NOCACHE`), but doesn't depend on the
application guessing a value for `CONFIG_SYS_HEAP_ARRAY_SIZE`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
This commit makes the Radio workqueue priority configurable by the
application. Additionally, the default priority has been adjusted to
allow transmit operations to occur before the entire RX queue is
processed.
Signed-off-by: Łukasz Duda <lukasz.duda@nordicsemi.no>
Ensure encoding of options with large deltas works as expected by using
an "experimental" option 65100.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fix usage of the wrong variable in insert_be16 which could cause
insertion at the wrong offset.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This change will allow the VIRTIO-MMIO register definitions
to be shared.
Additionally, the register names from Ver1 were being used,
even though the implementation was based on the Ver2 specification.
Also, I addressed this issue.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
The `end` variable should be calculated based on the device's register
size, not the address. Probably never caught before as user typically
provides a buffer of reasonable size...
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
While it would likely not directly cause issues with the current
implementation, the logic of turning off the sensor should be to
actually reset the flags, not to toggle them.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Updated the CONF_STATUS0_DEV_ROLE macro to ensure proper bitwise
operation by adding parentheses around the bitmask operation.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
SYS_PORT_TRACING_OBJ_FUNC_* are for when the function being
traced is a method of an object. Use SYS_PORT_TRACING_FUNC_* instead.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add error handling for the return value of gnss_nmea0183_snprintk
so as to avoir sending garbage to the modem.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Correct improper doc for return value, document the negative error
codes, and add more details re: what the function does.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
I3C callbacks are registered by upper layer. Driver layer must check if
a callback is not NULL before calling it
Signed-off-by: Nghia Phung <nghiap@amperecomputing.com>
When Hotjoin complete and dynamic address is assigned to target,
INTR_DYN_ADDR_ASSGN_STAT interrupt will be triggered, we can use sem_hj
to notify dw_i3c_target_ibi_raise_hj() about Hotjoin completion
Signed-off-by: Nghia Phung <nghiap@amperecomputing.com>
Added NETC ENETC nodes, MDIO node, and scmi power node which will
be used to power up NETC MIX in dtsi file.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Cleaned up NETC driver in drivers.cmake to add i.MX943 NETC
driver support, and to disable msgintr/irqsteer for A core.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Some external flash modules have extra commands to support, for example,
reading/writing an OTP zone. Given that the commands are highly specific
and difficult to generalize, we add two ex ops that can be used to
transmit a custom command (in the form of a full QSPI_CommandTypeDef) and
then read or write a user-provided buffer.
Signed-off-by: Federico Di Gregorio <fog@dndg.it>
Support booting from any usable core in systems with partially
fused-off CPUs. Update get_cpu_logic_id to iterate over the actual
number of enabled CPUs using DT_CHILD_NUM_STATUS_OKAY(DT_PATH(cpus))
instead of CONFIG_MP_MAX_NUM_CPUS.
Resize the voting[] array based on DT_CHILD_NUM_STATUS_OKAY to ensure
each CPU can vote correctly.
Signed-off-by: urvashi sharma <urvashis@qti.qualcomm.com>
The utility may be used during development stage to get
ambiq platform specific timing parameters for mspi devices.
Signed-off-by: Swift Tian <swift.tian@ambiq.com>
This device driver supports ISSI is25w/lx032/64 series flash.
Only extended SPI mode(1s-1s-1s, 1s-8s-8s, 1s-1s-8s) is implemented.
Signed-off-by: Swift Tian <swift.tian@ambiq.com>
This adds an architecture-specific post processing after memory
writes. This introduction is due to GDB's behavior regarding
breakpoints in code. GDB may choose to write break instructions
instead of using hardware breakpoints to interrupt code
execution (e.g. for manual breakpoint or stepping through code).
There is no separate GDB packet type for this. So we need to
make an assumption that a memory write may be to setup break
instructions. Different architectures may have their own unique
ways of dealing with instruction cache in this situation. So we
defer to the architecture code to handle this.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This fixes GDB backtracing by forcibly spilling all registers,
and faking values for WINDOWSTART and WINDOWBASE. This is
effectively telling GDB that only A0-A3 and AR0-AR3 contain
active data and other physical registers do not. GDB then must
rely on spilled values on stack. Otherwise, GDB will try to
look at all AR* registers for previous frame(s). Since we
do not save all AR* register values, there is nothing for GDB
to look at, and thus failing to unwind stack.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Inside copy_to_ctx(), we are typecasting the stack pointer into
a 32-bit array pointer, and there was unbalanced const between
two sides. Since we should not be modifying anything inside
that array, add const to the 32-bit array pointer too. So now
the compiler will not complain about discarding the const
qualifier.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The calculation of number of high registers is not entirely
correct. We need to get past the pointer to BSA in the stack
frame before reaching the high registers. The location address
difference between the BSA and start of high registers then
can be used to calculate how many high registers in the stack
frame. So correct the start location of high registers in
the calculation as it was incorrect before. Though the result
would be the same as further divisions would mask this error.
However, it is better to correct this for readability.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Add an overlay in the GDB stub test for ESP-WROVER-KIT board
to enable using its UART for remote GDB communication.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
add missing break statement so that CLOCK_CONTROL_AMBIQ_TYPE_LFXTAL case
is handled correctly.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
we iterate over all the channels, and if more than one channel is
active at a time. interrupt on any one of active channel was
triggering callback for other active channel, because flags value
is 1 (enabled). this is commit handle this behaviour and only
trigger callback if bits other than status is set
Signed-off-by: Anuj Pathak <anuj@croxel.com>
This patch adds a missing include directive to `spi.dtsi` in the
`build_all` configuration.The include is required because commit
2ac316465f introduced the use of `GPIO_ACTIVE_HIGH` and `GPIO_ACTIVE_LOW`
macros.
Signed-off-by: Patryk Koscik <pkoscik@antmicro.com>
Add argument to the TLS credential `cred buf` command that enables
a shell bypass to write the TLS credential directly to the credential
buffer.
This is useful for writing load credentials that cannot fit in a single
`cred buf` command and would otherwise have to be split into multiple
cred buf commands.
Sending multiple in succession like that from a script for example very
easily causes the shell RX buffer to get full, resulting in multiple
`RX ring buffer full.` warnings.
This is very difficult for a script to handle.
Using a bypass has much better performance and can easily avoid the
RX ring buffer full condition without increasing the RX ring buffer
to much.
It is also easier for a script to use.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
Due to the lack of the overlays for lots of platforms, bring up the
platform_allow again before the sample ifdef are refined
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
Adds a common vendor dts file specifying the default partition
layout for nRF54L05-based cpuapp board targets and updates boards
to use this common file. This also drops the secure/non-secure split
in the partitioning as this was reducing NVM storage that is not
used by this board target and fixes the wrong flash field in
twister yaml files
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a common vendor dts file specifying the default partition
layout for nRF54L15-based cpuapp_ns board targets and updates boards
to use this common file.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a common vendor dts file specifying the default partition
layout for nRF54L15-based cpuapp board targets and updates boards
to use this common file. This also drops the secure/non-secure split
in the partitioning as this was reducing NVM storage that is not
used by this board target and fixes the wrong flash field in
twister yaml files
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a workaround for partitions on nrf54l10 non-secure devices to
prevent build issues, this needs to be fixed properly when a TF-M
update is done which sets the partition sizes properly
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a common vendor dts file specifying the default partition
layout for nRF54L10-based cpuapp board targets and updates boards
to use this common file. This also drops the secure/non-secure split
in the partitioning as this was reducing NVM storage that is not
used by this board target and fixes the wrong flash field in
twister yaml files
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
When running the tests/drivers/memc/ram on the
adi_eval_adin1110ebz target, do not involve sram1, sram2
That will avoid warning about orphan section for
`DT_N_S_memory_10000000_P_zephyr_memory_region_STRING_TOKEN
and DT_N_S_memory_20040000_P_zephyr_memory_region_STRING_TOKEN
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Update CONFIG_SPI_IDEAL_TRANSFER_DURATION_SCALING
value for testcase to pass for higher transfer speeds.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
jlink runner works fine for the Pico2, just like Pico1 (rpi_pico).
Copied relevant lines from rpi_pico/board.cmake.
Fixed typo in documentation.
Signed-off-by: Koen Van Herck <koen.v.herck@gmail.com>
Make the GNSS emul driver less capable w.r.t fix interval so that we can
exercise more error paths if e.g. user requests a fix interval of 100ms.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
arch_elf_relocate_global() and arch_elf_relocate_local() aren't LLEXT
API functions, they're internal implementation functions, move them
to llext_internal.h
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
With experience it becomes clear, that failing to resolve symbols
during the linking process is likely fatal for the module loading and
a simple warning isn't enough. Fail loading instead.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Functions like `add` and `sub` can only return base 10 integers, which
means they can't really be used to define Kconfig symbols of type `hex`.
For the same reason, there already exist pairs of devicetree functions
named e.g., `dt_node_reg_addr_(int|hex)` after different return types.
Introduce `add_hex`, `sub_hex`, and friends.
To avoid confusion, it should be possible for those new functions to
accept arguments in base 16 as well. It's actually easier to let all
arithmetic functions take their inputs in "any" base, by leveraging
Python's built-in: `int(..., base=0)`.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
The hci_ipc sample does not support fragmentation of IPC-messages.
Give an ASSERT if only parts of an IPC-message is delivered.
This would happen for instance when the underlying transport mechanism
cannot hold the complete message.
Background:
The open-amp backend uses RPMSG_BUFFER_SIZE=512
Most applications and controllers use HCI-packets which are at most
255 bytes. In some cases a controller may deliver HCI-packets beyond
255 bytes.
This may for instance be the case if the controller delivers large ISO
SDUs as a single HCI-packet.
Signed-off-by: Johan Stridkvist <johan.stridkvist@nordicsemi.no>
The "net conn" command printed AF_PACKET socket as AF_UNK(3).
Fix this by printing "AF_PACKET" in this case.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Make sure that uninitialized state is 0 so that we can catch
when the context is not initialized properly.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Make sure we cleanup only those DNS servers that belong to
certain network interface when the interface goes down.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Bind the network interface to the network interface we
have received the DNS servers from. This is now the default.
The previous behavior can be restored by disabling the
CONFIG_NET_DHCPV6_DNS_SERVER_VIA_INTERFACE option.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Bind the network interface to the network interface we
have received the DNS servers from. This is now the default.
The previous behavior can be restored by disabling the
CONFIG_NET_DHCPV4_DNS_SERVER_VIA_INTERFACE option.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Allow user to specify which network interfaces to bind the
server to when reconfiguring the DNS system.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add option in enum phy_link_speed to disable auto-negotiation.
This allows PHY drivers to support disabling auto-negotiation.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Add support for setting RGMII RX and TX internal delays via DT properties:
`ti,rx-internal-delay` and `ti,tx-internal-delay`.
Signed-off-by: Venkatesh Odela <venkatesh.odela@amd.com>
is_area_readable is used for SOCS other than LPC55XXX chips, not just
chips other than LPC55S36. Change the condition which elides this code
to avoid a GCC 14.3 warning.
Signed-off-by: Keith Packard <keithp@keithp.com>
In the previous code, strnlen could have returned WIFI_SSID_MAX_LEN, and
the following statement ensuring NUL termination would have written one
past the end of the array.
Replace this with code that ensures a NUL termination within the bounds
of the array and then use strlen to compute the length.
Signed-off-by: Keith Packard <keithp@keithp.com>
We want the stack trace to show the correct nesting of functions,
so we need to prevent the compiler from in-lining functions or
performing tail-call optimizations.
Add __noinline to prevent inlining. Add another printf in each
function to avoid tail calls.
Signed-off-by: Keith Packard <keithp@keithp.com>
GCC 14.3 is not happy when this variable is left uninitialized, although
we don't actually care about the contents, just the address.
Signed-off-by: Keith Packard <keithp@keithp.com>
SUBALIGN forces alignment to the specified value, even if the object
requires stricter alignment. This causes mis-aligned access when accessing
the resulting value.
Signed-off-by: Keith Packard <keithp@keithp.com>
Most uses of this macro should *not* include SUBALIGN as that can reduce
the alignment requirement for data and cause unaligned access faults in
the processor. Leave support for this in place in case there are
still uses for it.
Signed-off-by: Keith Packard <keithp@keithp.com>
SUBALIGN forces alignment of input sections to the specified value, even
if they require stricter alignment.
Signed-off-by: Keith Packard <keithp@keithp.com>
inference_process.hpp depended on the C library implicitly including
stdint.h through some path, which is not defined behavior. Explicitly
include <cstdint> to ensure that uint8_t is defined.
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit adds names to Kconfig choice sysmbols. This allows for their
selection from Kconfig, e.g.:
choice TRACING_FORMAT_CHOICE
default TRACING_TEST if CONFIG_FOO
default TRACING_CTF if CONFIG_BAR
endchoice
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
The 50 ms TX mutex timeouts introduced in commit b0a0feb cause
dropped messages when used with the shell log backend. This
commit makes time timeout configurable using the
CONFIG_SHELL_TX_TIMEOUT_MS Kconfig option and makes the
default timeout longer when shell log backend is enabled.
Link: #90215
Signed-off-by: Tommi Kangas <tommi.kangas@nordicsemi.no>
The bt_le_ext_adv_info struct has been extended to also
contain the advertising and periodic advertising states.
Additionally, the function verifies the input to avoid
NULL pointer access, and the addr field is more
properly documented.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
See Discussion https://github.com/zephyrproject-rtos/zephyr/discussions/83659
for information about the purpose of this change.
Modifies run actions of hierarchical state machines
to return a value indicating if the event was handled
by the run action or should be propagated up to the
parent run action. Flat state machines are not affected,
and their run action returns void.
smf_set_handled() has been removed and replaced by
this return value. smf_set_state() will not propagate
events regardless of the return value as the transition
is considered to have occurred.
Documentation, tests, samples, has been updated.
USB-C and hawkBit use SMF and have been updated to use
the new return codes.
Signed-off-by: Glenn Andrews <glenn.andrews.42@gmail.com>
Apply clang-format to USB-C in preparation for code changes
No code is changed, only formatting.
Signed-off-by: Glenn Andrews <glenn.andrews.42@gmail.com>
Implement a check in the CI pipeline to enforce
that property names in device tree bindings do
not contain underscores.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Disable tracing on exit and do not discard data immediately after
enabling tracing. The length of the data depends on the timings of the
host and targets and may simply be an arbitrary length that does not fit
any trace format or frame.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Not all the hooks for k_events, k_lifo, k_fifo, k_msgq, and k_queue are
implemented in tracing_test.h and tracing_test.c and therefore the
testing format cannot be used with the new USB device stack.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
When the user presses Ctrl+c to exit the infinite capturing loop, ensure
that the cleanup funciton is always executed.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
This commit prevents the hardware from generating an unexpected
target slave address match ISR by the following change:
1. Enable the New Match Interrupt Enable bit (NMINTEN) only when
necessary.
2. Explicitly clear all SMBnADDRx registers because they are not
cleared when the I2C hardware is disabled. It will cause the
asynchrinization between SMBnADDRx and registered_target_mask if the
system jumps from the RO image to the RW image.
Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Add gpio support for STM32MP257F-EV1 board.
Add the orange (&led0) LED to the device tree and enable GPIOJ.
Add the user button USER2 to the device tree and enable GPIOG.
This step allows building and debugging the blinky and button sample
applications.
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
Add GPIO A-K nodes to the device tree for STM32MP2 SoC.
Note that GPIOs are disabled by default in the STM32MP2 SoC.
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
Remove gpio clock management from the GPIO driver when running on the
cortex-m33 on the mp2 and gpio clocks are managed by the cortex-A, being
the resource manager, allowed by the Resource Isolation Framework (RIF).
Also add a specific binding for the mp2 gpio to make clock property
optional.
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
Add the stm32mp2 clock driver to the clock_control subsystem. The driver
is a reduced version of the generic stm32 clock driver.
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
Introduce DeviceTree binding for the STM32MP2 RCC clock controller,
enabling support for STM32MP2-specific clock configuration in Zephyr.
Update Kconfig.stm32 to add a dependency on STM32MP2 configuration,
allowing the use of STM32 LL RCC features when targeting STM32MP2
devices.
Add header for STM32MP2 per peripheral clock definitions.
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
Add support for STM32MP2 series in the hwinfo driver.
The STM32MP2 series uses the HAL functions since it doesn't have a
ll_utils.
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
Add the mp2 exti2 dts to the dtsi file.
Add mp2 exti hal and ll function calls with EXTI2 instance. We use the
EXTI2 instance because it contains the GPIO interrupts in the non-secure
context. (We are trying to build the blinky sample as a first milestone)
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
Replace the use of `DT_NODELABEL(exti)` which depends on the node label
with the defined EXTI_NODE macro using the instance with the
`st_stm32_exti` compatible.
Since both macros point to the same node, this change doesn't affect
the code logic, but makes it independent of the node label, in
preparation for the addition of the STM32MP2 exti nodes.
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
Introduce initial board support for the STM32MP257F-EV1. This includes:
- Board metadata (board.yml, stm32mp257f_ev1.yaml)
- Base software configuration (Kconfig.stm32mp257f_ev1)
- CMake build integration (board.cmake)
- Default configuration (stm32mp257f_ev1_stm32mp257fxx_m33_defconfig)
- Minimal device tree (stm32mp257f_ev1_stm32mp257fxx_m33.dts)
- Initial documentation and image for the stm32mp257f_ev1 board.
- OpenOCD configuration files for debugging support.
This enables the STM32MP257F-EV1 board to build and debug a hello world
sample.
Note that other necessary openocd configuration files are added to the
zephyr sdk directory and can be found in the stm-openocd repository[1].
[1]:https://github.com/STMicroelectronics/device-stm-openocd/tree/main
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
Add a linker script for the stm32mp2x soc series. It includes the
standard arm cortex-m linker and adds standard zephyr relocation
sections.
Replace the rom_start section name with .isr_vectors in the linker
script. This is necessary for the zephyr firmware to be started by the
remote proc driver which expects the section containing the vector table
to be named .isr_vectors.
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
Add initial soc support for the stm32mp2x series, including
initial Kconfig entries and default configuration files.
This enables Zephyr to recognize and build for the stm32mp2x series,
taking the stm32mp257f_ev1 as a baseline.
Includes:
- Kconfig and defconfig files for SoC selection and defaults
- soc.h for hal headers
- CMakeLists.txt for build system integration
- soc.yml update to register the new SoC
System Clock is configured statically from DTS. So no initialization
hook or soc.c needed.
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
Add the initial device tree source include (dtsi) files for the
stm32mp25 series boards, covering non-secure configuration for zephyr on
the Cortex-M33 core.
These files provide the basic hardware description, including CPU
(Cortex-M33), memory, RCC clock controller and NVIC interrupt
controller.
Key features:
- Set flash and RAM addresses to DDR memory.
- Adjust RCC peripheral address for non-secure context.
Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
Adds a new abstract struct for unicast group that is
specific for CAP. The difference between this and the BAP
unicast group, is that the parameters are CAP streams and
thus ensuring that the streams in the group adhere to the
additional requirements that CAP has on top of BAP.
This also adds foreach functions for both CAP and BAP
to allow users to iterate on the streams in the
abstract groups.
Various samples, modules and tests have been updated
to use the CAP struct and API.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Use && instead of & in channel validation logic to ensure channel is
either CHAN_IR or CHAN_LIGHT.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add one config file for IW610 chip, as it has different net related
settings and thread priority settings from other hosted MCU, due to
Wi-Fi chip capability difference.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
The SDK FSL DMA driver converts descriptor addresses to DMA's address
space when linking descriptors. The Zephyr dma_mcux_lpc driver is
missing the inverse conversion when dereferencing the linked next
descriptor pointer.
This isn't a problem when this driver is used on the M33 core
of the MIMXRT595S because the M33 can access the address space
of the DMA (0x20000000+). But when the Fusion F1 DSP core uses
this driver, the DSP cannot access the DMA's address space
so the inverse conversion is needed.
Signed-off-by: Yicheng Li <yichengli@google.com>
Support three different FIFO contents which are selectable through
a new DT property, fifo-mode-sel, which may be set to one of the
following values:
- 0x0 # 1x Accelerometer @12bit and 1x temperature @12bit samples
- 0x1 # 1x Accelerometer @16bit sample
- 0x2 # 2x Accelerometer @8bit samples (previous and current)
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Updated the condition in the gpio_ra_interrupt_unset function to use a
logical OR instead of AND, since it should return if either port_num or
pin is not the same as the current callback.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Update board document to remove dcache off command under U-Boot as
CONFIG_ARM64_BOOT_DISABLE_DCACHE has been enabled.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Remove logically dead if and else-if conditions as shown by the static
analysis, replacing with the else statement.
When data_opt is assigned to the MIN of fifo_wmark_cfg and fifo_full_cfg,
both those variables will be non-NULL as an earlier condition ensures the
function returns if either one of the variables is NULL before assigning
to data_opt.
Signed-off-by: Alexander Apostolu <apostolu240@gmail.com>
Add sample to read from up to 10 streaming devices, using the
sensor_stream() API and the RTIO framework:
https://docs.zephyrproject.org/latest/services/rtio/index.html
The devices has to be aliased as streamN (0 <= N <= 9) in DT, and
will be instantiated using SENSOR_DT_STREAM_IODEV() macro.
Currently the sample gets/prints data on SENSOR_TRIG_DATA_READY
trigger basis for the following sensor channels:
- SENSOR_CHAN_ACCEL_XYZ
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Add SENSOR_TRIG_DATA_READY trigger support to RTIO streaming.
Currently it just handle XL drdy.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Enable/disable devices as necessary to ensure memc test will test the
attached HyperRAM and no other memory nodes.
Signed-off-by: Pete Johanson <pete.johanson@analog.com>
Fix build error when CONFIG_MCUX_COMPONENT_driver.fro_calib is set.
Error message:
modules/hal/nxp/mcux/mcux-sdk-ng/cmake/extension/function.cmake:2084 (if)
if given arguments:
"IN_LIST" "NEED_WRAP_TOOLCHAINS"
The error is because, mcux sdk ng cmake functions `mcux_add_xxx` support
add content based on toolchains. CMake should set current toolchain in
CMake Variable `CONFIG_TOOLCHAIN` to use this feature.
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
In MCUX SDK NG, the `core_id` and `core_id_suffix_name` are
different concepts, generally the values are the same. But
there are exeptions, such as RT595 F1.
Zephyr's `CONFIG_MCUX_CORE_SUFFIX` is actually MCUX SDK's
`core_id_suffix_name`. SDK NG CMake needs `core_id`, but
current integration layer uses `CONFIG_MCUX_CORE_SUFFIX`
as `core_id`, so there is build error with RT595 F1.
Fix the code that convert `CONFIG_MCUX_CORE_SUFFIX` to `core_id`,
handle the special case.
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
Adapt MAX32690 driver to use Wrap_MXC_CAN_Init to handle differences
in the MSDK API (see analogdevicesinc/msdk#1306) between the
MAX32690 and MAX32662.
can_driver_api.timing_min required phase_seg1 >= 3 and phase_seg2 >= 2
when configuring CAN bit timing. Both microcontrollers covered by this
driver (MAX32662, MAX32690) support values down to 1 for both of these
timing parameters.
Refer to the docs for registers CAN_BUSTIM1, CANn_BUSTIM1.
Add a can0 node to the MAX32662 dtsi.
Signed-off-by: Ioan Dragomir <ioan.dragomir@analog.com>
Currently, the `display_read_write` test execution can be suppressed
by `harness: display`, but since the display harness does not exist,
there is no way to run tests.
Using a fixture, it will be possible only to build if not specified,
and run tests if specified.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Drop this redundant check that was likely meant to be checking that Z
field is zero but in the case of reception the RFC says it MUST be
ignored anyway.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
When CONFIG_NO_OPTIMIZATIONS the compiler will not inline
socket_offload_dns_is_enabled(), which means calls to
socket_offload* remain, and the linker will fail with
in function `zsock_getaddrinfo': undefined reference to
`socket_offload_getaddrinfo'
in function `zsock_freeaddrinfo': undefined reference to
`socket_offload_freeaddrinfo'
Instead of relaying on that function being inlined and the
if'ed code being removed, let's just use the preprocessor.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add external HSPI flash on STM32U5G9J-DK2
Use external loader to flash it with STM32CubeProgrammer
Signed-off-by: Mathias Markussen <mathias.markussen@st.com>
- with the updates made to the spi_ll_stm32 driver,
we no longer need to configure the 16-bit frame/word size
in the DTS overlay file. The test_spi_word_size_16 testsuite
helps us verify the 16-bit frame mode supported on
the ST platform.
- remove testcases that use thoses files in testcase.yaml
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Update the source_data and dest_data sizes with the frame size
in bytes before performing the transfer.
With these changes, we can handle cases where the buffers switch
between 8-bit and 16-bit modes.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Workaround to avoid getting the -EFAULT (14) error when running
the test_spi_word_size_x (x = 7, 9, 24) test cases:
Since these testcase configurations aren't supported, update
the error type to ENOTSUP to allow skipping the test cases using ztest.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Place transfer buffers in non-cacheable memory when
CONFIG_NOCACHE_MEMORY=y. This change ensures that DMA transfer
buffers are allocated in non-cacheable memory on platforms where
CONFIG_NOCACHE_MEMORY is enabled. This avoids potential cache
coherence issues that are not handled by the SPI driver.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Set a convenient latency for each platform, since each platform
reacts differently to the driver.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
The driver treats the `source_data_size` and `dest_data_size` as a
width in bits and converts 8 bits to 1, 16 bits to 2, and 32 bits to 3.
This should be a width in bytes with 1 byte mapping to 0, 2 bytes to
1, and 4 bytes to 3.
Note that this preserves the current behaviour of silently accepting
invalid transfer bit widths.
Signed-off-by: Michael Hope <michaelh@juju.nz>
This adds `tests/drivers/dma/chan_blen_transfer` and
`tests/drivers/dma/loop_transfer` as build tests to any manual Twister
run.
Signed-off-by: Michael Hope <michaelh@juju.nz>
Sets LinkServer as the default runner for the mimxrt1060-evk board,
as the board is configured for CMSIS-DAP by default.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Introduce the stm32u3 serie to the the existing flash driver
It is based on the stm32l5 model.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
Implement conditional compilation to avoid the warning:
- Use LL_PWR_EnableVDDIO2() for STM32U3 series.
- Use LL_PWR_EnableVddIO2() for other series.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
Add documentation for am243x_evm and while at it, add the openocd
configuration as well.
Co-authored-by: Mika Braunschweig <mika.braunschweig@siemens.com>
Signed-off-by: Amneesh Singh <a-singh7@ti.com>
Add SoC support and device trees for Texas Instruments AM2434 SoC. Both R5
and M4 cores are supported here.
Signed-off-by: Amneesh Singh <a-singh7@ti.com>
Some devices have multiple pinctrl regions; for instance, main pinctrl and
mcu pinctrl. Currently there can only be a single pinctrl instance picked
form a DT label. This patch makes the pinctrl driver initialise one
instance for each node with correct compatible string.
Signed-off-by: Amneesh Singh <a-singh7@ti.com>
Added support for deriving `SYS_CLOCK_HW_CYCLES_PER_SEC` from the
Device Tree by reading the `clock-frequency` property in the `itim` node.
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
For testing/debugging purposes, it will be possible then to register
or unregister an i2c target.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
Co-authored-by: Hans Binderup <habi@bang-olufsen.dk>
The driver originally supported only it8xxx2 series. This updates
introduces compatibility allow it to also support it51xxx series
with minimal changes.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Registers driver with pm_device_driver_init(). Moved
chip init routine into separate function to be called
from PM_DEVICE_ACTION_TURN_ON. Added a delay after
power-up.
Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
When uart_ns16550_irq_tx_enable() is called and the TX FIFO is already
empty, no new interrupt is generated, causing data transmission to stall
in some cases. This patch introduces a workaround to simulate an ISR
callback if the FIFO is empty when enabling the TX IRQ.
Signed-off-by: Jacky Lee <jacky.lee@egistec.com>
1.correct timer register control flow
2.select timer interrupt rising edge trigger, instead of default
level trigger
Stress test: top timer fires interrupt every 300ms for 18 hours.
The result is that we don't lose any interrupts.
Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
HID lookup table can live in Flash and save some RAM (quite a bit
actually, as it's quite large!).
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Clarify linking issues in PRs and Commit messages and address the issue
of ambiguity across multiple github repos.
Not allowing links in commit messages so that forks can be happy is not
great.
Forks on Github have no problem with linking, however,
disconnected forks seem to not link correctly, but then why does this
matter?
If someone is taking Zephyr and developing it as their own, they
can for sure do that, but why this should force the Zephyr project to
manage traceability differently and make it more difficult for
developers to add such information in the git metadata directly and not
relying on pull requests.
Most developers use git directly and rely less on pull request and
github UI when browsing changes in the code base.. We need to be able to
see by looking at git commits and git
history if a commit is associated with a bug, some PRs might fix
multiple issues, so the context is important and by looking at each
commit the trace can be established immesiately without going back to
github pull requests.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The optee suite was failing in test_suspend() after a call to
k_aligned_alloc() which returns -ENOMEM. The alignment requirement is
4096 bytes, which seems reasonable, but what is odd about that is
that the alignment fails in spite of
CONFIG_SRAM_SIZE=145131134582784
and
CONFIG_HEAP_MEM_POOL_SIZE=270044
So there is plenty of memory available for this test and alignment
considerations should not be an issue.
Removing `CONFIG_DEBUG=y` solved the problem for me.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Ensure that qemu_x86 (the integration platform) is on the allow list
for `sample.net.sockets.socketpair.s32k148_evb`.
```
INFO: Error found: sample.net.sockets.socketpair.s32k148_evb on
qemu_x86/atom (Not in testsuite platform allow list but is one of the
integration platforms)
```
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
It seems there is no functional impact, but it makes sense to also update
the state of the interface when AP is started/stopped.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
The interface was properly set "dormant" on disconnect. However on startup,
it arrived in the system with "awake" status. Hence, some configuration
frames were sent before the interface was connected. Then, when the
interface was marked awake after the connection, the frames were not sent
again since the operational mode did not changed.
Therefore, Router Solicitations were not send, the Router Advertisements
were not received and the IPv6 address was not set.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Disable support to local ISR declaration on Espressif SoCs.
Code relocation is not yet supported, causing build fail.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
gpio_rpi_isr() always addressed io_bank0->proc0_irq_ctrl, so any
interrupts taken while code was running on core 1 were invisible and
left pending.
Use get_core_num() to pick proc1_irq_ctrl when the ISR executes on core
1, ensuring callbacks fire from both cores.
Also fix stray `iobank0_hw` symbol for the correct `io_bank0_hw`.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Ensure gpio_set_dir() receives GPIO_IN or GPIO_OUT by mapping
INIT_{LOW,HIGH} flags explicitly, instead of passing raw bitmasks.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fixed several occurrences of offset not being calculated in case
multiple GPIO ports are present.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fix incorrect use of bitwise OR operator when checking pull-up and
pull-down resistor configuration.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Core Specification 6.1 clarified exptected erro code in case peer
sending invalid Public Key. In case pairing is aborted during or
immediately after Public Key Exchange phase has completed (which is
the case here) expected reason code is set to "DHKey Check Failed".
This was affecting SM/CEN/KDU/BI-04-C and SM/PER/KDU/BI-04-C
qualification test cases.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
It is not an error if the clock source is already enabled. This
may happen if a bootloader has used the peripheral and not
de-initialized it before booting the application.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
It is not an error if the clock source is already enabled. This
may happen if a bootloader has used the peripheral and not
de-initialized it before booting the application.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
It is not an error if the clock source for the UART is already
enabled. This may happen if a bootloader has used the UART and
not de-initialized it before booting the application.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
If a bootloader is used, it will configure the SMU and SAU.
The application cannot also configure it, since it can't know
what alias (S vs NS) to access the CMU through. Only connect
the interrupt to the application's vector table if a bootloader
is present.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
The DTS for this board contained a few mistakes:
* The PHY address was incorrect
* This did not impair functionality because the RTL8211F
treats address 0 as "broadcast" and accepts commands
sent to it by default
* An incorrect PHY driver was used
* The generic "phy_mii" driver is not the most appropriate
for this PHY - use the HW-specific RTL8211F driver instead
* Also remove the PHY IRQ pin configuration from Ethernet
pinctrl to allow RTL8211F driver to receive IRQ via GPIO
instead
* The RGMII GTX CLK pinctrl must be configured at "medium-speed"
* This is a temporary solution. The proper solution would use
very-high-speed combined with a GPIO delay, but delays are
not supported yet in Zephyr.
Signed-off-by: Mathieu CHOPLAIN <mathieu.choplain@st.com>
Migrate the dma_nxp_edma driver to SDK-NG. This means:
1) Adding the CMAKE logic required for compiling the module
2) Updating the HAL_NXP manifest to pull in the patches which
handle the migration on the HAL side
3) Removing CMAKE logic from old mcux-sdk so that they are no
longer included in the build
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This commit adds support for configuring the power/performance
profile for the siwx91x device using a generic
'power-profile' property in DeviceTree.
The property is available for NWP nodes,
allowing flexible selection of power management
profiles per application or board via overlay.
Signed-off-by: S Mohamed Fiaz <fiaz.mohamed@silabs.com>
The sample was not able to build because of a typo in
Kconfig when enabling CONFIG_CHARGER_DISCHARGE_CURRENT_NOTIFICATIONS
Signed-off-by: Matthias Alleman <matthias.alleman@basalte.be>
add timestamping on Tx to packets marked for timestamping
add timestamping on Rx to all packets for later use
fix race condidition on adding timestamp when sending delay_req
Signed-off-by: Adib Taraben <theadib@gmail.com>
Fix up the bus fault by not violating the MAXPACKETSIZE
value range of NRF_CCM h/w peripheral.
Fix up relates to commit 920117922b ("Bluetooth:
Controller: nRF53x: Fix NRF_CCM MAXPACKETSIZE value").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
The function FLEXIO_SPI_MasterTransferNonBlocking has a bug when
works in CS continuous mode. In this mode, both RX and TX
interrupts are enabled, they share the same IRQ line.
In the ISR, the RX event and TX event are not handled well,
so a short delay in ISR is needed.
The function FLEXIO_SPI_MasterTransferNonBlocking issue is fixed,
the delay in ISR can be removed.
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
- Add support for default Annex-55 Bluetooth calibration data load
for both IW612 and IW416 SoC.
- Add support for default Annex-100 Bluetooth calibration data load
for both IW612 and IW416 SoC.
Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
Fix incorrect elapsed events value when LLL event prepare_cb
was invoked but was aborted before anchor point sync. This
caused premature supervision timeouts under applications
configured with CONFIG_BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX=n
and CONFIG_BT_CTLR_PERIPHERAL_RESERVE_MAX=n.
Fixes commit 247037bd3e ("Bluetooth: Controller: Fix
incorrect elapsed events value").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
ticker_is_initialized() should only return true when the ticker is
running (triggered regularly). Users like nrf_flash_sync_is_required()
depend on this behavior.
When the bluetooth controller driver is closed, ll_deinit() calls
lll_deinit(), which stops the ticker from being triggered. Also
deinitialize the ticker to ensure that ticker_is_initialized() returns
false.
Signed-off-by: Marco Widmer <marco.widmer@bytesatwork.ch>
Add UARTE23 and UARTE24 missing Kconfig options and their
translation to NRFX configuration macros.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Adds BOOT_IMAGE_EXECUTABLE_RAM_START and BOOT_IMAGE_EXECUTABLE_RAM_SIZE
to the list of mcuboot symbols ignored by the compliance checking
script.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
add scenario in build-only operation to check for CI failures
when interrupt is disabled for the STM32 i2c driver.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
add arduino_i2c node in overlay files to be enable building the i2c_api
test on multiple stm32 boards,compatible for both i2c V1 and V2
driver.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
In the USBD_DESC_STRING_DEFINE macro defenition the const qualifier is
missing. Also, do not reserve room for the UTF16LE conversion, as this
is done on the fly in the stack.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The result of gpio_add_callback() was not checked, which may
lead to silent failure in alert interrupt setup.
CID: 525074
Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
The STM32 signing tool (STM32_SigningTool_CLI) is invoked as a post-build
command to generate a signed Zephyr binary, which is required to run from
flash on N6 series. If the file specified as output already exists, the
tool will by default prompt to confirm it should be overwritten. However,
when invoked from the build system rather than a terminal, this prompt
will break the build (freeze during the "Linking zephyr.elf" step). This
can be seen by building the same application twice in a row, as the second
build will not be different enough to make the build artifacts be deleted
and thus the (old) signed image will be seen by the tool.
Invoke the tool in silent mode such that user is never prompted. This fixes
build failures while still working as intended (if present, the existing
signed image will get overwritten properly).
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
This command waits for a given time (in seconds) and will continuously
poll from the UART device and print on the Shell console. This command
can be used to also test the RX line.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
According to RFC 793, the seqnum test includes 4 cases when STATE >
TCP_SYN_SENT:
Seg-len Recv-win Test
------- -------- ---------------------------------------
0 0 SEG.SEQ = RCV.NXT
0 >0 RCV.NXT =< SEG.SEQ < RCV.NXT+RCV.WND
>0 0 not acceptable
>0 >0 RCV.NXT =< SEG.SEQ < RCV.NXT+RCV.WND
or RCV.NXT =< SEG.SEQ+SEG.LEN-1 <RCV.NXT+RCV.WND
After the seq validation, the 'send duplicated ACK' code in FIN_WAIT1/
2/CLOSING/TIMEWAIT state processing is duplicated, so remove them.
Added TEST_CLIENT_SEQ_VALIDATION ztest case in tests/net/tcp.
Signed-off-by: Shrek Wang <inet_eman@outlook.com>
The returned values from function calls should
be ignored since these function calls are dummy reads.
fixes#90480
Signed-off-by: Wajdi ELMuhtadi <wajdi.elmuhtadi@we-online.com>
With the commit fe3c001eeb ("usb: device_next: disable high-speed USB
device descriptor if not used") there is no high-speed device descriptor
by default.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
clock control is required for "fast instances" so assert clock
is enabled alongside PM DEVICE RUNTIME. Update UART tests to
reflect this requirenment.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The UART_NRFX_UARTE_USE_CLOCK_CONTROL is no longer used and
incorrectly selects CLOCK_CONTROL if UARTE120 exists. Remove
it.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Currently the config CLOCK_CONTROL_NRF2 is used as a GLOB
style config which includes all "NRF2" drivers and related
configs.
With NRF2, clocks are treated as individidual devices
with individual device drivers. This commit split the
CLOCK_CONTROL_NRF2 config into device specific configs
and ifdefs. With this, drivers are selected individually
based on devicetree state as is common for most devices
drivers, and dependencies like NRFS and specific NRFS
services are selected by the specific driver which nees it.
Checks for CLOCK_CONTROL_NRF2 are updated to check for
existance of the clocks instead.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Currently there is a mismatch between the naming of the hardware and
the drivers targetting the hardware. nrf2_ is used instead of
the actual bindings names, like nrf2_audiopll instead of
nrfs_audiopll. This makes it hard to map drivers to the hardware
they are targetting.
There is historical reason for some of this, namely the same binding
name was used for different hardware, which is why nrf2_ was used
on newer platforms. This is no longer the case though, so drivers
and configs can be named according to the hardware without conflict.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Fix the description of nrf_clock_control_get_startup_time which was
missing documentation of the spec param and had a spelling mistake
in it.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Add snippet that can be used to enable packet trace output from
Silicon Labs Series 2 devices.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
The Packet Trace Interface is a debug interface that emits TX and RX packet
data over a serial connection in real time.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Add a new driver class for drivers related to debugging, such as
trace hardware, performance counters etc.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
The target variable is a `uint8_t`. It is not reasonable to pass a
value with `uint16_t` in little-endian format.
Remove `sys_cpu_to_le16`, and pass the value directly.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add ELC nodes to RA SoC DTS files and provide
device-specific ELC signal enums for Devicetree bindings
Signed-off-by: Khanh Nguyen <khanh.nguyen.wz@bp.renesas.com>
Add support for the Renesas RA Event Link Controller, including
driver sources, Kconfig, and Devicetree bindings.
Signed-off-by: Khanh Nguyen <khanh.nguyen.wz@bp.renesas.com>
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
make sure the hal is stopped, before
configuring the link. The phy can change the
speed without notifying a link down in between.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
When using target mode, we've found that some times the msg field can
be null through some of the code paths of the interrupt event handler.
Signed-off-by: Yuval Peress <peress@google.com>
Avoid k_sleep() never being called when video_write_reg_retry() and
video_read_reg_retry() have a number of retry set to zero (default).
The default number of retries being controlled by
CONFIG_VIDEO_I2C_RETRY_NUM.
Signed-off-by: Josuah Demangeon <me@josuah.net>
When using Zero Latency IRQs do not invoke ISR_DIRECT_PM and
do not return to reschedule in the kernel.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
The `owned-channels` property specifies which channels are assigned to
a given target. Additionally, the `source-channels` or `sink-channels`
property defines channels that can be used to forward an event outside
the DPPI domain, otherwise they can only be used within it.
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
The async_user_callback could be triggered from
both the DMA transfer complete interrupt and
a k_work queue timeout. Since the timeout runs
outside of an ISR context, it could be interrupted
by the DMA ISR. This might leads to a race condition
where both paths access and modify shared
DMA buffer state (offset and length) simultaneously,
causing data corruption or out-of-sequence processing.
Introduces proper synchronization to prevent concurrent
access to shared DMA buffer variables,
ensuring consistent and reliable data handling.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Add clear, step-by-step guide for generating test certificates using
FreeRADIUS scripts, including file renaming and usage notes.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Fixes the JEDEC-ID value of the W25Q32JVWJ on-chip flash of RT1024.
It was incorrectly set to the value for the different IS25WP064 chip.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Allow network shell DNS module to verify that the DNS SD
record is a valid one. Currently this is not exposed to
applications.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Fixes building an lvgl sample with CONFIG_CPU_LOAD enabled.
cpu_load_get function requires 1 argument.
Signed-off-by: Matthias Alleman <matthias.alleman@basalte.be>
In high throughput tests it's fairly easy to overflow the current 32-bit
byte counters in net statistics (it's just over 4 GB of data).
Therefore, make the byte counters 64-bit to prevent overflows.
Rearrange some fields to avoid padding.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
net_stats_t type is an unsigned type, therefore %u should be used
instead of %d when printing values of this type, otherwise negative
values will be printer if INT32_MAX is exceeded.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Microchip is adding more non-MEC devices to Zephyr such as
SAM and PIC32. Each device family will have its own subfolder.
We moved the existing MEC DTSI files into a new mec subfolder.
We also updated the existing MEC boards include paths.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
Updated driver based on changes done in SDK 25.06.00-pvw2.
Update hal_nxp to include BLE LL and IEEE 802.15.4 PHY NBU
combo firmware for MCXW72 boards.
Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
Updated mcxw_get_time function to output its result in nanosecond
resolution and updated code accordingly.
Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
Restore main stack size to the default value since fake entropy
implementation from mbedtls is replaced by STM32 entropy driver.
Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
Call entropy APIs to use TRNG peripheral on STM32WB0x devices for BLE
purposes.
Enable RNG node on Nucleo-WB0x boards.
Remove RNG initialization as it's done in the entropy driver.
Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
On Cortex-M33 the access to peripheral registers doesn't act as a data
synchronization barrier for memory accesses to normal memory. So before
triggering any TASKS for cache operations we need to make sure the core
doesn't have any pending memory transactions.
Signed-off-by: Karsten Koenig <karsten.koenig@nordicsemi.no>
When reception is restarted (STARTRX after ENDRX but no STOPRX) it is
possible that FRAMETIMEOUT countdown counter will not be started by
the first received byte if byte was already being transmitted when
STARTRX was called. If that is the only byte then it is expected that
timeout will be triggered but since FRAMETIMEOUT counter is not started
there is no FRAMETIMEOUT event which has short to STOPRX. This
situation will happen in case short buffers are used (< 5 bytes)
because then short ENDRX_STARTRX is not used then.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Converting absolute system ticks to RTC ticks is simple. It needs to be
multiplied by CYC_PER_TICK (which by default is 1). Complex algorithm
was used when driver was not tracking current 64 bit tick and function
was returning uint32_t.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
[Description]
After DUT connects to AP through DPP,
enter 'wifi status' to check connection status.
Security shows UNKNOWN.
[Analysis]
1. DUT supplicant will add a dpp network after
receiving GAS response.
Assign ssid->key_mgmt as WPA_KEY_MGMT_DPP.
2. Call wpas_key_mgmt_to_zephyr() to convert
hostapd/supplicant security type to zephry
security type.
In this function, convert WPA_KEY_MGMT_DPP
to WIFI_SECURITY_TYPE_UNKNOWN.
[Fix]
1. Add code to convert WPA_KEY_MGMT_DPP
to WIFI_SECURITY_TYPE_DPP.
Signed-off-by: Qiankun Li <qiankun.li@nxp.com>
Specify the Arduino serial node for a Discovery kit with STM32H573II MCU.
Add supported features to board yaml file.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
When testing y2k rollover, the seconds value can easily be off by one
since there is no guarantee that the RTC will be exactly on the second
boundary.
Relax the check to allow for a one second difference.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Ensure the alarm tests exercise rollover scenarios by setting RTC time
to a few seconds before midnight on a December 31st and alarm time to a
few seconds after midnight on the following day.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add information about nfct node status. For cpuapp status is irrelevant
because NFCT is by default assigned to cpuapp but for cpurad node needs
to have reserved status.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
NFCT is by default assigned to application so DT node does
not need to be enabled or reserved in DT to have access to
NFCT registers. On cpurad NFCT must be reserved to enable
register access and then antenna pins can be configured as
gpios.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Use nordic,nrf-nfct-v2 compatible in the main nrf54h20 devicetree
description.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
When both NRF_CLOCK_HAS_XO_TUNE and NRF_CLOCK_HAS_PLL evaluate to 0,
one break statement can end up not associated with any case and become
dead code. Refactor a bit the related switch to avoid such situation.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Add nRF specific test to check if it possible for multiple users
to enable XIP independently and also if XIP can be successfully
re-enabled (see fb1d0785ae).
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Add reference counting in nrf_qspi_nor_xip_enable() so that XIP is
kept enabled as long as there is at least one user that needs it
(boot time enabling done with CONFIG_NORDIC_QSPI_NOR_XIP also counts).
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
On arrays DT_ENUM_HAS_VALUE() and DT_INST_ENUM_HAS_VALUE()
were only checking the first index, this changes it to check all indexes.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Configure the active discharge feature for both the BUCK and LDO/LDSW
blocks through the appropriate registers.
Signed-off-by: Jordan Yates <jordan@embeint.com>
#78615 Added a check for disallowed Kconfigs which does not work
on Windows machines. Windows machines seem to behave differently when
faced with the \b word boundary marker. I have removed the \b word
boundary marker from the grep commands when os.name=='nt'.
The script performs the same as before for any other os.
Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
CM33 must write MEMCONF.POWER[VPR].RET = 0 before entering System OFF.
This bit drives the vprSavedCtx input to VPR. Forcing it low will
disable the Hibernate wake feature in VPR, so that VPR will remain
in its reset state when waking from OFF.
Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
Some macros haven't been properly renamed in previous commits.
Fixes the wrong names that caused compilation errors.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Fix the zperf TCP RX accept error when start both UDP and TCP zperf
server, as the fdtable size is not enough and reserve fd table failed.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
This driver uses the NRF_CLOCK_HAS_HFCLKAUDIO symbol that is defined
in <hal/nrf_clock.h>, so it should explicitly include that header,
not count on this inclusion being done by some other header, like
<zephyr/drivers/clock_control/nrf_clock_control.h>.
Extend also the build assertion that checks if the audio clock can
be used so that now it ensures that the above symbol is defined
(to prevent the driver from silently discarding the audio clock
configured as the clock source).
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
This is a follow-up to commit 7a2ce2882a.
Inclusion of <hal/nrf_clock.h> should not be done based on the NRF_CLOCK
symbol being defined, because it depends on the order in which headers
are included - that symbol gets defined when <nrfx.h> gets included and
this is not necessarily always happening earlier. Instead of adding
inclusion of <nrfx.h> here, move inclusion of <hal/nrf_clock.h> under
`#if defined(CONFIG_CLOCK_CONTROL_NRF)` where it is actually needed.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
As a software construct that depends upon Bluetooth being enabled,
this device should not be enabled by default. Most nRF SoC's have
internal `RNG` hardware that is much more efficient to access.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Explicitly enable `rng_hci` on nRF5340 application core boards, as the
application core dos not have access to a dedicated RNG hardware
peripheral (limited to the network core).
Signed-off-by: Jordan Yates <jordan@embeint.com>
For 'wifi connect' or 'wifi ap enable' CMD, there is 'invalid option'
error log when input '-i' parameter. Parsing '-i' can fix this issue.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
The nucleo_f746zg board doesn't handle RX/TX buffers in
non-cacheable memory when required. This leads to an error
in the test_adc_api with the log:
Supplied buffer is not in a non-cacheable region.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Add basic board definition of the u-blox EVK-IRIS-W1-rw612 board.
Adds maintainer info for u-blox boards.
Signed-off-by: Tarang Patel <tarang3399.patel@gmail.com>
If gpio-reserved-ranges to reserve some pins which used by other CPU
Core's OS, we could only handle usable pins owned by current CPU
Core in interrupt handler.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
If GPIO_DISCONNECTED is not supported by GPIO driver, then try to configure
the pin to be input, otherwise there will be some unstable signal between
two test pins.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
If the platform uses SCMI pinctrl driver, pinctrl regitster can't accessed
by CPU Core directly, and currently SCMI pinctrl driver has no API to read
back the register value, so use default pad config value for GPIO pad
configuration, and in theory we could use a fixed pad config value in this
driver as each new GPIO configuration has no relation with previous
configuration.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
It looks like the file was originally copy-pasted
from frdm_mcxn947_mcxn947_cpu1.yaml
but the name was not properly updated.
This commit corrects the name to match the actual board.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Updates the LE legacy pairing procedure as a result of errata ES-24491.
New part:
If the initiating device receives an LP_CONFIRM_R value that is equal to
the LP_CONFIRM_I value, the pairing process shall be aborted and fail
with "Confirm Value Failed" as reason.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Add missing tests for edge cases (ex. peek on empty heap, push to full
heap, ...) to get to 100% coverage (lines & branches)
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
make test cases more readable using more direct assert_ macros, for
example zassert_not_null(foo, ...) instead of
zassert_true(foo != NULL, ...).
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Increased the default number of TX and RX buffer descriptors from 4 to
16. Since the current default buffer size (CONFIG_NET_BUF_DATA_SIZE) is
128, increasing the number of RX buffers is needed to be able to receive
at least one frame of a maximum size split between multiple buffers.
The default number of TX buffers was increased to match the number of RX
buffers and to be able to transmit large frames with many fragments.
Added build-time configuration validation to ensure that the combined
size of all RX buffers is sufficient to receive a maximum-sized Ethernet
frame.
Signed-off-by: Stanislav Poboril <stanislav.poboril@nxp.com>
DMA copies frames which cannot fit into a single buffer into
multiple receive buffers. Updated the receiving code to combine
these buffers into a net_pkt with multiple fragments.
This allows the driver to handle larger Ethernet frames that
span across multiple DMA buffers.
Signed-off-by: Stanislav Poboril <stanislav.poboril@nxp.com>
Always reading from descriptor with index 0 could cause processing
of the buffers in a different order than they were received. Fixed by
reading from the next unprocessed position in the ring of descriptors
instead.
Fixed unused variable warnings.
Signed-off-by: Stanislav Poboril <stanislav.poboril@nxp.com>
Add test case verifying that offloaded DNS APIs are called as expected
and that enabling/disabling DNS offloading at runtime works.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add new socket offloading functions, allowing to enable/disable
offloaded DNS implementation at runtime. This may be useful if there is
a mix of offloaded/native network interfaces in the system, so the
application can choose which DNS backend to use.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add a new "if_name" pointer to the transport configuration structure,
allowing the application to bind MQTT client to a specific network
interface.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Implemented unit tests for the crc4 and crc4_ti functions as they were
missed when they were introduced
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
In the function `sdp_client_ss_search()` and
`sdp_client_ssa_search()`, the allocated buf is not released if the
required UUID is invalid.
Un-reference the allocated net buffer if the UUID is invalid.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Although xt-clang is based on clang, for some reason, it still
lists xcc system include path as the first search path (e.g.
for stddef.h), and the clang system include path as last. This
creates a big issue when the code starts to use any standards
past C89 (since xcc is based on GCC 4.2). We can use compiler
property nostdin_include to add -isystem to compiler options.
However, some modules (e.g. picolibcs) somehow ignore this.
So we also need to forcibly do add_compile_options() to make
sure the clang system include path is placed before the xcc
system include path.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Xtensa toolchain xt-clang needs similar treatment to xcc in
terms of nostdinc and nostdinc_include, so add it to the if
block to exclude these by default.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Some tests explicitly test for deprecated functions and they
override the macro __deprecated to avoid compiler warnings.
So, for xcc/xt-clang, only define __deprecated if it has not
already been defined.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Since compiler options are unconditionally passed to the script,
we may pass arguments that are not recognized. So we change to
only parse known arguments. Currently, it only cares about -l,
which is related to linking libraries.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Added automatic KMU key provisioning, when keyfile.json
file exists in the build directory.
This enables automated key provisioning during the
flashing process to enable testing nRF54L aplications using Twister.
Only applicable on nrfutil runner.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Add support to use DMA mode with cc23x0 AES module. This consists in
specifying the DMA channels and peripherals.
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Two DMA channels are assigned to AES channels A and B respectively.
Each channel A/B has an interface to control the conditions that will
generate requests on the related DMA channel: trigger condition,
R/W address, and DMA done action.
Signed-off-by: Julien Panis <jpanis@baylibre.com>
The CYW43xxx for Infineon Controllers stops after the first LauncRAM
command. Newer Controllers like the CYW5557x update the firmware in
multiple stages, which is supported by this commit.
Signed-off-by: Matthias Ringwald <matthias@ringwald.ch>
Added nxp spsdk as west runner.
Secure Provisioning SDK (SPSDK) is a unified, reliable,
and easy to use Python SDK library working across the
NXP MCU portfolio providing a strong foundation from
quick customer prototyping up to production deployment.
Docs: https://spsdk.readthedocs.io
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Secure Provisioning SDK (SPSDK) is a unified, reliable,
and easy to use Python SDK library working across the
NXP MCU portfolio providing a strong foundation from
quick customer prototyping up to production deployment.
Docs: https://spsdk.readthedocs.io
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
When the network interface goes down, we call
net_ipv4_autoconf_reset() which removes the autoaddress
from the network interface.
The net_ipv4_autoconf_reset() is also called when ACD is started
in which case we could see this error message
<dbg> net_if_start_acd: Starting ACD for iface 2
<err> net_if: iface 2 addr 169.254.174.230 (net_if_ipv4_addr_rm():4625)
<dbg> net_if_ipv4_addr_rm: Address 169.254.174.230 not found (-22)
This error is superfluous and not needed. So before trying to
remove the address, check if the interface already has it set and
only then remove it.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
When adding IPv4 address to the network interface, there is no
need to start ACD procedure for localhost or point-to-point links.
The ACD start function would mark the IP address like 127.0.0.1 as
tentative and never make it preferred which would then cause issues
when selecting the network address for sending.
As the ACD start is also called when the network interface comes up,
add the localhost and point-to-point link check to ACD start function
so that we will avoid ACD checks in this case.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The hex2char() calls in bin2hex() can never fail since buf[i] >> 4
and buf[i] & 0xf always produce values in range 0-15.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
While SPDX license identifiers are usually considered to be
case-insensitive, matching the case of the canonical identifier is
recommended by the SPDX specification.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
make sure that autonegotiation is restarted, after
changing the speeds. Also make sure to only write
the changed registers, as mdio is pretty slow.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
When compiling with sysbuild and IPC the samples would use the
nrf5340_cpunet_iso-bt_ll_sw_split.conf config file, which was
incompatible with the sample's host configuration.
Instead of using the ISO configuration file, define a hci_ipc
overlay in each sample with the necessary configurations
that support all host configurations.
This commit also updates the sample.yaml files to split
configurations for single- and multicore builds, as what
needs to be configured for each type is different.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
remove phy related configs from eth config.
phy related configs chould go directly into the phy.
Most ethernet drivers didn't support the now removed
functions yet. Users should instead use `phy_configure_link()`
together with the `net_eth_get_phy()` function.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Newer AIROC controllers like the CYW55573 don't support changing the
baudrate in Download Mode. However, a higher baud rate can be used
directly to sent HCI Reset.
This commit adds the KConfig flag CONFIG_AIROC_DOWNLOAD_MODE to enable
the new behaviour.
Signed-off-by: Matthias Ringwald <matthias@ringwald.ch>
This reverts commit 28bd478a0b.
This commit can be reverted as the cause of test failure
has been removed in ipc service by increasing workqueue stack size.
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
Add `IPC_SERVICE_BACKEND_ICBMSG_EP_BOUND_WORK_Q_STACK_SIZE` config
and parametrize its value depending on the optimization level.
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
A byte received when reception has been disabled
corrupts internal state of the server
(e.g. during transmission of a reply in server mode).
The reponse packet is corrupted and its transmission is aborted and the
data in the buffer is treated by the server as a new incoming packet.
Since the buffer is corrupted CRC doesn't match and the following log
message is printed:
<wrn> modbus_serial: Calculated CRC does not match received CRC
This condition happens when uart_irq_rx_ready() returns true if there is
a new byte in the receive FIFO even with disabled RX interrupt.
The issue has been discovered on a nucleo_u083rc board with a RS485
transceiver with the RI signal floating (a pull-down gives more stable
reproduction). The pull-down ensures that RI is low during transmission
which is seen as byte 0 with a framing error by the receiver.
The byte is received by the MCU and corrupts the response.
Similar effect can be achieved by not disabling the receiver during
transmission (i.e. nRE is driven by the MCU and is fixed low).
The fix discards any data received when reception has been disabled.
Signed-off-by: Maksim Salau <msalau@iotecha.com>
Casting a char* to a struct* requires checking alignment as this can fail
on platforms requiring strict alignment (ex. Xtensa)
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Made a few complex functions simpler
Added missing default cases in switches
Fixes a bad cast that removed const
Moved loop iterators to inner loop
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Fixes a few bad casts that ignored const
Add a few missing final else statement
Refactored aics_discover_func to be less complex by
moving some parts of it into a new function.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Update to fork from lvgl's master branch with the following fix:
* fix: ifdef function to avoid unused function build warning
Which fixes this issue being triggered in Zephyr's CI.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
When CONFIG_TIMEOUT_64BIT is y, positive values are relative/delta
timeouts and negative values are absolute timeouts, except
for two special values. -1 is K_WAIT_FOREVER and 0 is K_NO_WAIT.
The reserved value of -1 means INT64_MAX is not a valid argument
to K_TIMEOUT_ABS_TICKS(), but there was no check. If a literal
was passed, a preprocessor/compiler warning would be generated
for overflow, but if a variable was passed as the argument,
then the code would compile but not work correctly since the
absolute timeout would be changed to a relative one. One
example of this is task_wdt_init() if no channels are enabled.
Rather than just fixing task_wdt, and trying to find other cases
in an adhoc way, this CL changes K_TIMEOUT_ABS_TICKS() to
limit the larges value to (INT64_MAX-1). It does so silently,
but given the range of int64_t, there should be no practical
difference.
Also, change the implementation for Z_IS_TIMEOUT_RELATIVE() to
fix the case where INT64_MAX relative timeout was being
improperly reported as being not a relative timeout. This was
again due to the -1 reserved value.
Add some tests for these changes to the timer_api test.
Signed-off-by: Mike J. Chen <mjchen@google.com>
Prevent integer underflow when sequence->channels is 0.
Add an explicit check before calling find_msb_set().
Coverity CID: 487765
Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
In order to enable better and more consistent help messages for shell
commands, this commit introduces a new SHELL_HELP macro that allows to
document a command's description and usage in a more structured way.
This will allow to get rid of inconsistent (and duplicated!) variations
of "Syntax: ...", "Syntax:\n ...", "Usage: ...", in the commands, and
formatting of the description+usage will be taken care of by the shell
when it detects the help message is using the "structured" format.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Lines following newlines in shell help text were not properly indented.
For example, in "abc def\ndef ghi\njkl mno", the lines "def ghi" and
"jkl mno" would appear without the expected left margin.
The issue was that after processing a newline and setting proper cursor
position, the function would fall through to z_shell_raw_fprintf() which
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add this to set link speed through net_shell.
Current zephyr version doesn't have user interface to change
speed, hence adding this to accomodate it. Full duplex will
be set by default for each link speed.
Able to change link speed using command below:
net iface set_link <iface idx> <speed> <optional:h(half)/f(full)>
eg: net iface set_link 1 100 h
net iface set_link 1 10 f
net iface set_link 1 1000
Able to set multiple link speed like below:
net iface set_link <iface idx> <speed1> <speed2> <optional:h/f>
eg: net iface set_link 1 10 100 h
net iface set_link 1 1000 f 10
Signed-off-by: Ling Pei Lee <pei.lee.ling@intel.com>
Added host AP support for IW416 and IW612 socs.
Adding conf files which can be used along with shield for compilation to
test HostAP and WPA supplicant.
Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
Only include cmsis_core.h on ARM platforms, including it unconditionally
as it is now causes a build failure on all other platforms, namely x86
on the weekly build run.
Tested with:
west build -p -b up_squared/apollo_lake tests/drivers/build_all/led
(and others)
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
As time passes we are adding more babblesim tests which depend on code/
tests from tests/bluetooth just like we have many based on samples from
samples/bluetooth.
Let's also trigger the Babblesim CI job when anything changes in
tests/bluetooth, instead of trying to pinpoint the specific folders we
use, as otherwise every now and then we have coverage holes and issues
are introduced in main.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In 9.3 due to font licensing issues LV_FONT_SIMSUN_16_CJK was deprecated.
Instead select now LV_FONT_SOURCE_HAN_SANS_SC_16_CJK symbol.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Update the sample to show upstream demos to v9.3. The samples for flex
layout, scrolling and multilanguage have been removed upstream, so also
remove their respective LV_Z_* entry.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Adds an implementation of lv_os_get_idle_percent to the zephyr OSAL.
This is needed for usage of the system monitor.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Add new/moved files introduced in v9.3 into the CMakeLists.
Also for using the system monitor the osal is required to have a method to
measure the CPU idle time so the lvgl_zephyr_osal file needs to be always
added.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Add a dedicated symbol for including the POSIX system headers path
directly into the include path, enabling (for example)
`#include <time.h>` instead of `#include <zephyr/posix/time.h>`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
`DT_SAME_NODE()` is judged by `==` and cannot be used as
a condition for `COND_CODE_1()`.
Using `IS_EQ()` to make it possible for compile-time
calculation.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
PG142 from AMD specifically says the uartlite IP generates a
"rising-edge sensitive interrupt" when interrupts are enabled. When
using this IP on a ZynqMP platform with
CONFIG_UART_INTERRUPT_DRIVEN enabled, the GIC does not get
configured correctly to detect these interrupts. Update driver to heed
the flags set by the interrupts property in the device tree.
Signed-off-by: Michael Estes <michael.estes@byteserv.io>
Fix channel ID check in dac_esp32_channel_setup as it was allowing to
set up a channel with ID greater than the number of channels.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The IRER registers are write-only and clear the enable bit for the
provided interrupt. Use a direct write instead of a read/modify/write
sequence to avoid generating a bogus read access and improve performance
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Some ADC's draw significant power while enabled, so make sure the
driver can handle ADC's that have device runtime PM enabled.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The intention was to use the "interface-name" string property in the
interface string descriptor, but using the label property is acceptable
again. Therefore, allow the use of the DT label property string in the
interface string descriptor.
Follow exactly the same approach as in the CDC ACM implementation
introduced in the commit b0791400f6
("usb: device_next: cdc_acm: allow setting the interface description").
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The llext-edk test case is timing out on some workloads, so increase the
timeout to 120 seconds to accommodate longer execution times.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The `session->param` should be updated to date whatever the function
`sdp_client_ssa_search()`, `sdp_client_sa_search()` or
`sdp_client_ss_search()` can be executed properly.
Update the `session->param` to the new `param` when executing the
function.
Fixes#91156
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
- Enables MCU-Boot default Swap mode for the FRDM-MCXN947 and MCX-N9XX-EVK,
after the flash driver was upgraded to support the 16-byte programming.
- Fixes flash-controller for frdm_mcxn947_mcxn947_cpu0_qspi.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Reset the SPI peripheral to its default state
and register values on init by setting its SWRST bit.
This is important since the driver assumes that certain
registers are at their default values.
Signed-off-by: Pete Dietl <petedietl@gmail.com>
The sam0 SPI driver does not ensure that it clears the 32-bit extension
option during init. The 32-bit extension option, which comprises of a field
in the CTRLC register and the LENGTH register enables better bus
utilization by allowing 32-bit writes to the SPI DATA register
(as opposed to the usual 8-bit writes). The driver breaks down if this
option is enabled by causing each intended byte of output to become
four bytes. We fix this by explicitly disabling the 32-bit extension
option in init.
Signed-off-by: Pete Dietl <petedietl@gmail.com>
Placing this in RAMABLE_REGION messes up the TLS offsets computed by the
linker, presumably because it's not adjacent to the .tdata section.
In any case, it doesn't really matter as all we want the linker to do is
compute offsets from the TLS base value for all .tdata and .tbss values.
Signed-off-by: Keith Packard <keithp@keithp.com>
When not using dynamic interrupt mapping, various interrupt tables are
configured to be stored in read-only memory in the linker script.. Mark
them const so that the linker doesn't complain.
This affects _sw_isr_table, _irq_vector_table, and z_shared_sw_isr_table in
arch/common along with _VectorTable in arch/arc.
Signed-off-by: Keith Packard <keithp@keithp.com>
If this section is placed in FLASH, the section gets marked
as writable even though .tbss values will never be stored there.
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit enables the CONFIG_NPCX_HEADER option for the Google Quincy
board. This is necessary to properly support the NPCX firmware header
requirements on this platform, ensuring correct boot and firmware
updates.
Signed-off-by: Firas Sammoura <fsammoura@google.com>
The HAL i.MX943 M33 system driver was using another implemention
of SCMI support to do some clock operations which was not workable
in Zephyr, as Zephyr supported its own SCMI drivers.
So, disabled device system driver for i.MX943 M33 for now.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
In j722s_main.dtsi, the pinctrl block must have reg length 0x2b0
As per TRM, PADCONFIG registers range from 0 to 171.
Thus, length = (171-0+1)*4 = 172*4 = 0x2b0.
Reference: https://www.ti.com/lit/ds/symlink/tda4ven-q1.pdf
Table 5.1 contains data on PADCONFIG registers.
Signed-off-by: Shreyas Shankar <s-shankar@ti.com>
Change nxp_imx_mu_send() to return a negative errno value
on error.
The fsl_mu function MU_TriggerInterrupts() returns either
kStatus_Success or kStatus_Fail, which have the value 0
or 1, respectively. kStatus_Fail should not be returned
to the upper levels, which expect negative values for
errors, so add a check for the return value of
MU_TriggerInterrupts() and return an errno value on error.
Signed-off-by: Mike J. Chen <mjchen@google.com>
Introduce ECLAIR_SUMMARY_HTML and ECLAIR_FULL_HTML CMake options to
enable the generation of HTML reports.
Signed-off-by: Luca Ciucci <luca.ciucci@bugseng.com>
Added prerequisites section, fixed some typos and added
ECLAIR_RULESET_ZEPHYR_GUIDELINES option.
Also updated dead doc string links in ECLAIR configuration files.
Signed-off-by: Luca Ciucci <luca.ciucci@bugseng.com>
Added the main rules from the conding guidelines selection listed in
/doc/contribute/coding_guidelines/index.rst to the zephyr_guidelines
configuration.
Signed-off-by: Luca Ciucci <luca.ciucci@bugseng.com>
This check prevents misconfigurations where more than one ruleset is
selected, ensuring that the analysis is not silently performed with
an unintended configuration.
Signed-off-by: Luca Ciucci <luca.ciucci@bugseng.com>
Various improvements to the integration files in order to obtain correct
static analysis results:
- variable `ECLAIR_WORKSPACE' is set to the build output directory, to
allow multiple ECLAIR analyses running in parallel on the same machine
without conflicts;
- fix the evaluation order of rulesets to allow a user-provided ruleset to
be selected without a cmake options file that undefines other
ECLAIR_RULESET_* variables;
- add a clean-only frame to initiate the analysis and a project
frame to end it.
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
The mode is activated by the CONFIG_MODBUS_NONCOMPLIANT_SERIAL_MODE option
and allows any stop-bit setting for the serial port.
Signed-off-by: Maksim Salau <msalau@iotecha.com>
To determine whether device runtime PM is enabled on a device, use
`pm_device_runtime_is_enabled`. This results in the same behaviour when
`CONFIG_PM_DEVICE_RUNTIME=n`, but properly controls the clocks on a
per-instance basis when `CONFIG_PM_DEVICE_RUNTIME=y`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
On ACE30 platforms adding a section to the linker script isn't
enough, it should also be added to the xtensa_soc_mmu_ranges[] array.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Some applications need to save LLEXT context, e.g. when suspending,
to later restore it quickly without a full relinking. Add 2 functions
for context saving and restoring. Since these functions are likely to
change in the future, put them in llext_experimental.c, which depends
on CONFIG_LLEXT_EXPERIMENTAL and is disabled by default.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Beginning symbols or structure field names with an underscore isn't a
widely used style in Zephyr, remove the leading underscore from
_llext_list.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Increase the scope of this group to include wireless boards, wireless
socs, hdlc_rcp_if driver, and overlays/conf files in samples.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
On the documentation of the sample "perf" the path for the script
"stackcollapse" is incorrect.
Fix the path
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
Be more explicit about the need for a Virtual Machine running Linux if
running in Windows.
Also WSL2 has been out for ~5 years. Let's reduce the amount of info
on how to run it in WSL1, as probably almost nobody is using it
anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The is_valid_gap_packet_len check for
btp_gap_ev_periodic_transfer_received_ev referenced a field
that was recently removed.
Modify the check to just check the size, as the event now
has not variable length fields.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add a support for TI MSPM0 Timer which has sub module for Counter,
Timer Capture and Timer Compare.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
TI MSPM0 SoC series has General Purpose Timer and Advanced control timers
with Counting module, Capture block (measure input signal period/time) and
Compare block (to generate time expiry, output waveform like PWM).
Add a support for counter driver with alarm and counter top functions.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
IDLEOUT presence in PWM means that there are 3 sources from which
PWM pin can be driven:
- GPIO setting when PWM peripheral is disabled.
- IDLEOUT setting when PWM is enabled.
- PWM Sequence when it is in use.
IDLEOUT setting cannot be changed after enabling PWM so it is
configured to the initial state of the pin. It means that if duty
cycle is 100%, GPIO output is set to 1 but initial pin state was 0
(IDLEOUT setting) there will be a glitch between disabling a PWM
sequence and disabling a PWM peripheral.
By default, PWM driver tries to disable PWM peripheral if all channels
are 0% or 100% duty cycle to safe power. When IDLEOUT feature is
present there will be a short glitch on channels with 100% duty cycle.
In order to avoid that CONFIG_PWM_NRFX_NO_GLITCH_DUTY_100 option is
added (enabled by default). When option is enabled 100% duty cycle
is achieved by PWM sequence and not by driving a GPIO pin. It will
consume more power in cases where all channels are 0% or 100% with
at least one channel set to 100% duty cycle.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add property which indicates that PWM instance supports IDLEOUT
feature. Add property to all instances that supports it.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The test which measures and validates transfer times is using the
helper spi_loopback_transceive() to perform the transfer. This
helper internally gets the spi controller, which is useful for
most tests, but for this one, it means the time to get and put
the spi controller is included in the transfer time measurement.
This commit gets the spi controller before calling
spi_loopback_transceive() which results in only the actual
transfer time being measured.
Before this commit, on the nrf54h20:
START - test_spi_complete_multiple_timed
Transfer took 745 us vs theoretical minimum 108 us
Latency measurement: 637 us
PASS - test_spi_complete_multiple_timed in 0.008 seconds
START - test_spi_complete_multiple_timed
Transfer took 700 us vs theoretical minimum 54 us
Latency measurement: 646 us
Assertion failed at ...
Very high latency
FAIL - test_spi_complete_multiple_timed in 0.027 seconds
After this commit:
START - test_spi_complete_multiple_timed
Transfer took 250 us vs theoretical minimum 108 us
Latency measurement: 142 us
PASS - test_spi_complete_multiple_timed in 0.008 seconds
START - test_spi_complete_multiple_timed
Transfer took 204 us vs theoretical minimum 54 us
Latency measurement: 150 us
PASS - test_spi_complete_multiple_timed in 0.008 seconds
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The spi_loopback test suite creates three internal threads. The
stack sizes for these threads is hardcoded to 512, which is to little
for some socs, namely the nrf54h20 cpuapp if pm device runtime is
enabled. Instead, determine the stack sizes the same way ztest
stack sizes are determined.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Statuses of quarantined test cases were not updated properly.
Quarantined tests shouldn't cause errors in integration mode.
Removed obsolate filter type.
Signed-off-by: Maciej Perkowski <maciej.perkowski@nordicsemi.no>
Enable the standby power state by default for the rd_rw612_bga and
frdm_rw612 boards in the peripheral_ht and central_ht Bluetooth samples.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Enable node drbg0 in the google_quincy device tree. This node is
required to enable the entropy upstream test.
Signed-off-by: Firas Sammoura <fsammoura@google.com>
The temperature calibration addresses of ts-cal1-addr and ts-cal2-addr
are not shared between stm32wba5 and stm32wba6 these addresses are now
separated to the dedicated device-tree
Signed-off-by: Romain Jayles <romain.jayles@st.com>
NATIVE_APPLICATION is now deprecated so nobody will set it,
but NATIVE_BUILD should cover the same case this build error
is trying to warn about. Let's use it instead.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
NATIVE_APPLICATION is deprecated, let's not use it, let's use instead
NATIVE_BUILD.
unit_testing is not really meant to be covered by NATIVE_APPLICATION,
or NATIVE_BUILD for that matter, as these options are meant for POSIX
arch based targets.
Still, some kconfig options will default to something which will
also be incompatible with unit_testing (primarily CONFIG_PICOLIBC=y)
if we don't set at least NATIVE_BUILD, which would cause some unit
tests to fail. So let's select NATIVE_BUILD to avoid needing to add
extra dependencies on the libCs options.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
There is a potential issue that the index of ACL may out of the
bounds of the array `bt_hfp_hf_pool` if the array size is not aligned
with the array size of `acl_conns`.
To avoid the potential issue, check if the ACL conn index is less than
the array size of `bt_hfp_hf_pool` before accessing the array
`bt_hfp_hf_pool` with ACL conn index.
Fixes#91172
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
New versions of the Wiseconnect HAL require a clock manager init
function to be called as part of clock configuration.
Without this, the default reference clock isn't configured correctly
for use with peripherals.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
When there are br connections connected, find_key_in_use call
bt_conn_get_dst to get br connection's dst and bt_conn_get_dst return NULL,
then bt_keys_find_addr aseert because addr is NULL.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Currently, every boards that implement a memory controller add an entry
in tests/drivers/memc/ram/testcase.yaml. However, the configuration is
exactly the same for all the boards. So, we can just consider that any
board that declare "memc" capability has to be tested.
For the record here are the boards that has the memc capability:
adi/apard32690/apard32690_max32690_m4.yaml
adi/eval_adin1110ebz/adi_eval_adin1110ebz.yaml
adi/max32690evkit/max32690evkit_max32690_m4.yaml
arduino/giga_r1/arduino_giga_r1_stm32h747xx_m7.yaml
arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_1_0_0.yaml
arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_4_10_0.yaml
atmel/sam/sam4s_xplained/sam4s_xplained.yaml
renesas/da1469x_dk_pro/da1469x_dk_pro.yaml
sifive/hifive_unmatched/hifive_unmatched_s7.yaml
sifive/hifive_unmatched/hifive_unmatched_u74.yaml
silabs/radio_boards/siwx917_rb4342a/siwx917_rb4342a.yaml
st/stm32f746g_disco/stm32f746g_disco.yaml
st/stm32f7508_dk/stm32f7508_dk.yaml
st/stm32f769i_disco/stm32f769i_disco.yaml
st/stm32h735g_disco/stm32h735g_disco.yaml
st/stm32h745i_disco/stm32h745i_disco_stm32h745xx_m7.yaml
st/stm32h747i_disco/stm32h747i_disco_stm32h747xx_m7.yaml
st/stm32h750b_dk/stm32h750b_dk.yaml
st/stm32h757i_eval/stm32h757i_eval_stm32h757xx_m7.yaml
st/stm32h7b3i_dk/stm32h7b3i_dk.yaml
st/stm32h7s78_dk/stm32h7s78_dk.yaml
st/stm32n6570_dk/twister.yaml
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
When support for SPDX 2.3 was added, it effectively dropped support for
SPDX 2.2, which in retrospect was a bad idea since SPDX 2.2 is the
version that is the current ISO/IEC standard.
This commit adds a `--spdx-version` option to the `west spdx` command
so that users can generate SPDX 2.2 documents if they want.
Default is 2.3 given that's effectively what shipped for a few releases
now, including latest LTS.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This adds support for BTP commands and events required for running
PAST tests.
struct btp_gap_ev_periodic_transfer_received_ev is also adjusted
to match BTP specification.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
- Remove memset on bt_l2cap_br_chan during SDP
disconnect to prevent overwriting resources
(e.g., rtx_work) still in use by L2CAP,
which handles channel cleanup itself.
- Delete unused partial_resp_queue to clean up code.
Signed-off-by: ZhongYao Luo <LuoZhongYao@gmail.com>
If the received data length is less than 2 in none basic mode, the
L2CAP channel connection will be dropped.
Only check the received data length if the `SAR` is
`BT_L2CAP_CONTROL_SAR_START`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Support zero-length SDU sending if the L2CAP channel connection is not
in basic mode.
Flag the zero-length SDU buffer and clear it if it has been processed.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The MIMXRT1170-EVK/EVKB has an Arduino compatible header, add device
tree nodes for the corresponding pins.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Allow to add an image-specific DTS overlay, that is applied based on the
FILE_SUFFIX.
Up to this point, it was possible to specify such Kconfig files
(sysbuild/<image>_<file_suffix>.conf),
but it did not work with dts overlays
(sysbuild/<image>_<file_suffix>.overlay).
This commit aligns the logic of finding configuration files for both
scenarios mentioned above.
Ref: NCSDK-NONE
Signed-off-by: Tomasz Chyrowicz <tomasz.chyrowicz@nordicsemi.no>
Follow-up to PR #88631: fix missing variable declarations introduced in
the STM32 I2C LL driver after adding timeouts to blocking loops.
The missing declarations caused a build failure when interrupts were
disabled (CONFIG_I2C_STM32_INTERRUPT=n).
Fixes a regression introduced in #88631.
Signed-off-by: Jean Nanchen <jean.nanchen@gmail.com>
Add options to area command:
--without-maintainers
--without-collaborators
To show areas without any collaborators or maintainers.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The uart_busy_set and uart_busy_clear are only used when runtime
pm is not enabled. So add #ifndef CONFIG_PM_DEVICE_RUNTIME to
enclose these two functions.
Signed-off-by: Leifu Zhao <leifu.zhao@intel.com>
AS6212 supports 0.25Hz, 1Hz, 4Hz, and 8Hz sampling frequencies, but the
current driver supports 0.25Hz, 1Hz, 4Hz, and 16Hz sampling frequencies.
Signed-off-by: Clément Laigle <c.laigle@catie.fr>
There was a missing irq-gpios property that cause
building failure on lvgl and display samples.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
On dual-core STM32H7, the Cortex-M4 core is supposed to wait until the
Cortex-M7 initializes the system before starting to execute. CM7 should
signal this by locking a specific HSEM, which CM4 should poll until locked.
However, the logic on the Cortex-M4 side was reading the "RLR" register of
HSEM, which *locks the semaphore on read* - in turn, this makes the CM4
start directly since it sees that the semaphore is locked (by itself).
Use proper LL API to read HSEM status - which will read the "R" register
instead - to make sure CM4 doesn't begin execution earlier than it should.
Suggested-by: hglassdyb
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
The fifth HSEM (#define is equal to 4 due to zero-indexing) is used on
STM32H7 to synchronize the two cores. Update the comment above the SEMID
define to reflect this alternate usage. Also remove the associated define
CFG_HW_ENTRY_STOP_MODE_MASK_SEMID, which is unused.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Reorder the HSEM semaphore ID definitions to be sorted by ascending value.
The dummy defines are also changed to be sorted in the same order. The
definitions for STM32MP1 are already in an order that follows this order
so they don't need to be changed.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Add support to use DMA mode with cc23x0 UART module. This consists in
specifying the DMA channels and peripherals.
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Two DMA channels are assigned to TX and RX respectively:
- A TX DMA request is asserted when there is space in the FIFO.
- A RX DMA request is asserted when data is in the FIFO.
When DMA is enabled for a peripheral, the DMA transfer completion is
signaled on the peripheral's interrupt only (here UART's interrupt).
It is not signaled on the DMA dedicated interrupt.
Also, when DMA is enabled for a peripheral, the DMA controller stops
the normal transfer interrupts for this peripheral from reaching the
NVIC (the interrupts are still reported in the interrupt registers of
the peripheral). Thus, when a large amount of data is transferred using
DMA, instead of receiving multiple interrupts from the peripheral as
data flows, the NVIC receives only one interrupt when the transfer
completes (unmasked peripheral error interrupts continue to be sent
to the NVIC).
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Add support to use DMA mode with cc23x0 ADC module. This consists in
specifying the DMA channel and peripheral.
Signed-off-by: Julien Panis <jpanis@baylibre.com>
The ADC has a dedicated interface for communicating with the DMA.
The ADC module provides four interrupt sources (one for each
conversion result storage register) which can be configured to
source the DMA trigger.
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Imported mem pool quota files from the SDK driver
Adding mempool quota files significantly improved
the performance of the SDK driver.While the basic
buffer pool caused issues during long running UDP
data transfers,the mempool quota demonstrated
stable and reliable performance.
Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
The help message for the wifi mode -s command indicates it sets
the Wi-Fi mode to station. However, the Zephyr Wi-Fi shell subsystem
was incorrectly using a get operation instead of set.
This commit corrects the behavior to properly set the Wi-Fi mode,
aligning the implementation with the help message.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Add check for odr <= 0 and cast odr to uint32_t before multiplication
to avoid integer overflow and division by zero.
Fixes: CID 489220
Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
For MAX32657, 'MXC_DMA_EnableInt' function requires DMA instance
and this causes build error. To fix this, created wrapper version
of this function and update driver with it.
Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
Soft ap supports WIFI_BTWT_AGREEMENT_MAX BTWT sessions.
The BTWT parameters for each session can be different.
The current usage can only set one set of parameters.
All sessions follow this set of parameters.
Add enhance code to support setting different
BTWT parameters for every sessions.
Usage:
wifi twt btwt_setup <sta_wait> <offset>
<twtli> <session_num>
<id0> <mantissa0> <exponent0> <nominal_wake0>
<id1> <mantissa1> <exponent1> <nominal_wake1>
<idx> <mantissax> <exponentx> <nominal_wakex>
The total number of '0, 1, ..., x' is session_num
For example:
wifi twt btwt_setup 0 0 0 2 0 112 10 128 1 32 10 64
Signed-off-by: Qiankun Li <qiankun.li@nxp.com>
Registers driver with pm_device_driver_init(). Peform
software reset on TURN_ON. Added a small delay after
power-up
Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
The usbd_class_remove_all removes all registered classes from a
configuration. However, it previously left the uds_ctx back-pointer to the
usdb_context set, meaning that if the class is re-registered with the
usbd_register_class function, this fails with the error message "Class
registered to other context at different speed" due to uds_ctx being set to
another context.
This patch corrects the issue by clearing udc_ctx after usbd_class_shutdown
has been called.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
zephyr_append_cmake_library attempts to warn the user if a user calls it
to create a Zephyr library while the build is in application mode. At
that stage of the build, the list of Zephyr libraries has already been
processed so the function is effectively a no-op.
This heuristic used to determine if the build was in kernel mode or
application mode checked for the presence of the zephyr_prebuilt target.
This check was broken by a previous commit that renamed this target.
This commit fixes the heuristic by checking for the zephyr_pre0 target.
This was tested by calling zephyr_append_cmake_library from some
application build files, building the application, and seeing the
warning only for the call I added. No warnings were printed for any
Zephyr internal libraries.
Link: https://github.com/zephyrproject-rtos/zephyr/pull/35887
Link: https://github.com/zephyrproject-rtos/zephyr/pull/39959
Signed-off-by: Kesavan Yogeswaran <hikes@google.com>
Fixed typos in the preprocessor macros for pressure range initialization
Unfortunately this particular configuration is not covered in CI since
build_all test has pressue-range "D2" and the broken code was concerning
"D9"
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
OpenThread stack prints just too much data at the info log level,
completely obfuscating the output of the sample, which prints a lot on
its own. Therefore, lower the log level for OT logs.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
OpenThread tries to signal pending tasklets during initialization, which
currently generate an error, as the work queue configured to handle
tasklets is initialized later. This is not a fatal issue, as the
initialization code on the Zephyr side triggers a work item immediately
after the work queue was initialized, but it doesn't look good to have
errors printed on boot.
Therefore, move the work queue initialization before the OpenThread
stack initialization, so that tasklets triggered from OT side can be
signalled properly w/o an error.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
To convey the correct data size, use the 'data->dfs' value instead
of '1' when moving the SPI context to the next buffer.
Signed-off-by: Andreas Wolf <awolf002@gmail.com>
Fix a bug in the touch threshold calculation where channel_num was
incorrectly used instead of channel_sens.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Renames LED_BRIGTHNESS_MAX to LED_BRIGHTNESS_MAX in led.h and all
in-tree users of the macro.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Updated the Rx pin configuration in the lpuart_esp32 driver to fix a
typo and use correct MUX function.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Added a missing return statement in the mmc56x3_decoder_get_size_info
causing incorrect size calculation for single channel data
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
z_vrfy_sensor_reconfigure_read_iodev function was performing a
a K_SYSCALL_MEMORY_READ check using an incorrect structure type.
z_vrfy_sensor_get_decoder wasn't properly checking output
parameter `decoder`
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Corrected the logical operator (||, not |) in the condition that checks
for successful acquisition of RTIO SQEs.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Corrected the logical operator (||, not |) in the condition that checks
for successful acquisition of RTIO SQEs.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fixes an error:
error: designator order for field 'http_service_desc::backlog'
does not match declaration order in 'const http_service_desc'
When compiled for C++
Signed-off-by: Pavel Maloletkov <pavllick@gmail.com>
Specific flash driver is used for stm32wbax when ble is
enabled. A simple typo error was fixed to properly build
all the samples where flash and ble are enabled,
such as the peripheral one.
Signed-off-by: Alessandro Manganaro <alessandro.manganaro@st.com>
MPS4, similar to MPS3 Corstone-310, splits code between DTCM and SRAM
and thus requires similar handling.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Add MPS4 pinctrl support by referring to
`mps4/common/partition/platform_base_address.h`
from TF-M's main branch.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Add initial support for the MPS4 Corstone-320 platform, including board
and SoC definitions. This platform features a Cortex-M85 CPU with an
Ethos-U85 NPU and runs in simulation using the FVP_Corstone_SSE-320
Fixed Virtual Platform.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Update HAL to fix wifi IRQ allocation for ESP32-S3.
HAL code depends on ESP_WIFI_TASK_CORE_ID symbol to properly build
the reserved IRQs table. If define is not present, IRQ 0 (wifi) is
not reserved, causing interrupt allocation problems.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
move mov r7, #0 to use it on both branches as aarch64
implementation uses wzr which returns 0 on read
but r7 might have an undefined value after a reset.
Signed-off-by: Julien Racki <julien.racki@st.com>
Adds skeleton dtsi for u5f9 for u5g9 to inherit from
Moves the peripheral nodes into dtsi's that actually has the peripheral
and includes them for SoC's higher in the series where applicable.
signed-off-by: Harris Tomy <harristomy@gmail.com>
Some of these are allegedly ESLOV connectors and have an extra
identification pin, but there's adapters on the market to use them with
qwiic modules, let's label them so they can be used with other
zephyr_i2c shields.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
These boards have a JST SH I2C connector, add the zephyr_i2c label so
they can be used with shields made for those modules.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
These are equivalent and there's adapters on the market, having a single
label allows using it shields with any other board with connectorized
i2c busses.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Change the two current instances of stemma_qt_i2c to zephyr_i2c, using
an unified label allows using this in shields.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The `idma` property added in 94847be1 was removed in the re-organisation
in 306dea6f. Re-add the property at a more generic location.
Signed-off-by: Jordan Yates <jordan@embeint.com>
When running purely with Python, the extra modules set with environment
variables are not taken into account.
If left empty, check the environment variables.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Rename the board name to `scobc-a1`, and update the board's full name
to `SC-OBC Module A1`. And update the output of the `Hello World`
sample to match the latest Zephyr version.
Then, The supported feature section was replaced with a hw-directive
block.
Signed-off-by: Takuya Sasaki <takuya.sasaki@spacecubics.com>
In the EM (Engineering Model), the board was referred to as
"Space Cubics Module 1". Starting with the FM (Flight Model) release,
we are officially renaming it to:
`SC-OBC Module A1`
Accordingly, the board name is updated from `scobc_module1` to
`scobc_a1`.
Signed-off-by: Takuya Sasaki <takuya.sasaki@spacecubics.com>
set CONFIG_TIMESLICE_SIZE to 0 to disable time slicing.
Certain boards like nucleo_g071rb, nucleo_f091rc,
nucleo_l073rz will not start consecutive samplings as fast
as possible.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Test that the output of `adc_raw_to_microvolts_dt` matches the output of
`adc_raw_to_millivolts_dt` to the resolution of the latter.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add a family of functions that convert to microvolts instead of
millivolts. The resolution of an ADC with a 600 mV reference and a 12
bit output (nRF SAADC for example) is an order of magnitude better than
millivolts (0.146 mV), even before considering non-unity gains.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The xsi single process test suite requires something like 256 bytes
of heap space. There is no legitimate reason to require 24kB of
ram.
This gets rid of a twister error
```
Error found: portability.xsi.single_process.newlib on
qemu_cortex_m0/nrf51822 (Not enough RAM but is one of the integration
platforms)
```
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The arduino Uno R4 has only ioport1 enabled in the dts. The arduino
header however uses ioport0,1,3 [minima variant] and ioport 0,1,3,4
[wifi variant]. This causes a build failure for some of the pins.
This change makes sure than an application can use any arduino pins.
Signed-off-by: Loic Domaigne <tech@domaigne.com>
Add the `qemu_cortex_a53` configuration to run the build test
for the VIRTIO MMIO driver.
To add this test, we have split the virtio-pci and virtio-mmio test cases.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add `virtio-mmio` nodes that are retrieved from qemu internal
devicetree dump, to dts.
Also, enable the virtio-rng device on the command line.
Note: Ideally, it would be possible to dynamically generate the
command line by looking at the devicetree state,
but this PR is a fixed implementation to simplify it.
This will be addressed separately.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Since `VirtIO` is not the official notation,
unify the name to `VIRTIO`.
In the text, `Virtio` and `virtio` can also be used
depending on the context.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Includes explanation of the min-heap’s properties, constraints and
explains about the uses cases of min-heap. It also contains references
to Sample Application and min-heap API
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Introduce a simple sample application demonstrating the usage of the
min-heap API. The sample performs basic insert and remove operations
and logs the results to the console.
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Introduce test suite using Ztest for validating the min-heap API.
Covers insertion, removal, ordering, and custom comparators.
The tests verify correct behavior under both static and dynamic
initialization modes.
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Introduce a binary min-heap implementation as a generic data structure
for use in kernel and application code. A min-heap always maintains
the smallest element at the root, making insertion and removal of the
minimum element efficient (O(log n)).
The API allows both static and dynamic initialization, supports custom
comparators.
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Improvements include: check error codes, log level adjustments,
removed unreachable code, disable tilt when not used, call optimized
interrupt handler when tilt and tap are not used.
Signed-off-by: Ivan Wagner <ivan.wagner@tecinvent.ch>
The difference between __irq_disable() and irq_lock() is that the former
essentially translates to `cpsid i`, whereas `irq_lock()` translates to
setting BASEPRI (on cores with BASEPRI). This means that using
irq_lock() does not disable zero-latency interrupts (ZLIs), which
reduces the potential execution latency of ZLIs.
In both isr_wrapper and _arch_isr_direct_pm() (which is just
really an implementation of ISR_DIRECT_PM()), we were using
__irq_disable() to disable all interrups, including ZLIs. But the code
executed with interrupts disabled handles waking up from idle, and so
must only be protected against regular interrupts being executed, not
ZLIs, which should have no effect on the correct execution of the code.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Replace UTIL_AND(DT_INST_NODE_HAS_PROP(... construction with the
DT_INST_PROP_OR helper macro.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Add RTIO async and RTIO stream functionalities that enables,
among all the other things, the sensor data streaming from FIFO.
RTIO stream supports following triggers:
- SENSOR_TRIG_FIFO_WATERMARK
- SENSOR_TRIG_FIFO_FULL
- SENSOR_TRIG_DATA_READY
Following FIFO parameters has to be defined in device tree to
correctly stream sensor data:
- fifo-watermark
- accel-fifo-batch-rate
Currently the driver can decode FIFO content with Accelerometer
16-bit samples.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Fix the net_pkt_pull() documentation and mention that the
function can remove data from the start of the network packet.
The function is meant to work similar way net_buf_pull() but
it can handle multiple net_buf fragments.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Introduce mock_i2c_error function in emulator in order to emulate i2c
errors for various registers
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
The hawkBit shell is already enabled in the
prj.conf, so there is no need for a seperate
testcase.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Don't overwrite the server address and port
with the Kconfig default, when the hawkBit
shell is activated. The shell can also be used
to set it and we don't want to overwrite that
value on reboot.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
If SYS_CLOCK_EXISTS is not enabled, then the SYS_CLOCK_HW_CYCLES_PER_SEC
still gets created, but with no value. This causes the code generation
in misc/generated/CMakeLists.txt to create an empty assembly macro:
`.equ CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC,`
which then causes a build error.
Disable SYS_CLOCK_HW_CYCLES_PER_SEC entirely when SYS_CLOCK_EXISTS is
disabled to fix this.
This is a follow-up to 03f46db859.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
This is a follow-up to commit a068709171.
As the SPIM_REQUESTS_CLOCK() macro changed the type of its parameter,
all of the calls to it need to be updated accordingly. Also the call to
DT_NODELABEL() needs to be removed from that macro as DT_CLOCKS_CTLR()
already returns a node identifier.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Update the HW models module to:
9eb489fdcde23d4f69ded78bca872bfc31b5ee79
Including the following:
9eb489f CLOCK (54): Add test interfaces to control duration and to fail
tuning
787d8c8 CLOCK (52,53): Add test interface control start duration
8bd3a5f NHW_54_AAR_CCM_ECB: Do not inform about the ECB being already
stopped
ca72ca7 RADIO: Add CodedPhy to old comment mentioning what is supported
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The documentation did not state clearly that any zero-latency IRQ must
also be declared as a direct ISR. This is critical because failure to do
so may cause race conditions between the ZLI and regular ISRs when
executing the preable/postamble code in regular interrupts.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The circular DMA sample incorrectly configured channel 3 for the
NUCLEO-C031C6 board, but this MCU has only 3 channels (0 - 2).
Fixed by changing to channel 2.
Signed-off-by: Richard Skriwanek <richy@fnc.at>
The period is the reload register plus 1. Adjust. Note that the
earlier code handles the cases where the pulse time is zero or equal
to the period.
Signed-off-by: Michael Hope <michaelh@juju.nz>
This commit adds power management support to the UART driver for npck3
series chip.
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
The gpio_smartbond driver incorrectly uses the static
PM_DEVICE_DEFINE() and PM_DEVICE_GET() macros when creating a driver
instance from a devicetree instance number.
Update to use PM_DEVICE_DT_INST_DEFINE() and
PM_DEVICE_DT_INST_GET() macros.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The newly added mcos node contains two childreen `mco1` and `mco2` that can
be used to output different clocks on the MCO pins of the stm32g0
microcontrollers.
Signed-off-by: Andreas Schuster <andreas.schuster@schuam.de>
Adds macros to be able to use the microcontroller clock output (MCO) on the
STM32G0 microcontroller.
Signed-off-by: Andreas Schuster <andreas.schuster@schuam.de>
This fixes the invocation of the 'elfconvert' and 'slid_inject' commands
in the `add_llext_target` function by ensuring that the arguments are
expanded correctly before passing them to the shell.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
"-fshort-enums" changes the ABI. It's not enabled for gcc, so it's not
clear why it's enabled for clang (only ARM) and armclang, other than it
looks like some users of these toolchains may be linking against code
that is compiled with "-fshort-enums".
As an example, when compiling with clang, CONFIG_LTO, and a toolchain
built without "-fshort-enums", the linker warns:
ld.lld: error: linking module flags 'min_enum_size': IDs have
conflicting values in
'/usr/armv7m-cros-eabi/usr/lib/libc++_static.a(string.cpp.o at 784090)'
and 'ld-temp.o'
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Added secure proxy mailbox driver for supported devices using
the binding ti,secure-proxy. This is used to communicate with
a device manager running on a separate core via a secure proxy
mailbox for TI K3 devices. Required for enabling TISCI layer
communication.
Refer: https://software-dl.ti.com/tisci/esd/latest/1_intro/TISCI.html
Tested on MAIN_CORTEX_R5_0 on AM243x EVM.
Refer:https://www.ti.com/lit/pdf/spruim2
Co-developed-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Dave Joseph <d-joseph@ti.com>
Rather than hardcoding the human readable full names of the archs in the
board catalog, we now retrieve them dynamically from the archs.yml file.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Allow to specify a human readable full name for archs that can then be
leveraged e.g. in the documentation.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
speed up the various list_*.py scripts by means of caching the
pykwalify core object so that schemas don't get unnecessarily
processed multiple times.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Several drivers checked for the presense and availability of data cache
through Kconfig symbol. This is supported according to the current
documentation, but the symbol DCACHE masks two types of cache devices: arch
and external caches. The latter is present on some Cortex-M33 chips, like
the STM32U5xx. The external dcache is bypassed when accessing internal
SRAM and only used for external memories.
In commit a2dd232410 ("drivers: adc: stm32: dma support") the rationale
for gating dcache for adc_stm32 behind STM32H7X is only hinted at, but
reason seems to be that it was the only SOC the change was tested on. The
SOC configures DCACHE=y so it is most likely safe to swap the SOC gate for
DCACHE.
The DCACHE ifdefs are now hidden inside the shared stm32_buf_in_nocache()
implementation.
Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
Updates the heap code to ensure that when converting the requested
number of bytes to chunks, we do not return a value that exceeds
the number of chunks in the heap.
Fixes#90306
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
When the device was suspended and the pin level changed during
that time, the pin level of course isn't updated in the pins cb_data.
Once the device is resumed, this leads to potentially having
a wrong value in the pin state data leading to swallowing the first
event due to comparing the stored level vs. the new level before
reporting.
Also added some `const`s and deleted an unused struct element.
Signed-off-by: Marcel Krüger <marcel@mkgr.dev>
'timings' is an array of 'struct i2c_config_timing' (3 x uint32_t).
'i2c_timings_##index' is an array of uint32_t (hence the cast when it
is assigned to 'timings'). Therefore 'ARRAY_SIZE(i2c_timings_##index)' is
off by a factor 3 when used for n_timings.
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
When running naive sim builds using clang, respect user passed
SYSROOT_DIR values. Additionally, allow overriding the archive tool
when calling Make for the native simulator.
Add the sysroot (if available) to the native_simulator target and
TOOLCHAIN_C_FLAGS and TOOLCHAIN_LD_FLAGS. Additionally pass CMAKE_AR
to NSI_AR.
Signed-off-by: Yuval Peress <peress@google.com>
Simplify the logic for the `uart_stm32_cfg2ll_databits` function
regarding `LL_USART_DATAWIDTH_9B` being defined or not.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
This shield includes a drv8426 stepper driver and a mcp4726 dac for
current control. Note that the micro-step pins are controlled by
physical switches and are thus not available in Zephyr.
Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
This shield includes a ti drv8424 stepper driver that is controlled
via gpio. Some of these pins are only available via the tca9538a gpio
expander on the shield.
Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
Fix the flash size to 64KB for the stm32H7RS series.
Restore the get_size API function for that series.
This is a specificity of this stm32 mcu (RefMan RM0477).
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add configuration for the STM32N6 DCMIPP driver which currently
requires to have the sensor pixel format and resolutions set via
KConfig
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add csi_22pins_connector and related label in order to use
shields relying on csi_pins_connector.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add configuration of the IC17 and IC18 clock dividers, used
by the dcmipp and csi IPs in the stm32n6.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add weak functions and their call within the dcmipp driver so that
externally provided ISP control functions can be called by the
driver at right timing in order to perform the control of the
ISP part of the DCMIPP.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The STM32 Digital Camera Memory Interface Pixel Processor (DCMIPP)
is a multi-pipeline camera interface allowing to capture
and process frames from parallel or CSI interfaces depending on its
version.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Initial driver for the icm40627 from Invensense/TDK, a 6-axis
accelerometer with gyroscope and temperature sensing capabilities.
Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
If `CONFIG_SYS_CLOCK_EXISTS=n`, then
`CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC` will likely not be defined at all.
Fix the compilation by moving the check for it being `== 0` to a
separate preprocessor #if statement.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The EC timer runs at 9.2 MHz, which leads to a non-integer number of
ticks per microsecond. This causes slight overestimation when delays
are computed using whole ticks (e.g., using 10 ticks for 1 µs).
To address this, the busy wait calculation is adjusted with a
compensation factor to minimize cumulative timing error over time.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
In case of extended advertising, advertising data can be reported in
parts, so we shouldn't discard them.
Instead, only discard the legacy advertising reports.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Updated the tester README with configuration options required to
build with support for btsnoop and SEGGER RTT log backends. This
helps developers capture logs for debugging and analysis during
Bluetooth testing.
Signed-off-by: Szymon Czapracki <szymon.czapracki@codecoup.pl>
Add a compliance check that allows to flag when a given file requires a
Python version higher than 3.10 (minimum supported version in Zephyr at
the time of writing) since not all Python scripts are tested against
3.10 in CI and we want to avoid introducing changes that could break
users.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The typical way of calling INPUTMUX_AttachSignal() is to
bracket it around INPUTMUX_Init() and INPUTMUX_Deinit()
calls because we can reduce power consumption by not
keeping the interface powered when not changing INPUTMUX.
This driver was violating that convention, which caused
it to not coexist well with other code that followed the
usage convention because the INPUTMUX might be initialized
or not depending on execution order with the other modules.
Signed-off-by: Mike J. Chen <mjchen@google.com>
Add select for GEN_HANDLERS to use the more efficient
generated interrupt handlers.
Add select for HIFI3, which are the SIMD related registers.
Signed-off-by: Mike J. Chen <mjchen@google.com>
This patch introduces handling for the target reset request (RSTACT)
in the I3C controller.
It enables the controller to send a broadcast RSTACT command along with
the target reset pattern in a single frame.
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
This patch makes cosmetic changes to cavs/power.c by updating comments to
Doxygen style, fixing typos.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch makes cosmetic changes to ace/power.c by updating comments to
Doxygen style, fixing typos, and removing an extraneous character for
improved readability and consistency.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch enhances the power management capabilities of the Intel ADSP
by ensuring that power gating states are appropriately managed based on
core activity. It prevents the primary core from entering power gating
if secondary cores are active and re-enables power gating when all
secondary cores are off, using pm_policy_state_lock_get and
pm_policy_state_lock_put functions.
The Sound Open Firmware (SOF) project currently uses a custom power
management policy to achieve these effects. With this patch, the default
power management policy can be utilized, allowing the option to disable
the custom policy while maintaining system reliability and performance
across different core states.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Remove static struct modifier from SPSC_DECLARE macro.
This solves a warning emitted when compiling for native_sim.
Signed-off-by: Luca Arato <luca.arato@secomind.com>
Introduce work timeout, which is an optional workqueue configuration
which enables monitoring for work items which take longer than
expected. This could be due to long running or deadlocked handlers.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
This patch adds the ADC driver for TI K3 family of SoCs. Technical
reference can be found in the Technical Reference Manual (TRM) of the
board.
Signed-off-by: Amneesh Singh <a-singh7@ti.com>
Exclude the stm32h7 target boards to this samples/subsys/settings
because it does not apply for flash sector flash size larger
than 64K : all those stm32h7 mcu have sector size of 128K
The settings_subsys_init will fails (-33 DOM errno ) when it checks
nvs_sector_size > UINT16_MAX in settings_backend_init()
of the subsys/settings/src/settings_nvs.c
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Support for list of images in build info was added with commit
4061311da3 and is used by sysbuild.
Zephyr itself also uses CMake's External Project feature when including
TF-M or TF-A in a Zephyr build.
Populate build info with TF-M / TF-A information when said image is
included in the build.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Ensure that the order of properties in the output DTS file matches the
order in which they are defined in the DTS source files by moving props
to the end of the dictionary when they are accessed.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Split long arrays into multiple lines to improve readability of the
output DTS file. A new line is started when the array data exceeds
80 characters.
Add a few test entries to verify the new behavior.
Note: the F821 linter suppression prevents flagging 'array_start' and
'array_newline' as undefined variables. This is because these variables
are initialized when an opening brace is output, which is necessarily
before any element in a byte or prop array. A sequence of markers not
following this pattern would indicate a bug in the DTS parsing code.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The application or drivers can request the LFCLK with a given
precision and accuracy.
The driver should select the clock source which has
the lowest power consumption and still satisfies the requested
accuracy and precision.
Before this commit, this was not the case.
Consider the case where the BICR has configured the system
to have LFXO with accuracy of 20 ppm.
The existing code would have ordered the clock options as following:
```
[0] = {LFLPRC, 1000 ppm},
[1] = {LFRC, 500 ppm},
[2] = {SYNTH, 30 ppm},
[3] = {LFXO_PIERCE, 20 ppm},
[4] = {LFXO_PIERCE_HP, 20 ppm}
```
**Example 1**: The user requests the clock with an accuracy of 30 ppm.
The existing code would request the power hungry "SYNTH".
**Example 2**: The user requests a clock with an accuracy of 500 ppm.
The existing code would request the LFRC which consumes more power than
the LFXO.
This commit fixes this issue by ordering the clock sources according
to power consumption.
For the examples above we user request would result in requesting the
20 ppm LFXO.
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
Commit changes BT_MESH_DFU_FWID_MAXLEN option to be
compliant with BLE Mesh specification.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Some Build failures are actually cmake issues, so in that case, if
nothing is found as build failure, try to parse for cmake issues.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
If setting is not present, extension will render broken links.
Let's just skip rendering the <a> element if GH base url is unset.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Fix npcx_i2c_ctrl_transfer arguments to match header to prevent
warning: type of 'npcx_i2c_ctrl_transfer' does not match original
declaration
Signed-off-by: Al Semjonovs <asemjonovs@google.com>
Disable IRQ before connecting new handler when interrupt is not
shared. This aligns intc behavior to version before PR #87369.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
RC_FAST needs to be enabled and calibrated in order to be used
as clock source. Otherwise, clock source is selected but no
PWM is generated.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Fix logging `Could not disable card power via SDHC` when the attempted
operation is turning power on. Update several other logging strings to
minimise the number of unique strings required.
Signed-off-by: Jordan Yates <jordan@embeint.com>
riscv_cpu_wake_flag and riscv_cpu_sp are variables, not functions, so
they should use the GDATA macro instead of the GTEXT macro. Otherwise,
the linker will warn when LTO is enabled:
ld.bfd: warning: type of symbol `riscv_cpu_wake_flag' changed from 2 to
1 in /tmp/cc39w5oK.ltrans0.ltrans.o
ld.bfd: warning: type of symbol `riscv_cpu_sp' changed from 2 to 1 in
/tmp/cc39w5oK.ltrans0.ltrans.o
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
The ntc-thermistor-generic is not thread safe when calling
sensor_channel_get() due to the mutex not being used in
ntc_thermistor_channel_get() when the sampled data is accessed.
Add the thermistor_data mutex around the data access to fix.
Signed-off-by: Tom Deconinck <t.deconinck@gmail.com>
Timer 7 is not used in timer driver, which means that timer
driver doesn't initialize timer 7, it's just declared in dtsi.
So I remove it, timer 7 will be used as alarm timer for counter driver.
Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
The west patch command used hashlib.file_digest which was introduced in
Python 3.11.
Replace with a loop to support Python 3.10 (the current minimum).
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Remove redundant ifdef exclusion of calls to
pm_policy_device_power_lock_get() and
pm_policy_device_power_lock_put().
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The APIs pm_policy_device_power_lock_get and
pm_policy_device_power_lock_put are not mocked properly as they
should be excluded based on CONFIG_PM_POLICY_DEVICE_CONSTRAINTS,
not CONFIG_PM.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
We have to disable eSPI pad before changing PLL sequence or sequence
will fail if CS# pin is low.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Renamed two functions and a macro to use more generic names,
removing chip-specific identifiers.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Move register definitions from chip_chipregs.h into espi_it8xxx2.c to
make the driver more adaptable to different SoCs.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Skipped status fits quarantined items better than filtered.
Filtered tests are by default removed from reports, which
shouldn't be the case for quarantined tests.
Adjust tests unit and blackbox tests accordingly.
Signed-off-by: Maciej Perkowski <maciej.perkowski@nordicsemi.no>
Verbosity >1 should be enough to see filtered tests. Coupling
it with debug logging level makes the output messy.
Signed-off-by: Maciej Perkowski <maciej.perkowski@nordicsemi.no>
Add `boards/qemu_x86_64.overlay` and some config modification
for testing `virtio,entropy` device.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add VirtIO Entropy driver.
The `virtio,device4` is a somewhat unfamiliar naming convention,
but it follows the convention used in Linux.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
These two functions were using the value of ctx->xx_len wrong, the unit
is in words, not bytes, but spi_context_count_xx_buf_lens was iterating
over the length of bytes, not words.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Update to the latest CMSIS because some modules still use CMSIS (v5.x)
which when built with the latest toolchain returns below error in CI:
`error: pac_armv81.h: No such file or directory`
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
If SCMI clock is used in Zephyr, it will not use hal clock API, so
disable hal clock driver and also disable driver clock control in all
the other hal drivers.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
This patch add i.MX 943 soc support.
The i.MX 943 applications processors integrate up to four Arm Cortex-A55
cores and supports functional safety with built-in 2x Arm Cortex -M33 and
-M7 cores which can be configured as a safety island. Optimizing
performance and power efficiency for Industrial, IoT and automotive
devices, i.MX 943 processors are built with NXP’s innovative Energy Flex
architecture.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
In the raw data send API, the interface was hardcoded
for client mode. Now, we determine the opermode and
pass the appropriate interface to the raw data API
based on the current opermode.
Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
Some applications require loading extensions into the memory which does
not exist during the boot time and cannot be allocated statically. Make
the application responsible for LLEXT heap allocation. Do not allocate
LLEXT heap statically.
Signed-off-by: Alex Ivanov <alexivanov@google.com>
Avoid the individual `CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC` for each
board instead to referencing the dt value.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
This commit add support for the Omnivision OV9655 sensor,
a 1.3MPix Color SXGA (1280x1024 sensor).
Current driver only allow output of 320x240 and 160x120
resolution either in RGB565 or YUYV.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The camera connector in stm32h7b3i_dk (and st_b_cams_omv_mb1683 shield)
are refering to the connector name as dmci_... instead of dcmi_...
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
DMA callback is wrongly named as dmci in the source code,
correct the name to be dcmi_dma_callback.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The STM32 DMA LL api differ between the STM32F7 and the STM32L4
in order to get the CHANNEL instance information. For that
reason, enclose within preproc statements STM32F7 specific code
and add STM32L4 code related to the DMA configuration for the
DCMI peripheral.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
This commit fixes an error introduced by commit c0dae0c9ac
("video: stm32: dcmi: perform config based on endpoint properties")
in which incorrect instance was being access leading to usage of
the default value for pixel clock / hsync / vsync polarities and bus
width.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Updates the file summary on the various arch-specific kernel
interfaces to accomplish two things:
1. Fix the path in the comment
2. Standardize on language/format.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
On TF-M platforms the PSA_WANT_xxx above do not enable the legacy
MBEDTLS_ECP_C build symbol which is required to enable the
mbedtls_pk_ec() function used in uOSCORE/uEDHOC.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Bring in the following changes from the rust module:
dd73abc242e zephyr: work: Allow struct to have a additional fields
898662c0889 zephyr-sys: Handle deflected GPIO constants
174ded53bd6 ci-manifest.yml: Add cmsis_6
This should fix CI for Rust. In addition, the allowing struct to have
addition fields should unblock #88345.
Signed-off-by: David Brown <david.brown@linaro.org>
Check if the actual velocity pointer is NULL or not, if its null return
-EINVAL in order to avoid null pointer dereferencing later in code
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
This commit resolves incorrect results in the interface status response.
The parameter for `sl_wifi_get_wireless_info` has changed following the
HAL Silabs update to version 3.5.0.
In AP mode, the implementation now correctly uses the `mac_address`
variable instead of `bssid`.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Power save is not supported in AP mode. This commit ensures that
`-EINVAL` is returned instead of success, preventing incorrect behavior.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Commit `2844850` inadvertently omitted
`SL_SI91X_CUSTOM_FEAT_SOC_CLK_CONFIG_160MHZ`. This commit restores
the missing flag to ensure proper SOC clock setup.
Additionally, `SL_SI91X_CUSTOM_FEAT_LIMIT_PACKETS_PER_STA` is now enabled
as the default setting, aligning with the driver Kconfig.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Add a dts overlay file for the STM32F4-DISCO to enable ADC ch testing
with the adc_api test.
Signed-off-by: Ajith Anandhan <ajithanandhan0406@gmail.com>
Add a board-specif dts overlay file for the adc_dt sample on the
STM32F4-DISCO board to enable for ADC channel support.
Signed-off-by: Ajith Anandhan <ajithanandhan0406@gmail.com>
At runtime, `cbprintf` outputs a warning of the type check of the
print format.
Added a cast to avoid this warning to the first argument of
`device_map()` to `void*`.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
CONF_FILE parameter in testcase.yaml overwrites board
specific configurations. Change it to EXTRA_CONF_FILE
to apply both configurations.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
Adds support for the M5Stack Fire. Board files are adapted from those
used for the M5Stack Core2.
Aside from the 2 newest revisions the device also contains a BMM150
magnetometer which is not supported.
The LED strips on the sides are also not supported because Zephyr
does not support fast GPIO switching, see: #11917.
The IP5306 charger works by itself but doesn't have a driver written for
it thus it's not able to be interfaced with.
Signed-off-by: Jakub Novák <jakubnovak.cz@outlook.cz>
Add resolving the requested clock spec and getting the startup time
of the clock for given clock spec to the nordic specific
clock_control sample.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Introduce get_startup_time API which allows users to request
clocks specs to be met in time for an event.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Introduce API which allows users to determine what the actual
minimum spec will be resulting from a requested minimum spec. This
is useful for optimizing code as the requested minimum may be
way worse than what will actually be applied.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
In the commit 573a712bed patch "arm64:
reset: disable cache and MMU for safety", it disables D-Cache and MMU
for safety, but in some cases, for example the code is loaded into memory
by hardware debugger, we need to flush D-Cache before disable it in
order to make sure the data is coherent in the system, otherwise it
will report "Synchronous Abort" when D-Cache is disabled.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
This reverts commit 573a712bed.
The original patch disable cache and MMU, but in some cases, for example
the code is loaded into memory by hardware debugger, we need to flush
D-Cache before disable it in order to make sure the data is coherent
in the system, otherwise it will report "Synchronous Abort" when D-Cache
is disabled.
This patch revert the old one and the following patch will flush
the cache before disable it.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Added new configuration item to optionally enable APIs for operation
all data cache, by default these APIs are disabled.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
In order to clean and invalidate all D-Cache, so reverts commit:
867ba172b4.
Although no software broadcast between different CPU Cores for D-Cache
maintaining operation, but the hardware bus system should make sure it
is safety for all CPU Cores, because it is common for other SMP OS.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Add driver for the microchip MCP3561/2/4R ADC. Registers lock and
CRCCFG protection mecanism is not implemented. Tested on an MCP3564R.
Signed-off-by: Johan Lafon <johan.lafon@syslinbit.com>
Add Variscite VAR-SOM-MX93 board support. This SoM is based on NXP's
i.MX93 SoC. It includes Cortex-A55 and Cortex-M33 support.
Signed-off-by: Andre Morishita <andre.m@variscite.com>
In minichlink and spi_burn, the script checks if dt_flash is True by
checking if the value is "y". But dt_flash is a boolean.
Fix these checks.
Also, when dt-flash is True, spi_burn calculate the address in a
convoluted way, by substrating CONFIG_FLASH_LOAD_OFFSET to
itself.
Simplify this computation.
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
The '--dt-flash' parameter accepts a string like "y", "yes", "no", etc,
and is supposed to be converted into a boolean value. This is only the
theory as in practice, the default value is set to 'n' and is never
converted to False afterwards.
Set the default value to False.
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
Due to a bug in scripts/west_commands/runners/core.py, the value of
--dt-flash can currently be True, False, or the default value, 'n'. The
script silabs_commander.py only check the truth value of --dt-flash,
so the default value is interpreted as a truthy. That means that the
default case was effectively the same as if dt-flash was set to True.
Set this flag to True by default explicitly, in the same
way as done for pyocd or jlink.
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
If GPIO_INT_WAKEUP is in the trig argument, the selection
of trigger mode breaks because the GPIO_INT_WAKEUP flag
breaks the equal comparisons.
Signed-off-by: Mike J. Chen <mjchen@google.com>
The LPC55XXX SoC series requires the use of a HAL function to read
from uninitialized flash without triggering a hardfault. This
broadens an existing #ifdef clause so that it is triggered for all
chips in the series instead of only the LPC55S36.
Signed-off-by: Wilkins White <ww@novadynamics.com>
Basic support: initialization for sending/handling UBX messages and
run-time navigation configurability through GNSS API.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Add support test app support spi_controller_peripheral for Renesas
RA boards: ek_ra6m5, ek_ra6m4, ek_ra6m3, ek_ra6m2, ek_ra6m1,
ek_ra6e2, fpb_ra6e2, ek_ra4m1, ek_ra2a1
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
The unit of spi_context's tx_len and rx_len is byte instead of frame.
Thus, in spi_context_update_tx(), the value of ctx->tx_len should be
reduced by (len * dfs).
Also to fix the update of ctx->tx_len in spi_context_update_rx().
Signed-off-by: cyliang tw <cyliang@nuvoton.com>
Remove the auto setting of the external spi clock if its not there,
also fix the calculation of calucation the spi divisor value.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
The PM Device callbacks is rather unimplemented. There currently is
no device agnostic clock management api (yet), and the pinctrl isn't
fully implemented in this driver. Remove it all.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
This adds the missing fifo config from the dts which was missed in
the initial revision. This also adds the spi rtio fallback api.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
htonl() and htons() take uint32_t/uint16_t as argument. Add the 'u' suffix
to constants to ensure the correct unsigned type is used and to avoid
undefined behavior if these functions are implemented as macros using
bit shifts.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
This reverts commit 05401b3f44.
Introducing c-std setting with CMake way in the commit,
but the actual command line is below.
```
arm-zephyr-eabi-gcc -DKERNEL ... -std=gnu11 ... -std=c99 ...
```
The setting `CONFIG_STD_C99` in Kconfig appends the `-std=c99`,
and (At least in gcc,) options are processed last-come-first,
so this setting was meaningless.
This will cause a build error, so we will revert it.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Added arduino_header, arduino_serial, arduino_i2c and arduino_spi node
labels to device tree board definition, allowing compatible shield
boards to be used.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
- Update hardware rework details require for Bluetooth HCI UART and
I2S interfaces to work with M.2 module.
- Update west build command for Wi-Fi shell app with extra config
overlay file.
Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
This change would also solve that according to the C11 standard,
section 6.5, paragraph 4, the usage of bitwise operators on
signed integers is implementation defined.
Signed-off-by: Stephan Gatzka <stephan.gatzka@gmail.com>
Some utilities function implementations were moved to their own
implementation file in zcbor 0.9.0. This commit is simply to compile
those functions so that users can still have access to them without using
the --output-cmake functionality provided by the zcbor python script
Signed-off-by: David Corbeil <david.corbeil@dynon.com>
If the controller resolving list is cleared by HCI_LE_Clear_Resolving_List,
don't need to enable the controller address resolution.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
This feature, fixing a specific corner case, is unilateraly growing
all struct device with a pointer that 99% of the time is not used.
Thus uselessly utilizing ROM.
Making the feature Kconfig controlled.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
This driver currently only supports one instance of this timer and uses
it as the system clock. The instance is selected by being the first one
listed in DT in all places except sys_clock_driver_init() where it uses
the node label "systick_timer".
This driver should be fixed to correctly support multiple instances
of this timer, and the one used for the system timer should be selected
based on a flag or alias, not based on label.
For now simply use the 0th instance like everywhere else which removes
the need to have this node labeled a special way and makes no functional
changes to current users.
Signed-off-by: Andrew Davis <afd@ti.com>
Image taken from Nordic's official website. No image available for the
DK, so used the IC instead.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
If CONFIG_OPENTHREAD_SYS_INIT is enabled, OpenThread initialisation
should also consider running OpenThread automatically if
CONFIG_OPENTHREAD_MANUAL_START is disabled.
Removed also dependency on the `net_bytes_from_str` functions from
the openthread.h file. Now, in the OpenThread module, there is an
additional `openthread_utils.c/.h` file that can implement useful
utilities for the OpenThread platform. Currently, it implements
the `bytes_from_str` function to use it instead of
`net_bytes_from_str`.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
Do not add functions to the high-speed iterable section when high-speed
support is disabled.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Disable the high-speed USB device descriptor if it is not in use.
Add checks to the code where the high-speed descriptor may be used.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The required buffer is 128 bytes per instance on a full-speed device.
Use common (UDC) buffer, as this results in a smaller footprint.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Disable high-speed descriptors when they are not in use saves 64 bytes
in flash/RAM. It is unlikely that it will scale well enough to be used
in all class implementations or to support a different speed.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add Kconfig option to use dedicated workqueue in CDC ACM but use the
system work queue in CDC ACM by default.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Allowing message callback execution from the USBD thread saves about 800
bytes. For small devices, the option can be useful to reduce flash/RAM
usage, those with enough resources should not bother about it.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Also allow `gethostname` to be compiled in, even when the socket offloading
option is selected.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
Device can be considered enabled only after the Soft Disconnect bit is
cleared. Move the post enable quirk past the SftDiscon bit clear.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Add support for getting to the lowest power mode when polling is
used with disable-rx property and interrupts are not used for
that UARTE. So far disabling of the UARTE peripheral was done in
the interrupt but in some cases interrupt may not be available
and in that case uart_poll_out shall wait until byte is transferred
and put UARTE into the lowest power state.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Revised the documentation for PSA Secure Storage API configuration to
use the new :kconfig:option-regex: role for Kconfig options.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Allow users to create links to Kconfig regex searches.
The new role generates links to the Kconfig search page with the regex
pattern as the search query.
Fixeszephyrproject-rtos/zephyr#90571
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add gpio in board yaml file, gpio2 is enabled by default.
Add btn and led nodes to ensure the button and blinky samples can work.
Add board overlay file for driver test case: gpio_basic_api.
Signed-off-by: Zongchun Yu <zongchun.yu@nxp.com>
Rely on DT_ANY_INST_HAS_PROP_STATUS_OKAY to only build the
gpio handling code for reset pin if this is being used by
one or more instance of the device.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Increase the T4 delay after releasing the reset of the
sensor in order to avoid getting I2C communication issues
at initialization time.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Rely on DT_ANY_INST_HAS_PROP_STATUS_OKAY to only build the
gpio handling code for reset and powerdown pins if this is
being used by one or more instance of the device.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
reset and powerdown pins are optionals.
gpio_is_ready_dt should not be called in case of reset or
powerdown are not present.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Previously, I2S_MCUX_FLEXCOMM was expected to use the external
MCLK only but it's possible for I2S_MCUX_FLEXCOMM to be sourced
from other clocks like the audio_pll_clk, in which case the
driver needs to be able to get the current clock frequency
in order to properly set dividers for requested sample rate.
Signed-off-by: Mike J. Chen <mjchen@google.com>
When building with clang and CONFIG_LTO, clang warns:
soc/nuvoton/npcx/common/pinctrl_soc.h:141:4: error: field flags within
'struct npcx_pinctrl' is less aligned than 'struct (unnamed struct at
soc/nuvoton/npcx/common/./pinctrl_soc.h:128:2)' and is usually due to
'struct npcx_pinctrl' being packed, which can lead to unaligned accesses
[-Werror,-Wunaligned-access]
} flags;
^
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
User callback can be used to re-trigger the alarm.
In such case, copy current callback before it is overritten.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Handle each error individually.
Do not skip RX loop on first error.
Revise DMA buf size to CONFIG_NET_BUF_DATA_SIZE.
Signed-off-by: Adib Taraben <theadib@gmail.com>
The SDK is growing bigger and bigger, set the toolchain list so we only
fetch the ones needed by the tests we run, save some disk space,
apparently this workflow is getting close.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
When left-shifting '1' by 31, the result is undefined. This is
something ASAN detects.
Solve this by explicitly defining that the integer is unsigned.
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
Current ESP32 clock system is mixed with RTC labeling/registers,
but it doesn't implement a real-time clock (RTC) driver.
To avoid confusion and allow adding a proper RTC driver later,
this commit renames the existing RTC interface to CLOCK and make
it as a subsystem without any peripheral attached to it.
This better reflects its actual purpose as a general clock controller.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
currently all the dts changes of Texas Instruments platform
tags Simplelink due to the directory inclusion.
Split the dts inclusion for respective groups i.e K3, simplelink
and mspm0 is already correctly grouped.
MSP432 is currently not under any tree of maintainence.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
Add support for skipping UDP upload server report, useful in test TX
only with loopback (packets are dropped, so, no report).
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Since the __IO macro use has been removed, make the whole reg pointer
volatile. This is similar to what is done in the gpio-davinci driver.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Add all main domain i2cs.
Also using the naming scheme from linux kernel to use the domain prefix
in nodes. It would be best if the naming scheme is followed for all new
additions.
I will create PRs to migrate the already defined nodes to the prefix
based naming scheme in the future.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
This commit reflects a difference between FE310-G000 and FE310-G002 SoCs,
since only the latter supports PMP. The result of that is the split of the
HiFive1 board into two separate targets, since the HWMv2 right now assumes
that board revisions share the same SoC.
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
Two testcases have an implicit minimum memory requirement due to heap usage
and are failing with `ENOMEM` for some platforms:
* portability.xsi.single_process.newlib
* kernel.message_queue.usage
This commit filters out platform that can't satisfy this requirement.
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
The USB CDC driver is unable to process any bulk IN transfers
after receiving spurious 'Clear Feature - Endpoint Halt' request
from host due to perpetual locked state caused by previously
scheduled transfer, that will never be finished, as the endpoint's state
is set to NAK. Fix by ignoring spurious request.
Signed-off-by: Piotr Ciura <piotr.ciura@hidglobal.com>
This commit adds virtio section in documentation, describing
virtio-related concepts
Signed-off-by: Jakub Michalski <jmichalski@antmicro.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
The send_queue was used as SYN/FIN packet retransmission. Before
the SYN/FIN being ACKed and dequeue-ed, the following packets in
the send_queue cannot be sent out. That's why Zephyr had to send
a FIN+ACK instead of a duplicated ACK-only in FINWAIT1, CLOSING.
In fact, we can take SYN/FIN as kind of data and use the same
send_data_timer for retransmission, like other OSes do. This way,
the send_queue is simply used for local traffics.
Benefits (in theory):
1. The code is easier,
2. TxPkt performance is better after skipping enq/deq send_queue,
3. The struct tcp{} node is a few bytes smaller, saving memory.
Signed-off-by: Shrek Wang <inet_eman@outlook.com>
Reformat the MCP2515 driver files using clang-format and remove excessive
newlines between variable declarations.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Terminate the if...else if construct with an else block in order to adhere
to coding guidelines.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Add a shim that allows using the nRF TDM
(Time division multiplexed audio interface) HAL by I2S Zephyr API.
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
The zephyr,camera was used in several samples, but was not documented.
Add the missing documentation entry for it in the list.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Variables that holds pointers to 'const struct device' typically end-up
with '_dev'. The tcpserversink video sample did not have it. Add it.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Convert the log module declarationto the new syntax introduced in
5e34681 proposing a more compact syntax.
This fixes the log level not being updated in the "capture" sample.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Make the video software generator a devicetree node, which allows enabling
several instances, and select it as chosen { zephyr,camera = &... }; node.
It can be enabled via a `video-sw-generator` snippet.
Signed-off-by: Josuah Demangeon <me@josuah.net>
By having an "auto-fallback" mechanism, the VIDEO_SW_GENERATOR did shadow
the fact that "platform:mimxrt1064_evk:SHIELD=dvp_fpc24_mt9m114" was
missing the full specification, and therefore was not matched at all:
the shield was not selected, but the CI still worked.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Since QVGA resolution is currently not working in CSI, use VGA
as default resolution to avoid failing during the init of the
driver.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add possibility to use the gc2145 sensor in CSI mode by
adding the bus-type property in the device-tree.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Do not enable by default the DVP streaming to avoid conflict
with the introduction of the MIPI mode of the GC2145.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add a ctrl VIDEO_CID_LINK_FREQ to indicate to a sink
the frequency at which a device streams data over
CSI2. Since not all source device currently provide the
LINK_FREQ control, add a helper function to retrieve
it, with a fall-back by doing an approximate via the
PIXEL_RATE control.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add standard data-type macros within the video.h in order
to avoid having to redefine them all in each and every CSI
based driver.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Now that we have faster runners, we can move this back to the night and
be productive during the day :)
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
It's possible if a device is an i3c v1.0 spec, no hdr, no mxds,
no controller caps, and does not have a mrl nor mwl. It should
return 0 if it doesn't need to do anything.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Make a note about the severity column which is informational and
directly taken from MISRA. All rules in the table are required for
Zephyr.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add a workaround for NRF52 anomaly 78: "High current consumption when
using timer STOP task only. Use the SHUTDOWN task instead."
Signed-off-by: Sven Depoorter <svndepoorter@gmail.com>
During intensive testing, it was found that the clock should
be set the same way on all ACE platforms
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Rework how the compilation-options for the gperf generated
kobject_hash*.c files are put together to fix problems with SHELL:
and cmake-list separators handling.
zephyr_get_compile_options_for_lang_as_string() returns the set of
options as a cmake generator expression string which is cumbersome to
edit. This caused the command line for the IAR toolchain to have broken
SHELL: entries, and other some command line entries being postfixed by
"gnu".
This also adds CMake compiler properties for no_function_sections and
no_data_sections options
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
Commit 87719828ac introduced FSR definitions
for ARMv7-A/R; however, the value 16 which is documented in the ARM[1] as
a "TLB Conflict Abort", was introduced as "TLB Conflict Fault" instead and
described as a "Table Conflict Fault".
Update all affected files to use the ARM's naming for this error instead.
[1] Architecture Reference Manual (Document ID: ARM DDI 0406C.d)
"ARM Architecture Reference Manual for ARMv7-A and ARMv7-R Edition"
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Update PACBTI support for architecture variants in the features table
and add a new section introducing PACBTI support/limitations.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Add Cortex-M85 under the Arm v8.1-M architecture variant column.
Cortex-M85 shares feature support with Cortex-M55, including Privileged
Execute Never (PXN), and additionally introduces Pointer Authentication
and Branch Target Identification (PACBTI) extensions.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Introduce a Kconfig choice to select Pointer Authentication and Branch
Target Identification (PACBTI) features on Armv8.1-M Mainline CPUs.
The available options map to supported `-mbranch-protection` levels
(`standard`, `pac-ret`, `bti`, and combinations) documented at
https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
These options enable hardware-assisted control-flow integrity mechanisms on
targets like Cortex-M85, and require a toolchain with PACBTI support, such
as GCC 14.2 or newer.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Some I2C peripherals like TI charger or gauge chips need support for I2C
clock stretching. This patch includes that and makes these modules
usable with I2C emulation over GPIO.
Signed-off-by: Bas van Loon <bas@arch-embedded.com>
If the BCR value is not set for ibi w/ payload, then it still
has a ibi length of 1 due to the MDB. Set the PL accordingly.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
The reset may cause initialization issues because of a missing
ACK from the sensor. The error check for the I2C communication
is removed to avoid issues during the initialization.
Closes#89850
Signed-off-by: Daniel Kampert <DanielKampert@kampis-elektroecke.de>
For boards frdm_mcxn947 and mcx_n9xx_evk test NVS in internal flash in
addition to external QSPI flash. Also enable the NVS subsystem on
these boards for Twister.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
For internal flash FMU programg/erase operations, enable the FRO12MHZ
clock when the flash driver is enabled.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
Use flash_k4 driver for internal flash instead of ROM API driver. One
benefit is the flash program phrase size decreases from 128 Bytes to 16
Bytes. 16 Byte phrases enables this SOC to leverage the Zephyr NVS
subsystem, and the MCUboot swap mode.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
Conflicts:
west.yml
This fixes a regression introduced in c31640239c where all regions
except Flash and RAM where left unmapped. Before introducing region
0 that prevents speculative access to the entire memory space, we
were relying on the architectural background map to access them.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
When using clang to build a C++ file that includes this file, it warns:
include/zephyr/sw_isr_table.h:195:28: error: invalid suffix on literal;
C++11 requires a space between literal and identifier
[-Wreserved-user-defined-literal]
"." Z_STRINGIFY(prefix)"."file"." Z_STRINGIFY(counter)
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Instead of both checking CONFIG_BOARD_QEMU_X86 and
CONFIG_BOARD_QEMU_X86_64, simply check for CONFIG_QEMU_TARGET.
This also helps qemu_x86_tiny, qemu_x86_lakemont and any
future/downstream QEMU targets to keep things simple.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
This is a fix for issue #90426 .
Marking __kinetis_flash_config with __used attribute prevents
unwanted deletion when compiling with LTO.
Signed-off-by: Matthieu Speder <mspeder@users.sourceforge.net>
Right now the thread test case does not handle when the test fails, the
test will be aborted by ztest in one of the spawned threads, and cause
desynchronization which messes up the rest of the test. Fix by
synchronizing in the case of fails and return fail from main test thread
instead of the spawned ones.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The test that checks latency also prints a measurement of the latency
which is just a visual information for the test output. However, this
print uses a subtraction which can have an overflow in the case where
the kernel timer is behind, so just clamp to 0 in that case where there
is an overflow. This change does not affect the test pass/fail logic.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
- Adds a flash runner configuration for mimxrt1052 and mimxrt1062,
used for sysbuild multi-image projects, mainly for MCU-boot.
- Avoid unwanted multiple erases and resets.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Replace semaphores with proper atomic flags when used without
multithreading enabled.
Signed-off-by: Michal Kozikowski <michal.kozikowski@nordicsemi.no>
A recent change 9eeb60c improperly removed a critical line in the driver.
This commit replaces that line and moves an irq_lock to above any pin
value manipulation since the timing is sensitive with the DHT protocol.
This should also fix the timing issue 9eeb60c attempted to fix.
Signed-off-by: John Shelton <moosery@gmail.com>
Update documentation with new LTS lifecycle information following TSC
decision to extend LTS support to 5 years.
Also removed some duplicate information.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Bring in the following changes to the Rust module, updating since rev 4.1.
1cab77b436b dts.pest: Add support for comments in devicetree source files
e53f6de1c06 fix(cmake): Evaluate generator expressions in sample cargo...
e64cadb3c9e zephyr: thread: Add 'join_timeout' to RunningThread
a683eb8a3b5 zephyr: Replace critical-section implementation
26cd3bc0c8a zephyr-sys: Export irq_lock/unlock
901edef9bc8 zephyr: Specify minimum rust version
0de6f6c390d zephyr-build: Simplify dt-yaml syntax
edcef3ba39c zephyr: Remove stale doc references to futures
4096ad7c803 cmake: Fix dependency problem
5557cb3fc35 zephyr: object: Fix bad doc link
d921320cc7d zephyr: devicetree: Allow non-snake-case names in DT nodes
14618bd02f7 zephyr: sys: sync: Semaphore: Remove incorrect ALLOC check
47e270d5ac5 zephyr: sync: Conditionalize PinWeak on alloc
f8b228fe71c samples: bench: Increase thread stack size on 64-bit platforms
ec50a4317b9 zephyr: sync: Create PinWeak type
2e5059a209d samples: async-philosophers: Remove overly specific imports
a0061313850 samples: async-philosophers: Convert to general async
5c15fbb9d20 zephyr: Remove work-queue executor
f107c93dce6 samples: rename work-philosophers to async-philosophers
ed8d08bc890 samples: bench: Replace old async with new
087e584eae9 zephyr-macros: Incorporate fn name into thread name
72ed3818192 samples: philosophers: Migrate to new task declaration
44b2dd28073 zephyr: Add proc macro for thread declaration
8952b444b3a CI: Force python version 3.12
e3518de6d07 cmake: add USES_TERMINAL to show cargo output
b7dacdac984 zephyr: embassy: Use a semaphore for the executor
a871c7f588c Add support for board native_sim/native/64
349164d630a samples: blinky: Remove incorrect integration platform
b0866632d42 samples/tests: Ensure test/sample names are unique
7395ae4f486 zephyr-build: fix DTS parser for Windows
a341bc50041 samples: philosophers: Migrate Mutex to const constructor
5000f459f26 samples: bench: Clean up formatting
6020ab7db36 zephyr: Run rustfmt
c1d74e1d5df samples: bench: Make Semaphores static
37754d29e0b samples: bench: Reduce benchmark iterations
11067823e53 samples: bench: Remove the 'basesem' prototype
3a4f08ba1ea zepyr: sys: sync: Mutex/Condvar
64605eb89cf samples: bench: fix for API change
8d7ca493801 zephyr: Convert `Queue` to new atomic initializer up
3a0016dace2 zephyr: sys: sync: Make Semaphore constructors `const`
5ceccc155c2 zephyr: object: Implement new ZephyrObject wrapper
2790674bb7f docgen: Enable async features for doc generation
1b475b7a9a8 tests: drivers: gpio-async: Test the async gpio operations
0347eac6882 zephyr: Add async 'wait_for_high' and 'wait_for_low' to gpio
b60408c54ef zephyr: device: Add a possible static element with each device
28f7ec6b515 zephyr: device: gpio: Add a few more methods
bcc9ee433bd zephyr: embassy: Add Default implementation
a458d8e33eb zephyr: embassy: Eliminate unused printkln import
dea64363115 samples: embassy: Detect proper end to the test
04d9e5714e6 samples: embassy: Increase task pool size
eae89bc4d2b samples: embassy: Fix test name
758a2c264c7 samples: embassy: Update formatting
ac0eaac9d8b zephyr: Update rustfmt
db93ee7978e samples: embassy: Update Embassy Demo for Zephyr executor
a9958395985 zephyr: Implement `executor-zephyr` to use with Embassy
60d7c5396ac samples: embassy: Start of an embassy demo
1540e9ab785 zephyr: Add initial support for embassy
1503a982e00 docs: Update top-level index
c58d1f20024 zephyr: Expand top-level crate docs
Signed-off-by: David Brown <david.brown@linaro.org>
Fixes tests/boot/with_mcumgr in case, when imgtool is
not installed. Added imgtool path to west sign wrapper.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Added support for tmc51xx uart support alongside the
existing spi support. The tmc51xx driver is now consolidated
into a dedicated folder.
Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
Now added pos_reached_mask for polling rampstat when
position reached event is not supported, for example,
with uart drivers. Consequently, when the position is
reached, the position is reached, and the event flag is
set active. Hence, an additional value is now introduced.
Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
Now a bus abstraction for Trinamic stepper drivers with
unified interface for SPI/UART communication. Separates
transport logic from device-specific functionality.
Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
Now adds support to tmc51xx via uart. The base yaml supports
the common properties, and uart and spi bindings are
configuration-specific.
Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
During testing and code inspection, there were various anti-patterns
on this (and U-Blox driver) codebase(s), including obfuscation, and
lack of data validation. This made it increasingly difficult to
introduce further variants of u-blox GNSS modems.
With this patch, both the UBX modem and the M8 driver have been
refactored to ease the reliability and maintainability of these
codebases. Here are some highlights:
WRT UBX modem:
- Helper macros to easily create UBX frames, (including checksum
calculation), at compile time; thus, making it easier to extend UBX
commands.
- Logic validation by the inclusion of the modem_ubx testsuite, used to
refactor the code through TDD.
- Ability to receive unsolicited messages, in order to enable U-Blox
drivers to rely on modem_ubx to transceive all commands, and avoid
hopping between modem_ubx and modem_chat.
WRT M8 driver:
- Remove GNSS specific protocol header files. Instead, unify them under
modem/ubx/protocol.h. Background: After a survey and looking at ubxlib
SDK I conclude the UBX protocol is by definition a GNSS protocol (there
are non-GNSS u-blox modems, but they're not interfaced through UBX
protocol).
- Establish pattern to create and send/receive commands using new
foundations on modem ubx.
- Remove dependency of Modem chat, and instead use UBX unsolicited
messages to get Navigation and Satellites data.
- Switch from the auto-baudrate detection pattern to a pattern of
transitioning between an initial known baudrate to a desired baudrate,
in order to improve initialization time.
- Add dts property to configure default fix-rate.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Following the new feature in the flexcomm driver to be able to wake up
from low power mode, the clock control drivers have to handle the
platform specific details, so this commit adds to the already ugly mess
that is the LPC syscon driver which is used by RW currently and makes
the required devicetree changes.
Make the console/shell uart on the FRDM_RW612 take advantage of this by
default.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add the feature for the flexcomm uart to be able to be a wakeup source
from low power modes. To be able to do this on a relevant platform, the
DT node for the UART needs to have the wakeup-source property and define
a "sleep" clock. The details of handling the sleep clock and default
clock are still platform specific but handled by the clock control
driver of the platform, so that this code should be able to be
applicable to any platform that follows the same DT definition.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
On RW, normal configuration has all clock generators gated in PM2.
Only the LPOSC is available for main clock source since it is a low
power clock.
Many of the peripherals on the chip are still "on" and do need a
main clock source in order to be effective as wakeup sources
to the chip as intended. So we should make this switch for PM2
specifically in order to achieve desired wakeup capabilities.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Refactor this code so it has less nesting and is able to share some code
between functions, by making a function to find the device constraints
object which can be called before doing operations using it.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
There is currently a bug where when entering low power modes, there is a
garbage character sent if the UART is in the middle of a transmit when
entering low power mode. This is because the fifo interrupt happens when
last character is pulled by transmitter from fifo and then we unlock PM
constraints at that moment, instead of waiting for actual transmitter to
become idle. Fix by adding work item to check for this when needed.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Reduce the number of config overrides needed for the various testcases
by only enabling the options if needed in the first place.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The `CONFIG_WIFI` symbol currently covers a number of different
use-cases of Wi-Fi, primarily:
* Wi-Fi AP (Broadcasting a network others can connect to)
* Wi-Fi Station (Connecting to an AP + SSID scanning)
* Wi-Fi AP + Station (Both the above)
* Wi-Fi SSID scanning (SSID scanning only)
Each of these application usages of Wi-Fi requires a different set of
supporting options to operate correctly (`WPA_SUPP`,
`NET_CONNECTION_MANAGER`, etc), and different opportunities for resource
optimisation (System heap, buffer counts, etc).
Currently, optimizing the Wi-Fi drivers depends on driver specific
options, which can be challenging to find and are obviously not portable
across different drivers.
The addition of this choice allows applications to specify in a single
Kconfig option which features of Wi-Fi they use, and enable individual
Wi-Fi drivers to choose defaults based on those features.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Move initialization of the print callback handler after calling lv_init, as
the latter zeroes the global callback structure.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Add the ability to block and process a work queue by invoking
`k_work_queue_run` from an existing thread. This can be particularly useful
for using the main thread to process work items, in the same vein as the
system work queue, but from a lower priority/preemptible thread.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Co-authored-by: Peter Johanson <peter@peterjohanson.com>
Add new Kconfig options to enable platform-specific features in
OpenThread:
- CONFIG_OPENTHREAD_PLATFORM_PKT_TXTIME enables support for packet TX
time when CONFIG_NET_PKT_TXTIME is selected.
- CONFIG_OPENTHREAD_PLATFORM_CARRIER_FUNCTIONS enables modulated and
continuous carrier functions when CONFIG_OPENTHREAD_DIAG and
CONFIG_IEEE802154_CARRIER_FUNCTIONS are enabled.
Update preprocessor conditionals to use the new options instead of
relying directly on CONFIG_NET_PKT_TXTIME and
CONFIG_IEEE802154_CARRIER_FUNCTIONS.
This change improves configurability and allows to reuse the platform
implementation when not using Zephyr networking.
Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
The current ENOSYS check code can proceed for a driver that
hypothetically implements the on() but not the off() function of
vice versa, which would result in a null pointer dereference.
This would be a weird use case but Coverity catches the situation, no
harm in changing the ENOSYS check to fail if the on/off is half
implemented, so let's change it to do that.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Frame rate selected by the user may not be obtained due to
PCLK frequency and finite number of clock divider values.
In such case, driver shall select divider that results in
frame clock rate closest to the requested value.
There was a bug that was discarding perfect match divider.
Add test which confirms correct clock divider selection.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
The boot report is used to pass information from IRONside to a CPU
being booted.
Integrate the boot report to the update service sample.
Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
PMU related functions need to be located in IRAM when sleep
process is triggered, as cache is disabled past a certain point
in the execution of the sleep process.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Because the same IP supports both device and host, so use
DYNAMIC_INTERRUPTS for KHCI and EHCI if both device and host
are enabled.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
add uhc related items to dts.
add clock initialization
add BM4 if CONFIG_USB_UHC_NXP_KHCI is enabled
add pin mux
update board related CMakeLists.txt
update sdk-ng CMake to include NXP controller drivers
update west.yml to contain the hal_nxp pr
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
If we're parsing a CoAP request with an observe option of '1', but there is
no matching observer, return an error instead of returning a zero.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Parameter checking of flash read API expects checking for len == 0
before checking dest buffer validation.
Fixes#87021
Signed-off-by: David Leach <david.leach@nxp.com>
Add openthread module header to INPUT due to dependencies to symbols in
`zephyr/net/openthread.h`
Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
* Add header with public API of OpenThread module.
* Add module include directory to Zephyr include directories.
* Use new header in platform implementation.
Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
It's possible for newlib/picolib libc libraries to
internally call sysconf() which would execute zephyr's
implementation. However, if the _SC* defines do not have
matching values, then the incorrect switch case executes.
This issue arises when using newlib/picolib libc that includes
sysconf implementation for ARM. With current defaults, the
zephyr sysconf() overrides the original libc sysconf() so
we must ensure proper operation.
We will switch to the #define list just like newlib/picolib.
We can't currently use their unistd.h directly due to a domino
of declaration conflicts.
For the "small" macro implementation, we have to drop using
CONCAT to prevent pre-expansion of the new #defines
Signed-off-by: Nicholas Lowell <Nicholas.Lowell@lexmark.com>
match standard by having input void *buf parameter
for pwrite() marked as const, and avoid any potential
declaration conflicts
Signed-off-by: Nicholas Lowell <Nicholas.Lowell@lexmark.com>
static inline gethostname() in unistd.h can cause declaration collisions.
we should just move it to a normal function definition like the
rest of the network functions.
Signed-off-by: Nicholas Lowell <Nicholas.Lowell@lexmark.com>
PTHREAD_STACK_MIN is one of the very few posix features
referenced in sysconf that is not defined in posix_features.h
Move it to minimize header dependencies.
Signed-off-by: Nicholas Lowell <Nicholas.Lowell@lexmark.com>
the device_state need realocate when boot as second core.
as the relocation does not know the alignment, this could
be a case that the next data is mis-place after relocation.
fix this by add a alignment in device_state section.
still need revert aec0355380
reported in #86871fixes: #82841
Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
IUT works as a Bluetooth GAP Client. The peer device (tester) is
configured to respond to inquiries and process connection requests.
Add tests to verify GAP client functionality for inquiry, connection,
and disconnection scenarios.
In the test suite, there are six test cases:
Case 1: General Inquiry followed by Connection and Active Disconnection.
Verifies that DUT can perform general inquiry, establish connection, and
actively disconnect from tester.
Case 2: General Inquiry followed by Connection and Passive
Disconnection. Verifies that DUT can perform general inquiry, establish
connection, and handle disconnection initiated by tester.
Case 3: General Inquiry followed by Rejected Connection Request.
Verifies that DUT can perform general inquiry and handle connection
rejection from tester.
Case 4: Limited Inquiry followed by Connection and Active Disconnection.
Verifies that DUT can perform limited inquiry, establish connection, and
actively disconnect from tester.
Case 5: Limited Inquiry followed by Connection and Passive
Disconnection. Verifies that DUT can perform limited inquiry, establish
connection, and handle disconnection initiated by tester.
Case 6: Limited Inquiry followed by Rejected Connection Request.
Verifies that DUT can perform limited inquiry and handle connection
rejection from tester.
Signed-off-by: Jiawei Yang <jiawei.yang_1@nxp.com>
IUT works as a GAP Server (Peripheral) in the Bluetooth system. The peer
device, GAP Client,
is a PC running Bumble as a test tool.
This test suite implements the following test cases:
Case 1, Non-connectable Mode Testing. Verifies DUT can operate in
non-connectable mode without allowing connections.
Case 2, Connectable Non-discoverable Mode with Active Disconnection.
Verifies DUT can accept connections and initiate disconnection.
Case 3, Connectable Non-discoverable Mode with Passive Disconnection.
Verifies DUT can accept connections and handle passive disconnection.
Case 4, Connectable Non-discoverable Mode with Connection Rejection.
Verifies DUT can reject connection requests.
Case 5, Limited Discoverable Mode with Active Disconnection. Verifies
DUT in limited discoverable mode can be discovered, accept connections
and initiate disconnection.
Case 6, Limited Discoverable Mode with Passive Disconnection. Verifies
DUT can be discovered, accept connections and handle passive
disconnection.
Case 7, Limited Discoverable Mode with Connection Rejection. Verifies
DUT can be discovered but reject connection requests.
Case 8, General Discoverable Mode with Active Disconnection. Verifies
DUT in general discoverable mode can be discovered, accept connections
and initiate disconnection.
Case 9, General Discoverable Mode with Passive Disconnection. Verifies
DUT can be discovered, accept connections and handle passive
disconnection.
Case 10, General Discoverable Mode with Connection Rejection. Verifies
DUT can be discovered but reject connection requests.
Signed-off-by: Jiawei Yang <jiawei.yang_1@nxp.com>
Handle the ECHO request/response of classic L2CAP signaling packets.
Add the functions `bt_l2cap_br_echo_cb_register()` and
`bt_l2cap_br_echo_cb_unregister()` to register/unregister the ECHO
callbacks to monitor the ECHO REQ and RSP.
Add the function `bt_l2cap_br_echo_req()` to send the ECHO REQ through
classic L2CAP signaling channel.
Add the function `bt_l2cap_br_echo_rsp()` to reply the ECHO REQ
through the classic L2CAP signaling channel.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
rtio_cqe_consume() may return NULL so we need to check before
using any members of the returned struct.
Fixes#90473Fixes#90489Fixes#90497
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Coverity flagged that the return variable ret may not be
initialized when returning. So give it a default value.
Fixes#90509
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
When CONFIG_ZTEST_ASSERT_VERBOS is 0, syst_headers_name[] is
not exactly being used by zassert_mem_equal(). Mark it as
__maybe_unused to avoid compiler warnings.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
When CONFIG_ZTEST_ASSERT_VERBOSE is 0, the array round_s is not
being used by zassert_true(). So mark it __maybe_unused to
avoid compiler warnings.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The commit modifies the Flash Map test, providing Kconfigs that
allow to opt out from testing disabled partitions and testing
DTS node access.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
espi: add espi peripheral channel HOST_CMD driver for rts5912
Unlike other chips using IO port 0x800-0x8ff, we utilize shared memory to
transfer host command parameters. The AP firmware must have corresponding
settings for this configuration.
Signed-off-by: jhan bo chao <jhan_bo_chao@realtek.com>
Due to erratum 1013783-B, speculative accesses might be performed
to normal memory unmapped in the MPU. This can be avoided by using
MPU region 0 to cover all unmapped memory and make this region
execute-never and inaccessible.
Note that this applies when CPU Cortex-M7 implements MPU and D-cache.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Due to erratum ERR011573, speculative accesses might be performed
to normal memory unmapped in the MPU. This can be avoided by using
MPU region 0 to cover all unmapped memory and make this region
execute-never and inaccessible.
Fixes#89852
Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
base on DesignWare I2C driver to implement RTS5912 I2C driver.
1. support customize bus recovery function.
2. fix isr timing issue by enable tx empty control.
3. support stuck at low handle by enable bus clear feature.
4. support custom stuck at low timeout set from dts
5. disable block mode in rts5912 i2c.
6. support I2C_ALLOW_NO_STOP_TRANSACTIONS
Signed-off-by: Titan Chen <titan.chen@realtek.com>
this sample needs add dts defines for each platform, so should not be
generally enabled.
fixes: #90714
This reverts commit 022962c90d.
Signed-off-by: Hake Huang <hake.huang@nxp.com>
The combination of
323126924474c9e7afab
broke this test, when __SIZEOF_DOUBLE__ != 8.
In that case the test will fail to build,
as the variables the code uses are left ifdef'ed out.
Let's fix it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
When both PRINTK and ASSERT are disabled, the firmware image will still
contain a symbol for assert_print function which increases the memory
footprint by 14 bytes. In this case the function doesn't do anything and
so these 14 bytes are not useful.
This change also reduces the memory footprint elsewhere such as in the
bluetooth subsystem which implements BT_ASSERT_VERBOSE. Now it will be
nop. On nRF52832 this is on the order of 300 - 400 bytes when configured
for peripheral only (just as an example).
Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
Separate out host(local) and FW(remote) statistics and in case of a
FW statistics timeout, return success with a magic value in the FW
statistics, this way atleast host statistics would be handy for
debugging instead of sending failure up.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
A write to the "ctrl_meas" register can cause the sensor to transition
from sleep to normal mode (which is default Kconfig settings). As per
BME280 datasheet, writes to the "config" register in normal mode may be
ignored. This can lead to use BME280_STANDBY_05MS and BME280_FILTER_OFF
instead of the values set by the application. To fix this, write to the
"config" register before "ctrl_meas" in the sensor init function.
Signed-off-by: Loic Domaigne <tech@domaigne.com>
TCP implementation provided the parent net_context pointer to the
accept callback instead of the user_data pointer registered with
net_tcp_accept(). This worked fine with the socket integration, as
sockets explicitly registered parent context as user_data, however it
shouldn't be hardcoded like this at the TCP level.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Do not override the last known value in backend_ctx.error with the result
of flushing.
Any previous error would be cleared and the coredump would appear to have
succeeded.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
The current I2C driver assumes that at least one byte will be read in CQ
(command queue) mode. However, when a 0-byte read is issued
(e.g., by cmd_i2c_scan),
The read handler uses (len - 1) to set the command queue length.
When len is 0, this underflows to 0xFF, leading to an incorrect transfer
length and possible crash.
To fix this, add a check in cq_mode_allowed() for reads with length 0:
-Fallback to PIO mode in such cases.
-Properly handle 0-byte reads by issuing STOP (E_FINISH) when the slave
address is acknowledged.
-Add appropriate handling for NACK conditions when the slave address is
not acknowledged.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Disconnect the L2CAP channel connection if the proposed MTU is less
than min MTU or more than local supported MTU.
The main scenes are as follows.
If the proposed MTU is less than MIN MTU.
1. The channel connection of client and server is established,
2. Client/server sends channel config REQ (MTU=50),
3. Peer replies channel config RQP (Unaccepted/success with MTU=30),
4. The client/server will repeat step 3~4 if the RSP is unacceptable.
With the change applied, the local will disconnect the L2CAP channel
connection in step 3.
If the proposed MTU is more than local supported MTU.
1. The channel connection of client and server is established,
2. Client/server sends channel config REQ (MTU=50),
3. Peer replies channel config RQP (Unaccepted/success with MTU=80),
4. The client/server will repeat step 3~4 if the RSP is unacceptable.
With the change applied, the local will disconnect the L2CAP channel
connection in step 3.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Based on TCP Spec., the outgoing TCP packets shoud use SND.NXT as
the seqnum. In Zephyr, the conn->seq works as the SND.UNA and the
conn->seq + conn->unacked_len works as the SND.NXT. Currently, it
uses SND.UNA in tcp_out() as the seqnum, which might get dropped
as old packets and could not deliver the message to the peer.
A few exceptions use SND.NXT - 1 as the seqnum are: keepalive,
zero-window-probe, FIN/SYN retransmissions. And, for closing a
connection, Zephyr won't send out FIN until all the data has been
ACKed, so the conn->unacked_len is 0 and it is ok to use conn->seq
as the SND.NXT.
Signed-off-by: Shrek Wang <inet_eman@outlook.com>
1. Add it51526bw SoC variant to it51xxx SoC series.
2. Create the .dtsi file with adjusted flash size for 512Kb (default = 1M).
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Keep data instance inside of data structure.
Avoid accessing global data or using pointers to out of
data instance.
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
Change the callback `get_ongoing_call()` of the AG from synchronous to
asynchronous mode. It will help to avoid the Bluetooth host stack be
blocked in the context of callback `get_ongoing_call()`.
Add a function `bt_hfp_ag_ongoing_calls()` to set the ongoing calls and
reply the AT command `AT+CIND?` after the callback `get_ongoing_call()`
has been notified.
Add a delayable worker to avoid the AT command `AT+CIND?` never being
replied. After the time exceeds
@kconfig{CONFIG_BT_HFP_AG_GET_ONGOING_CALL_TIMEOUT}, the response of
the AT command `AT+CIND?` will be replied.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
If the any value of Call, Call Setup, and Held Call indicators is not
zero in the response of `AT+CIND?`, get all calls via `AT+CLCC`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
For read-only access to fields, `lock/unlock` is unnecessary.
Remove unnecessary `lock/unlock` protection for read-only access
fields of AG.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Support the case that there are some calls existed before SLC
established.
Add a callback to get the ongoing calls one by one from upper layer
when the response of the AT command `AT+CIND=?` from HF has been sent.
And set the Call, Call Setup, and Held Call indicators and report the
values int the response of AT command `AT+CIND?`. Then report all
ongoing calls in the `+CLCC` response.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
It can be confusing for users browsing the API docs to not find any
documentation for the k_sem structure. This commit adds doxygen
comments so that it now shows up.
Fixeszephyrproject-rtos/zephyr#90608.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Configures QSPI board variant to boot directly from external QSPI flash
on the FlexSPI. Secondary bootloader is no longer required. Moves the
MCUboot boot_partition to QSPI flash.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
Configures QSPI board variant to boot directly from external QSPI flash
on the FlexSPI. Secondary bootloader is no longer required. Moves the
MCUboot boot_partition to QSPI flash.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
The ROM bootloader has the option to boot from external QSPI flash on
the FlexSPI instead of internal flash. Adds
CONFIG_NXP_FLEXSPI_BOOT_HEADER to include the FlexSPI boot ROM header
in the image.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
The following parameters are exposed through DTS bindings:
- ODR.
- Dual Frequency Mode.
- Measurement Mode.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Each time this sensor gets a reading, it contains a matrix of 4 x 32
pixels containing distance readings, from which the 1-D result is
calculated. The private channel would expose this array through
Sensor APIs.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
- Add AFBR module as a HAL.
- Platform layer to support running AFBR API using Zephyr.
- Ability to instantiate on device-tree.
- Samples in the module proving foundations works.
- Zephyr Sensor API support, by introducing:
- Read/Decode for SENSOR_CHAN_DISTANCE (1-D results).
- Streaming mode for DATA_READY (1-D results).
Signed-off-by: Luis Ubieda <luisf@croxel.com>
DMA channel stats like pending_length or free is not protected
and can be modified in parallel by a consumer and a producer.
This can result in non-atomic updates which in turn will result
in using stale data.
Fix this by making regions of code accessing dma stats atomic.
Fixes: e94c86f395 ("drivers: dma: Add initial support for NXP SDMA")
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Each time we configure an SDMA channel we also compute the total
allocated DMA buffer length but we assume is initialized with zero.
This is true each time a channel is requested. But if there are
multiple calls to configure without releasing the channel the buffer
length is not correctly computed.
So, we need to initialize it with zero each time we reconfigure the dma
channel.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
This adds a new kconfig and corresponding code to allow flushing
auto-refill data TLBs when page tables are swapped (e.g. during
context switching). This is mainly used to avoid multi-hit TLB
exception raised by certain memory access pattern. If memory is
only marked for user mode access but not inside a memory domain,
accessing that page in kernel mode would result in a TLB being
filled with kernel ASID. When going back into user mode, access
to the memory would result in another TLB being filled with
the user mode ASID. Now there are two entries on the same memory
page, and the multi-hit TLB exception will be raised if that
memory page is accessed. This type of access is better served
using memory partition and memory domain to share data. However,
this type of access is not prohibited but highly discouraged.
Wrapping the code in kconfig is simply because of the execution
penalty as there will be unnecessary TLB refilling being done.
So only enable this if necessary.
Fixes#88772
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
* Remove the obsolete path reference, command is enough
* Add a note for the volatility of the certificates
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
With the current implementation one can implement either on/off or
set_brigthness, change the comment to reflect that.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Removed a logically dead else by doing sensor channel check
in a way that's more aligned with how other drivers do it.
Fixes: CID 505949
Fixes: zephyrproject-rtos/zephyr#90558
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
CLOCK_CONTROL_NRF_HFINT_CALIBRATION depended on the renamed
nordic,nrf-hfxo -> nordic,nrf54l-hfxo. Update config to depend on
DT_HAS_NORDIC_NRF54L_HFXO_ENABLED to match new compat name.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Implement vendor specific
z_nrf_clock_bt_ctlr_hf_get_startup_time_us() which gets the startup
time of the high frequency clock used for Bluetooth.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Add the clock startup time property to the nrf54l series HFXO binding.
Note that the values added to the soc .dtsi files are worst case
defaults, which will be replaced with optimal values at board level
in the future, as they depend on the specific crystal in use.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Each nrf series has its own variant of the lfxo clock, specified
by the binding which includes the series in the name. The nrf54L
series is no different, hence the binding should be clearly
specified by having the series name within it.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Each nrf series has its own variant of the hfxo clock, specified
by the binding which includes the series in the name. The nrf54L
series is no different, hence the binding should be clearly
specified by having the series name within it.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Add the clock startup time property to the nrf53 series HFXO binding.
Note that the values added to the soc .dtsi files are worst case
defaults, which will be replaced with optimal values at board level
in the future, as they depend on the specific crystal in use.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Add nrf52 series hfxo binding and nodes to socs.
Note that the values added to the soc .dtsi files are worst case
defaults, which will be replaced with optimal values at board level
in the future, as they depend on the specific crystal in use.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Add nrf51 series hfxo binding and nodes to socs.
Note that the values added to the soc .dtsi files are worst case
defaults, which will be replaced with optimal values at board level
in the future, as they depend on the specific crystal in use.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
FVP's are functionally accurate but not cycle accurate which is
different from QEMU which prefers speed over accuracy.
This sometimes leads to intermittent test failures with FVP which
would otherwise pass with QEMU.
The intermittent failed tests are successful on retries however,
adding a timeout_multiplier would reduce the chance of failures so
we set the timeout_multiplier to a value which will avoid the issue.
Fixes#90654
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
I once worked as maintainer for Linux PTP VIRTUAL CLOCK SUPPORT
and FREESCALE QORIQ PTP CLOCK DRIVER.
Although I haven't been working on zephyr PTP for long, I have
clear understanding for current zephyr PTP clock and PTP/gPTP stack.
And started to contribute for it.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
DT_ENUM_HAS_VALUE_BY_IDX states, that the value
must be lowercase-and-underscores, this makes sure,
that they can match.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
some current sense amplifiers have a non zero offset voltage
that correlates to zero current. adding this offset voltage binding
allows the driver to be used with this type of circuitry.
Signed-off-by: Brandon Allen <brandon.allen@exacttechnology.com>
Fix board DTS coding style issues to prevent them from spreading when a
new board is introduced and uses an existing DTS as a referance.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Don’t insert empty lines before a deindenting };.
- Insert a single empty line to separate nodes at the same hierarchy
level.
- status is "okay" by default.
- compatible property comes first in node.
- reg property comes second in node.
- status property comes last in node.
- the rest of the properties within are nodes naturally sorted.
- child nodes are sorted by address or alphabetically if there is no
address.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
Add support for the simcom a76xx modem which is similar to the simcom 7080
but has a few key differences. Tested with a simcom A7672SA module but as
there is a single simcom A76XX AT commands manual, the driver should work
with other modems of the series.
Signed-off-by: Olivier Lalonde <o@syskall.com>
Due to input automated testing, the memory addresses (0x1, 0x2)
are not available in any managed memory region, causing the
automated test to fail. This test should be run manually.
Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
The Clock Security System (CSS) feature signals failure of an external
oscillator by triggering an NMI. As such, when this feature is enabled,
RUNTIME_NMI must also be enabled such that the NMI handler can be modified
to point to the appropriate function.
The STM32 clock control Kconfig checks whether the CSS has been enabled in
Device Tree, and forcefully selects RUNTIME_NMI if enabled since the driver
code will require it. However, the check has been implemented improperly:
"dt_nodelabel_has_prop" was used instead of "dt_nodelabel_bool_prop", an
error similar to using DT_NODE_HAS_PROP() instead of DT_PROP() in C code.
Since the property always exists, as long as the HSE is enabled, the
RUNTIME_NMI option is always select'ed, even if not actually required.
Use the correct Kconfig function to ensure RUNTIME_NMI is select'ed only
when it is required, instead of whenever HSE is enabled regardless of CSS.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Sets the list of supported hardware features for all the shields
currently defined in the tree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Shield authors can now indicate an optional list of hardware features
that the shield supports, in the form of the same kind of "binding type"
already used for boards.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Verify if CONFIG_NET_SOCKETS_PACKET_DGRAM is enabled when creating a
datagram packet socket. Otherwise, it's possible to create
non-functional AF_PACKET/SOCK_DGRAM socket w/o an error.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add initialization of `ret` to avoid reports of uninitialized variable
being returned. This variable normally gets initialized while the loop
iterates over channels, but potentially it could be left uninitialized
if the loop finished in its first iteration because of no channels to
be processed.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Update to the latest version of ruff and generate linter and format
exclusions for current python files in tree.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Sets LinkServer as the default runner for mimxrt1160-evk boards,
as the board is configured for CMSIS-DAP by default.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
- Fixes link to the MIMXRT1064-EVK User Guide (was broken).
- Adds a note about SW7 and SW5 settings to boot from QSPI.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Sets LinkServer as the default runner for mimxrt1064-evk boards,
as the board is configured for CMSIS-DAP by default.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
The LTK cannot be derived by LK when LK is not weaker than the old LTK.
Improve the function `smp_br_pairing_allowed()` to avoid the LTK be
overwrote when old LTK has MITM protection but new LK has not MITM
protection.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add partitions for Raspberry Pi boards with default to use
Storage partitions and option to use Sysbuild partitions.
Signed-off-by: John Lin <john.lin@beechwoods.com>
If an HTTP error occurs during `west blobs fetch`, the response was written
to a file (even if the response body is empty), and then the checksum
validation fails, which can be somewhat confusing.
Add an immediate error message and exit-with-error-code when the HTTP
request fails.
Tested by modify a blob manifest to have an invalid URL:
```bash
# test with invalid URL
❯ west blobs fetch nrf_wifi
Fetching blob nrf_wifi: .../wifi_fw_bins/default/nrf70.bin
ERROR: HTTP error occurred: 404 Client Error: Not Found for url: ...
# test with networking disabled
❯ west blobs fetch nrf_wifi
Fetching blob nrf_wifi: .../wifi_fw_bins/default/nrf70.bin
ERROR: An error occurred: HTTPSConnectionPool(host='git.... \
Max retries exceeded with url: \
.../zzzz/nrf_wifi/bin/zephyr/default/nrf70.bin
...
```
Signed-off-by: Noah Pendleton <noah.pendleton@gmail.com>
LE and BR connection have already been established, after that, LE
disconnection occurs, BR connection will not be selected as the next
default connection.
Fix this issue by searching for both BR and LE after disconnection
occurs.
Signed-off-by: Can Wang <can.wang@nxp.com>
Host stack supports to set BR security level to 4 but the security level
cannot be set to 4 by the shell command.
Update the code to support BR security level 4.
Signed-off-by: Can Wang <can.wang@nxp.com>
When `CONFIG_HAWKBIT_CUSTOM_DEVICE_ID` is selected, the device_id will
no longer be automatically prepended with `CONFIG_BOARD`.
Signed-off-by: Neal Jackson <neal@blueirislabs.com>
This commit changes how the controllerId is generated based on device
id, and disentangles the two. The controllerId is what hawkbit uses to
uniquely identify a device, and is not necessarily the same as the
device id, and should be fully customizeable by the user if needed.
Previously, all custom device ids were being prepended with
`CONFIG_BOARD`. When a user selects `CONFIG_HAWKBIT_CUSTOM_DEVICE_ID`,
they should be able to specify the full controllerId used with hawkbit,
without a forced prepend.
Signed-off-by: Neal Jackson <neal@blueirislabs.com>
Add ll_conn_get() return value check for valid connection
context.
Build command:
cmake -GNinja -DBOARD=nrf52833dk/nrf52833
-DEXTRA_CONF_FILE=overlay-all-bt_ll_sw_split.conf
-DDTC_OVERLAY_FILE=boards/nrf52833dk_nrf52833_df.overlay
-DSNIPPET="bt-ll-sw-split" ../../samples/bluetooth/hci_uart
ninja
Before:
Memory region Used Size Region Size %age Used
FLASH: 283716 B 512 KB 54.11%
RAM: 109752 B 128 KB 83.73%
IDT_LIST: 0 GB 32 KB 0.00%
After:
Memory region Used Size Region Size %age Used
FLASH: 284992 B 512 KB 54.36%
RAM: 109752 B 128 KB 83.73%
IDT_LIST: 0 GB 32 KB 0.00%
After (use of `conn != NULL`):
Memory region Used Size Region Size %age Used
FLASH: 285044 B 512 KB 54.37%
RAM: 109752 B 128 KB 83.73%
IDT_LIST: 0 GB 32 KB 0.00%
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix missing connection handle invalidate on Controller
power up.
The connection context are zero-initialized on startup and
calls to `ll_connected_get()` would incorrectly return a
valid connection context pointer for connection handle 0.
Relates to commit fa02dc4d02 ("Bluetooth: Controller: Fix
missing reset of connection handle").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Previously, hawkbit interface only supported a url/hostname and a port,
and internally it resolves to an IP address. This does not work for
network layers that rely on NAT64, like OpenThread. Zephyr's
implementation of `getaddrinfo` is not aware of NAT64. DNS will resolve
an IPV4 address that needs to be converted to IPV6 with the NAT64
prefix.
This commit alters the Hawkbit interface to allow providing an explicit
domain name as a string via `server_domain`, and an already resolved IP
address as `server_addr`.
This commit changes the usage of `hawkbit_runtime_config.server_addr` to
point to either an IP address or domain name. It adds a new Kconfig
(`HAWKBIT_USE_DOMAIN_NAME`) to specify an explicit domain name and adds
a new variable `hawkbit_runtime_config.server_domain`. If
`HAWKBIT_USE_DOMAIN_NAME` is enabled and a user provides an IP address
to `server_addr`, the user must provide a domain name to
`server_domain`.
Signed-off-by: Neal Jackson <neal@blueirislabs.com>
It is possible to manually set link address length past 6 at runtime
and trying to check IPv6 ll address that way. This should fail
as we could read two bytes past the address buffer.
Coverity-CID: 516242
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
It is possible to manually set link address length past 6 at runtime
and trying to generate IPv6 IID address that way. This should fail
as we could read two bytes past the address buffer. There is no issues
in the copying as the target buffer has plenty of space.
Coverity-CID: 516232
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Correct the size of the channel_setup_cfg array, as it should contain
entries for all available channels (AD4130_MAX_CHANNELS), not for the
available configuration slots (AD4130_MAX_SETUPS).
Move also checking of the channel index to the very beginning of
adc_ad4130_channel_setup(), to avoid potential writes to .live_cfg
beyond the channel_setup_cfg array.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
- Reset specific configuration bits in
USB1_HS_PHYC->USBPHYC_CR before setting new values.
- Set the Frequency Selection (FSEL) bits to operate
the USB PHY Control Register at 24 MHz for proper communication.
- Enable the OTGPHY1 peripheral clock using LL_AHB5_GRP1_EnableClock.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Add Set_WP function to set SPI flash WP line to low
Add Get_WP function to obtain status of the SPI flash WP line
Signed-off-by: Benson Huang <benson7633769@gmail.com>
Currently, the Zephyr dt requires address to the direction register
instead of the base GPIO address. usually means base address + 0x10 when
compared with Linux.
To make things more consistent between linux and zephyr, handle the
direction offset in the driver itself. This also lays the foundation for
supporting more than 32 GPIOs per port in the future by introducing
offsets for all the banks.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
The USART is compatiable with the USART feature in sama7g5's Flexcom.
Update serial/usart_sam to support sama7g5.
Signed-off-by: Tony Han <tony.han@microchip.com>
The FLEXCOM offers several serial communication protocols that are
managed by the three sub-modules USART, SPI, and TWI (I2C).
Signed-off-by: Tony Han <tony.han@microchip.com>
Add code for sama7g5 Generic Clock, Main Clock, Main System Bus Clock,
Peripheral Clock, Programmable Clock and PLL Clock.
Signed-off-by: Tony Han <tony.han@microchip.com>
While getting alarm time, BIT(7) of each register is checked if it is
set, which send the alarm time as 0 to the requestor. Fix it by checking
if the BIT(7) of each register is not set.
Signed-off-by: Thiyagarajan Pandiyan <psvthiyagarajan@gmail.com>
update members in struct Netc_Eth_Ip_StationInterfaceConfigType
in RTD 2.0.1 for both psi and vsi driver code.
Netc_Eth_Ip_VsiToPsiMsgType need to relocate nocache section
in RTD 2.0.1
Signed-off-by: Tu Nguyen Van <tu.nguyenvan@nxp.com>
eMios_Icu_Ip_IndexInChState is changed to
eMios_Icu_Ip_u8IndexInChState and EMIOS_ICU_BUS_F
is removed in RTD 2.0.1
Signed-off-by: Tu Nguyen Van <tu.nguyenvan@nxp.com>
Now that api core functions check that denominator / numerator are not
null, it is no more necessary to perform this check within drivers.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Now that video api functions have __ASSERT_NO_MSG calls, drivers
do not need to check the entry point functions pointers.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Protect video API functions via __ASSERT_NO_MSG call to ensure that
required pointers are valid when entering functions.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Instead of relaying on stddef.h being included by other headers
let's include it explicitly, following a report of it being
missing for Ubuntu 22.04 (glibc 2.35)
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The recommended reset sequence from the datasheet is as follows:
void SSD1309 ()
{
RES=0;
delay(1000);
RES=1;
delay(1000);
..
Signed-off-by: Oleh Kravchenko <oleg@kaa.org.ua>
file should be named after the compatible and these files where using
an incorrect vendor prefix.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Updated the description in the gd,gd32-i2c.yaml file to reflect the
correct name "GigaDevice" instead of "GigiDevice".
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Set new default minimum sleep amount for each power state. Users can
still update these values depending on their needs.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
This commit enables power_mgmt_soc test for MAX32655 boards
- max32655evkit
- max32655fthr
RTC clocked in most low power modes so that this timer
is linked with idle timer. By this way device able to wakeup
from low power modes.
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
This commit enables power_mgmt_soc test for MAX32690 board
Low power timer is used as idle timer that will wakeup device
from sleep modes. Lowpower timer clocked with RTC clock which
always on.
RTC can be used as idle clock timer too, in that case below
line need to be added in overlay file
/ {
chosen {
zephyr,cortex-m-idle-timer = &rtc;
};
};
&rtc {
status = okay;
wakeup-source;
};
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
To simplify usage add dependecy to MAX32_ON_ENTER_CPU_IDLE_HOOK
If CONFIG_PM not defined set to to y as current,
If CONFIG_PM defined not set it
If user set CONFIG_PM not need to disable
MAX32_ON_ENTER_CPU_IDLE_HOOK anymore
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
This commits added power management states in max32xxx MCUs
Common states added in max32xxx.dtsi file and additional ones
added in max32655.dtsi
Exit-latency-us value set as per of device datasheet spec.
The typical value is mentioned in DS is multiplied with 2.
For more information please take a look:
https://www.analog.com/en/products/max32655.html
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
low-power pins can be used while device power management enabled.
Usage
...
&uart0a_rx_p0_0 {
pinmux = <MAX32_PINMUX(0, 0, AF1)>;
low-power-enable;
/* Add low power mode flags, like: */
output-high;
bias-disable;
...
};
...
Default gpio sleep states are defined, user shall update sleep_pins
configuration as per of their needs
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
Some API function pointer types such as set/get_format(),
set/get_frmival() are indentical. Combine them to save some spaces.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
This commit modifies the MAX30101 sample to produce a generic heart rate
sensor sample.
Support for the BH1790 sensor is added.
Signed-off-by: Magpie Embedded <magpieembedded@gmail.com>
This commit adds a driver for the BH1790 Heart Rate Monitor IC.
Based on the approach used by the MAX30101 driver, an existing optical
heart rate sensor with a sample in Zephyr.
Signed-off-by: Magpie Embedded <magpieembedded@gmail.com>
Add Josuah Demangeon "josuah" and Phi Bang Nguyen "ngphibang"
as maintainers for video drivers.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Remove the TSC approval requirements for binary blobs. Clarify
in the language that the submitter and reviewers shall ensure
that all binary blob requirements are being met before approval
and integration into Zephyr.
Signed-off-by: David Leach <david.leach@nxp.com>
Commit 42fb9067e4 makes it mandatory to
now have reg-names property on the riscv,machine-timer node. This DTS
file was somehow missed as part of the refactoring.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Clarify the changes introduced in machine timer bindings:
* Several legacy compatibles (e.g. andestech,machine-timer,
neorv32-machine-timer, etc.) have been unified under riscv,machine-timer.
* MTIME and MTIMECMP addresses must now be specified explicitly using the
reg and reg-names properties.
* The reg-names property is now required and must match the reg entries
one-to-one.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
This commit updates all relevant device tree source files using the
riscv,machine-timer binding to explicitly define `reg-names` for the MTIME
and MTIMECMP registers.
This change ensures compatibility with the updated riscv_machine_timer
driver, which now relies on `reg-names` to resolve register addresses
instead of using fixed index positions.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
This commit updates the riscv_machine_timer driver to resolve MTIME and
MTIMECMP register addresses by their `reg-names` instead of relying on
index order.
This improves clarity and robustness in DTS bindings, and is a prerequisite
for handling cases where not both MTIME and MTIMECMP registers are present
or accessible.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
The set_assignees.py script detects platforms
by checking if the Area title contains the string
"Platform", this was missing for some NXP
Platforms, so this adds it. This way the platform
maintainers are assigned preferably.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Use a form based template instead of freesyle template. This will force
bug reporters to follow the template and provide the needed information
and will make triage easier and bug reports consistent.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Just move a code with workaroud to convert platform names
to the full name with variants.
It fixes an issue, that not every platforms are printed
before running tests.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
`timings` is an array of `struct i2c_config_timing` (3 x `uint32_t`).
`i2c_timings_##index` is an array of `uint32_t` (hence the cast when it
is assigned to `timings`). Therefore `ARRAY_SIZE(i2c_timings_##index)` is
off by a factor 3 when used for `n_timings`.
Parentheses around the second `sizeof` are there to silence the gcc warning
(-Wsizeof-array-div) that warns about not computing the size of
`i2c_timings_##index`.
Signed-off-by: Wouter Horré <wouter@versasense.com>
Let uOSCORE and uEDHOC Kconfigs select required PSA Crypto features
instead of having them selected in Mbed TLS' Kconfigs. Besides this the
previous configuration was enabling legacy support in Mbed TLS whereas
uOSCORE/uEDHOC use PSA Crypto APIs.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
uOSCORE and uEDHOC only use ECDSA and ECDH for signatures and key
agreement respectively, so the support for RSA is not required.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Remove one last (?) mention of NIOS II in the docs ; use it as an
opportunity to mention recently added support for Renesas RX.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Recent test specification added additional test for validating
invalid packet sizes on L2CAP signaling channel. IUT is allowed
to either disconnect link, ignore packet, reject packet or
issue a warning to upper tester if other action is taken.
To keep things in line with previous check for too small size
simply ignore fixed size packets of invalid length.
This was affecting L2CAP/COS/CED/BI-11-C qualification test.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
Instead of checking whether a custom implementation is present, check
whether the AEAD one is used.
This allows downstream users to expand the implementation choice with
more options.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Some ITS store module implementations may make use of them.
This is the case of the custom one in the
secure_storage.psa.its.secure_storage.custom.store test.
Instead of making transform.h conditionally available, move the definitions
to common.h and simply make them available whenever the ITS transform
module is enabled.
At the same time, remove unneeded/redundant includes/build asserts.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Instead of checking for CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_*_CUSTOM,
check for any of the existing providers.
This allows downstream users to expand the choices with more options
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Add board-specific overlay file for the adc_dt sample
on the STM32F0-DISCO board to enable ADC channel support.
Signed-off-by: Sudarsan N <sudarsansamy2002@gmail.com>
The bt_csip_set_member_register kept a counter that was not
decreased when bt_csip_set_member_unregister was called.
This meant that we could register and unregister CSIS,
but we could not re-register once it had been unregistered.
This commit fixes this by removing the counter and instead
rely on the service instance state, which also requires restoring
the original service definition, as well as adding a test that would
have failed with the previous version.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add new configuration options for runtime PM to the release notes,
including stack size, priority, and system work queue usage. Update
the runtime PM documentation to explain the implications of using the
system work queue and disabling asynchronous operations. Include a new
version of the sequence diagram for asynchronous operations.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
Async now uses its own work queue, which means it consumes more
resources. Since not all applications need the async API, we can make
it optional without any penalty for those applications.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
Device runtime is using the system workqueue to do operations
that are mostly blockers (suspend a device). This should not happen.
This commit adds an option to use dedicated queue for the device runtime
async operations.
The test for this API was assuming that the system workqueue
priority (which is cooperative) so we need to change the test priority
to be lower than the device runtime workqueue priority.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
A -1 was missing from the timer value calculation. In addition,
DIV_ROUND_CLOSEST was replaced with a custom macro fixing #84782.
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
Based on a dicussion on the Bluetooth SIG GAWG reflector, it is
not allowed for a broadcast assistant to request specific BIS
indexes as well as BT_BAP_BIS_SYNC_NO_PREF in the same
request.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Based on a dicussion on the Bluetooth SIG GAWG reflector, it is
not allowed for a broadcast assistant to request specific BIS
indexes as well as BT_BAP_BIS_SYNC_NO_PREF in the same
request.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This commit splits the CAP and GMAP audio configuration (AC)
tests into separate scripts. The purpose of this is to reduce
the runtime of the individual scripts (some, like the cap_ac_11,
tests takes a long time to run all combinations).
This split also improves support for running them in parallel.
An additional, positive, side effect of this is that the logs will
also be smaller per run.
The new scripts can be run directly, or via the e.g. _cap_ac_X.sh
scripts that run entire audio configuration for all presets.
The design of how the parameters are passed around, are based
on variable instead of function arguments. Effectively they can
be used for the same thing, but variables have the advantage
that it is easier to deal with longer names,
and that any of the test scripts can be called with additional
arguments that can, when using variables, easily be forwarded
to the call to Execute for the PHY in the
_ac_common.sh.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Fix issue where STM32 I2C LL driver could block forever when SDA and SCL
are shorted and interrupts are disabled (CONFIG_I2C_STM32_INTERRUPT=n).
Added timeouts to all blocking wait loops in the STM32 LL I2C driver to
avoid indefinite blocking.
Fixes#88506
Signed-off-by: Jean Nanchen <jean.nanchen@hevs.ch>
Added network type check to fix the system crash caused by non-wifi
network card calling wifi api interface
Company:BSH Crop
Signed-off-by: Chen Tao <ct05342@163.com>
"udp bind" and "udp send" commands use the same net context
variable and they fail early if the context is already used.
This prevents from using "udp send" after "udp bind", which
makes the commands hard to use for testing bidirectional
communication. Make "udp send" reuse the already bound
context if possible, and resort to allocating temporary one
otherwise.
Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
When execute `bt connections`, only the peer device address of selected
LE connection is flagged with `*`.
Improve the command `bt connections` to support BR connections.
Regardless of the connection type, `*` will be shown to indicate the
peer address of the current connection if the peer device address is
the peer address of selected connection.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
This commit removes the requirement for DNS_RESOLVER. If DNS_RESOLVER is
enabled, hawkbit uses `CONFIG_DNS_RESOLVER_MAX_QUERY_LEN` for the
server_addr buffer, if disabled it uses `CONFIG_INET6_ADDRSTRLEN`.
This adheres to #89533 which removes the requirement for DNS_RESOLVER.
Signed-off-by: Neal Jackson <neal@blueirislabs.com>
This commit adds a `strnlen` length check for `server_addr` to ensure that
it will not be truncated and result in a silent failure. Instead, the
call to `hawkbit_set_config` will return -EINVAL if the supplied
`server_addr` is too long for the internal buffer.
Signed-off-by: Neal Jackson <neal@blueirislabs.com>
The hawkbit subsystem was erroneously using DNS_MAX_NAME_SIZE as the
maximum query length. This limited query strings to only 20 bytes,
truncating many domain names.
Signed-off-by: Neal Jackson <neal@blueirislabs.com>
Because this is a common testing scenario, almost any counter instance
should be able to run. Some counter instances cannot run this sample
should be filtered by platform_exclude or filter keywords.
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
Migrate renesas,ra-agt-counter implementation to use hal_renesas.
Add additional AGT_CLOCK_SUBCLOCK count source.
Add constraint for counter resolution to 32 or 16 bit variant.
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
Updated set_drp_toggle to handle differences in TCPCI revisions.
Added a macro for TCPCI revision and read it from the chip register
during initialization.
Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
When TF-M is enabled, Mbed TLS's MD module (which is used to generate
v5 UUIDs) will dispacth hash operations to TF-M. Unfortunately TF-M
does not support SHA-1 (because it's a weak algorithm) so the
computation will fail.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
- "bt_le_adv_update_data()" func calls just after bt_enable() call
without completion of bt_ready() which is called as part of worker
thread within init_work() causes issue where bluetooth controller
has not been initialized and provides cb to app before app requests
advertise_update to the stack.
- remove bt_ready() func and place content within main() post
bt_enable() fixes this issue.
Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
Some IPM devices return an error if we request to transfer data.
Use IPM_MAX_DATA_SIZE to determine if the virtio ID can be transferred
through the IPM device.
Send data to IPM only if CONFIG_IPM_MAX_DATA_SIZE is not zero.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
The ipm_send() allows transferring data through the IPM device.
However, depending on the platform, the mailbox peripheral may either
transmit a limited amount of data or not transfer data at all.
Introducing this configuration allows exposing the IPM capability to the
application.
This commit defines a default value of 1024 bytes to avoid impacting
existing IPM drivers and sets the value to 0 for the STM32 IPCC and
STM32 HSEM devices.
This allows, in a next step, other devices to use this configuration to
expose their capabilities instead of using proprietary configuration or
a static definition.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
The name of the boards was incorrect in the documentation,
Fix the name of the board according to the official name.
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
In almost all WCH boards doc, the name of the processor had a typo:
QingKe 32-bit RISC-V4F instead of QingKe V4F 32-bit RISC-V
Fix the doc for all relevant boards.
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
Fix issues reported by string validation which was added to strings
used in zassert macros.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
In enum tcp_state {}, the CLOSED state was put at the last one.
When we do Sequence & Ack validation, we will need to skip the
CLOSED, LISTEN, SYNSENT states. It is easier for coding if we
put the CLOSED to the front, e.g. if state > SYNSENT. And, in
other OSes, the state sequence is normally defined like this.
Signed-off-by: Shrek Wang <inet_eman@outlook.com>
This test only works for 64-bit values. On targets which use 32 bits for
double, skip this version. The float test will check the 32-bit math for
that.
This is the 'nicer' version of this fix which uses sizeof rather than
relying on __SIZEOF_DOUBLE__.
Signed-off-by: Keith Packard <keithp@keithp.com>
When both CONFIG_NET_IPV6_DAD and CONFIG_NET_IPV4_ACD are disabled, the
anonymous union in struct net_if_addr ends up with no members, which
results in a different struct layout between C and C++.
In C, an empty union has size 0, while in C++ it has size >=1, which
shifts the offsets of the following fields.
Add a 1-byte dummy member to the union to ensure consistent layout
across both compilers.
Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
The spi_loopback_transceive() helper currently only prints a
message if a configuration is invalid, continuing the test
case as if it succeeded. This results in the test case using the
helper trying to validate the result from a spi transaction that
was skipped.
Fix this by explicitly skipping the test using the ztest
framework's ztest_test_skip() function, which skips the entire
test case.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
- Add devicetree for AM6232, the dual core AM62 processor without GPU
- Used in revision A0 of PocketBeagle 2
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
- AM6232 is a dual core variant of AM6234 with everything being same.
- Used in the first batch of PocketBeagle 2
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
With e337b7b65d, the test started to
fail with stack overflows in the no_optimizations scenario, so give
the ztest thread a little more space.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Update the lfxo node load-capacitance-femtofarad to
match the chosen external lfxo on the nRF54L15-DK design.
Previous stray capacitance value was incorrect, which
resulted in a too low load capacitance.
Signed-off-by: Håkon Alseth <haal@nordicsemi.no>
- Setting default value of passive scan
dwell time of 400ms as SDK doesn't
configure default value.
Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
Add cmake linker generator things for .last_section.
Follow up to #88970. Fixes bug #89719, for gcc/ld & iar
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
This is a host driver for ESP32 chips running the esp-hosted
firmware, which turns ESP32s into a WLAN/BT co-processor.
Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
As TinyCrypt gets deprecated, we need to remove all bsim tests that use
it. This commit switches all Bluetooth mesh bsim tests to PSA as a
default crypto backend.
This includes:
- removing `CONFIG_BT_MESH_USES_TINYCRYPT` as PSA is default crypto
backend for mesh. `CONFIG_BT_MESH_USES_MBEDTLS_PSA` is not required to
be enabled;
- merging `overlay_psa.conf` into `prj.conf` as this configuration
becomes default for all mesh bsim tests;
- merging `overlay_ss.conf` into `overlay_pst.conf` as secure storage is
required for running persistent storage bsim tests with PSA;
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
This is a preparation commit for switching all bsim tests to PSA as
TinyCrypt will be removed soon.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Allow ESP32 devices to test the scenario where
when alarm should not be triggered after being cancelled.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
As part of counter API updates, RTC timer will be removed from
counter API driver and can be removed from the test list.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Currently to set/clear the pins, we do a logical OR of the value with the
existing values in set/clear registers. However, reading these registers
always returns the value in out_data register. This is undesirable as it
can cause unnecessary complications. Consider the following scenario:
We need to set PIN 0:
set_data |= BIT(0)
We need to clear PIN 1:
clr_data |= BIT(1)
The latter would also clear the 0th bit due to the aforementioned
behaviour.
This patch fixes this by writing the mask directly without ORing.
Signed-off-by: Amneesh Singh <a-singh7@ti.com>
This patch fixes memory corruption that can happen when running in
multi-thread and multi-core environment with heavy scheduling stress.
In SMP configuration, we must ensure that all thread's context is
stored before writing the switch_handle flag. Otherwise some of the
thread context writes could be delayed after another CPU begins to
schedule this thread which could lead to memory corruptions.
Signed-off-by: Sylvain Chouleur <schouleur@snapchat.com>
There is an issue that the buffer cannot be allocated by the function
`read_payload()` in UART ISR context. Then the UART RX will be
disabled. The H4 driver hopes to get the receive buffer in the HCI RX
thread and then open the UART RX again. However, there is a situation
where the HCI RX thread is blocked in getting the received data
buffer. However, since the UARt RX has been disabled, the HCI RX
thread cannot get the received data buffer. Therefore, the RX thread
is always blocked here, causing the Bluetooth host to not work
properly.
Add a semaphore `rx.ready` to notify new received data buffer has
been added to H4 RX queue.
Wait for the semaphore `rx.ready` instead of H4 RX queue in HCI RX
thread.
Wake up the HCI RX thread when failing to allocate the RX buffer.
Fixes#89879.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Don’t insert empty lines before a dedenting };.
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Indent with tabs.
- Don’t insert empty lines before a dedenting };.
- Insert a single empty line to separate nodes at the same hierarchy level.
Also remove a few spurious space characters.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Indent with tabs.
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Don’t insert empty lines before a dedenting };.
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Indent with tabs.
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Indent with tabs.
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Insert a single empty line to separate nodes at the same hierarchy level.
By the way, also correct indentation in node stm32_lp_tick_source of
b_g474e_dpow1.dts.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Indent with tabs.
- Don’t insert empty lines before a dedenting };.
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Indent with tabs.
- Don’t insert empty lines before a dedenting };.
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Indent with tabs.
- Don’t insert empty lines before a dedenting };.
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix board DTS coding style issues to prevent they spread when a new
board is introduced and used this DTS as example start point.
Issues addressed from Zephyr devicetree style guidelines [1]:
- Don’t insert empty lines before a dedenting };.
- Insert a single empty line to separate nodes at the same hierarchy level.
No functional change.
Link: https://docs.zephyrproject.org/latest/contribute/style/devicetree.html [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
When nvs_write is called, the nvs_flash_block_cmp is used to check if
the new data to be written matches the data already on flash. This check
always fail when CONFIG_NVS_DATA_CRC is enabled, caused by the
NVS_DATA_CRC_SIZE being added to the len parameter. The pointer to the
new data does not already have the CRC part added, while the data on
flash does, and the size to be compared includes CRC section.
By removing the addition of NVS_DATA_CRC_SIZE to the compare size, only
the data without CRC is compared, which will make the compare work in
both cases.
Signed-off-by: Yonas Alizadeh <yonas.alizadeh@alfalaval.com>
The CR bit in DISC frames should be set as a command rather than a
response.
This patch fixes the rfcomm_send_disc function to correctly use
BT_RFCOMM_CMD_CR instead of BT_RFCOMM_RESP_CR when setting the CR bit in
the address field of DISC frames.
Signed-off-by: Jiawei Yang <jiawei.yang_1@nxp.com>
Introduces one of the official flash tools for bouffalolab platforms.
Co-authored-by: Gerson Fernando Budke <nandojve@gmail.com>
Signed-off-by: Camille BAUD <mail@massdriver.space>
The original filtering condition was only whether ambient-temp0
device existed or not. However, registering ambient temp0 does
not mean that NET-related devices have been enabled.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Add support for p3t1755 temperature sensor on RT700 cm33_cpu1 core
Add net driver condition to exclude rt700 platform
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Added IAR support to the macros ARCH_ISR_DIAG_OFF and
ARCH_ISR_DIAG_ON and updated the IAR warning macros.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
The IAR C/C++ compiler can't resolve a cast on a pointer
to a constant expression. This is used in the
_ARCH_MEM_PARTITION_ALIGN_CHECK macro.
This fix checks if an IAR compiler is used and disables the
start-alignment check if it is.
This was already fixed for v7 in rev d34d554d.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
Update hal_wch.
As the hal upstream changed name, there is now a name conflict.
Rename ch32fun.h to hal_ch32fun.h to fix this conflict.
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
Add Variscite DART-MX93 board support. This SoM is based on NXP's
i.MX93 SoC. It includes Cortex-A55 and Cortex-M33 support.
Signed-off-by: Andre Morishita <andre.m@variscite.com>
The PR for this shield was in-flight while shield.yml was being introduced.
Add the missing file so that this shield is properly listed in the
board catalog.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Enable support of SECURE LCS stage. In this stage, the protection
state is set to “secure”. A secured device will boot only when the
authentication of its flash boot and application code succeeds
Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
Instead of using app_header.c generate the app header using python
script and merge with final binary post build
Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
Add custom flashloader (for openocd) with 64k of erase block size.
Default one has 512, which cause MCUbootloader overwrite during flash
primary application.
Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
Initializing the C++ stack unwinding data structures takes quite a bit
of stack space. Increase the TEST_EXTRA_STACK_SIZE when using these.
Signed-off-by: Keith Packard <keithp@keithp.com>
These two tests are validating that deprecated APIs still work
correctly. Which means they will definitely generate compile warnings.
To disable -Werror while letting it be enabled for other tests, create a
new Kconfig variable, DEPRECATION_TEST and make
COMPILER_WARNINGS_AS_ERRORS depend on that option being unselected. Add
this option to the two tests so that the resulting configuration
disables -Werror.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This file is explicitly included by the espressif hal module. It's an
internal file provided by picolibc and newlib. Provide a stub to let
code designed for those to work with the minimal C library.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This test only works for 64-bit values. On targets which use 32 bits for
double, skip this version. The float test will check the 32-bit math for
that.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Zephyr switched to using CMSIS_6 module in f726cb51
which breaks certain boards like `nucleo_h745zi_q/stm32h745xx/m7` when
CONFIG_CORTEX_M_DWT, CONFIG_TIMING_FUNCTIONS are enabled and cmsis from
`module/hal/cmsis` is not available (deleted explicitly after west
update).
This commit adds a provision to be able to use CMSIS_6 macros when the
module cmsis is not available.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
As noted in PR #89370, the content of these files falls below the
trivial threshold. Therefore, it is not necessary to retain the original
copyright, which was carried over when the files were copied from the
`cmsis` module.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
This commit brings a convenient way to run clang static analyzer on a
project with 'analyze-build' llvm utility.
Signed-off-by: Alex Fabre <alex.fabre@rtone.fr>
Test case `test_set_bulk` and `test_get_set` test the LwM2m getter and
setter function by
- init a buffer with some value
- calling lwm2m_set_... with buffer as parameter
- calling lwm2_get_... by letting `get` write-back into the same
buffer(!)
- compare the buffer with the init value
That implementation can't recognize a no-operation getter function.
This change adds some C macro magic for both test cases where
an `out` buffer for setter and an `in` buffer for getter functions
exists. The buffers are checked before use for inequality to avoid
any unexpected pass.
Signed-off-by: Stefan Schwendeler <Stefan.Schwendeler@husqvarnagroup.com>
Add support for 16-channel ADC to cc23x0 SoC. The driver supports the
following conversion modes:
- Single channel | Single conversion,
- Sequence of channels (up to 4) | Single conversion.
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Some RTC clock code introduced is specific to SOC_SERIES_MCXN, and
causes build failures on other SOCs.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
Siwx91x support a specific mode slightly better than the old legacy PS
mode.
This mode has to be set on the NWP boot, so it is not easy to configure
it during the runtime. Hence, this patch only provide a compile time
option to enable it.
Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Added power-save mode support to optimize station wake-up timing
and reduce power consumption. The device currently supports
only legacy power-save mode.
This feature can be tested using the Wifi shell:
- ps: Enable the PS. By default, the device operates in fast
PSP mode.
- ps_exit_strategy: Updates mode if enabled; otherwise, follows
the configured exit strategy when power-save is enabled.
- ps_wakeup_mode: Configures the wake-up behavior.
- ps_timeout: Defines the timeout duration for power-save mode.
Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Update the response callback function signature to allow the callback to
return an error code, which in turn will cause the HTTP client to abort
the download.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The return value can only be -1, errno value should be verified instead
for the actual error code.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
This change introduces the use of shield.yml in the `west shields`
command so that when using the `-f` option one can output the shields'
full name and vendor information.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
While legacy shields are still supported, this introduces a shield.yml
file similar to board.yml that allows to more explicitly declare a
shield and to set some useful metadata such as vendor and full name.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The logic to "guess" shield names/dirs was duplicated between
list_shields.py (which is used by e.g. west shields) and shields.cmake.
This commit moves the logic to list_shields.py, and updates
shields.cmake to call the script and process its JSON output.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Prevent list_shields.py from crashing if a provided BOARD_ROOT
does not contain a shields folder.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This commit adds a new vendor prefix for Ai-Thinker Co., Ltd. to the
vendor-prefixes.txt file.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The default format for ov7670 is currently VGA YUYV and it counts on the
smartdma to reset the format to RGB565 QVGA when get_format() is called.
Recently, set_format() is decoupled from get_format() so this assumption
is nolonger correct.
Set the default format to RGB565 QVGA instead.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
sys_heap alloc and free are not thread safe so lock is needed to
prevent data corruption.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
This commit updates the DTS for the da1469x and defconfig for the
da1469x_dk_pro and da14695_dk_usb boards to support the ARMv8-M MPU.
Signed-off-by: Loek Le Blansch <loek@pipeframe.xyz>
Same error had to be fixed in the branch where optimizations were done.
This is probably a good example of where using `if (IS_ENABLED()) ...`
is a better choice than using `#ifdef`. Because the compiler would have
caught this error last time as well.
Anyway, same problem - different line(s)!
A warning was propogated to error when building for
native_sim/native.
```
timeutil.h:682:17: error: result of comparison of constant \
-9223372036854775808 with expression of type '__time_t' (aka 'long') \
is always false [-Werror,-Wtautological-constant-out-of-range-compare]
timeutil.h:680:17: error: result of comparison of constant \
-9223372036854775808 with expression of type '__time_t' (aka 'long') \
is always false [-Werror,-Wtautological-constant-out-of-range-compare]
```
This is due to the issue described in #90029.
Add workarounds for `timespec_to_timeout()` and `timespec_negate()`
until 90029 is resolved.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Generator was enabled some time ago to use sys_rand32_get() however this
function is no longer in use.
Signed-off-by: Bartlomiej Buczek <bartlomiej.buczek@nordicsemi.no>
Sets the SYS_CLOCK_HW_CYCLES_PER_SEC Kconfig from devicetree
entries. Also fixes invalid configuration on nrf54h20 whereby it
attempts to take the clock frequency from a peripheral that does
not exist
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds the default 32.768KHz clock frequency to this peripheral, as it is
used as the system timing source
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a function which can be used to get the integer value of a
devicetree property in Kconfig from a nodelabel
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
The new Nordic platforms use GRTC instead of RTC
as the system timer.
Also the nrf54h20 CPUPPR target does not have enough memory
to execute the `timer_behavior` test.
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
Add yangbolu1991 and Zhiqiang-Hou as the collaborators for NXP MPU,
yangbolu1991 has contributed a lot of in scope of MPU M-core and
Zhiqiang-Hou has contributed a lot of in scope of MPU A-Core, they
could help to fast the review process.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Commit 0e41b07309 ("drivers : flash:
update way to get flash size") changed the way to get flash size from
the LL_FLASH_GetSize() HAL function to the current DT_REG_SIZE() macro.
However, they are not equivalent:
- With LL_FLASH_GetSize(), REAL_FLASH_SIZE_KB returned the *total* size
of the Flash memory, reading it from a ROM register of the CPU. For
example, it was 2048 (2MB) for a STM32H747xI.
- The current DT_REG_SIZE() applies to a flash *bank*, therefore it only
returns half of the total Flash size on dual bank devices.
This mismatch causes issues with the DISCONTINUOUS_BANKS logic below,
incorrectly matching partitions close to the end of the first bank as
appearing to span both and triggering the "range overlaps discontinuity"
check later.
Fix it by doubling the size when appropriate, in the same way it is
already done for the M4 core.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
- Use DEVICE_MMIO_* macros for getting the registers.
- These macros automatically used the proper RAM/ROM address.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Add an spi overlay for the audio build_all tests.
Add the pcm1681 to both i2c and spi overlays.
Signed-off-by: Jaro Van Landschoot <jaro.vanlandschoot@basalte.be>
Fix regression introduced by dormant state, where the
carrier does not get closed when Cellular Modem driver
is suspended.
Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
With Clang you can't set long_call attribute on function basis. Instead
of converting all calls to long calls let the linker create veneers when
necessary.
Signed-off-by: Veijo Pesonen <veijo.pesonen@alifsemi.com>
A warning was propogated to error when building for
native_sim/native.
```
timeutil.h:519:17: error: result of comparison of constant \
-9223372036854775808 with expression of type '__time_t' (aka 'long') \
is always false [-Werror,-Wtautological-constant-out-of-range-compare]
```
This is due to the issue described in #90029.
Add workarounds for `timespec_to_timeout()` and `timespec_negate()`
until 90029 is resolved.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The RX floating-point hardware only works on 32-bit values
so default gcc will build doubles as 32-bit, this make many
test fail on RX build test.
This commit force the build for RX arch to use 64-bit doubles
FPU will be supported later on this arch
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Use the newly added timespec util functions to manipulate and
compare timespec structures with overflow detection.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add documentation in the timeutil group for recently added functions
for validating, comparing, and manipulating `struct timespec`
objects as well as functions for converting between representation
of time durations as either `struct timespec` or `k_timeout_t`.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add a timespec util testsuite. This should have reasonably high enough
coverage to be useful.
I would have preferred to add this as an architecture-independent
unit test (for the unit_testing platform) under tests/unit/timeutil but
there is an inconsistency about the size of time_t on the unit_testing
and native_sim/native platforms. On every other platform supported by
Zephyr, time_t is 64-bits. However, on those platforms, time_t is only
32-bits.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add a number of utility functions for manipulating struct timespec.
* timespec_add()
* timespec_compare()
* timespec_equal()
* timespec_is_valid()
* timespec_negate()
* timespec_normalize()
* timespec_sub()
* timespec_from_timeout()
* timespec_to_timeout()
If the `__builtin_add_overflow()` function is available, then the
API is mostly branchless, which should provide decent performance on
systems with an instruction cache and branch prediction. Otherwise,
manually written alternatives exist that are also perhaps more
readable.
The two functions at the end convert time durations between
representation as `struct timespec` and `k_timeout_t`.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add the device name to the error logs so we can differentiate which
device caused the error and not just which port.
Signed-off-by: Yuval Peress <peress@google.com>
struct usb_setup_packet represents the setup data payload of a USB control
message which is exactly 8-bytes in length.
On a legacy build of GCC 4.1.2 for an OpenRISC-like architecture it was
found that the compiler added padding after the bmRequestType anonymous
union, and subsequently the bRequest field causing the structure to be
padded to 12-bytes in length with the fields incorrectly laid out.
This patch corrects the issue by applying the __packed attribute to the
anonymous union. This corrects the issue.
The __packed attribute is also applied to the outer structure for the sake
of consistency.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
The string_create_helper function has the arguments: load_address_in_flash
and is_copy. These arguments take logical values, but previously the
calling code used 1 and 0 rather than the more idiomatic True and False.
This patch corrects the issue by replacing use of int values with bool
values.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
This patch makes various simplifications to the code structure which make
it more concise by reducing repetition.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
Previously the script used templates where the fields were identified by
numeric ordinal-identified placeholders. This makes the code hard to read
because it is hard to tell which string corresponds to which placeholder
in the substitution.
This patch corrects the issue by replacing the ordinal placeholders with
named placeholders.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
In Python, type annotations can be quoted to avoid forward references.
However, if "from __future__ import annotations" is present, Python will
always evaluate type annotations in a deferred manner, making the quotes
unnecessary.
The ruff python linter produces UP037 warnings to indicate cases where
quoting of type annotations can be removed. This patch corrects the
warnings.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
PEP585 enabled collections in the Python standard library (like tuple) to
be used as generic type annotations directly, instead of importing
analogous members from the typing module (like typing.Tuple).
The ruff python linter produces a UP006 warning if the deprecated type
annotations continue to be used.
This patch corrects the issue by correcting the single instance where
PEP585-style type annotations can be used.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
The ruff python linter produces a SIM401 warning when a dictionary is
accessed using if-statements to check for key presence. In this case, the
dict.get() method could be used instead.
For example:
value = foo["bar"] if "bar" in foo else 0
...can be replaced with:
value = foo.get("bar", 0)
This patch corrects the single instance of this issue in the script.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
The ruff python linter produces a SIM102 warning when there are nested if
statements which can be collapsed into a single if statement:
if foo:
if bar:
...
...becomes...
if foo and bar:
...
This patch corrects the single instance of this issue in the script.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
The ruff python linter produces a I001 warning when the imports of a Python
script are not sorted. This patch corrects the issue by sorting them.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
The script can be made more concise by combining the imports of three
classes from the typing module into a single line.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
The ruff python linter produces a B028 warning when the warnings.warn()
function is called with a stacklevel parameter.
By default the function will set a stacklevel of 1 which causes it to
output the stack frame of the line where the function is called without
any context information from higher up the stack.
It is recommended to use a stacklevel of 2 or higher. Therfore, this patch
sets the stacklevel parameter of all warnings.warn() calls to to 2.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
Ruff is the Zephyr projects supported Python formatting tool. This patch
applies auto-formatting gen_relocate_app.py in preparation for coming
tidy-ups and improvements.
With the Ruff auto-formatter applied, error E501 can be removed from
.ruff-excludes.toml exclusion rules.
gen_relocate_app.py has also been removed from the format exclude list.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
Add support for the Sony IMX335 CSI sensor.
This sensor supports resolution of 2592x1944 in RGGB bayer format
either 10 or 12 bits and using 2 or 4 CSI lanes.
For the time being only 10 bits on 2 CSI lanes is supported via
this commit.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Adds the simplest possible I2Cv1 controller driver for STM32 with the RTIO
interface. Currently only interrupt driven transfers are supported.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Adds the simplest possible I2Cv2 controller driver for STM32 with the RTIO
interface. Currently only interrupt driven transfers are supported.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Co-authored-by: Tom Burdick <thomas.burdick@intel.com>
In preparation of the introduction of the STM32 I2Cv2 RTIO driver, move
some functions that are used in both drivers into a common file.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Rename all functions and macros starting by stm32_i2c_* to i2c_stm32_* to
harmonize the driver.
Reformat some indents for better alignment.
Remove i2c_stm32_get_config function declaration from header since it is
not used.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
During previous commit of adding interface arg, wrongly change the
parameter count of 'wifi ap enable' to a small one. Change the value
to 47 can fix this issue and match the need of adding interface arg.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Update the west API documentation for the added active_only arguments
to as_dict/as_frozen_dict/as_yaml/as_frozen_yaml.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Add a sample demonstrating how to use the IRONside update service to
update the IRONside SE firmware on the nrf54h20dk/nrf54h20/cpuapp/iron
board.
Co-authored-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Add an IPC service API for triggering updates of the Nordic IRONside SE
firmware using the IRONside call module.
Co-authored-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Port SYS_INIT to use soc_early_init_hook as SYS_INITs are legacy.
Due to moving dmm_init() from PRE_KERNEL_1 SYS_INIT to
soc_early_init_hook(), the DMM test is also updated to ensure that
its setup function runs before dmm_init().
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
After introducing compile time argument validation of strings
used in zassert macros multiple warnings appear. Fix all of
them.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add noncallable printf with string used for ztest assert/assume
macros to ensure printf-like argument validation at compile time.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Right now, the power_clock_irq is not available on nRF54LM20A.
Since the onoff mechanism relies on the irq, the timer is used
to emit the hfclk_ready callback.
Signed-off-by: Piotr Koziar <piotr.koziar@nordicsemi.no>
Use LL_GPIO_SetOutputPin and LL_GPIO_ResetOutputPin for the STM32
optimized DP functions. This yelds a speedup of the bit-banged interface
from about 585kHz to 640kHz on an STM32C0.
Suggested-by: Mathieu Choplain <mathieu.choplain@st.com>
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add new TLS socket option, TLS_CERT_VERIFY_CALLBACK, which allows to
register an application callback to verify certificates obtained during
the TLS handshake.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Extract server configuration, client configuration and test shutdown
into separate functions so that they're reusable in other tests.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add new TLS socket option, TLS_CERT_VERIFY_RESULT, to obtain the
certificate verification result from the most recent handshake on the
socket. The option works if TLS_PEER_VERIFY_OPTIONAL was set on the
socket, in which case the handshake may succeed even if certificate
verification fails.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Convert the enable, pwm, and retention `gpios` properties away from the
GPIO specifier space to an integer array.
While this is a less specific type than the GPIO property, it has the
advantage of not requiring the PMIC gpios node to be both present and
enabled.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Make the image devicetrees available to sysbuild for advanced use cases.
This is done by calling `zephyr_dt_import` on each image target. The DT
target properties are all expected to be prefixed with `DT_`, so there
should be no conflicts.
Thus, the DT contents of a given `<image>` can be retrieved using e.g.:
dt_nodelabel(<var> NODELABEL <label> TARGET <image>)
as noted in `extensions.cmake`.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
The CMake dt_* API is backed by target properties. By default, it uses
the target named `devicetree_target` that is initialized in `dts.cmake`.
We should be able to customize this, now that we have a function for
loading those properties into a different target. For example:
zephyr_dt_import(EDT_PICKLE_FILE /path/to/edt.pickle TARGET target)
dt_nodelabel(node NODELABEL label TARGET target)
This would make it possible to reference multiple devicetrees in the
same build system, particularly sysbuild.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Extract the part of `dts.cmake` that invokes `gen_dts_cmake.py`, then
generalize it into a CMake extension, which can be reused by sysbuild.
The Python script itself is also updated, so that the generated CMake
file can accept an input variable DEVICETREE_TARGET, which comes from
the `zephyr_dt_import(TARGET ...)` argument.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Add support for using native sockets with the connectivity API. This
allows libraries that use the connectivity API to be tested in an
application with real connectivity, without external hardware.
Signed-off-by: Jordan Yates <jordan@embeint.com>
This commit removes the SHI enable in the initialization. It can be
enabled by the application explicitly calling it when needed. The SHI
backend relies on the application layer to provide a data buffer for EC
Host Commands. If SHI is enabled before this buffer is initialized,
there is a risk that the driver may access a NULL buffer, leading to a
system panic.
Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
When calculating accel and gyro period for 12.5Hz, the frequency value is
incorrect. Updated to correct value.
Signed-off-by: Yau-ming Leung <ymleung314@gmail.com>
PIN9 of an ICM42688 can be configured as an interrupt output, external
clock input or frame sync output. Pin function can now be set via a sensor
attribute.
Signed-off-by: Yau-ming Leung <ymleung314@gmail.com>
Don't reference `net_if_get_by_iface` if `CONFIG_NET_RAW_MODE=y`, since
`net_if.c` is not compiled in that case, leading to linker errors.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The current procedure to initialize the GPIO is:
If the GPIO is configured as GPIO_OUTPUT and also has the
GPIO_OUTPUT_INIT_HIGH flag, set it to output high; otherwise, set it to
output low.
This may fail if the GPIO is simply configured as GPIO_OUTPUT without
specifying either INIT_HIGH or INIT_LOW, which means it is intended to
preserve the previous status. But in this case, we are currently setting it
to output low.
Fix this by explicitly initializing the GPIO to high or low according to
the configuration:
If the GPIO is configured as GPIO_OUTPUT and also with the
GPIO_OUTPUT_INIT_HIGH flag, set it to output high.
If the GPIO is configured as GPIO_OUTPUT and also with the
GPIO_OUTPUT_INIT_LOW flag, set it to output low.
If the GPIO is configured as GPIO_OUTPUT only,
do not set the output value.
Signed-off-by: Benson Huang <benson7633769@gmail.com>
Enabling CCDEV_SEL_EN may interfere with the expected behavior of
VCC1_RST#.
To prevent potential issues, this commit sets CCDEV_SEL_EN
to be disabled by default, ensuring reliable VCC1_RST# behavior.
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
The AXP2101 chip is a multi functional power chip offering a regulator,
charge controller and a fuel gauge (battery percentage and voltage).
Hereby, the fuel gauge provides much more reliable data compared to using
an ADC.
We implement minimal support for this chip (connected state, voltage and
gauge) and bind it to the fuel gauge subsystem.
Closes: #89158
Signed-off-by: Felix Moessbauer <felix.moessbauer@gmail.com>
led_context.h contains a single struct with max and min period, current
drivers that use it have hardcoded values and they set it at init.
This data is not used anywhere, and it makes very little sense to use
some SRAM for it.
Hardcode the limit for each driver and drop the struct and file.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add common structure for RTxxx AMP samples. Add amp_blink, amp_mbox,
amp_audio_output and amp_audio_loopback samples.
These samples are now configured only for the mimxrt685_evk, but are
intended to support other NXP microcontrollers with Xtensa-family cores
at a later date.
Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
Picolibc changed things like _WANT_MINIMAL_IO_LONG_LONG to
__IO_MINIMAL_LONG_LONG in an attempt to regularize the exposed names and
eliminate names that weren't prefixed with even a single underscore.
Adapt to this change by looking for both old and new symbols.
Signed-off-by: Keith Packard <keithp@keithp.com>
When building POSIX code, we need to use picolibc's limits.h instead of
manually defining the POSIX values. This avoids duplicate definitions of
these symbols.
Signed-off-by: Keith Packard <keithp@keithp.com>
Add definitions and init code for mimxrt685_evk/mimxrt685s/hifi4 (i.MX
RT685's HiFi 4 DSP core on MIMXRT685-EVK).
Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
Exclude fsl_power.c from DSP domains, as it doesn't compile on those
because of missing register definitions. Include fsl_dsp.c wherever it
can be included, as it's required for initialisation of DSP domains.
Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
Repoint hal_nxp to a new revision, which reflects changes needed for
mimxrt685_evk/mimxrt685s/hifi4.
Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
Adds missing RAM to qemu_x86 boards .yaml files, as well
as llext tag to only_tags to get llext tests to run on a subset
of x86 QEMU targets.
Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
Add threshold attribute handling to set low and high
temperature at runtime and validation for runtime changes
Signed-off-by: Tobias Meyer <tobiuhg@gmail.com>
Remove trailing spaces at the end of log string.
Move arguments on the next line for readability.
Align arguments to first line.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Provide an initial video buffer in the first call to video_dequeue().
It is used by the driver for choosing between the input or output queue.
Applied to capture, capture_to_lvgl and tcpserversink samples.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Sort alphabetically the header added in the previous few commits
as well as the original implementation.
Signed-off-by: Josuah Demangeon <me@josuah.net>
When the FPS value stored in data->frame_rate is zero, a division by zero
occurs. Fix it by clamping the frame rate between min and max values.
Signed-off-by: Josuah Demangeon <me@josuah.net>
The documentation of k_work_cancel_delayable_sync() states that the input
k_work_sync parameter needs to be valid until the function call returns,
so there is no need to preserve the state across successive calls.
Now that there is a single work-related field in the struct, rename it
to simply "work".
Signed-off-by: Josuah Demangeon <me@josuah.net>
This complements the 32-bit RGB (XRGB32) test pattern with an equivalent
24-bit RGB (RGB24) implementation.
Signed-off-by: Josuah Demangeon <me@josuah.net>
This refactors the pattern generator functions to also offer bayer formats
as input. 4 variant of bayer formats are proposed. The pixel packing is
also now split from the color selection: only a single RGB and single YUV
array used by all the pattern generators.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Add a check for the array size to avoid overwriting unrelated memory when
the buffer is too small for the full format. It first check if there is
enough buffer for one line, and fill it programmatically. Then, it will
try to duplicate that line over the entire buffer, in the limit of the
room available.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Return an error on fie.index >= 1 as there is only one framerate entry
per pixelformat, this prevents an endless loop.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Help with maintainance and possibly readability by using a more regular
layout for various tables of numbers. This adds a comma on the last
element to help with formatters like clang-format.
Signed-off-by: Josuah Demangeon <me@josuah.net>
In order to help debugging through GDB and other error messages and debug
tools, convert the __xxx prefix to video_sw_generator_xxx full prefix.
To help keep function names short, use slightly shorter sufixes.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Add the XSPI 2 which is an octoSPI connection to a octo NOR flash
mx66uw1g45 on the stm32h7s78_dk disco kit
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add the XSPI 2 which is an octoSPI connection to a octo NOR flash
MX25UW25645GXDI00 (256 Mbits, 1.8 V, 200 MHz, DTR, rww)
on the nucleo_h7s3l8 board.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add the definitions of the PLL2 and PLL3 outputs for the stm32H7RS mcus
and the HCLK 5 which is clock source for the XSPI instance.
and other HCLKn for other peripherals.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
The stm32H7RS serie has no DelayBlock Bypass control in its DCR1 register.
For other stm32 devices with DelayBlock bypass control, set the value
directly in the structure.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add the support of the stm32h7rs serie to the
drivers/flash/flash_stm32_xspi driver.
The stm32h7rs has no delayblock
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add the clock domain configuration for the xspi nodes
Where the DTS defines main clock and peripheral clock sel
plus a XSPIM clock
Signed-off-by: Francois Ramu <francois.ramu@st.com>
This commit is retrieving the config FLASH_BASE_ADDRESS
from the XSPI node of the stm32 device dtsi <reg> property of the
"st,stm32-xspi" node. For example the CONFIG_FLASH_BASE_ADDRESS
is 0x90000000 and application is linked for that address.
Size is given by the size property of the "st,stm32-xspi-nor" node.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
When a LD sends an ic-msg to SCFW - it happens that sometimes that SCFW
does not handle the request.
For the moment the problem is solved by sending a second vevif event
shortly after the initial request.
Signed-off-by: Maciej Meijer <maciej.meijer@nordicsemi.no>
Add support for cc23x0 RTC driver in counter.
RTC is always ON after device boot. Timer is restared only
on POR, and is active during STANDBY and ACTIVE power states.
Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
Add mcxw filter to catch changes to drivers/ieee802154/ieee802154_mcxw.c
Add George-Stefan as a collaborator for NXP Wireless
Signed-off-by: David Leach <david.leach@nxp.com>
Select the PLL clock source for PLL2 or PLL3 as well as main PLL
This choice is useful if main PLL is off (sysclock from fixed clock)
but PLL2 or PLL3 are on for other peripherals
All PLL must have the same source else this is an error.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add new device tree property specifying the number of
dummy-cycles required when reading the JEDEC ID.
The Arduino Opta has an at25sf128a with JEDEC ID 1F 89 01.
The PR below adds support for this, but the id read is 01 1F 89.
Changing DummyCycles to 16 causes the correct value to be read.
https://github.com/zephyrproject-rtos/zephyr/pull/89539
Signed-off-by: Mark O'Donovan <shiftee@posteo.net>
Nuvoton M55M1 series supports M-profile Vector Extension (MVE) (also
known as Arm Helium technology). This enables compute applications
such as DSP and machine learning.
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
Receive buffer must be aligned to word when
CONFIG_MODEM_BACKEND_UART_ASYNC_HWFC=y is set.
Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
Add the nxp,rtxxx-dsp-ctrl driver.
Responsibility of this driver is to load code executed by Xtensa-family
cores on NXP i.MX RTxxx microcontrollers and to control their run.
Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
In order to support working with multiple VIFs (e.g., STA + AP) add
interface as an option for all commands.
The interface can belong to same chipset or different (hypothetical).
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
According to wba55 refman RM0493, gpdma1 request for
spi1_rx_dma and spi1_tx_dma is 1 and 2.
solve failed test on drivers.spi.stm32_spi_dma.loopback
scenario.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
- enable spi3 and usart3 nodes for driver test purpose.
- delete usart1 node due to conflicting pins with i2c1
node
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
For the BAP broadcast sink sample handling of requested BIS sync set
to BT_BAP_BIS_SYNC_NO_PREF for one or more subgroups is now added.
In case of no preference of requested BIS then sync is adjusted to the
number of streams available when no target allocation present.
Signed-off-by: Jens Rehhoff Thomsen <jthm@demant.com>
Create Kconfig configuration for nrfx_clock driver and use that to export
configuration to nrfx via nrfx_kconfig. So far nrfx_kconfig was using
Kconfig flags from clock_control which created a fixed connection between
nrfx_clock and clock_control and nrfx_clock could not be used without
clock_control in Zephyr.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Useful to see what prefix is being selected for a given
IPv6 address if debugging is enabled.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Always prefer preferred IPv6 address over deprecated one
regardless of prefix length. This works now same way as in
Linux.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Some SoCs generates unexpected RXTO event during restart.
Restart happens when ENDRX_STARTRX short is enabled and STOPRX
is triggered (via short or by CPU). STOPRX starts closing
procedure and ENDRX event is generated at some point which
triggers STARTRX and closing procedure is interrupted. RXTO
should not be triggered in that case. Due to internal timings
some SoC on fast UARTE instance will trigger RXTO followed
by RXSTARTED. This RXTO event shall be cleared as receiver is
actually restarted and not stopped.
Affected SoC is not in tree so Kconfig is added which enables
the workaround.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add initial support for TI MSPM0 UART with basic poll-in and poll-out
functionality.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
Signed-off-by: Jackson Farley <j-farley@ti.com>
Add a GPIO driver support for TI MSPM0 SoC family.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
Signed-off-by: Jackson Farley <j-farley@ti.com>
Added a pinctrl driver support for MSPM0 Family.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
Signed-off-by: Jackson Farley <j-farley@ti.com>
Add a support for Texas Instruments MSPM0 fmaily and
MSPM0-G series SoC.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
Signed-off-by: Jackson Farley <j-farley@ti.com>
ENET timestamp IRQ still needed to be enabled from IP.
This is a fix-up for below commit:
faa55bd44b drivers: ptp_clock_nxp_enet: avoid configuring
IRQ handlers again
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
The ENET timestamp events may be via ENET IRQ rather than ENET
timer IRQ handled in ptp driver for some platforms like i.MX RT1060.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
According to RFC793 chapter3.5 with the 'Reset Processing' part,
"In the SYN-SENT state (a RST received in response to an initial
SYN), the RST is acceptable if the ACK field acknowledges the SYN."
So, in the net_tcp_reply_rst() we should use 'ack++' if no ACK
flag but have SYN flag.
And, all the RST packet should use net_tcp_reply_rst() instead of
tcp_out().
Signed-off-by: Shrek Wang <inet_eman@outlook.com>
Debugging information for RP2040/RP2350 is aggregated into the rpi pico
document, making other boards only refer to it.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Co-authored-by: Benjamin Cabé <kartben@gmail.com>
Co-authored-by: Andrew Featherstone <andrew.featherstone@gmail.com>
Update psa_crypto test not work on MAX32657
This commit enable/disable flags for MAX32657 to
make it works for MAX32657.
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
JWT test fails on max32657evkit/max32657/ns board, due to
it requries hardware TRNG on TF-M side which not activated
yet until it's issue been fixed it is excluded from automated
test to workflow been succeeded
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
MAX32657 has one UART interface,
It can be used either on TF-M or Zephyr
Enabling debug (TFM_SPM_LOG_LEVEL || TFM_PARTITION_LOG_LEVEL)
will transfer it to the TF-M side
Disabling TF-M debug will transfer it to the Zephyr side.
This commit disable TFM debugs
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
Add a library for the Camera Common Interface, part of the MIPI CSI
protocol standard defining methods to configure a camera device over I2C,
such as which size for the register address/data.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Due to limited value of clock divider, fast SPI instance
can work only at higher bitrates.
Add check for error message when fast instance is
configured to work at low/unsupported bitrate.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Previously, forcing no compiler optimizations is required for
x86_64 to unwind stack. However, this is not the case anymore
as long as frame pointers are not omitted. So update custom
kconfigs for x86 in the stack_unwind test.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Stack walking on x86_64 can run with compiler optimization and
does not need CONFIG_NO_OPTIMIZATIONS as long as frame pointers
are not omitted. So remove the "depends on" for x86_64
from CONFIG_ARCH_HAS_STACKWALK.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Add test code to ensure CS is behaving properly in many different
scenarios.
Also add a test case for the SPI_HOLD_ON_CS flag in the API.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add test cases for multithread access with both same spec and different
specs to make sure nothing goes awry.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add testcase to ensure some aspects of the timing is correct.
If the transfer happens faster than it should, fail the test.
If the transfer takes way longer than it should, fail the test.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Turn the old spi_complete_loop case into 4 cases to test configuring
the different clock modes. The old case was kind of redundant with
everything else anyways so this is more useful to replace it with.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add tests for different data frame sizes,
as long as the controller can handle that word size.
Starting out with new tests of 7, 9, 16, 24, 32, 64.
The skipping behavior of ZTest is still not clear for me so for now just
return instead of using zassume or ztest skip if not supported.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
A common usage of the SPI API by in tree consumers is to have one
underlying buffer used to both RX to and TX from. Add some test cases
ensuring this works properly:
- A case to ensure that RX writes back properly the same data that was
TX from the buf.
- A case simulating a very common paradigm which is to use one
underlying buf but declare the spi buf sets as though the first word
is a command from TX and the rest are data for RX.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Instead of using hard-coded GRTC_0_IRQn value, obtain information from
DT to get the IRQ number actually used by the nrf_grtc_timer driver.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Modify the capture sample to only run the video shell when the user
enables it with -DCONFIG_VIDEO_SHELL=y, as an alternative way to trigger
captures.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Introduce the video shell and implement some video shell commands.
Make use of the various querying API to implement tab-completion, and
validiate the data, as well as convert string names into integers.
Commands provided: frmival, format, ctrl, start, stop, capture
Signed-off-by: Josuah Demangeon <me@josuah.net>
Do not set_format() when doing get_format(). This design seems initially
to simplify the sample (just get_format() and everything works out of the
box) but it makes thing incomprehensive and error prone.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Do not set_format() when doing get_format(). This design seems initially
to simplify the sample (just get_format() and everything works out of the
box) but it makes thing incomprehensive and error prone.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
The format pitch (bytesperline) field is typically set by the bridge
drivers, i.e. DMA, ISP drivers who actually handle the memory as they
know exactly the memory layout constraints.
Application just set the pixel format and resolution and must always
read back this field to see what the driver actually sets (to allocate
buffers for example).
Also, drop format pitch setting in sensor drivers as this is not needed.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Drop video_stm32_dcmi_is_fmt_valid() as it is not needed. In this
function, (i) checking against a format based on another utility
function video_bits_per_pixel() is not robust, this check is done in
the sensor driver, (ii) checking against the heap size is not
appropriate because this should be done when allocating buffers, not
in get/set format.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
SDE_CTRL8_REG's value must be modified using modify_register.
Signed-off-by: Trung Hieu Le <trunghieu.le@nxp.com>
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
The mt9m114 camera driver used to be single-instance.
Improve it to multi-instance.
Signed-off-by: Farah Fliss <farah.fliss@nxp.com>
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
The MIPI CSI-2 Rx needs to be initialized after the camera sensor which
is generally initialized with CONFIG_VIDEO_INIT_PRIORITY.
This is currently true "by chance" due to the order the linker links the
object files. This linker order is not easily controlled, so use an
explicit priority value to ensure this requirement.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
The nrxf_spim driver currently resumes itself for the duration of
a transfer, however, in case SPI_LOCK_ON is used, the driver needs
to keep itself resumed until spi_release() is called. Currently,
this results in unbalanced suspend as the bus puts itself both
after transaction is done, and when spi_release() is called.
This patch makes the driver check if SPI_LOCK_ON is set once
transaction is complete, if yes, selv get one more time to
account for the two puts which will follow.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Cache was not enabled when s2ram did not completed which
lead to system malfunction. Always power up cache when
returning from s2ram function.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Update the nrf clock control test suite to not attempt to set the
removed closed loop mode of the fll16m clock.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Remove the closed loop mode implementation for the fll16m clock.
Closed loop causes a hardware bug resulting in increased current
consumption if SoC experiences high, but within spec, temperatures.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Commit adds mesh bsim test to check adv pool memory leakage
after mesh has been suspended.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Commit fixes bug when advertisements were disabled and stopped
during suspending without unreferencing allocated advertisements.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Make the compilation of vpr_launcher dependent on sysbuild Kconfig
that can be set by SoC.
Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
The original scale value used to convert raw gyro value to q31 format is
incorrect. Updated to the correct value.
Signed-off-by: Yau-ming Leung <ymleung314@gmail.com>
Refactor siwx91x_get_nwp_config function to reduce its
Cognitive Complexity from 34 to below the allowed limit of 25
as per SonarQube guidelines. Extracted configuration logic into
smaller helper functions.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
- Implement event handling for AP and STA modes
- Enable configurations for security (PSK), aggregation,
and hidden PSK credentials
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
- Adds support for configuring client maximum inactivity timeout.
- Adds support for bandwidth, It supports 20MHZ only.
- Adds support for setting the maximum number of clients and
hidden SSID mode by rebooting the NWP device.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Replaced SL_SI91X_CLIENT_MODE and SL_SI91X_ACCESS_POINT_MODE with
WIFI_STA_MODE and WIFI_SOFTAP_MODE, respectively, for AP configuration
command intergration.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
This patch introduces validation checks to ensure Wi-Fi commands are
executed only when the device is in a valid operational mode.
- Restricts command execution if the device is not in an appropriate mode
- Prevents reconfiguring the device when it is already in an active state
- Enabled Advanced multiprobe setting as default.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Configures the accelerometer polling and trigger samples to disable the
uart console when the rtt console is enabled. Having both consoles
enabled simultaneously doesn't currently work on the apard32690 platform
and it's redundant anyway.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Adds adxl345 streaming and trigger configurations to accelerometer
samples for profiling the performance impact of adding rtio support to
max32 spi and adxl345 accelerometer drivers.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Changes the accelerometer polling sample to include data with the FIFO
watermark trigger instead of dropping it.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Fixes the pmod_acl shield board to specify the default accelerometer
output data rate with a preprocessor macro that corresponds to an
encoded register field value, rather than an integer value in Hertz.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Specifies which gpio pins are connected to the pmod spi header on the
apard32690 board. This will enable using the adxl345 accelerometer
interrupt when attaching the pmod_acl shield.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
In order to prevent not serving all events that would clear the
interrupt line. This patch also removes FIFO servicing through
fetch/get APIs, as this is only exposed through streaming mode.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
The label for "Supported Hardware Capabilities" search field was
pointing to an HTML element with the wrong ID.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This change introduces the use of shield.yml in the `west shields`
command so that when using the `-f` option one can output the shields'
full name and vendor information.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
While legacy shields are still supported, this introduces a shield.yml
file similar to board.yml that allows to more explicitly declare a
shield and to set some useful metadata such as vendor and full name.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
- remove broken table (people can refer to Waveshare docs)
- use zephyr-app-commands compact mode
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
SEGGER Ozone J-Trace Code Profile identified iterations over daint value
as hot path. The iterations show at the very top of code profile because
full iteration happens whenever there is any activity on endpoint.
Optimize daint handling loops so only set bits are iterated over. While
this optimization depends on find_lsb_set() efficiency, it seems to be
worth it solely on the basis that quite often only few bits are set.
After a bit deeper analysis, I was suprised that on ARM Cortex-M33 the
find_lsb_set() approach is faster than naive iteration even if all bits
are set (which is extreme case because USB applications are unlikely to
use all 16 IN and 16 OUT endpoints simultaneously). This is due to fact
that there is only one conditional jump CBNZ and find_lsb_set() - 1
translates to RBIT + CLZ and then clearing the bit uses LSL.W + BIC.W.
Whereas the naive itation uses ADDS + CMP + BNE for the loop handling
and also has LSR.W + LSLS + BPL (+ ADD.W instruction on each iteration
to add 16 for OUT endpoints) for the continue check. Therefore the
optimized code on ARM Cortex-M33 is never worse than naive iteration.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Some simics dependencies live at its own directory, not application's.
Note we need to change it to its absolute path, because relative paths
for `add_custom_target` are relative to the build directory, while
relative SIMICS_PROJECT are more likely to be relative to ZEPHYR_BASE,
from where west or twister are normally run.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
Similar to the pre_dt_board.cmake, this is an optional file for
additional arguments that need to get passed to the devicetree compiler.
Signed-off-by: Paul Schaetzle <paulschaetzle@mailbox.org>
GitHub seems to have issue with workflow state caching that causes the
DNM step to not work properly in few cases and not detecting changes in
the DNM tag, forcing people to mess with tags or close/opening PRs,
which in turns restarts all workflows.
Convert the script to Python so that the tag data is guaranteed to be
fresh.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
- The stm32h573i_dk board uses a ft3267 i2c controller for the touchscreen
connected on i2c4.
- The zephyr driver ft5336 can control it.
- Use the I2C STM32 V2 Timing calculation.
Signed-off-by: Samuel Quiniou <samuel.quiniou@rtone.fr>
The OpenOCD STM32-specific configuration was included into the common
configuration, which was then used in board files. Follow nRF5
convention instead: use manufacturer-specific config in boards.
Also due to the fact that the include of STM32-specific config was
placed *after* board_finalize_runner_args() it didn't really work
anyways.
Signed-off-by: Marek Metelski <marek@metelski.dev>
Add config and overlay to samples for testing stop/standby modes:
- samples/boards/st/power_mgmt/blinky
- samples/boards/st/power_mgmt/wkup_pins
I've measured consumption for each low-power mode:
- stop (regulator in run mode) ~217 uA
- stop (regulator in low-power mode) ~206 uA
- standby mode ~3.5 uA
Low-power mode wakeup timings from the datasheet,
but it barely meets these in reality:
- stop (regulator in run mode) 3.6 us
- stop (regulator in low-power mode) 5.4 us
- standby 50 us
It's possible to use RTC as idle timer to exit from stop mode.
Signed-off-by: Oleh Kravchenko <oleg@kaa.org.ua>
Add a pull down to SPIM GPIO pins on nRF5340DK to ensure the i/o pins
on the nrf7002 device are not floating when SPI is inactive.
Signed-off-by: Bansidhar Mangalwedhekar <bansidhar.mangalwedhekar@nordicsemi.no>
Previously, the interval was only checked for non-zero. Now it is
validated to be within the allowed range (BT_HCI_LE_INTERVAL_MIN
to BT_HCI_LE_INTERVAL_MAX) to avoid invalid values.
Signed-off-by: Babak Arisian <bbaa@demant.com>
Loopback with D4 <-> D5 to avoid a failed test with the error
"physical pull-down does not read low."
It looks like pins D2-D3 couldn't be configured to pull-up
for some reason.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
The ogirnal design is using a J-Link script, then the path of image
is saved into the script file during building, it will has issue
when generate twister artifacts and copy it to another path for
testing as path is changed. so refine it to use new parameter of
J-Link runner parameter "--flash-sram" to fix this issue.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Add new parameter "--flash-sram" for J-Link runner to flash the image
to SRAM and modify the PC register to start of SRAM.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
If memory allocation for a dynamic object fails, an attempt is made to free
a null pointer instead of the allocated element of the dynamic object list.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
The pinctrl register bits need to be restored to GPIO mode
after we exit from certain low power modes. We cannot rely
on the pin function to default to GPIO.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Fix assertion observed establishing subsequent Peripheral
ISO connection due to a race between the new CIS context
being acquired into a CIG and LLL getting a CIS sorted by
CIS offset in that CIG. Get only active CISes from the CIG
in the LLL prepare.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix max tx octets value used as given to the Host by the
LE Read Buffer Size command response.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix missing removal of redundant ISO Rx size in ACL Rx PDU
allocation size.
Related to commit 7c89f1fe9f ("Bluetooth: controller:
Support for separate ISO RX data path").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add the PM handler. Reinitialize the DMA block in the
TURN_ON action, this is needed for some SoC's after the system
exits certain power modes.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Previously, the TMP1075 driver only used the integer part (val1) of the
sensor_value when setting TLOW and THIGH thresholds. This limited the
precision of temperature threshold configuration and could be insufficient
in applications requiring fine-grained control.
This patch adds proper handling for the fractional part (val2) by encoding
it into bits [7:4] of the 12-bit temperature register according to the
TMP1075 datasheet. The decoding logic in get_threshold_attribute() is also
updated to recover the fractional value accurately.
Signed-off-by: Hank Wang <wanghanchi2000@gmail.com>
Update the HW models module to:
c6296f600a6851bd652f207ab4908d339e1ce705
Including the following:
c6296f6 52/53 CCM: Remove warning on TASK_STOP
cb790ab hw_testcheat_if: Typo fix in comment
38956c4 RADIO: Add cheat interface to disable Tx or Rx
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Select SERIAL_SUPPORT_INTERRUPT for uart_bt, this is required to have
the interrupt API available.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Added the possibility of leaving the gpio-int property empty, in case
the corresponding pin is not connected.
Signed-off-by: Mirko Bottarelli <mirko.bottarelli@gmail.com>
Fix device initialisation, allowing for empty interrupt_gpios in the
dts, as suggested by the documentation.
Signed-off-by: Mirko Bottarelli <mirko.bottarelli@gmail.com>
Update the includes so that only what is actually used is included,
and so that everything is used is includes (IWYU).
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Connection manager enforces non-blocking disconnect() behavior, yet in
case CONN_MGR_IF_NO_AUTO_DOWN flag is not set, it'd put the interface
down right after, disrupting the disconnect process.
As putting the interface down can be handled in the corresponding event
handler as well, when the interface is actually disconnected, remove the
conn_mgr_conn_if_auto_admin_down() call from conn_mgr_if_disconnect().
To make this work with persistence flag, introduce a new internal flag
indicating that the interface is in active disconnect.
Finally, since it isn't really necessary that disconnect() API call is
non-blocking, remove that requirement.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Certain power modes lose state of the GPIO, hence we need to
reconfigure the interrupt GPIO. This is managed using pm_notifiers
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Allow either programatically from the test/code or from the command
line to chose if this executable exiting should terminate the
whole simulation, or if it should only disconnect the device.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Main changes since v2.5:
* ext_2G4_phy_v1: Now supports DISCONNECTS during abort re-evaluations
* ext_2G4_phy_v1: Also support bitrates multiple of 250Kbps and 333Kbps
Note: Like before, bsim remains fully backwards compatible
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The ns16550 UART driver has multiple variant Kconfig options. To
successfully run the uart_basic_api test, the correct variant must be
selected. This commit adds the missing Kconfig option.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Make the vbus-limit-microamp property of npm1300-charger required and
change its range to reflect the one actually supported by the device.
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
This makes SSD1327 use the new L8 display format.
It also fixes all displays that didnt support the undocumented
monochrome mode.
It also adds i2c and revamps the entire driver.
Signed-off-by: Camille BAUD <mail@massdriver.space>
A sample show-casing the core functionalities of the nPM2100 PMIC using
the nPM2100 EK as a shield.
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
Add generic board support for the RPU, real-time processing
unit on Versal Gen 2 SoC. It is based on Cortext-R52 processor.
Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
Add support for the RPU, real-time processing unit on Versal Gen 2 SoC.
It is based on Cortext-R52 processor.
The patch contains initial wiring and configuration for generic board
with OCM(1MB) and DDR(2G) memories, cpu, interrupt controller, global
timer and UART.
versal2.dtsi contains common peripherals integrated into Versal Gen 2
SoC, and versal2_r52.dtsi has peripherals which are private to
Cortex-R52 processor.
Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
- creates equal partition slots for NXP boards.
- allows support for all firmware update modes,
primarily for the new preferred "Swap using offset".
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Fix regression introduced by #88747 that breaks linking
with zperf server enabled but TCP or UDP disabled.
Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
Current code does not build on Cortex-M0, seems like it does not like
subs:
Error: instruction not supported in Thumb16 mode -- `subs r3,#1'
Adding a unified assembler language declaration in the snippet seems to
fix the problem, also add an M0+ board so this is tested in CI.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
DWC2 core sets DIEPCTL0 SNAK when SETUP packet is received. The CNAK bit
results in device sending NAK in response to IN token sent to EP0, but
it does not modify the TxFIFO in any way. The stale data in TxFIFO can
then lead to "FIFO space is too low" error. Solve the issue by disabling
and flushing IN endpoint 0 if previous control transfer did not finish.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
PTP was assigned to me by default though I never contributed there and
have no interest to do so.
Leaving virtualization and network areas behind.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
This patch adds support for the STM32L431XB SoC, which is the
128 KB flash / 64 KB SRAM variant of the STM32L4X1 SoC family.
Co-authored-by: Alexander Apostolu <apostolu240@gmail.com>
Signed-off-by: Alexander Apostolu <apostolu240@gmail.com>
Signed-off-by: Mirai SHINJO <oss@mshinjo.com>
Added io-channel-cells to the binding as is standard for
the ads1x1x binding. Additionally, this prevents an issue where
you cannot compile due to the length of this property being
longer than expected.
Signed-off-by: Connor Weekes <cweek24@gmail.com>
The memory offset starts the second DRAM memory area as if the resource
table took a whole 1MB, but it only takes 1KB. Shift the region start
address back to the right spot.
Update the docs to make the memory sizes more clear.
Signed-off-by: Andrew Davis <afd@ti.com>
A couple of ADI boards/shields were missing images. The images come from
their respective product pages on analog.com and then converted to webp
format.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Some simulators - like simics - may end up adding extraneous suffixes to
logged lines. This may cause some regex that match too much fail. This
patch fixes two such cases:
- regex to find RunID changed to only match valid hexadecimal
characters;
- regex to match start of testsuite changed to only match valid word
characters (0-9A-Za-z_).
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
This adds a proper, concise, title property to a bunch of bindings for
which the first sentence of their description (which used to be a
makeshift title) was really long
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
A binding documentation shouldn't be referring to "driver", so this
commit reworks the description accordingly, and sets a title now that
binding files can have one.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add missing curly braces in if/while/for statements.
This is a style guideline we have that was not enforced in CI. All
issues fixed here were detected by sonarqube SCA.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Turns off time slicing as these tests do not expect time slicing and
previously operated without time slicing, but now fallback to the new
default of a time slice size of 20 added in e337b7b. This explicitly sets
the time slice size to 0.
Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Turns off time slicing as these tests do not expect time slicing and
previously operated without time slicing, but now fallback to the new
default of a time slice size of 20 added in e337b7b. This explicitly sets
the time slice size to 0.
Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Add wsen_itds_2533020201601 driver with
the corrected name and compatibility with
the hal update as well as added new features.
Signed-off-by: Wajdi ELMuhtadi <wajdi.elmuhtadi@we-online.com>
Updates the scheduling documentation to include references to the
time slicing Kconfig options to make them easier to notice.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Sets CONFIG_TIMESLICE_SIZE=0 for tests that previously expected to run
without timeslicing enabled, and now fail with the default
CONFIG_TIMESLICE_SIZE=20. Note that timeslicing functionality is still
included, but no actual timeslicing is performed.
Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Sets the default for CONFIG_TIMESLICE_SIZE to 20 to approximate the
historical clamping behavior that was removed in 405611d.
Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
This dependency was always there but not explicitly defined.
By adding the explicit dependency it becomes more obvious
what is wrong when SPI is enabled but GPIO disabled.
This was found when building `samples/bluetooth/peripheral`
for `nrf54l15dk/nrf54l15/cpuapp` with `CONFIG_GPIO=n`.
Before we got:
- A linker error in `spi_nrfx_common.c` failing
to reference some nrfx_gpiote APIs.
- A linker error in `spi_nrfx_spim.c` failing to reference
the GPIO dts entry.
Now we will get a warning of that GPIO is not enabled
With this it becomes more obvious that SPI driver is enabled by
default because of the external flash mounted on the DK.
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
Adds a devicetree overlay file for the firmware loader image which
sets the code partition to slot 1, which is where the firmware loader
image resides
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Add Microchip MEC5 HAL based mec_assy6941 evaluation board to
the Zephyr SPI loopback driver test.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
SPI driver for Microchip MEC5 HAL based QSPI controller. QSPI
hardware supports full duplex, dual, and quad operation. MEC5
QSPI controller also includes three local DMA channels per
direction to off load firmware. The driver API supports full
or half-duplex. Due to QSPI hardware not supporting one wire
half-duplex, this driver supports full-duplex only. QSPI hardware
design requires it to control chip select and current hardware
supports up to two chip selects. Zephyr's SPI DT macros store the
child SPI device's reg properity as the "slave" member of the SPI
configuration structure. The driver uses the "slave" value as the
chip select. Additional timing settings specific to SPI flash devices
are in a new SPI device YAM file: "microchip,mec5-qspi-device.yaml"
which includes the standard "spi-device.yaml". If the new YAML is not
used, the QSPI controller will use default timing values for chip
select and I/O line taps.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
Using pre-defined values displayed on datasheet's table 5-4 for
CMM Update Rates.
Please note that datasheet specifies these Update-Rates may have
up to 7% standard deviation, which may be significant for certain
applications.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
This patch introduces rm3100 magnetometer sensor, with basic
support (only read-decode).
This driver has bus support for I2C.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
On some series, use of Delay Block could be possible on OSPI device but
not on HSPI one (which uses this drivers).
As a quick fix check the presence of XSPI Delay Block by-pass
configuration bit instead of the Delay Block presence.
Note: This fix works because we don't have cases today where this driver
is used for OSPI and HSPI instances with mixed DLYB compatibility.
This may have to be reviewed one day and may require a more complex fix
with instantiable configuration, but this day may never come as well.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
When running in a Windows environment, convert the slash direction to
match that used in config.psa and config-psa.h to eliminate the issue.
Signed-off-by: Tiffany Hsieh <thsieh@atmosic.com>
Remove `nios2` from list of available runners as it's just been dropped
with commit 5fe84d5b69
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Describe changes users need to do in their out of tree board definitions
after the SoC DTS files have been moved into subdirectories.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Align xg29 directory with other Series 2 families, introducing
separate .dtsi files per device family inheriting the common
xg29.dtsi file.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Arduino pn D10 is connected to port A pin 15
according to UM3292 - Rev 2.
This pin is used in tests/drivers/gpio/gpio_basic_api.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Support ctimer for NXP frdm_mcxa153 board, correct Core clock
frequency to 96MHz.
Test using tests/drivers/counter/counter_basic_api.
Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
Enables system PM and standby mode to
verify that the wdt driver correctly handles
PM3 mode.
Signed-off-by: Alex Rodriguez <alejandro.rodriguezlimon@nxp.com>
Enables sleep mode (PM3) on RW61x. The driver
re-enables the wdt on wake-up based on the previous
configuration. Note that the wdt counter value always
resets to the max window value on wake-up
Signed-off-by: Alex Rodriguez <alejandro.rodriguezlimon@nxp.com>
There was a race condition where `lpspi_end_xfer` can be called multiple
times per transfer. There was the case where a TX interrupt gets
triggered without the RX interrupt being set, and TX finishes writing
its last byte. Then, `spi_context_rx_len_left() == 0` is true and
`lpspi_end_xfer` happens, but the RX interrupt is still active. Then,
when the RX interrupt happens, `lpspi_end_xfer` will get called again.
To fix that, the architecture was adjusted to only call `lpspi_end_xfer`
once no interrupts are active any more, and the disabling of the
interrupts gets used to signal the end of the TX and RX part.
Minor adjustments were necessary to use the interrupt enable signals for
this purpose; the TX irq handler had its internal order reversed,
otherwise it wasn't guaranteed that the physical transfer is finished
when we disable the interrupt.
Also, the code where the RX interrupt gets disabled had to be moved out
of the RX irq handler, because the RX interrupt also needs to be
disabled if RX is finished but no RX interrupt is currently active.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
Assertion checked whether pointer is NULL.
Assertion should check whether pointer is *not* NULL.
Fixed by changing check in assertion.
Signed-off-by: Frank Duerr <frank.duerr@ipvs.uni-stuttgart.de>
The NXP ENET driver used a mutex inside an ISR.
Since mutexes are not allowed in ISR, an assertion had been triggered.
The mutex is not required since a semaphore ensures sequential writing
(in ISR) and subsequent reading (after eth_wait_for_ptp_ts()).
Fixed by removing calls to mutex.
Signed-off-by: Frank Duerr <frank.duerr@ipvs.uni-stuttgart.de>
Add drivers/interrupt_controller/intc_nxp_pint/power.h abstracting
EnableDeepSleepIRQ and DisableDeepSleepIRQ invocations from
intc_nxp_pint.c. Modify intc_nxp_pint.c to use that file.
fsl_power.c and fsl_power.h can't be built on the
mimxrt685_evk/mimxrt685s/hifi4 target, so it's excluded from it in hal_nxp.
Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
M2M devices like ISPs or PxP have two separate buffer queues, i.e.
incoming and outcoming queues. For each API, the driver needs to
distinguish on which queue it needs to take action.
Add video buffer type to support this kind of devices.
- get_caps(), set/get_format(), enqueue()/dequeue(): the buffer type
is embeded in the video_caps, video_format and video_buffer structs
- video_stream_start/stop() : buffer type needs is sent as a parameter
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
The video endpoints are already described in the devicetree. The
video_endpoint_id parameter in each video API is not necessary and has
no usage. Drop it.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
When stopping, the framework calls driver's stop callback then driver's
flush callback. Hence, driver's flush callback does not need to call
stop callback again.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Add a setup routine that waits until DVFS finishes its initialization
and during that time tries to constantly make requests that involve
DVFS. This polling ensures that the clock control driver can properly
recover after an unsuccessful request.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
If an on-off service records an error while transitioning to the on
state, it stays in the error state and does not allow new requests
to be made until its state is reset. Add resetting of the services
associated with particular clock controllers so that requests can
be retried after failures.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Ensure that a given clock controller is ready before making requests
to it. Otherwise, if for some reason the clock controller fails to
initialize (for example, when BICR turns out to be not populated with
required values), the test may end up with an enigmatic bus fault.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
BASS server need to notify that both BIS and PA are no longer synced by
setting all required fields to 0 after client stops BIS by sending a
BIG control PDU with a BIG TERMINATED indication.
meanwhile BIG_Encryption in the notification should also be reset to be
BT_BAP_BIG_ENC_STATE_NO_ENC when BIS is not synced anymore.
Signed-off-by: Ping Wang <pinw@demant.com>
Due to source data pointer having no alignment constraint,
extra care needs to be taken when reading source data
as dword
Signed-off-by: Yonas Alizadeh <yonas.alizadeh@alfalaval.com>
This supports nuvoton numaker m55m1x series soc. Besides, it also
has relevant modifications, including:
1. Fix failure to enable HICR48M, which is to clock usbd and phy
2. Support HWINFO for USB device serial number
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
Automatically generate a boolean CONFIG_BOARD_REVISION_FOO=y Kconfig
option based on e.g. CONFIG_BOARD_REVISION="foo".
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add all the base controls present like they are in Linux into Zephyr,
limited to those that can apply in the current system:
- Buttons are left as integer for now.
- Some description is modified to fit the Zephyr situation.
- For the minimum number of buffer, Zephyr uses a different mechanism.
- No audio support through the video subsystem.
- Homogenize the wording
Signed-off-by: Josuah Demangeon <me@josuah.net>
Fix missing nRF CCM disable on connection event abort.
There can be a problem on nRF SoC for example when a S8
"encrypted" reception is aborted, and a 2M "cleartext"
reception starts; slow CCM (that is not stopped as part of
radio disable) will corrupt a fast received "cleartext" when
the same current free rx buffer is reused in the Controller.
This is not a problem when the connection being abort-ee is
on a faster PHY than the abort-er.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Blackbox tests now shall include smoke tests,
that is Twister calls in the environment.
Additionally, those smoke tests will run
on multiple platforms.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
Set an overlay to build tests/drivers/flash/common/
drivers.flash.common.disable_spi_nor when the SPI NOR exists
but test does not use it
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Use the macro NSEC_PER_SEC defined in sys_clock.h for nanoseconds per
second when updating write stats.
Signed-off-by: Alex Apostolu <apostolu240@gmail.com>
Tweak the existing filename_and_lineno test to also check the generated
comments in the string representation of the devicetree match expected
contents and alignment.
Using tmpdir as the base directory simplifies the comparison by avoiding
directory separator issues.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This commit allows comments to reference files with paths that are relative
to the Zephyr workspace root. This is done by adding a new argument
'--workspace-dir' to the 'gen_edt.py' script, which is passed to the
'EDT' and 'DT' classes and used instead of the current working directory.
The workspace directory is set to WEST_TOPDIR if West is in use,
otherwise it is set to the parent directory of ZEPHYR_BASE so that
Zephyr files have a 'zephyr/' prefix.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The root node is the first node in the DTS string representation, and is
currently separated from the headers by two empty lines.
Adjust the spacing so that only one line is printed in all situations. A
small adjustment is added to the test suite to keep the current expected
outputs unchanged.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Output lineno/filename as comments in the string representation of a DT
to help with debugging DT issues. Also, remove the added comments when
comparing the string representation of a DT to a reference string in the
DT testsuite.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
List each element of a property array in a different line to improve
the readability of the generated DTS file.
Update the test suite's expected outputs accordingly.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The phandle property is auto-generated when parsing the DTS, so there is
no 'source information'. This commit sets the filename and line number
of the phandle property to be the same as the first reference to the
target node.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Update the manifest for the 'zephyr-lang-rust' module to include
the commit that adds support for comments in the Rust DTS parser.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Since it's directly related (we can't just burst-read the fifo at
once). This patch includes a comment block explaining this rationale.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Allow for users to define the fifo-watermark on a per-instance basis
through device-tree properties. This setting is validated at build
time, so missing it when required, or setting an invalid value should
not end up in a run-time errror (as in: it runs but nothing happens).
Signed-off-by: Luis Ubieda <luisf@croxel.com>
This patch fixes previous overriding of ODR setting through DTS (it
would always be 25-Hz, irrespective of what the DTS property said).
While doing so, create dt-binding enum to improve settings clarity.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Reverse the changes the affected API and add adjust the sample to the new
dynamic and static variations.
Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
A previous PR merged (to remove runtime observers' dependency with heap)
added inconsistencies and compatibility breaks to the zbus. This commit
improves that by removing the inconsistencies and still attending to the
features requested by the community.
Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
The new ace30 files structure is organized as follows:
intel_adsp_ace30.dtsi - main file for all variants
intel_adsp_ace30_ptl.dtsi - additional file for PTL variant
intel_adsp_ace30_wcl.dtsi - additional file for WCL variant
The main ace30.dtsi file contains most of the fields,
with only the differences specified in the ace30_ptl.dtsi
and ace30_wcl.dtsi files.
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Add Variscite DART-MX8M-PLUS board support. This SoM is based on NXP's
i.MX8M Plus SoC. It includes Cortex-A53 and Cortex-M7 support.
Signed-off-by: Andre Morishita <andre.m@variscite.com>
The image_def header shall not be added to apps that are booted by a
bootloader, e.g. mcuboot. Added proper handling for UF2 by hanan619.
Signed-off-by: Manuel Aebischer <manuel.aebischer@belden.com>
Some NXP boards are using legacy SDK driver, such as S32K, K64, MIMX8Q,
and so on. The legacy SDK driver will not be updated, migrate to use
SDK NG driver.
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
Avoid the following exception in the Identity test when the commit body
is empty:
Traceback (most recent call last):
File "zephyr/scripts/ci/check_compliance.py", line 2053, in main
n_fails = _main(args)
^^^^^^^^^^^
File "zephyr/scripts/ci/check_compliance.py", line 1988, in _main
test.run()
File "zephyr/scripts/ci/check_compliance.py", line 1459, in run
auth_name, auth_email, body = git(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: not enough values to unpack (expected 3, got 2)
This is triggered because ``%b`` represents the body of the commit
message, which can be empty if there's a single line in it, because the
first line is considered the title.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Rework renesas rcar_salvator_xs doc to meet what has
been done for the documentation of other rcar boards.
Also take advantage of these new boards documentation
features:
- zephyr:board
- zephyr:board-supported-hw
- zephyr:board-supported-runners
Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
Edit the rcar_salvator_xs board full_name
from specific A57 name to generic one
to meet names used by other rcar boards
and unify this boards range documentation.
Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
Rework renesas rcar_salvator_x doc to meet what has
been done for the documentation of other rcar boards.
Also take advantage of these new boards documentation
features:
- zephyr:board
- zephyr:board-supported-hw
- zephyr:board-supported-runners
Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
Edit the rcar_salvator_x board full_name
to meet names used by other rcar board
and unify this board range documentation.
Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
Merge both dedicated r52 and a55 spider_s4 boards doc
into an all-in-one documentation and take advantage
of these new boards documentation features:
- zephyr:board
- zephyr:board-supported-hw
- zephyr:board-supported-runners
Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
Edit the rcar_spider_s4 board full_name
from specific A55 name to generic one
as it is used as main name for the whole board.
Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
Merge both dedicated r7 and a57 h3ulcb boards doc
into an all-in-one documentation and take advantage
of these new boards documentation features:
- zephyr:board
- zephyr:board-supported-hw
- zephyr:board-supported-runners
Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
Edit the rcar_h3ulcb board full_name
from specific A57 name to generic one
as it is used as main name for the whole board.
Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
The first 1 KB is reserved for the NWP (Network Coprocessor). This
change also resolves the null pointer error issue, as a .data or a
_ramfunc might get the address 0x0.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
The nRF52840 Preview development kit is no longer available and the
text in the README.rst is changed to be "nRF52840 Development kit" and
the link to the documentation is changed to point to the production
version.
Signed-off-by: Ole Sæther <ole.saether@nordicsemi.no>
if the provided name in argument is not null this could lead to un
undefined behavior.
Use strnlen to make this safe
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
Add a function to get the value's length of a Key. If it doesn't exist
returns 0.
Add ZMS implementation for csi_get_val_len() and a default implementation
for the other storage systems.
Add some functional tests to verify it.
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
When a power off happens after writing the settings name and before
writing the linked list node we cannot write the settings name again in
the future.
Fix this by writing the linked list node before writing the name.
When loading all settings, we already delete linked list node that do
not have any name or value written.
Adds as well a recover path if a power down happens in the middle of
unlinking an LL node after a delete.
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
Add a test for the new API settings_load_one that loads only one path
from the persistent storage.
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
Add a a function settings_load_one that allows to load only one settings
entry instead of a complete subtree.
Add as well its implementation for ZMS backend.
This will allow a faster return if the Settings entry doesn't exist in
the persistent storage.
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
Increase the load performance by adding an optional cache for the linked
list hashes.
This is used only when the settings_load is called with NULL parameter
and we need to load all Settings that exist in the persistent storage.
Cache is enabled using SETTINGS_ZMS_LL_CACHE and the size of the cache
is set using SETTINGS_ZMS_LL_CACHE_SIZE.
Each cache entry will add 8 bytes of RAM usage.
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
If the subtree argument is not NULL in the settings_load function, load
only the setting entry that corresponds to that subtree.
If the subtree argument is NULL or it is not found in the storage, load
all the existing entries in the storage.
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
Settings subsystem is storing the name ID and the linked list node ID
with only one bit difference at BIT(0).
Settings subsystem is also storing the name ID and the data ID in two
different ZMS entries at an exact offset of ZMS_DATA_ID_OFFSET.
Using the regular lookup function could result in many cache misses.
Therefore, to assure the least number of collisions in the lookup cache,
the BIT(0) of the hash indicates whether the given ZMS ID represents a
linked list entry or not, the BIT(1) indicates whether the ZMS ID is a
name or data and the remaining bits of the hash are set to a truncated
part of the original hash generated by Settings.
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
When the CONFIG_ZMS_NO_DOUBLE_WRITE is not enabled there is no need to
search in the cache for matching ID
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
When deleting a settings entry the linked list is updated by removing
the deleted node. This operation is time consuming and add some delays.
For applications that use almost the same set of Setting entries, add an
option to make this operation faster at a cost of having some empty
nodes in the linked list.
These empty nodes can be used later when the deleted entry is written
again.
Each empty node occupies 16B of storage.
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
The NULL-pkt parameter for tcp_in() was designed for generating
a SYN packet to start the 1st TCP handshake. It is only used
in net_tcp_connect() and tp_input().
To simplify the tcp_in() code logic and make it better under-
standable, a tcp_start_handshake() is added for net_tcp_connect()
and tp_input() to use. Thus, the tcp_in() only handles the in-
coming TCP packets.
Signed-off-by: Shrek Wang <inet_eman@outlook.com>
Removed the duplicate 'ovti' entry and updated the full name to
company's current official name.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fix MIC failure when 2 or more CISes in Peripheral is active
and any CIS before the last CIS does not have reception that
lead to the event count and payload count being incorrect.
Add the missing flush implementation when switching between
CISes in the CIG event.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Introduced WIFI_SILABS_SIWX91X_LIMIT_PACKET_BUF_PER_STA.
This flag limits packet queues in AP mode.
Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
Add support for configuring the master clock (MCLK) direction in the
I2S MCUX SAI driver. This allows controlling whether the MCLK pin acts
as an input or output based on device tree configuration, improving
flexibility when interfacing with external audio codecs.
The change leverages the mclk_output property from device tree to
properly set the direction of the MCLK pin during initialization.
Signed-off-by: Tomas Barak <tomas.barak@nxp.com>
- mimxrt1170_evkb needs CONFIG_DMA_TCD_QUEUE_SIZE=4 which is required
by the I2S SAI driver
- add test harness for i2s_output
Signed-off-by: Tomas Barak <tomas.barak@nxp.com>
Currently, creating and killing openssl process was part of the test. In
result, if the test case failed for whatever reason, the openssl process
would remain open, causing disruptions in consecutive test executions.
Fix that by defining openssl server instance as a pytest fixture. That
way, openssl process will be terminated regardless of the test
result.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Adds support for using img mgmt in firmware loader mode, to allow
for loading an update image to a device
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Ensure `pm_state_force` returns `false` when it fails to retrieve or set
the desired power state. This change improves error handling and ensures
the function's behavior aligns with its intended purpose.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Use qemu_x86, qemu_cortex_a53, and qemu_riscv64 as integration
test platforms for this testsuite, since both qemu_x86 and
qemu_cortex_a53 both have an MMU available, and qemu_riscv64
can execute quickly that mmu-less systems can also use a subset
of the option group (minus `mmap()`).
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The xsi_realtime testsuite now includes tests for fsync() and
fdatasync() which require a ram-based fat filesystem.
Technically speaking, it would probably not be 100% necessary
to use a ramdisk to test these functions, but then the test
would be limited to running on platforms with some file-system
based storage.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add rtc tag to the siwg917_rb4338a board to activate testing on the
board.
Also add an overlay for the board in order to run the test correctly.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Add the dts and config overlay for imx8ulp_evk//adsp
to have the openamp_rsc_table sample working on
HiFi4 DSP from i.MX8ULP.
Since openamp_rsc_table sample uses IPM API and i.MX8ULP
has a mbox driver for messaging unit, we need a mailbox node.
This will load the ipm_mbox driver that exposes the IPM
interface while using a MBOX driver in the back-end.
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
- Implemented `siwx91x_set_twt_setup` and `siwx91x_set_twt_teardown` for
handling TWT setup and teardown requests.
- Added validation for TWT parameters, including negotiation type,
device state, and operation type.
- Integrated TWT functionality into the `wifi_mgmt_ops` structure for
seamless management via the Zephyr Wi-Fi API.
Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
Don't block the system workqueue for 2 seconds (default value) when
attempting to perform RPU recovery. The system workqueue is a shared
resource which should not be blocked for significant periods of time.
Signed-off-by: Jordan Yates <jordan@embeint.com>
https://github.com/zephyrproject-rtos/zephyr/actions/runs/\
15014534061/job/42189411225
We were seeing a linker error of the form
```
picolibc/x86_64-zephyr-elf/lib/32/libc.a(libc_time_time.c.o): \
in function `time':
time.c:(.text.time+0x11): undefined reference to `gettimeofday'
```
Update the dependency from CONFIG_POSIX_TIMERS to
CONFIG_XSI_SINGLE_PROCESS for gettimeofday().
Note: this is really only a workaround. The proper solution would
be to have libc functions not depend on POSIX functions.
Specifically, here
https://github.com/zephyrproject-rtos/picolibc/blob/\
51a8b32857e75345c37652a80b5cda98b28d69e5/newlib/libc/time/\
time.c#L54
and here
https://github.com/zephyrproject-rtos/zephyr/blob/\
3a4e12899c2ae5962a64055f4739f774fb7262e5/lib/libc/common/\
source/time/time.c#L17
Also mentioned in #89068
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Enabled CONFIG_ALARM and CONFIG_UPDATE to enable these tests on intel
platforms.
Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
Thanks to the bootloader, the memory controller is preconfigured when
Zephyr start on RB44342A.
However, this is the opportunity to show how to configure the PSRAM
controller on custom designs.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Silabs siwx91x includes a memory controller for (Quad-)SPI PSRAM. It
allows the application to use the PSRAM as if it was any other RAM.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Radio Board 4342A has 8MB of PSRAM connected to the Quad-SPI memory
controller.
The memory controller of the 4342A is preconfigured by the bootloader.
So, the PSRAM work out of the box without any manual configuration.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Radio Board 4342A is really similar to the 4338A. There are a few
difference on the pinmux, but most of the peripherals and the SoC are
the same.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
The reference manual and the schematics of the reference designs
numbers the pins from 0 to 57. So let's also apply this scheme to the
pinctrl.
Note while PIN are numbered between 0 and 64, the GPIOs are represented
with 4 block of 16 GPIOs. This is the way the GPIOs are documented in
the reference manual, so we don't change that (In addition,
gpio_port_pins_t is a uint32_t, so it won't be possible to represent 64
GPIOs in one gpio_port_pins_t anyway).
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
We're well past the experimental stage, but there are still some things
that may change. Bumping the API version to 0.2.0 signals this.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Add a sample for the UART bridge driver using a USB CDC-ACM UART and a
normal one. Demonstrates how to do settings propagation (bitrate
changes) and multiple instances.
The sample needs to know what specific UART are available on each board,
so unfortunately any additional board needs its own overlay.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add a reusable uart-bridge driver that echoes data between two serial
devices. It's mainly meant to be used with one of the devices being an
USB CDC-ACM, the data is buffered, there's a pause feature to stop the
USB endpoint when the hardware UART is filling up to avoid overrun and
there's a helper function used to propagate the USB uart configuration
to the hardware one.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
"UNLICENSED" is not a valid SPDX License Identifier. Remove it from the
list and just keep "Apache-2.0".
Fixes: #89413
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
In current implementation, if the MITM flag of both sides is disabled,
the pairing method is incorrect.
Such as, the IOCAP of both sides is `display_yesorno`, the pairing
method is `PASSKEY_CONFIRM`. But actually, it should be `JUST_WORKS`
in this case.
Fix the issue by setting the pairing method to `JUST_WORKS` if the
MITM flag of both sides is false.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The Kconfig option has not been in use for anything for
a long time, and can safely be removed.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The NWP provides Bluetooth, Wi-Fi and crypto services, and must
be initialized before any users of these. Mbed TLS is initialized
at priority level 40 (kernel default priority), ensure that the
NWP is initialized before that.
Make the priority configurable to allow users to tweak the init
sequence.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Change the on/off/set_brightness API to automatically use whatever
function is available, this allows dimmable drivers to not implement the
on/off wrapper and vice versa.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The API specifies that brightness is 0 to 100, no point checking it in
the individual drivers.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The led_set_brightness API says that brightness is defined as
percentage, add a macro from the max and use it everywhere.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add CS GPIO to nrf54h20dk/nrf54h20/cpuapp which is connected to
PORT which is in the "fast domain". The fast domain needs to be
resumed from thread context given it requires IPC communication.
This thus ensures that GPIO can be used with and without
PM_DEVICE_RUNTIME enabled.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
In case the SPI transaction has SPI_HOLD_ON_CS set, we need to keep
SPI resumed until spi_release() is called. This is required as we
now need to keep the CS GPIO port resumed until transaction is
complete.
Suspending CS GPIO is not allowed from ISR in some cases (H20 fast
GPIO instance) so we have to defer CS GPIO suspend to some thread
context (put_async or spi_release()).
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Implement calling spi_context_cs_get_all() and
spi_context_cs_put_all() in line with pm resume/suspend.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Implement pm_device_runtime support to spi_loopback test suite.
Specifically:
- call pm_device_runtime_get() on SPI bus before using SPI bus
- call pm_device_runtime_put() once SPI bus is no longer needed.
This is after transceive has been performed, or after calling
spi_release_dt() after a transceive has been performed.
This addition has no affect if PM_DEVICE_RUNTIME is not enabled
on a board/test case basis.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Introduce spi_context_cs_get() and spi_context_cs_put() which shall
be used from drivers to get/put the GPIO port the CS GPIO belongs to
before and after a transaction, in line with the SPI drivers pm
action hook being called.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Implement PM_DEVICE_RUNTIME for gpio_nrfx.c
PM is required to request/release the GPD domain if such exists
for a given GPIO instance. Without this, every single API call
will result in a requesting the GPD domain, which makes it slow
and unusable from ISRs, given GPD requires IPC. Now, user can
simply get the GPIO before using it, and put it once done,
calling the APIs from ISR while resumed.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Commit fa4a9db7a3 ("dma: intel_adsp_hda: Fix invalid init sequence and
register use") moved intel_adsp_hda_channels_init() out from resume
path. This causes a regression to CONFIG_DMA_INTEL_ADSP_HDA_TIMING_L1_EXIT
as without irq_config() call the interrupt configuration may be partial.
Address this by calling irq_config() unconditionally on resume path.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Compiler gets confused and thinks base may be used uninitialized. This
shouldn't be possible, but to make the warning go away, initialize it.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
When RTS/CTS is toggled it disables the receiver and transmitter
bits to be able to change the flow control bits in the MODIR register.
After it has done so, it should restore the original value of the
CTRL register to re-enable the transmitter and/or receiver if they
were enabled before calling the mcux_lpuart_line_ctrl_set_rts()
function.
Signed-off-by: Bas van Loon <bas@arch-embedded.com>
This commit prevents ATT request APIs from blocking waiting on the
req_slab pool on the system work queue. The API will instead return
-ENOMEM.
This aligns with commit 05b16b971b, which
establishes that the GATT request APIs are non-blocking on the system
work queue. That commit makes GATT request APIs fail with -ENOMEM when
they fail to allocate a buffer for the ATT PDU on the system work queue.
There is no reason to make this distinction between the two resources,
and this makes the API more consistent.
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
For the control point operations, add/modify/
remove source, callbacks are added so that Application
can decide whether to accept/reject the control point
operations.
Signed-off-by: Nithin Ramesh Myliattil <niym@demant.com>
Validate that the file descriptor is not a negative number before
writing to the `dispatch_table` `ctx` field. Setting file descriptors
to `-1` is the standard "not in use" value, and in fact the entire array
of `fds` is set to this value in `dns_resolve_init_locked`. This
resolves memory corruption of whichever variable is unfortunate to exist
just before `dispatch_table` in memory.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Keep Alive timeout is represented by 2-byte unsigned integer, however
the corresponding Kconfig option was limited to UINT8_MAX only.
Also, similarly to regular MQTT, allow to disable the Keep Alive
functionality by specifying the Keep Alive value to 0.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Previously, it was expected that the modem would immediately
disconnect and close the PPP link, when the network was lost
(+CEREG: 4 is received). Failure to do so, would result in
modem attempting to chat with dlci2 channel, where as cellular
modem driver would drop to dlci1. This would show as dial
script timing out, which would freeze cellular modem driver.
Adding dormant state enables graceful disconnection of PPP-link
when the network is lost. This allows the modems which do
not automatically close with network link loss to close
based on PPP link closure.
Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
When PPP net_if is changed to dormant, the PPP connection
is terminated asynchronously. This is used so that the driver
can terminate the PPP connection gracefully.
Note: net_if_down() is not used as it would require synchronous
operation which would block the system workqueue thus causing
deadlock.
Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
- Fix ESP32-C2 rom puts call, which crashes when
using printf without arguments.
- Fix espressif monitor error when CTRL+C
is pressed to exit terminal.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Removes the dependency on the host mocks for LE Audio tests.
This is done by copying the missing mocks for assert into
the audio mocks, and then always including ztest.h.
The inclusion of ztest.h is due to the fact that
arch/cpu.h does not have an appropriate header file for
ztest, and some header files depend on ARCH_STACK_PTR_ALIGN
which is usually defined by those headers in cpu.h. However
ztest.h does define this value as well, and thus needs
to be included always.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
ElemRV-N is an end-to-end open-source microcontroller. This patch
adds basic support for the platform with any interfaces. They will
be added later since drivers are missing completly.
Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
ElemRV-N is based on the nitrogen SoC platform. Add the
base nitrogen device-tree and one for elemrv-n. The elemrv-n
device-tree will contain all IP cores later.
Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
Add minimal support for the aesc silicon UART IP core.
This core includes an internal clock divider and supports flexible
frame configurations, allowing for variable data length, parity, and
stop bit settings.
The current driver version does not support interrupts.
Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
Currently, the only available platform is Nitrogen, featuring a
VexRiscv CPU that boots from external SPI flash and runs code from
external HyperRAM.
Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
aesc silicon is a startup focused on developing open-source
silicon solutions.
Add a new platform to the MAINTAINERS file to ensure changes
get reviewed.
Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
The sensor value was accidentally set a second time.
Refactor `tmp11x_attr_get` to fix the issue and align more with
`tmp11x_attr_set`.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
Add enabled_clock, on / off and configure support for the clocks of
the stm32mp13. Describes the peripheral clock source selection.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Rename the frac-v PLL binding into fracn in order to make it
consistent with other STM32 PLL bindings.
This commit also correct the range which should be 0 - 8191.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Depending on the PLL, all DIV-P / DIV-Q and DIV-R are available
on STM32MP13 PLLs.
Adjust valid range in order to be able to set for all 4 PLLs.
Clarify DT properties description.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
On STM32MP13, a dedicated MCO enable bit within the MCO clock control
register must be set in order to activate the MCO.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
This commit enables dma, i2c, spi, wdt and rtc_counter nodes for
MAX32650EVKIT and MAX32650FTHR boards.
Initial parts of the SRAM is used during the boot process, this causes
problems for some tests (e.g. tests/drivers/watchdog/wdt_basic_api).
To avoid these problems, this commit changes choosen SRAM to SRAM4.
Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
Signed-off-by: Burak Babaoglu <burak.babaoglu@analog.com>
This commit adds following updates to MAX32650 SoC:
- Divide SRAM to sections according to UG.
- Add DMA and SPI nodes
- Add WDT nodes without adding clock property
- Include dma binding to SoC dts file.
Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
Signed-off-by: Burak Babaoglu <burak.babaoglu@analog.com>
This commit changes clock property of watchdog to optional and updates
driver according to this change.
Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
Ignore error if default pinctrl missing. Some devices allow specifying
pinctrl in them, which is better to do , specially for static (on-board)
devices to keep overlays simpler.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
What is the change?
Switch to module CMSIS_6 for Cortex-M while continuing to use
cmsis module (version 5.9.0) for Cortex-A/R.
Why do we need this change?
The current cmsis module consists of:
- Cortex-M support from upstream cmsis 5.9.0
- Cortex-A/R support which was not upstreamed to CMSIS
Upstream cmsis 5.9 was deprecated so we should be using CMSIS_6 however,
it seems due to lack of Cortex-A/R support in upstream and other reasons,
this was pushed back.
While upstreaming Cortex-A/R support to CMSIS_6 could take its time,
this shouldn't stop Cortex-M to start using CMSIS_6.
Also, if we do not use CMSIS_6 for Cortex-M then using the
newer GCC 14.2 toolchain will return below compiler error:
```
zephyrproject/modules/hal/cmsis/CMSIS/Core/Include/core_cm85.h:4406:10:
fatal error: pac_armv81.h: No such file or directory
4406 | #include "pac_armv81.h"
```
Using CMSIS_6 for Cortex-M will fix this.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
What is the change?
Fix the path for module CMSIS_6 and use CMSIS_6 module for TF-M.
Why do we need this change?
After Zephyr updated TF-M to v2.1.0,
bb037d4469842c96f5872b271490aceb0734d965 added a local copy of CMSIS_6
to stop Zephyr's TF-M from downloading the CMSIS_6 from upstream.
The correct way would be to have CMSIS_6 as a module in Zephyr (which
we have now) and pass the path of this module to TF-M.
A fork of the upstream CMSIS_6 was added to Zephyr however,
the path in west.yml makes it a lib and not a module.
Fixing the path generates the ZEPHYR_CMSIS_6_MODULE_DIR symbol which
can now be used to pass to TF-M and the copy in TF-M would no longer be
required.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Add a testsuite for the POSIX_CLOCK_SELECTION Option Group which
consists of clock_nanosleep(), pthread_condattr_getclock(), and
pthread_condattr_setclock().
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Implement the POSIX_CLOCK_SELECTION Option Group.
This was mostly already done, but compiled / linked in the wrong places.
E.g. pthread_condattr_getclock() and pthread_condattr_setclock() were
in pthread.c and part of POSIX_THREADS_BASE. clock_nanosleep() was in
clock.c and part of POSIX_TIMERS.
This change builds them as part of clock_selection.c with
CONFIG_POSIX_CLOCK_SELECTION.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
gettimeofday() was already implemented, but incorrectly lumped into
POSIX_TIMERS.
putenv() is really just a wrapper around setenv().
The only one left to implement was gethostid() which was relatively
trivial.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Move most implementations to clock_common.c in preparation for
moving gettimeofday() and clock_nanosleep() to different compilation
units.
We also take this as an opportunity to switch from using k_spinlock
to sys_sem.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
To facilitate moving gettimeofday() and clock_nanosleep() to separate
compilation units, make z_clock_nanosleep(), z_clock_gettime(),
and z_clock_settime() convenience functions.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Move most implementations to env-common.c in preparation for adding
putenv.c .
We also take this as an opportunity to switch from using k_spinlock
to sys_sem.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
To facilitate adding putenv in a separate compilation unit,
make z_getenv(), z_getenv_r(), z_setenv(), and z_unsetenv()
convenience functions.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Turn the MBEDTLS_RSA_FULL selects into depends on.
This is how the other MBEDTLS_KEY_EXCHANGE_* Kconfig options are defined.
This is done to avoid circular dependencies.
At the same time update uses of the affected MBEDTLS_KEY_EXCHANGE_*
Kconfig options to enable/disable the dependencies which used to be
automatically handled.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Add a pull down to SPI MISO GPIO pin on nRF5340DK to ensure the i/o pin
on the nrf7002 device is not floating when SPI is inactive.
Signed-off-by: Bansidhar Mangalwedhekar <bansidhar.mangalwedhekar@nordicsemi.no>
Add appropriate pull up/down to QSPI GPIO pins to ensure no qspi i/o pins
on the nrf7002 DK are floating when QSPI is not in use.
Signed-off-by: Bansidhar Mangalwedhekar <bansidhar.mangalwedhekar@nordicsemi.no>
Add note regarding the move of the video/dcmi driver
to the usage of endpoint based video-interfaces
bindings.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add a testcase for building the stm32 dcmi driver on all
currently supported platforms / shields.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Implement the video API frame interval handling in order
to control the framerate of capture.
This allow to remove the capture-rate DT property as well.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
This commit mainly correct the get/set format handling and how
DCMI format is stored within the driver. struct video_format
within the data structure is used to store the format.
Reworked way to handle get format to avoid calling the sensor
set_fmt whenever performing the get_fmt.
Slightly adjusted code to as much as possible reuse return
values provided by functions.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
With the addition of the dma property within the soc dtsi, it is
no more necessary to add it within the board dts.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Usage of dma is mandatory for the dcmi and this property is
tightly coupled with the soc itself since the configuration of
the dma depends on the source/destination, and the request line
is also fixed for an ip.
Instead of having to always have the dma property part of the
board or shield dts/overlay, add the dma property into the
dcmi node of the stm32h7.dtsi.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Update overlay following usage of video-interfaces based
endpoint properties by the dcmi driver.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Update overlay following usage of video-interfaces based
endpoint properties by the dcmi driver.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Update overlay following usage of video-interfaces based
endpoint properties by the dcmi driver.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Perform sensor interface properties parsing based on values
retrieved via the endpoint rather than the root of the node.
Use DT_PROP_OR to ensure proper configuration of optional
settings.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Update the bindings of the stm32-dcmi driver rely on
properties described within the endpoints and already
detailed within the video-interfaces.yaml.
With that, several properties located at the node root
are now moved into the port / endpoint:
sensor -> endpoint: remote-endpoint-label
vsync-active -> endpoint: vsync-active
hsync-active -> endpoint: hsync-active
pixelclk-active -> endpoint: pclk-sample
bus-width -> endpoint: bus-width
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
When no 'display' property is present in LVGL input dev node in DT,
we should default to LVGL Default Display to preserve the old behavior
and not break LV Input on setups with only one display.
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
Current DMA driver reload function only works for 8-bit
data. This is due to incorrect interpretation of size
argument. Added changes to support other xfer sizes.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Silabs Thunderboard EFM32GG12 (OPN: SLTB009A) connects USART0
location 1 to the VCOM pins of the on-board debugger.
US0_TX loc 1 is pin PE7
US0_RX loc 1 is pin PE6
Signed-off-by: Alex Hogen <alex@edt.com>
OpenThread network discovery was not working.
The radio driver is filtering the beacon packets whereas
this is required for OpenThread.
Allow receiving beacon packets.
Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
When SENSOR_TRIG_FIFO_WATERMARK or SENSOR_TRIG_FIFO_FULL is not configured,
an unsupported trigger debug message will be printed. Moved such that
a no trigger configured debug message will be printed only if both triggers
are not configured.
Signed-off-by: Yau-ming Leung <ymleung314@gmail.com>
Fixes the check for connected interface if CONFIG_ESP32_WIFI_AP_STA_MODE=y
(different data objects for STA (esp32_data) and AP (esp32_ap_sta_data)).
As the correct data object is linked to device object, we can check for
ESP32_STA_CONNECTED or ESP32_AP_CONNECTED in dev->data.
This fixes AP mode in samples/net/wifi/apsta_mode if STA WIFI_SSID/WIFI_PSK
are invalid and no STA connection can be established before
(samples/net/wifi/apsta_mode/src/main.c#L28-L29) for all ESP32 derivates.
Fixes false check from 183b74c558
Signed-off-by: Gregor Copoix <gregor.copoix@ithinx.io>
Properly dereference the value pointer in assignment.
```
In function 'gpio_pca_series_port_read_standard':
warning: assignment to 'gpio_port_value_t *' {aka 'unsigned int *'} \
from 'uint32_t' {aka 'unsigned int'} makes pointer from integer \
without a cast [-Wint-conversion]
1071 | value = sys_le32_to_cpu(input_data);
| ^
```
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Move the direction reset to config init function. This ensures that regs
is read after the DEVICE_MMIO_NAMED_MAP is called, which is where the
init for RAM MMIO takes place
Tested on PocketBeagle 2 A53s.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Since we are taking a double pointer to an array owned by the user, we
should also make all but the top-level of indirection const, since we
are not planning on modifying it.
Signed-off-by: David van Rijn <david@refractor.dev>
Fixes the missing Kconfig resource for the siwx91x SoC. This ensures
that soc_early_init_hook function is correctly called for the siwg917
SoC during initialization.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Building gdbstub for xtensa is failing currently with multiple
failures like
arch/xtensa/core/gdbstub.c:432:24: error: invalid operands to \
binary - (have 'int *' and 'const struct arch_esf *')
432 | if ((int *)bsa - stack > 4) {
Fix them by using appropriate pointer types.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Configure pinctrl for the xspi1 bus, and add definition for the PSRAM chip
on the board.
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
On some STM32 lines, like the h7rs, there aren't XSPI prefetch options.
To support them in the PSRAM driver, conditionally exclude them from
compilation when the options are not available
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
The original 'arch_pm_s2ram_resume' implementation saved lr on the stack
using 'push {lr}' and restored it using 'pop {lr}'. However, the Thumb-1
'pop' does not support lr as a target register, so this code would not
compile for ARMv6-M or ARMv8-M Baseline. r0 was added to these push/pop
later in 2590c48d40.
In 474d4c3249, arch_pm_s2ram* functions were
modified to no longer use the stack, which incidentally "fixed" this issue.
b4fb5d38eb reverted this commit and brought
back 'pop {r0, lr}' as-is, without taking compatibility into account.
Modify the sequence to use "pop {r0, pc}" which is supported on all
ARM M-profile implementations (v6/v7/v8 Baseline/v8 Mainline), and
add comments to (hopefully) prevent this issue from re-appearing.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
On the Xilinx MPSoC (Cortex-R5) platform, erratic operation was often
seen when an operation which disabled the dcache, such as sys_reboot,
was performed. Usually this manifested as an undefined instruction trap
due to the CPU jumping to an invalid memory address.
It appears the problem was due to dirty cache lines being present at the
time the cache is disabled. Once the cache is disabled, the CPU will
ignore the cache contents and read the possibly out-of-date data in main
memory. Likewise, since the cache was being cleaned after it was already
disabled, if the CPU had already written through changes to some memory
locations, cleaning the cache at that point would potentially overwrite
those changes with older data.
The fact that the arch_dcache_flush_and_invd_all function was being
called to do the cleaning and invalidation also contributed to this
problem, because it is a non-inline function which means the compiler
will generate memory writes to the stack when the function is called and
returns. Corruption of the stack can result in the CPU ending up jumping
to garbage addresses when trying to return from functions.
To avoid this problem, the cache is now cleaned and invalidated prior to
the dcache being disabled. This is done by directly calling the
L1C_CleanInvalidateDCacheAll function, which, as it is declared as force
inline, should help ensure there are no memory accesses, which would
populate new cache lines, between the cache cleaning and disabling the
cache.
Ideally, for maximum safety, the cache cleaning and cache disabling
should be done in assembler code, to guarantee that there are no memory
accesses generated by the compiler during these operations. However, the
present change does appear to solve this issue.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Add display support for the st7789v LCD controller.
Automatically enable the LCD backlight at boot
to use the display sample as is,
because the LCD backlight is normally off.
Signed-off-by: Samuel Quiniou <samuel.quiniou@rtone.fr>
The current implementation of the identity check fails if multiple DCO
signoff lines are present and the first instance of the signoff line
does not belong to the author of the commit. This patch proposes a solution
that allows patches with multiple DCO signoff lines to pass the identity
check, regardless of the order of the signoff lines.
Signed-off-by: Mirai SHINJO <oss@mshinjo.com>
Moved index of analog input used in test from source
code to Kconfig option to simplify adding new targets.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
Added set of analog pins for nRF54L20 COMP and LPCOMP.
Moved the array of analong pins for both comparator
variants to avoid code duplication.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
The code invoking nrfutil was not checking the return code of the
subprocess, which meant that if the underlying tool was exiting with a
failure error code it remained undetected.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
This file previously defined an MPU access permission mode of 0x7 which
corresponded to privileged read-only, unprivileged read-only, similar to
mode 0x6. However, it appears that at least Cortex-R5 does not support
this mode, defining 0x7 as UNP (Unpredictable) or a value which should
not be used.
This value was in turn referenced by the REGION_FLASH_ATTR macro, which
caused the offending value to be used when a memory region was declared
as DT_MEM_ARM(ATTR_MPU_FLASH) in the device tree, causing such regions
to not work properly on Cortex-R5.
Since 0x6 is supported by both Cortex-M and Cortex-R and does the same
thing, there is no reason to use 0x7. Remove the RO_Msk definition which
referenced it, and change REGION_FLASH_ATTR to use P_RO_U_RO_Msk instead.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Error checking of otIp6AddUnicastAddress() and
otIp6SubscribeMulticastAddress() was added recently, however it wasn't
taken into account that those APIs return an error on attempt to
register an IPv6 address that is already present on the OT interface.
Therefore, add more specific error checks, to return silently in case
address was already present.
As those two APIs are not very consistent, and otIp6AddUnicastAddress()
returns OT_ERROR_INVALID_ARGS in such cases, add an extra check if the
address is already present before attempting to register the address.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Changed to define ambiq spi/i2c dma mode as a binding property
instead of kconfig macros, making it more flexible for different
spi/i2c instances.
Signed-off-by: Hao Luo <hluo@ambiq.com>
The x_nucleo_gfx01m2 is an evaluation shield sold by
STMicroelectronics. It features a MIPI DBI SPI serial TFT LCD display
and a SPI NOR Flash for graphical assets storage. A button joystick
can be used to control the GUI.
Signed-off-by: Christian Rask <christianrask2@gmail.com>
Most SPI NOR flash devices support a "fast read" command which uses
dummy bits between the address and the start of the data transfer. In
many cases, the maximum SPI clock speed of the device is lower for the
regular read command due to the limited time between the address and
data phases, so using the fast read command will remove this restriction
and allow for faster transfers.
Add a device tree flag to indicate that fast reads should be used for
the device.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Some Micron (and possibly other) SPI NOR devices implement a flag status
register which provides more information on the success/failure of erase
and program operations. In addition to better error checking, some of
these devices actually don't function properly if the flag status
register is not read after a program operation (subsequent reads will
only return 0xFF bytes).
Add a device tree parameter to indicate that the flag status register is
supported. When specified, the flag status register will be used for
ready/error checks rather than the standard status register.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
This driver was providing SPI buffers for both TX and RX on the data
payload portion of read transfers, even though the TX buffer is not
meaningful in these cases. As well as being less efficient, this also
caused likely uninitialized data to be transferred to the device, which
is possibly problematic.
Update to not include the TX buffer for the read data payload SPI
transfer, so that the SPI driver can generate dummy TX data internally.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Add the 4Bytes program mode to the stm32_ospi driver
to enter 4-Byte Address Mode (SPI_NOR_CMD_4BA) when flash is supporting it.
This is given by the JESD216 SFDP table.
Based on the stm32 qspi driver.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Code responsible for internal capacitor values containted
leftover workarounds in the calculations after PS update.
Removed redundant conversions and cleaned up both code
and comments to align both LFXO and HFXO calculation.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
The original Wi-Fi certificates are from WFA. Now replace them with
certificates that generated by myself. These certificates use
sha384WithRSAEncryption signature algorithm, and use 3072 bit RSA
public-key.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
The value read from unwritten areas of Renesas RAxxx SoCs data
flash is undefined. To prevent reading unwritten areas a
blank check command is performed first. If the area is blank, we
return dummy data so it behaves the same as other flash devices.
Signed-off-by: Jeremy Dick <jdick@pivotint.com>
Add an erased-undefined property for Renesas RA series MCUS
data flash that will read back undefined values when erased
Signed-off-by: Jeremy Dick <jdick@pivotint.com>
The standstill detection logic now stands corrected. Moving would
be indicated when the standstill bit is not zero.
Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
Use the same logic as the top-level Zephyr CMakeLists.txt does to
find the linker script option by using the first one of these
which is set:
1. Global TOPT property
2. Compiler's linker_script property
3. -Wl,-T
This avoids toolchains which insert a default linker script
when none is provided on the command line using the -T option.
Signed-off-by: Keith Packard <keithp@keithp.com>
Refactor DHT20 sensor init and measurement handling.
Added 100ms power-on wait to comply with datasheet.
Simplified measurement frame handling.
Initialize status register only once after power-on.
Signed-off-by: Konrad Sikora <kontakt@konradsikora.pl>
The assert message was not very helpful, CODE_UNREACHABLE is more
readable and requires fewer effort while proofreading.
Signed-off-by: Josuah Demangeon <me@josuah.net>
In video_closest_frmival(), immediately stop searching when an exact
match is found, as a small performance optimization. Variables
that could be computed only once were moved further outside.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Fix bug introduced in 46a262ffe6 where the
fie.index field was expected to be incremented by the driver, while it
is the responsibility of the caller to increment it.
Fixes#89663
Signed-off-by: Josuah Demangeon <me@josuah.net>
Align with native_simulator's upstream main
19293fafc9959b03ece651e5e2afb768cfa891cf
Which includes:
19293fa misc trivial changes to please static analyzers
2a41263 nsi_tracing: Annotate functions as noreturn
f0307c1 nct: Simplify and improve switching performance
9f0c825 nce: Optimize/improve performance
63ce7e2 nsi_utils: Add macro to define static inline functions
6035bd8 nsi_errno: Minor optimization with no functional impact
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
New test case enables low-power standby mode, but disables testing
the lpc_rtc_highres driver, since it is used to wake the device from
standby mode.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
Add Kconfig option to dump only a portion of stack from the
current stack pointer to the stack end. This is enough to
let gdb reconstruct the stack trace and can significantly
reduce the dump size. This is crucial if the core dump needs
to be sent over radio.
Additionally, add another option to set the limit for the
dumped stack portion.
Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
This will implement a way of doing static initialization
the "IAR" way. This is done by calling __iar_data_init3
which handles all static initialization that is mentioned
in the linker file "initialize by copy".
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
After the PR #85000 the calculation of NUM field of
Block 1 option on CoAP Ack packet started to advance
to next packet block.
We should not update the ctx->current field because it is
used for calculating the NUM field in response packet.
It should point to beginning of the payload,
so the response is correct.
Leshan server don't seem to care about this, but Coiote does.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Added pinctrl and dts nodes for uSDHC1 and uSDHC2, they are disabled
by default, and provided overlay files to enable them if needed.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Signed-off-by: Lei Xu <lei.xu@nxp.com>
Some drivers need header file soc.h, according to Zephyr SoC Porting Guide
soc.h must be provided for each SoC, so created an empty one.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Enables using the whole flash on CH32V208
This also involves limiting frequency of the CPU to 120Mhz
from 144Mhz to meet recommendations.
Signed-off-by: Camille BAUD <mail@massdriver.space>
After https://github.com/zephyrproject-rtos/zephyr/pull/72090,
`conn_tx_alloc` no longer blocks, and each buffer always has a
corresponding `bt_conn_tx` object. This eliminates the need to configure
the number of `bt_conn_tx` objects via `CONFIG_BT_CONN_TX_MAX`, since
every buffer now carries its own context even when no callback is used.
This commit deprecates `CONFIG_BT_CONN_TX_MAX` as it is no longer
necessary. Instead, `CONFIG_BT_BUF_ACL_TX_COUNT` is used to allocate
`bt_conn_tx` objects for outgoing ACL data. ZLL already uses
`CONFIG_BT_BUF_ACL_TX_COUNT` to configure the number of outgoing ACL
packets. With this change, modifying the packet count will automatically
adjust the number of corresponding contexts, preventing both context
starvatoin and underutilization.
This approach also aligns with ISO, where the number of `bt_conn_tx`
objects for outgoing ISOdata matches `CONFIG_BT_ISO_TX_BUF_COUNT`.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
After https://github.com/zephyrproject-rtos/zephyr/pull/72090, each
packet to be sent (wether ACL or ISO data) has a corresponding
`bt_conn_tx` object, regardless of whether a callback is used.
This means that number of packets Host can send to Controller is limited
by the smaller of two values: ACL/ISO packets Controller can receive,
and the number of `bt_conn_tx` objects allocated by Host.
A mismatch between these numbers may lead to inefficient resource usage
on either Host or Controller side. If Host allocates fewer `bt_conn_tx`
objects than the number of buffers available on Controller for a given
data type, some Controller buffers may go unused. Conversely, if Host
allocates more `bt_conn_tx` objects than Controller can consume, the
excess objects remain unused.
This commit adds a check and issues a warning if the number of
`bt_conn_tx` objects is not aligned with the number of ACL/ISO buffers
reported by Controller via the LE Read Buffer Size v1 or v2 command.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
There was wrong implementation in pkt frag removing and inserting.
This was causing infinite loop in either net_buf_frag_last or
net_pkt_get_len. This happened only when the pkt frag removing
and inserting was executed too fast after sending pkt before
ethernet_send calling net_pkt_get_len.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
MDK 8.69.1 included in nrfx 3.10 already applies the workaround,
so there is no need to do it again.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
In hal_stm32 commit "update stm32h7rs to cube version V1.2.0"
e5eba65b76
the constants FLASH_OPTKEY1/2 for the STM32H7RS have been renamed to
FLASH_OPT_KEY1/2. For backward compatibility, 2 defines have been added
to Legacy/stm32_hal_legacy.h, so that FLASH_OPTKEYx is an alias for
FLASH_OPT_KEYx.
However, in Zephyr's STM32 flash driver, the alias is defined the other
way around since 5dc537389a, which leads to
Twister build failures, for example
https://github.com/zephyrproject-rtos/zephyr/actions/runs/14927867714/job/41936931524#step:12:1335
To fix the build issue, we can simply remove that alias in Zephyr, since
it is no longer needed.
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
Move backlight i2c controller address into DTS configuration
to be able to use jhd1313 driver for dfrobot's LCD1602.
Signed-off-by: Leon Mariotto <leon2mariotto@gmail.com>
Add netif dependency for the test suite, as in other networking tests
and adjust minimal RAM and FLASH values.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The blend mode was set in a way that multiplied pixels with the alpha
value during read, which caused tests to fail.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
Don't use the same name for the structure instance and type.
As that is a violation of MISRA-C 2012 rule 5.7.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Don't use the same name for the structure instance and type.
As that is a violation of MISRA-C 2012 rule 5.7.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
As the initialization order is not yet defined by the device tree, we
manually need to reflect the order via the init priorities. As the GNSS
is connected to a UART that is powered by a regulator, the regulator
needs to be initialized first. By setting the prio to 87, we initialize
GNSS right after the regulator (instead of before as done without this
patch).
Signed-off-by: Felix Moessbauer <felix.moessbauer@gmail.com>
Set connection manager to unstable. It is now used
by multiple parts in zephyr and numerous samples.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Add option to use the connection manager to
schedule a (re-) sync on connection and diabeling the
work, when there is no connection.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Use connection manager to deactivate and activate
net log backend.
This removes the warnings about dropped packages
completly.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Avoid early enabling of the syslog backend in
the the dhcpv4 options parser.
When CONFIG_NET_IPV4_ACD is enabled, the assigned ip address has
not been checked, when the other dhcpv4 options are parsed, this would
lead to the syslog backend being enabled before the src ip address
is valid, so we get lots of warnings about dropd packets, this fixes
it at least on start. We will still get the warnings, when the iface
goes down and then up later.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Fix undeclared variable error by changing 'config' to 'cfg' in the
data_sync condition check, matching the variable name declared at the
beginning of the function.
Signed-off-by: Liang Jiaxiang <moonbite233@gmail.com>
Enable ACPI support for acrn_adl_crb and setting
CONFIG_MP_MAX_NUM_CPUS to 1 as SMP is disabled.
Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
This ASSERT fails because the comparison is made between the physical
APIC ID and the virtual CPU's LAPIC ID. If CPU-1 is assigned to ACRN,
it considers that CPU as its CPU-0.
Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
This commit introduces a new sample for the Auxiliary display driver.
The sample demonstrates counting from 0 to 1000, with an interval of 100ms
between each increment.
This sample primarily serves to demonstrate the capabilities of segment
displays.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
This commit introduces a new driver for a common GPIO-driven 7-segment
display. supporting both common anode and common cathode configurations.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
Terminate "if ... else if ..." constructs with an empty "else" clause to
indicate that consideration has been given regarding the behaviour when all
other conditions evaluate to false.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
MLD APIs are commonly used across the codebase to configure IPv6
multicast addresses on network interfaces. Sending MLD reports however
works only for native interfaces as it uses low-level APIs. Therefore,
in order to make the APIs at least semi-functional for offloaded
interfaces as well (i.e. allow to configure multicast address on
the interface), return early in case interface is offloaded.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
IGMP APIs are commonly used across the codebase to configure IPv4
multicast addresses on network interfaces. Sending IGMP reports however
works only for native interfaces as it uses low-level APIs. Therefore,
in order to make the APIs at least semi-functional for offloaded
interfaces as well (i.e. allow to configure multicast address on
the interface), return early in case interface is offloaded.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Use zsock_inet_ntop() instead of inet_ntop() to avoid dependency to the
POSIX subsystem in the library.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The result of the transport init() function should be propagated to the
application, otherwise the initialization could fail silently.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
UDP transport for the MQTT SN libraries depends on IGMP/MLD APIs
unconditionally (via respective setsockopt calls) and without them being
enabled transport initialization would fail. Therefore, ensure
respective multicast libraries are always enabled if MQTT SN UDP
transport is used.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Each incoming TCP packet has been completely handled in current
state. No need to do further process by 'goto next_state'.
Signed-off-by: Shrek Wang <inet_eman@outlook.com>
This change adds additional workaround for following errata:
"USART does not generate DMA requests after setting/clearing DMAT bit"
Instead of keepint DMAT bit set, it sends first byte by polling
in firmware. This prevents additional power consumption in STOP mode,
caused by keeping DMAT bit set.
Signed-off-by: Adam Berlinger <adam.berlinger@st.com>
The buffer_length != 0 is used to check if there is transfer ongoing
inside the uart_stm32_async_tx function. uart_stm32_dma_tx_cb clears
it to 0 when TX DMA is finished, but before the USART send all
the data from shift register.
buffer_length is also cleared in callback async_evt_tx_done,
which is called when USART finished sending all the bytes.
If the uart_stm32_async_tx would be called after
uart_stm32_async_tx, but before async_evt_tx_done there
could be race condition on buffer_length.
Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
The sizeof operator applied to a pointer to
char does not return the number of characters.
This leads to the message being cut off.
Instead we should use strlen.
Signed-off-by: Sandro Scherer <sand.scherer@gmail.com>
This reverts commit 5386a64cb5.
Issue is no longer relevant. Simplify use of board by restoring
enabling secure ipc by default.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
ESP32-S3-Matrix is a tiny board from Waveshare, shipped with an
ESP32-S3FH4R2, a QMI8658C IMU and an 8x8 WS2812 RGB matrix.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
The LED_STRIP driver is not enabled by default on all boards. As a result,
building the LED_STRIP_MATRIX display driver fails if LED_STRIP is not
manually enabled.
To address this, this commit changes the dependency from `depends on` to
`select`, ensuring that the required driver is automatically enabled and
build failures are avoided.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
Support to run non secure variants with ARMFVP was enabled with
a7122cf5 and fa45bebc
however, the pattern search doesn't work as expected.
This commit fixes that.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
AIN9 source needs special handling (all from AIN8-AIN14). Conversion
result needs to be scaled up by 3.6 additionally to gain and reference
voltage. In order to achieve correct value in the sample vref-mv is
used as reference voltage instead of predefined internal reference
source.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Sample is reading vref-mv property to get reference voltage and then if
reference source is set to ADC_REF_INTERNAL this value is overwritten.
If vref-mv property is provided then it should not be overwritten.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
On nrf54h20 there are additional analog pins (AIN8+). When differential
mode is used they must not be mixed with AIN0-AIN7. Add build time
validation which detects if configuration is invalid.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Change the ACL buffer sizes to be a higher value than the
default, as that caused some issues with the CIS established
event.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add coverity integration as a SCA variant. This is targetting the
service provided by blackduck to open-source projects available on
scan.coverity.com.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The nRF GPIO hardware does not store the initial output value
set resulting from gpio_pin_configure() and thus, when
gpio_get_config() is used, the initial value is not returned.
This commit just reads the output value and sets the INIT
value to match in gpio_get_config().
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Add nordic-auko and seov-nordic as collaborators for
Drivers: MFD in MAINTAINERS.yml file.
Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
Remove gmarull, and add nordic-auko and seov-nordic as maintainers
for Drivers: Regulators in MAINTAINERS.yml file.
Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
it8xxx2 pwm driver does not handle "pwm-output-frequency" property,
so setting the property in borad.dts is useless.
About PWM output frequency, it can be set by pwm-cells "period",
"pwm-output-frequency" is really redundant.
Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
Instead of obscure linker-file hacks providing dummy definitions before
we have the proper generated k-object lookup functions, provide weak
definitions that will be taken out by the real generated implementations
when they are available.
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
Mass renaming is carried out to unify some prefixes and shorten some
macros, making the code easier to maintain and support new devices.
- Rename `int_dev` to `gpio_int_dev` for gpio interrupt
- Rename `eirq` to `ext_irq` for external interrupt
- Rename `gpio_rz_hw_config` to `gpio_rz_flags`
- Rename `p_pm` to `gpio_flags`
- Rename `pre_flags` to `rz_flags`
- Remove `_IOPORT` and `_PIN_CONFIGURE` in some macros
- Rename `GPIO_RZ_PIN_CONFIGURE_GET_FILTER`,
`GPIO_RZ_PIN_CONFIGURE_GET`, `GPIO_RZ_PIN_SPECIAL_FLAG_GET` to
`GPIO_RZ_FLAG_GET_FILTER`, `GPIO_RZ_FLAG_GET_CONFIG`,
`GPIO_RZ_FLAG_GET_SPECIFIC` respectively
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
In order to be consistant with other formats bayer formats
recently introduced, rename all 4 8 bit bayer formats with a
S prefix (SBGGR / SRGGB / SGBRG / SGRBG).
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Many cellular modems attempt to negotiate an ACCM value of 0x00000000.
While the PPP driver rejects this by default, it does not propose an
alternative. As a result, some modems default to using 0x00000000 after
LCP negotiation. Because the PPP driver expects all control characters
to be escaped, this causes issues during decoding. This change
negotiates an ACCM value of 0xffffffff to ensure compatibility with such
modems.
Signed-off-by: Vytautas Virvičius <vytautas@virvicius.dev>
Xtensa arch layer has some custom compilation commands to
generate the interrupt dispatchers and the core-isa* files.
However, the include path to find core-isa.h does not work
for Espressif ESP32. So update the mechanism to use correct
path pointing to Espressif HAL when targeting ESP32 family
SoCs.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Add a missing newline between two groups in the pin control .dtsi
file for the ch32v003evt and the linkw board to comply with style
rules.
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
When PM2 is enabled, it will disable many of the devices, so need to
enable PM policy constraints for this mode also so that device drivers
can work.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
This driver doesn't need to do anything in its irq_update
implementation, but add a dummy one so that calls to uart_irq_update
don't fail with -ENOSYS.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
This driver previously caused an assertion error if non-NULL user_data
was passed to uart_irq_callback_set. Add support for this by storing the
user data and passing it back to the IRQ callback function.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Since #84446 it became necessary to enqueue a first video buffer before
performing the transfers. Apply this config change to the sample.
Signed-off-by: Josuah Demangeon <me@josuah.net>
The WCH CH32V006EVT is an evaluation board for the RISC-V based
CH32V006K8U6 SOC.
The board is equipped with a power LED, reset button, USB port for
power, and two user LEDs.
Add the board definition, documentation, and sample overlay.
Signed-off-by: Michael Hope <michaelh@juju.nz>
The flash latency needs to be configured before switching to the high
speed clock. Set the latency based on the CH32V003 and CH32V00x
reference manual.
Signed-off-by: Michael Hope <michaelh@juju.nz>
Expand the current systick compatibility to include the CH32V00x
series. Change the HAL compatibility to include all of the CH32V
family.
Signed-off-by: Michael Hope <michaelh@juju.nz>
Compared to the CH32V003, the CH32V00x series is an evolution that
uses a different microarchitecture (V2C instead of V2A) and different
pinctrl mappings.
Fork the current qingke_v2a and use the new proposed naming convention.
Signed-off-by: Michael Hope <michaelh@juju.nz>
The CH32V006 is part of the CH32V00x series of 32 bit RISC-V
microcontrollers. This series is an evolution of the CH32V003 which
was used as a basis for this Devicetree definition.
Compared to the CH32V003, thie CH32V006 has an extra GPIO port (PB),
an extra UART (UART2), 8 KiB of RAM, 62 KiB of flash, and uses the
QingKe V2C core.
Signed-off-by: Michael Hope <michaelh@juju.nz>
The CH32V006 and others in the CH32V00x series are an evolution of the
CH32V003 and use different remap offsets for the various peripherals.
In the same way as the CH32V20x, fork the CH32V003 driver and add
CH32V00x support.
Signed-off-by: Michael Hope <michaelh@juju.nz>
The QingKe V2C has an integer multiplier but no divide. Add support
for the corresponding Zmmul extension and, as the extension was added
in GCC 13.0, add a test for the compiler version.
Signed-off-by: Michael Hope <michaelh@juju.nz>
Added 2 different revisions of RPL-s board with 2 PCH
options 600 series and 700 series.
Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
This commits follows the prior commit to update all the base
register which uses the Davinci driver as thier GPIO driver
Signed-off-by: Dhruv Menon <dhruvmenon1104@gmail.com>
This commit adds a padding of 0x10 bytes at the beginning of the
`gpio_davinci_regs` structure to correctly align the register
definitions with the actual register layout.
Previously, the DTS had to manually offset the base address by
0x10, introducing a special case in Zephyr's Davinci GPIO driver.
This change eliminates the need for that workaround
Adding the paddingi also help to maintain a similarly with also
to the linux counterpart.
Signed-off-by: Dhruv Menon <dhruvmenon1104@gmail.com>
Make sure to provide full paths when saving the intermediate files in
the YAML export, to prevent them from being saved in the source tree.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This reverts commit 370e0882cb, the
condition is evaluated at workout creation time so this does not work at
all, plus some conditions don't have a label removal logic so pairing
this with the manifest run does not work anyway.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The building of cs.c based on the respective Kconfig option is already
taken care of CMakeLists.txt, so it's redundant to try to protect the code
through ifdefs in the c-file as well.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Add an entry to the release note to inform about the new
CONFIG_OPENTHREAD_SYS_INIT Kconfig option.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
The new CONFIG_OPENTHREAD_SYS_INIT Kconfig option allows OpenThread
to be automatically initialised during the Zephyr POST_KERNEL
initialisation stage.
If Zephyr's L2 layer OpenThread implementation is enabled, the
IEEE802.15.4 shim layer initialises OpenThread in the POST_KERNEL
phase. However, since Openthread may work without Zephyr's L2
layer, in this case, no object can initialise it automatically.
This new Kconfig option may help start OpenThread automatically
if the L2 Layer is disabled.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
According to RFC 2131 Request message Exchange ID should be the same as
the one received in the Offer message from the server. Modify test to
verify that.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add Pad option to the DHCP packets generated by the fake server, to
verify the client processes them correctly.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
According to RFC 2131, DHCP clients should use the same xid as
received in the Offer message when sending DHCP Requests. Therefore,
when generating DHCP Request message, the xid value should not be
incremented.
One vague topic is whether the xid value should be updated when
sending Requests from Renewing or Rebinding states, however RFC makes no
exception for those states, and other implementations (dhclient, lwip)
seem to reuse the same xid in such cases, so comply with this behavior.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Pad option (option code 0) can be present in between other options for
alignment. The option has a fixed 1-byte length (i. e. no length field),
therefore it did not fall under the common processing code for
unrecognized options (which include the length field at the second
byte). Therefore, not processing this option explicitly could disturb
other options processing, as the parser would wrongly interpret the next
option code as the length field. This commit adds Pad option handling to
fix the issue.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case the received DHCP message is malformed and contains invalid
message type, the code responsible for matching message type with a
string would assert. This shouldn't be the case that external conditions
(like receiving malformed packet) trigger asserts in the system.
Therefore modify that code, to return "invalid" string in such case
instead.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Move creation of last section id from ld linker script LONG() usage to
C code with last section attribute.
The use of `LONG()` works correctly with ld but lld emits a warning
because .last_section section is not allocated as there are no matching
input sections and discards the `LONG()` call, meaning the last section
identifier will not be present in the flash.
> ld.lld: warning: ignoring memory region assignment for
> non-allocatable section '.last_section'
Placing the last section id in `.last_section` in C code makes lld
allocate the memory for the id and thereby create the output section
with the correct output.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Discard the eh_frame section when C++ exceptions are disabled.
In principle the eh_frame may be used for other purposes such as
backtracing when linking C programs, then Zephyr compiles each source
file with '-fno-asynchronous-unwind-tables', thus keeping the eh_frame
in the elf output just takes up space.
When using gcc/ld, then the eh_frame is generally generally discarded
per default, however for clang/lld it will be included but give a
warning that the section is auto-placed.
Some platforms already discards the eh_frame, so unify this for all
targets.
As eh_frame is now discarded in linker scripts then post processing step
of removing the section during hex or bin conversion can also be
removed.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Response "data_len" field needs to be set with the size of the
received data before calling the parser as it's used inside the on_body
callback, this commit fixes it.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
With recent changes to the host stack and crypto subsystem, the actual
usage of the system and long workqueues has changed.
Here's the measured usage when doing LE SC pairing on a Cortex M0 target:
BT LW WQ : STACK: unused 360 usage 1040 / 1400 (74 %); CPU: 4 %
sysworkq : STACK: unused 0 usage 1024 / 1024 (100 %); CPU: 0 %
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Add a prompt to the long workqueue stack size, so that it can be easily
fine-tuned by the application. The exact usage will depend on many factors,
such as the chosen crypto backend and target architecture, so it's not
possible to have "one size fits all" solutions based on the default values.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
1. rework IOM cmdq buffer instantiation
2. rework spi and i2c cache handling as it is incorrect.
3. buffers need to be aligned with DCACHE on
Signed-off-by: Swift Tian <swift.tian@ambiq.com>
The previous implementation already reported a key-press event after
reading an ADC value close to the threshold for the first time.
This may lead to false events if the ADC takes a reading just during
the transition from one button state to another (especially if a
somewhat large capacitor is used to avoid noise).
A key-press state must be same for at least two samples in order to
avoid such issues, which is what this commit implements.
Signed-off-by: Martin Jäger <martin@libre.solar>
Current clock synchronization was always stepping clock. This was
causing large offset, and discontiguous ptp hardware clock time.
For TSN hardware, discontiguous ptp hardware clock time was not
able to be used for other TSN protocols.
This patch is to convert to frequency adjustment with a basic
PI control algorithm.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
At the starting of ptp syncrhonization, there may be not Sync frame
TX/RX timestamps in first time link delay calculation.
So, need a check for that in case of wrong link delay calculated.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
The Microchip CAP12xx series has a configurable sensitivity and
can drive an optional guard signal to reduce noise sensitivity.
Signed-off-by: Jeremy Dick <jdick@pivotint.com>
Remove the newline printed after decoding a block of telnet data from
the server in the "pure python" implementation used when netcat is not
available. This newline print is incorrect as it is not in the RTT
output being produced from the device, and can impact programs like
twister which expect specific strings in the output and cannot handle
these strings being split across two lines
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
The SOC defconfig overrides CONFIG_KERNEL_ENTRY from the default of
__start to _vector_table. This is undesirable for cores such as M4 where
the _vector_table symbol has just raw addresses and no instructions. The
change was done to make sure Zephyr images can be loaded via remoteproc in
which case the entrypoint needs to be 64 byte aligned. To fix this, use
_vector_table as the ELF entrypoint only for R5 cores.
Signed-off-by: Amneesh Singh <a-singh7@ti.com>
Add TI OMAP interprocessor mailbox node for J722s MCU R5,
the user ID assignment is as per the corresponding mailbox
interrupt assignment for the core.
Signed-off-by: Andrew Davis <afd@ti.com>
Add TI OMAP interprocessor mailbox node for J722s MAIN R5,
the user ID assignment is as per the corresponding mailbox
interrupt assignment for the core.
Signed-off-by: Andrew Davis <afd@ti.com>
Add TI OMAP interprocessor mailbox node for J721e MAIN R5,
the user ID assignment is as per the corresponding mailbox
interrupt assignment for the core.
Signed-off-by: Andrew Davis <afd@ti.com>
Add multi-display support in Zephyr ontop of LVGL which already supports
it.
This change allows for creating buffers and structures for each display
statically and automatically from deviceTree info, and call LV init
routines for each display
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
Add "zephyr,displays" compatible for passing available display
controllers nodes to graphical libraries that have multi-display support
like LVGL
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
The context type PROHIBITED has been removed from
the Bluetooth assigned numbers document. It is, however,
still used in some profiles to indicate either "No context
type supported" or "None available", and thus a rename
to "NONE" makes sense.
It is still treating similar to prohibited in some cases,
as it is not a valid context type in all cases.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add here as an example that support setting customized TX power limit
file to override the default one.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
fix issue with (no paths) != sum(<no paths>)
In some cases it was observed that item were being
added to the node_no_paths and these only had a
path of ':' hence no node was ever added.
This resulted in the size of (no paths) to not be
equal to the sum of it's children.
I am not sure if this size should be a child named
of no paths or if this should be part of the
node_hidden_syms. I assumed it should be part
of node_hidden_syms
Signed-off-by: Kyle Micallef Bonnici <kylebonnici@hotmail.com>
In twister coverage runs we create the gcov sym link to llvm-cov
executable. This code runs multiple times which causes errors with the
current implementation since creating the symlink will fail; then
copying will also fail because we're using the symlink (self copy the
file).
Add a helper function to `try_making_symlink` which will handle the
following cases:
1. If the symlink already exists and is correct, do nothing.
2. If the symlink exists but points to the wrong file, replace it.
3. If the symlink doesn't exist create it.
4. If creating a symlink fails, just copy the file.
Signed-off-by: Yuval Peress <peress@google.com>
The hw feature generation takes a long time. The HW_FEATURES_TURBO_MODE
option completely disables hw feature generation. Add a new option
HW_FEATURES_VENDOR_FILTER to be able to selectively enable hw feature
generation only for a given list of vendors. This option is useful
when working on board documentation pages.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
To improve code clarity, use `shell_print` in place of `shell_fprintf`
with `SHELL_NORMAL` where appropriate.
For partial-line outputs, use `shell_fprintf_normal` to preserve output
formatting.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Make `sensor_channel_name` and `sensor_attribute_name arrays` to use
`const char *const`. This ensures full immutability of the tables,
placing them entirely in the `.rodata` section and reducing usage
of the `.data` segment.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Aligned the `struct shell *` argument name from `shell_ptr` to `sh`
for consistency with other drivers' usage of `sh`, and to match
the `shell_cmd_handler` argument name.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Aligned the `struct shell *` argument name from `shell_ptr` to `sh`
for consistency with other drivers' usage of `sh`, and to match
the `shell_cmd_handler` argument name.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
For some reasons, xt-clang does not like "%hhd" or "%hd"
(for example) being fed int data (same goes for unsigned ones)
and will always complain about mismatched types. GCC and newer
LLVM/Clang do not complain. This could be due to xt-clang
being based on older LLVM/Clang. So skip the check.
Fixes: #89008
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Declare the dts and binding files used for the supported hardware
directive as dependencies of doc pages that use them.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
The script zephyr/scripts/kconfig/kconfigfunctions.py used by
Kconfig's "shields_list_contains" searches shield names in lower-case,
like they are passed through the SHIELD in CMake, --shield argument
in west. Make the mt9m114 shield upper-case. This has no effect currently
as this Kconfig entry is not used anywhere in Zephyr.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Add FRDM-MCXN947 to the video capture sample documentation and twister
YAML configuration, using the DVP OV7670 camera module newly introduced.
Signed-off-by: Josuah Demangeon <me@josuah.net>
The OV7670 was defined as part of the FRDM-MCXN947 board attached to the
SmartDMA and I2C peripheral. Migrate the devicetree to a reusable shield
that can be swapped with other image sensors.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Add the 20-pin camera connector used by at least Arducam, Waveshare,
Olimex, Arduino, NXP, ST, Adafruit that connects image sensor module
boards and devkits.
Signed-off-by: Josuah Demangeon <me@josuah.net>
The PWDWN_CTLx have been adjusted to support for NPCK chips. This
commit updates powe-down control initialization for NPCXN and NPCKN chips.
Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
This patch modifies the DTS files for Intel ADSP ACE 3.0 platforms,
ensuring the power-states node is a child of the cpus node. This change
aligns with Linux conventions and mirrors the adjustments made in commit
e4c43e4cc9 for other platforms.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Fix Central CIS offset calculation for dissimilar ACL and
ISO intervals in use.
Mayfly execution of `mfy_cig_offset_get()` could be after
"LLL Prepare" or before depending on whether a previous radio
event is being preempted or not, respectively; the
`conn->lll.event_counter` may not be pre-incremented.
This race condition is fixed by the fact that we use a
constant instant delta value now.
Dissimilar ACL and ISO intervals may lead to ACL overlapping
or be too close to ISO event, causing preemption; under this
case ACLs "LLL Prepare" would run after `mfy_cig_offset_get`
causing incorrect calculation of CIS offset without the fix.
Remove redundant `instant` member in `ll_conn_iso_stream`
structure as a constant CIS Create instant delta is now
used.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add support for using the diag0 pin as an interrupt source. This
allows event detection via diag0 interrupts instead of polling rampstat.
The driver now:
- Configures diag0 when the GPIO is available
- Sets up GPIO interrupt handling for rising edge transitions for
rampstat reading
- Falls back to polling only when diag0 is not available
Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
Simplified by removing redundant options and
enabled automatic fallback to ramp status polling when
diag0 pin is unavailable for event detection.
Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
This diag0-gpios property allows configuring the diag0 diagnostic pin,
which can be used to indicate position reached, stall detection, and
other status information from the controller.
Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
This fixes several ways to hang the driver, such as:
- typing too fast
- going over the read buffer capacity
- pasting anything
- using arrow keys (sending 2 chars at once)
etc
Signed-off-by: Camille BAUD <mail@massdriver.space>
Replace `CONFIG_NET_L2_IEEE802154` with `CONFIG_NET_L2_PHY_IEEE802154`
as `NET_LINK_ADDR_MAX_LENGTH` should be set to `8` for all IEEE 802.15.4
based L2, e.g. OpenThread.
Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
Change the base address of GPIO and pinctrl voltage selection
The new base address enables more pins to support voltage selection.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
When the supplied server address is already an
ip address, CONFIG_DNS_RESOLVER is not required,
as zsock_getaddrinfo() can resolve literal addresses
without it.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
The commit `1f73ca3` clarified that a scan time of 0 should be used to
apply the default scan timeout, as opposed to using
SL_WIFI_DEFAULT_ACTIVE_CHANNEL_SCAN_TIME, which incorrectly results in
a 65-second timeout.
However, this fix was unintentionally omitted in commit `bf22b61`
when the `sl_si91x_configure_timeout()` function was relocated.
This commit restores the behavior.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Implemented logic to detect changes in key Wi-Fi parameters (SSID, PSK,
security, channel) and disable the interface accordingly. For STA mode,
the driver disconnects before reconnecting with updated parameters. For
AP mode, it disables and re-enables the AP if changes are detected.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Relocate the functions siwx91x_status(), siwx91x_disconnect(), and
siwx91x_ap_disable() to improve code structure and accessibility. This
reorganization prepares the codebase for upcoming integration of
connection and AP enable logic that handles parameter differences.
No functional changes are introduced in this commit.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Default the BT Tester to use the overlay-bt_ll_sw_split.conf for all
Zephyr based configurations.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Adds a new BT controller configuration that can be applied
to multiple boards and not specific to the nRF5340 cpunet
as the existing setup uses from hci_ipc.
The config is based on nrf5340_cpunet_iso-bt_ll_sw_split.conf
from hci_ipc sample.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The stream_started and stream_stopped callbacks are called for
both broadcast sink and source in the BT Tester, and thus
they should check if the stream can send before attempting
to register it for TX (which would otherwise fail).
This also guards the call to btp_send_bis_syced_ev so that
the event is only sent for broadcast sinks.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This change plays with situation in nRF54L devices where XOTUNE make
LF clock calibration process starts a bit longer. Now HF clock
is configured to be ready right before LF calibration test.
Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
the k_event_clear in the work might be to late sometimes, when
hawkbit_autohandler_wait() is executed directly after
hawkbit_autohandler(). This leads to getting the events
of the former execution and also not waiting until the
current autohandler run is finished.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
This commit refactors when the BTP_ASCS_EV_OPERATION_COMPLETED
is sent to the upper tester. Previously it was send
in the stream changed callbacks, but that would send
the events to the BAP Unicast Server when it did not initiate
any changes, and would not properly match when the control
point operation was completed (which happens before the
ASE state changes).
This change makes it easier to determine when an operation was
actually completed, and easier to separate that from a
ASE state change which is another type of event.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The ase state changed event was only sent when entering the
streaming state, rather whenever there is a state change.
This commit sends the event for all ASE/stream state changes.
To make it clear that these are called in the callbacks,
the callbacks have all been suffixed with _cb.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add the MSPI controller support for apollo5x.
Add the MSPI controller to mspi API test.
Updated west.yml for hal updates.
Signed-off-by: Swift Tian <swift.tian@ambiq.com>
1. Moved ambiq specific macro to mspi_ambiq header.
2. Always fill rx&tx dummy settings regardless of transfer direction.
3. Add the CONFIG_MSPI_* macro for optional features.
4. Fixed the ID read process and add k_sleep during busy_wait in
atxp032 driver.
Signed-off-by: Swift Tian <swift.tian@ambiq.com>
PSA Crypto API always allow psa_generate_random() to be called (i.e. there
is no PSA_WANT_xxx symbol that can be used to disable it). How random
numbers are generated internally is a library internal detail, but the
end user (Bluetooth) does not need to worry about this.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
sizeof(struct bt_le_cs_write_cached_remote_fae_table) = 74,
so the default value (65) was already too small in some cases.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
Update the README file to be .rst instead of (implied) .md
and update the text w.r.t. supported profiles and services,
and how to build for LE Audio.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The tx-en-settle-time-us is set to 26 to take into account
the time needed for the RF output power rise time of the nRF5 SoC.
Signed-off-by: Andrzej Kuros <andrzej.kuros@nordicsemi.no>
The display blanking API mentions that display_blanking_on
and display_blanking_off should return -ENOSYS if it is not
implemented by the driver. It should not be considered as
an error since it might not be needed in order to have the
display work correctly.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The display blanking API mentions that display_blanking_on
and display_blanking_off should return -ENOSYS if it is not
implemented by the driver. It should not be considered as
an error since it might not be needed in order to have the
display work correctly.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The display_blanking_on description states that if available,
backlight should also be disabled / enabled on driver blanking on / off.
Moreover, upon driver initialization, the display blanking (hence
backlight state as well) should be same as if display_blanking_on
had been called.
If nothing can be done by the LTDC driver (no backlight and no
panel blanking) then -ENOSYS is returned.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Adds the device tree, 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>
Add an implementation for the Ethernet API's set_config
hook. Supported features:
- change MAC address at run-time
- enable/disable promiscuous mode if enabled at system level
Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
Remove the boolean flag "promiscuous-mode" from the GEM's
DT binding, as promiscuous mode control is being switched
over the the Ethernet device driver's get_config/set_config
API functions.
Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
This commit improves the alignment of columns in the verbose Twister
output by reclaiming extra space in the testsuite name column when the
platform name oveflows its allocated width.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Otherwise, callbacks subscriptions the application subscribes to will
not ever trigger.
Additionally, rename this overlay so it's compatible with hwmv2 target:
vmu_rt1170/mimxrt1176/cm7.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
This driver was setting all GPIO lines to input and the data register to
zero on initialization. This does not appear to be common practice among
other GPIO drivers, and in fact caused a serious problem on the ZynqMP
platform, where between 1 and 4 of the top-most GPIO lines are
frequently used by platform firmware and Vivado as reset lines for the
programmable logic. Since these resets are active low, and their
input/output state is ignored due to how they are connected to the EMIO
GPIO outputs from the PS, this caused the PL reset to be asserted when
the GPIO driver initialized, preventing any logic using that reset from
functioning properly.
There may also be other cases where GPIO line states have already been
set by the boot loader or firmware and clearing them may result in
improper behavior or glitches on the lines during initialization.
Update the driver to disable GPIO interrupts but leave the pin
modes/states unchanged until/unless they are explicitly reconfigured.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Theoretically (if either `height` or `width` in `config` is set to 0),
the `ret` variable might be returned from `st7567_clear()` without
being initialized.
Add initialization of this variable to avoid compiler warnings.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
esp32-mp.c calls z_sched_ipi() so it needs to include ksched.h,
as it is no longer included via kernel.h after removal of
kernel/internal/smp.h.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Changed reference to ADC_REF_EXTERNAL0 as it is the only value supported
by current driver implementation and 3v3 external reference is connected
on the board.
Signed-off-by: Dhanesh S R <sr.dhanesh@protonmail.com>
Use the new modem command send_data_nolock function where it was
previously just written directly to the interface.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
Add helper function to send data on modem command handler interface.
This makes sure that when verbose logging is enabled all data is
actually logged.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
Fix possible race condition, reset the response semaphore before we send
any data. In case we don't get scheduled back before the response is
processed.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
Zero-initialize the `test_int_limits` and `test_enums` structs before
assignment and decoding in their respective tests.
This ensures that all padding bytes are set to zero, making
`memcmp`-based comparisons reliable and portable across different
architectures and compilers.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add a special testcase to test any stm32 target
The expected flash size is given by the config FLASH_SIZE (in bytes)
and stm32 flash driver API function should return the same value
Do not run on the stm32wb55 nucleo as 216K are reserved among the 1MB
(only 808K declared but mcu has 1MB)
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Use the LL_GetFlashSize to retrieve the size of the flash, reading the
system flash OTP of the stm32h5 serie. This operation requires
Icache disable/re-enable to access the 0x08FF F80C memory area
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Implement the get_size flash device API function for the various stm32
This is just CONFIG_FLASH_SIZE expressed in Bytes or the FLASH_SIZE
given by the LL driver
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Move the flash_stm32_write_protection and
flash_stm32_option_bytes_lock functions to a common
file for stm32 devices including stm32h7
Signed-off-by: Francois Ramu <francois.ramu@st.com>
When using 20-bit FIFO packets, invalid data is indicated by the value
-524288. Currently, no check is done against this and invalid data is
decoded. Fixed by adding a simple check. Also, the wrong bit is used to
check if HIRES is enabled. Fixed by using the correct mask.
Signed-off-by: Yau-ming Leung <ymleung314@gmail.com>
Rename shield to arduino_giga_display_shield.overlay to match
the shield and board naming conventions.
Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
This allows all samples to work out of the box without requiring
SMH initialization. If DCMI (video) is used simultaneously and
more video buffers are needed, the application should enable SMH
for both the video and display subsystems and initialize it.
Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
Since the test is hardcoded to prioritize testing a spi nor flash if
there is one, add a twister case for disabling that config in case if a
platform should also test some other flash which is present, such as
internal SOC flash. I.e, relevant platforms would be those which have
both internal and spi nor flash enabled in DT.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The Sparkfun Teensy Micromod was designed by Paul of PJRC
and manufactured and sold by Sparkfun.com
The functionality of this board is very similar to the Teensy 4.
It has the same basic pin definitions of the Teensy 4 but added
6 additional IO pins. Which added a lot of possibilities to use
the flexio system in new ways, such as for camera input.
It was unclear if the board should be added here or all of this
duplicated under Sparkfun, but now Sparkfun is also now responsible for
the manufacturing and sales of the Teensy 4 and Teensy 4.1, here feels
like a good place.
Note: I am mainly doing this as a learning experience on how to use
zephyr directly, as most of my experiences with Zephyr is done through
the current WIP Arduino Wrappers for some of their boards.
So far I duplicated the Teensy 4.1 files, then modified, like removed
the Ethernet and added the I2C2 object.
I updated the flash information as these come with a 128mbit version
versus the 64 on T4.1 or 16 on T4.
So far I have only test blink.
plus: cdc-acm example, plus adding gpio to it,
plus logging, plus blinking.
Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
This header uses enum mcumgr_err_t but does not include the
header where it is defined. Fixed in this commit.
Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
There appears to be a typo in the arduino header .dtsi
compared to UM2592 and physical hardware.
Signed-off-by: John Bason Mitchell <johnbasonmitchell@gmail.com>
Replace the assert on the value of the prescaler by a standard check and
an error value return (similar to the STM32 XSPI PSRAM driver).
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
For STM32 XSPI PSRAM driver, compute and set the prescaler automatically
according to the kernel clock and the max frequency of the PSRAM.
Copied from what is done in the STM32 XSPI Flash driver.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Add a parameter to define the maximum PSRAM frequency for the STM32 XSPI
driver. It will be useful to automatically calculate a prescaler.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
With BT_SETTINGS enabled, there doesn't seem to (anymore?) be any
substantial overhead in stack consumption:
0x200020b8 BT RX WQ
options: 0x0, priority: -8 timeout: -9223372036854775808
state: pending, entry: 0x5ba69
stack size 2240, unused 1072, usage 1168 / 2240 (52 %)
Let's just remove the conditional default and fall back to the
non-conditional one which is 1200.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Add buttons connected via GPIOs 0 to 3 for the NEORV32 MinimalBoot and
UP5Kdemo board variants.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Calibration process can be simplified if LF clock is always on.
Kconfig was depending on RTC being used as system clock because
that indicates LF clock being always on. Same can be done for
case when GRTC is used as system clock.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
mpfs_icicle timeouts on this test similarly to other boards
simulated in Renode. Null pointer dereference doesn't trigger
a CPU fault during simulation. Instead, call k_panic() directly.
Link: a28d5df5c6
Signed-off-by: Marek Slowinski <mslowinski@antmicro.com>
The Kconfig help text for the SN74HC595 driver refers to the device
as a "GPIO extender", which is inconsistent with the devicetree
binding file (ti,sn74hc595.yaml) that describes it as a "GPIO expander".
Signed-off-by: Hank Wang <wanghanchi2000@gmail.com>
Make sure iso_interval_us is in a multiple of 1.25 ms instead of directly
assigning it the value of SDU interval
Fixes EBQ failures in LL/CIS/CEN/BV-36-C and LL/CIS/CEN/BV-37-C
Signed-off-by: Troels Nilsson <trnn@demant.com>
Set the loopback interface name to "lo" instead of using the
default "dummy0" as the former is a more appropriate.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
According to TCP Spec. RFC793, ACK flag should be always set
after sequences of both sides are sync-ed except for RST seg-
ment. It is not necessary to send FIN only packet in the
test case, using FIN | ACK instead.
Similarly, change the tcp_out(conn, FIN | ACK) in CLOSE_WAIT.
Signed-off-by: Shrek Wang <inet_eman@outlook.com>
Port the nordicsemi_nrf53_init to use soc_early_init_hook instead of
SYS_INIT as SYS_INIT is legacy.
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
Expand the CAP broadcast reception test to also run with
multiple acceptors to better verify correctness in the
procedures.
For this to run more stable, the maximum number of streams
has been reduce to 2, rather than
CONFIG_BT_BAP_BROADCAST_SRC_STREAM_COUNT.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
In uuid.h the function uuid_generate_v5 had a 'namespace'
parameter which is a reserved C++ keywork.
Renamed to 'ns'.
Signed-off-by: Daniel Nicoletti <dantti12@gmail.com>
Change PWM to use buffers registers instead of writing period
and compare directly. This addressses an issue when updating
period to a value less than current counter, as demonstrated
in the blinky_pwm sample running on the CYW920829M2EVK_02
board.
Signed-off-by: John Batch <john.batch@infineon.com>
This commit fixes a type in kernel/driver/index.rst,
present in the "Drivers that do not use Zephyr Device
Model" subsection
Signed-off-by: Dhruv Menon <dhruvmenon1104@gmail.com>
As the code noted, the RGMII RX and TX clock delay values may need to
change depending on the MAC configuration or the PCB layout. Add
properties to allow configuring these in the device tree, defaulting to
the previous hard-coded values if not present.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
pm_state_get() is used to get a PM state that can be forced.
Disabled states (not included in automatic state selection) can
also be forced thus they should be included in search inside
pm_state_get().
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The GPTM is a general purpose module with a 16 bit prescaler, 16 bit
counter, and 4 compare units that can be used for PWM generation.
Use the same style as gd32 where the timer is a counter and the PWM
mode is a child node.
Signed-off-by: Michael Hope <michaelh@juju.nz>
when following the example it was not clear that BUILD_DIR needs to point
to application for sysbuild builds
Signed-off-by: Tobias Meyer <tobiuhg@gmail.com>
`pyocd` fails the second time the MCU is flashed.
Add `pyocd` flags identical to other nucleo boards to fix the issue.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
Currently the driver code does not actually request the flow control
state, it only checks if the state exists. To fix this we should
simply call pinctrl_apply_state() and if that fails, meaning no
flow control state exists, fall back to default pin mux settings.
Another case that needed fixing is run time flow control enabling
ie in the case where we have a WIFI/bluetooth module connected
and we initially operate without flow control but later enable
it after firmware download.
This patch addresses this as well by making a generic function
to achieve this.
Signed-off-by: Bas van Loon <bas@arch-embedded.com>
deleting two test-cases from drv8424 test-suite since these test-cases
are now present in stepper-api since #88835
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
The abs() function only takes an int as input - use llabs() instead
Fixes EBQ failure in LL/CON/PER/BV-105-C
Signed-off-by: Troels Nilsson <trnn@demant.com>
Some OpenThread logs were moved from L2 to the OpenThread module,
so enable logging from there to keep previous logging visibility.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
An implementation should use a dedicated function to get
openthread instance instead of using the private L2 data.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
Add an entry to the release note and migration guide regarding
moving the OpenThread implementation from the L2 networking layer
to the OpenThread module.
The migration guide note contains information about deprecated
functions, explains what functions should be used instead and
provides a guide for required updates in users' applications.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
Move OpenThread-related code from
zephyr/subsys/net/l2/openthread/openthread.c to
zephyr/modules/openthread/platform/openthread.c.
The primary goal of this refactor is to enable the use
of OpenThread as an independent module, without the necessity
of Zephyr's networking layer.
This change is particularly beneficial for simple applications
that have their own implementation of the IEEE802.15.4 driver
and do not require a networking layer. These applications can
now disable Zephyr's L2 and IEEE802.15.4 shim layers and
directly use the OpenThread module, saving valuable kilobytes
of memory.
In this approach if the CONFIG_NET_L2_OPENTHREAD
Kconfig option is set, Zephyr's L2 and IEEE802.15.4 layers
will be used, and everything will function as before.
The main difference is the Zephyr's L2 layer now uses
the OpenThread module, no longer implementing it.
While most of the functions in include/net/openthread.h
have been deprecated, they are still available for use to
maintain backwards compatibility.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
Add Asynchronous UART implementation, which does not drop data
when automatic hardware-flow-control is set in the device tree.
With automatic hardware flow control, the CTS pin will be
automatically deactivated when there are no more asynchronous
UART RX buffers available. After buffer space becomes available,
and UART RX is restarted, the CTS pin will be activated.
Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
Extend test modem uart backend test suite to support testing hw
flow control, which is performed by using a small receive
buffer for the modem uart backend, and slowing down the read
of received data, ensuring the buffer will be overrun if hw flow
control is not working.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Don't enable RTT by default on these development kits. They all have
a dedicated physical serial port that is intended to be the primary
serial comms channel.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Doing another init of the log_backend_net in
the net config init could lead to the
server, set during runtime, being overwritten
by the Kconfig default.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Mention the NEORV32 General Purpose Timer (GPTMR) as supported and add
instruction on how to enable it in the devicetree.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
When async UART is used & DCache is enabled, some SoCs, like STM32H7,
require UART buffers to be placed in nocache memory to avoid cache
coherence issues.
Fixes issue 87795
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
The commit '3b29b9fa3b4 (tests: logging: restore userspace testing,
2025-04-18)' set CONFIG_LOG_PRINTK=n which brakes the build on the
platform 'ip_k66f'.
Without CONFIG_LOG_PRINTK=n (dependency from CONFIG_USERSPACE=y) some
tests in 'tests/subsys/logging/log_core_additional/logging.log_user'
would not build.
Remove this dependency so that LOG_PRINTK can also be used from user
space, which is possible since '77925656ab8 (logging: Fix runtime
message creation in user-mode thread, 2025-04-18)' and reset
CONFIG_LOG_PRINTK=y.
Fixes: #89067
Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
Test integer overflow on Flash Area operation parameters.
All functions call the same is_in_flash_area_bounds
function for parameter verification, so it was enough
to test parameter checks of flash_read.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Prevent possible overflow in is_in_flash_area_bounds while
validating offset and length of an operation.
Fixes#89349
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
In case HTTP client read out more data from a socket that it processed
it will indicate there is leftover data in the receive buffer available.
Make use of it at the websocket level, so that no data is lost. As we
reuse the same receive buffer in this case, it's only needed to update
the count variable to indicate how many bytes are available.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The HTTP client would read data from a socket up to the size of the
receiving buffer, however it may not process them all. This is usually
only the case if protocol switching takes place, where the data read may
belong to another protocol. Therefore we need a way to notify the caller
about any potential data that is already present in the buffer and needs
to be processed.
Introduce an new data_len member in struct http_request to provide the
information about the data already available in the receive buffer. If,
after HTTP response processing, the value is non-zero, the data will be
available in the beginning of the user provided receive buffer.
To make this possible however, we need to track how many bytes were
actually processed by the http_parser, therefore the code will no longer
ignore the http_parser_execute() return value. To simplify processing,
it's also been changed how the receive buffer is used. Instead of using
it in a ring-buffer-like way, the offset variable will track how many
bytes are available in the buffer, and in the rare occasions when not
all data from the buffer was processed by the HTTP parser, we'll
memmomve the remaining data to the beginning of the buffer.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The central_multilink sample issues various API calls
(in particular because it does some from the bt_workq("BT RX WQ"))
this results in a deadlock since there are not enough
HCI command buffers available, this is causing deadlocks on hardware
that do not support BT_HCI_ACL_FLOW_CONTROL.
Below is the flow where assert is observed:
bt_hci_le_enh_conn_complete() -> bt_conn_connected()
-> connected() callback -> start_scan() -> bt_le_scan_start()
-> set_random_address() -> bt_hci_cmd_send_sync: opcode 0x2005
-> Controller unresponsive, command opcode 0x2005 timeout with err -11
Since the start_scan is called from the callback and BT RX WQ thread,
the command buffers are still not available for the system work queue
to process the hci commands it has to send out for starting the scan.
By adding additional buffers this deadlock can be avoided.
Signed-off-by: Gudipudi Ramana Kumar <ragudipu@silabs.com>
This PR adds a new devicetree property
that allows enabling external battery
backup functionality.
Signed-off-by: Marcin Lyda <elektromarcin@gmail.com>
Fix issue where stepper callbacks were not being called when
using work_q. This was due to the steps being counted down before
the work_q was rescheduled.
Signed-off-by: Josselin Bunt <josselin@sensible.health>
Remove address-of operator ('&') when assigning `dma_xxx_init`
function pointer in `DEVICE_DT_INST_DEFINE` macro.
This change aims to maintain consistency among the drivers in
`drivers/dma`, ensuring that all function pointer assignments
follow the same pattern.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Commit 6dc27a4 ("boards: align vendor entry in board.yml files")
unknowingly broke Twister blackbox tests by correctly placing Atom
targets under the 'intel' vendor. Since this was not previously the
case, the Twister blackbox vendor filter test for 'intel' was actually
expecting 'qemu_x86/atom' to be filtered out as "Not a selected vendor
platform."
This commit updates test_filter.py with the new vendor flags.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The backlight_gpios property has a "s" at the end. This typo has broke
the display on i.MX RT1170. Fix it.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
`msi-range` value 4 sets MSI clock frequency to 1 MHz and not 4 MHz as
intended.
Change value to 6 to increase clock to 4 MHz which matches comment.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
The description incorrectly stated that it points to last erased
offset, while it actually points to first offset that has not
yet been erased.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
`bt_conn_security` was removed in Zephyr 2.5 and is replaced with
`bt_conn_set_security`.
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
Add Variscite VAR-SOM-MX8M-PLUS board support. This SoM is based on NXP's
i.MX8M Plus SoC. It includes Cortex-A53 and Cortex-M7 support.
Signed-off-by: Andre Morishita <andre.m@variscite.com>
The icm42688 driver RTIO stream module does not specify a compile time log
level. Thus, CONFIG_SENSOR_LOG_LEVEL_DBG is ignored. Fixed by specifying
log level on log module declaration.
Signed-off-by: Yau-ming Leung <ymleung314@gmail.com>
The "BT RX pri" and "BT RX" are too easily confused with host-side threads,
e.g. the host RX thread is called "BT RX WQ". Add "CTLR" to the Controller
side thread names to make it clear that they're managed by the controller.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Add a promptless symbol that can be selected by different drivers. It is
there to ensure that the corresponding library is not added to the build
unless it contains at least one source file.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Delete the MAX44009 sensor sample as it's fully generic and does nothing
that's not already in light_polling sample.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This platform was never supported in Renode, it's a leftover from Mi-V
support which probably was copied here. The referenced `it8xxx2_evb.repl`
does not exist in the Renode tree or in the `support` directory.
Signed-off-by: Patryk Koscik <pkoscik@antmicro.com>
Add memc driver for the MAX32 HyperBus peripheral, supporting HyperRAM
and Xccela PSRAM memory devices.
Signed-off-by: Pete Johanson <pete.johanson@analog.com>
Increase scan aux sets to support interleaved extended
advertising reception in hci_ipc ISO support configuration
in nRF5340 HCI ISO Controller.
CONFIG_BT_MAX_CONN is reduced accordingly as ticker node
instances are shared across all state/role scheduling in the
Controller implementation.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Even though the STM32 TRNG hardware produces 2- or 4-byte sized words of
random data before triggering an interrupt, the driver currently discards
all but the bottom byte: 50/75% of the produced entropy goes to waste!
Make sure we consume all the random data from each word we read to improve
the entropy generation rate seen by users of the driver.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
The BT Tester will not provide the opcode in the case of a
BTP error. To help log this for developers, we store the
opcode of the currently outstanding command, so that we can
log it.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
We now return "unknown" as the revision, and only concat onto
the revision if the revision is a valid git has value.
Signed-off-by: Andy Lee <andy@chiefmarley.com>
The Alternate Function IO (AFIO) block must have the clock enabled
before configuring. Some remappings seem to work without, but some
like EXTI do not. Fix.
Signed-off-by: Michael Hope <michaelh@juju.nz>
The PAN B511 evaluation board is a development tool for the
nRF54L15 from Nordic Semiconductor. Updates are based on latest
changes for nrf54l15dk.
Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
Add test which is using two independent UART devices. Validate behavior of
asynchronous API.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add trigger_irq() function support for RX
This function will set corresponding IR bit to 1 on RX ICU to
trigger interrupt
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Add support for .mot file flash using west flash command
The RX build output .mot as binary file to flash into
board
Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Intial support for RSKRX130 512KB board
The board 2 version 128KB and 512KB running on 2 different
part of the RX130 MCU series.
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Intial serial driver support for RX MCU, this driver utilize
the SCI HWIP for uart communication
Current support include polling API and Interrupt driven API,
some of the code is using Renesas RX Driver Package (RDP) as
hal layer
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Signed-off-by: Sang Tran <sang.tran.jc@renesas.com>
Initial commit for GPIO driver support on board using RX130 MCUs
* drivers: GPIO: implementation for GPIO driver on RSK_RX130_512KB
* dts: rx: add device node for GPIO of RSK_RX130_512KB
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
Intial support of pinctrl driver for Renesas RX MCU
family.
This support base on using Renesas RX driver package in
hal_renesas layer
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
This commit add a system timer driver for Renesas RX using the
CMT peripheral. The driver supports both system ticks and
high-resolution cycle counting
- Configures CMT0 as the system tick timer
- Configures CMT1 as a free-running cycle timer for precise
time tracking
- Handles timer overflows to maintain a continuous cycle count.
- Implements sys_clock_cycle_get_32() and sys_clock_cycle_get_64()
for high-resolution timing
- Supports Zephyr tickless kernel mode by tracking elapsed cycles
- Enables interrupt-based tick announcement using CMT0
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Signed-off-by: Yuichi Nakada <yuichi.nakada.sx@renesas.com>
The qemu-system-rx is based on RX62N, this commit added
support for the RX62N SOC layer. MCU is using RXv1 core and
system timer running at 6MHz
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Add intial support for RX linker script
The RX GCC toolchain automatically adding an "_" as prefix
on every C symbol to comply to the arch ABI, for the C file
to understand the symbol define in linker script the
PLACE_SYMBOL_HERE() macro help to add "_" to linker script
define symbol if build with CONFIG_RX enable
This commit adding minimal support in common linker script
for RX arch
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
The Renesas RX support flashing .mot file for binary image
This commit target to add the .mot file output for build and
flash script
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Current clock synchronization was always stepping clock. This was
causing large offset, and discontiguous ptp hardware clock time.
For TSN hardware, discontiguous ptp hardware clock time was not
able to be used for other TSN protocols.
This patch is to convert to frequency adjustment with a basic
PI control algorithm.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Converted ENET_Ptp1588Configure to ENET_Ptp1588StartTimer during reset.
This is to avoid configuring IRQ handlers again in hal driver with
ENET_Ptp1588Configure.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
The rate adjustment should be based on nomianl frequency, but not
current frequency. Then any PTP stack with PID control could adjust
frequency well.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
The enet handle in mac driver was not shared with ptp driver
properly. This was causing wrong TX timestamp.
This patch is to fix it.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Add a disabled st,stm32-qdec node to TIM3 for STM32F2-based MCUs.
This enables QDEC support via devicetree overlays and simplifies
usage on boards such as nucleo_f207zg.
Signed-off-by: Amaan Singh <amaansingh160@gmail.com>
Add disabled qdec subnodes to timers TIM1 through TIM5 and TIM8
for STM32F2 series MCUs. This enables Zephyr to provide consistent
QDEC support across all supported encoder-capable STM32 timers.
Signed-off-by: Amaan Singh <amaansingh160@gmail.com>
The documentation is updated to give more information regarding the SPI
default settings and the necessity to change the out-of-the-box firmware
to be compatible with Zephyr.
Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
This commit enables die_temp support by configuring ADC3 and adding
the die_temp0 alias to the devicetree of the nucleo_h753zi board.
This change has been tested using the die_temp_polling sample.
Signed-off-by: Mirai SHINJO <oss@mshinjo.com>
Clean up dt binding descriptions and introduce titles where
needed to make board documentation pages look nice. The supported
hardware table on board documentation pages sources its data
from dt bindings, and needs succinct titles.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Use the title property from bindings in the supported hardware table
if available.
Create <abbr> elements for acronyms and abbreviations in titles.
Abbreviations are not created when the description field is used as
a title, since existing text in bindings was not created with this
in mind, and parentheses are used in the text in ways that are
incompatible with the auto-abbreviating logic.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Make the recently added `title` attribute in dt bindings available
in the board catalog used by the board supported hardware directive.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Make the binding title available from the node the same way
the binding description is propagated.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Added USB device node with compatible "st,stm32-usb".
Added usb_fs_phy node with compatible "usb-nop-xceiv".
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
- Defined CCIPR2_REG offset.
- Added USB_SEL(val) macro to support USB clock selection using CCIPR2_REG.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Allow reading the offset register.
This allows reading the offset before setting it if offset is set more than
once.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
Don't automatically disable all GPIO ports just because
`PM_DEVICE_RUNTIME` is enabled. Require the user to explicitly call
`pm_device_runtime_enable` on the port, or add
`zephyr,pm-device-runtime-auto` to the devicetree node.
Signed-off-by: Jordan Yates <jordan@embeint.com>
No window widening was applied to conn_offset_us causing the initial
ticker_cb to get called slightly too late
Apply window_widening_periodic_us to conn_offset_us, since this is the
worst-case window widening (win_offset is not allowed to be larger than
a connection interval) and is applied in the LLL window size already
Fixes EBQ failure in LL/TIM/PER/BV-02-C
Signed-off-by: Troels Nilsson <trnn@demant.com>
For npck3m8k:
1. Update code ram from 320KB to 416KB (0x1005_8000~0x100B_FFFF).
2. Update data ram from 32KB to 64KB.
3. Move fiudiv from hfcbcd1 to hfcbcd2 register
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
K3 series is a Nuvoton embedded controller based on NPCX series.
Add npck3m8k dtsi
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
Since the Dual Mode feature doesn't actually work when selected,
and we also realize that we can't support key features of dual
mode, such as bank swap using hardware.
As a solution, we desire to remove this Dual mode feature.
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Replace incorrect call to memc_flexram_dt_partition() with
flexram_dt_partition() to resolve build error on
IMXRT10xx and IMXRT11xx.
Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
Add overlay for above board for testing. As the board does not have an
actual button, PA0 has to be connected to GND for wake-up.
Signed-off-by: Martin Jäger <martin@libre.solar>
WKUP3 is only available for g0b0/1 and g0c1 variants.
WKUP5 is only available in larger packages. However, package sizes
are currently not considered in the devicetree file schema for STM32.
Signed-off-by: Martin Jäger <martin@libre.solar>
Most of the k_event APIs are ISR-safe, with the exception of
* k_event_init() - object should be initialized before ISR context
* k_event_wait(), k_event_wait_all() - only ISR safe with K_NO_WAIT
The last two functions already check for K_NO_WAIT when in ISR context
so this is very much just updating documentation to reflect the
current state.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Most kernel objects should be initialized well before being
manipulated in ISR context.
Event objects are no exception. Initializing a k_event object in
ISR context would implicitly be racey and introduce an element of
non-determinism.
Assert that k_event_init() is not called from ISR context.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Configures AHBSC MASTER_SEC_LEVEL register for the cpu1 before cpu1 is
enabled. By default, this gives CPU1 secure and privileged access to
the rest of the SOC, same as CPU0.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
GCC and Clang support the undefined behavior sanitizer in any
configuration, the only restriction is that if you want to get nice
messages printed, then you need the ubsan library routines which are only
present for posix architecture or when using picolibc.
This patch adds three new compiler properties:
* sanitizer_undefined. Enables the undefined behavior sanitizer.
* sanitizer_undefined_library. Calls ubsan library routines on fault.
* sanitizer_undefined_trap. Invokes __builtin_trap() on fault.
Overhead for using the trapping sanitizer is fairly low and should be
considered for use in CI once all of the undefined behavior faults in
Zephyr are fixed.
Signed-off-by: Keith Packard <keithp@keithp.com>
Arm Toolchain for Embedded (ATfE) is the next-generation Arm embedded
C/C++ compilation toolchain.
Arm Toolchain for Embedded is 100% open source. Arm is investing in the
LLVM linker and minor tools, and in the Picolib C library, to create a
performant 100% open source compilation toolchain for embedded
development with Arm-based designs.
The proprietary components used in Arm Compiler for Embedded 6 (the
linker, C library, and binutils carried over from the legacy Arm
Compiler 5 toolchain) are retired in favour of their open source
(LLVM and Picolib) equivalents.
Product page: https://developer.arm.com/Tools%20and%20Software/Arm%20Toolchain%20for%20Embedded
Github repo: https://github.com/arm/arm-toolchain
Signed-off-by: Alex Fabre <alex.fabre@rtone.fr>
This update changes the filename from 'arm_compiler.rst' to
'arm_compiler_6.rst' to accurately reflects its focus on AC6.
Recently, Arm introduced the Arm Toolchain for Embedded (ATfE), which is
distinct from AC6. This 7th generation compiler is entirely open source
for the first time. To distinguish it from AC6 and highlight it's a
complete toolchain rather than just a compiler, this new version will
be named Arm Toolchain for Embedded (ATfE).
Signed-off-by: Alex Fabre <alex.fabre@rtone.fr>
Windows powershell can by default not autocomplete known boards when
tapping which can cause frustration when you can't quite remember the
exact name or you don't want to type it out.
west build .\path\to\application\ -p -b stm<tab> will search for
available board including 'stm' in their name.
Signed-off-by: Tais Hjortshøj <tbh@mjolner.dk>
The name of the sensor in the title had one S too many, it should
be LPS22HH instead of LPSS22HH.
Same for the I3C version of the sample.
Signed-off-by: Josep Puigdemont <josep.puigdemont@gmail.com>
warning: format '%d' expects argument of type 'int', but argument 3 has
type 'size_t' {aka 'long unsigned int'} [-Wformat=]
Change the printf modifier to %zd for size_t variable will resolve the
warning.
Signed-off-by: Vijayakannan Ayyathurai <vijayakannan.ayyathurai@intel.com>
Add driver capability to properly set high performance mode
while setting data rate (thru lis2duxxx_mode_set() API)
based on how power-mode is set into DTS: if it is set to
LIS2DUX12_OPER_MODE_HIGH_PERFORMANCE then configure HP mode,
LP/ULP mode otherwise.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Use `defaut y if` instead of `depends on` as the related Kconfig
should be user configurable even when standby mode is not used.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Character glitches are observed when entering suspend and standby low
power modes.
To fix it, we make sure the `poll_out` API waits for the character
transfer to complete. This is aligned with the uart driver API
description.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
There was some confusion about why this function doesn't work with
nordic devices. The explanation is that the controller is required
to return an error code if the remote device doesn't need an FAE table.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
Changes on NXP Robotics Products area:
- add myself as collaborator
- move ucans32k1sic board from S32 area
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
With a missing RAM value in the ARC QEMU board YAML,
Twister assigns it 128. The min_ram filter for the
testcase is higher. The RAM in the ARC QEMU board DTS
is 4 MB. Update ARC QEMU board YAML to include 4 MB
of RAM so tests run on ARC QEMU.
Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
Make it so LLEXT allocates a memory region equal or greater
to the minimum size supported by the MPU, to ensure no region
overlap.
Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
Since Zephyr SDK 0.16.9, it has support for building the board
qemu_xtensa/sample_controller32/mpu. Addd the corresponding
toolchain entry in the YAML file so it can built with twister
without forcing toolchain.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Instead of using individual SoC kconfigs to determine whether
to enable the Xtensa simulator logging backend, simply use
CONFIG_SIMULATOR_XTENSA.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The bt_csip_set_member_get_sirk function is superseded by
bt_csip_set_member_get_info and uses of it has been replaced.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Calling sensor API functions on devices not in `PM_DEVICE_STATE_ACTIVE`
is a violation of the PM API. Adding manual checks inside of drivers
complicates the drivers and increases ROM footprint for no additional
benefit.
Signed-off-by: Jordan Yates <jordan@embeint.com>
By moving data section between rodata and bss, and disabling
Kconfig LINKER_LAST_SECTION_ID by default if non-XIP (it is
seems only needed for XIP), the size of zephyr.bin can be
reduced significantly on non-XIP system.
As a result, moving __kernel_ram_start to another place
to ensure it still include bss + data as before.
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
The new name is slightly clearer, since strictly speaking any value not
part of the enum is invalid.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Allow passing structs with sys_dlist_t members as const without
discarding qualifiers if the API is used without modifying it.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Allow passing structs with sys_slist_t/sys_sflist_t members as const
without discarding qualifiers if the API is used without modifying it.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
This patch unifies the board target identifier output to match that in
the `hello_world/src/main.c` file.
Signed-off-by: Patryk Koscik <pkoscik@antmicro.com>
Updates the includes in a a few files to
avoid including unused header files and include the
ones that are used.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Updates the includes in a a few files to
avoid including unused header files and include the
ones that are used.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Updates the includes in a a few files to
avoid including unused header files and include the
ones that are used.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Updates the includes in a a few files to
avoid including unused header files and include the
ones that are used.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Updates the includes in a few header files to
avoid including unused header files and include the
ones that are used.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
There was a semaphore in hci_core which was given to early when
receiving the BT_HCI_EVT_NUM_COMPLETED_PACKETS message from the
controller. This would sometimes cause an assert to happen in
function hci_num_completed_packets, where there would arise a
mismatch in the bookkept count, and actually stored nodes. More
concretely, due to premature semaphore giveing, the tx_pending node
would be have been removed in another context before it could be
fetched and moved to complete list in this function.
Signed-off-by: Fredrik Danebjer <frdn@demant.com>
The current frequency of 16 MHz has been observed to result in
communications errors on a nRF5340DK. Since the LoRa PHY bitrate is
measured in kbps, there is no throughput implications from this change.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Currently, GPIO16/17 are supported for Ethernet phy
clock out, but some boards are also using GPIO0.
This change allows GPIO0 to be configured.
Signed-off-by: Cliff Brake <cbrake@bec-systems.com>
Picolibc's retargetable locking is based upon having the user own the lock
type (struct __lock, along with typedef struct __lock *_LOCK_T), and then
having the picolibc internal code only refer to this type via the _LOCK_T
pointer typedef, leaving the actual struct undeclared there.
Zephyr wants to use 'struct k_mutex' for this type; the initial picolibc
port handled this by trying to redefine the picolibc locking to use 'void
*' instead of 'struct __lock *' by including '#define _LOCK_T void
*'. Which 'works' as long as the Zephyr code doesn't actually include
picolibc's sys/lock.h.
A recent picolibc change to support POSIX stdio locking has picolibc's
stdio.h including sys/lock.h, which breaks Zephyr's hack.
To fix this, create a real 'struct __lock' type as
struct __lock { struct k_mutex m; };
Define all of the required picolibc locking API with this real type,
referring to the mutex inside without needing any casts.
This required switching the definition of the C library global lock from
K_MUTEX_DEFINE to the open-coded version, STRUCT_SECTION_ITERABLE_ALTERNATE
so that it has the correct type and still lands in the same elf section.
The only mildly inappropriate code left is that lock are allocated using
k_object_alloc(K_OBJ_MUTEX), which "works" because the size of 'struct
__lock` will exactly match the size of 'struct k_mutex' because of C's
struct allocation rules.
Signed-off-by: Keith Packard <keithp@keithp.com>
The stm32mp135f_dk board embeds an I/O expander to get access
to more I/O. Led 3 (green) and Led 4 (orange) are accessible via this
I/O expander.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The stm32mp135f_dk board has 3 i2c instances enabled and feature a
480x272 panel controlled via the LTDC.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The non-secure LTDC plane has its own register for clock gating hence
add an entry to control this.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Replace the usage of __HAL_LTDC_RELOAD_CONFIG which is a legacy
API with __HAL_LTDC_RELOAD_IMMEDIATE_CONFIG
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
When using one set of environment variables for multiple
cores compilation, we also need to supply the core name in
linker flags. So add that to TOOLCHAIN_LD_FLAGS.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
In case of the st,stm32-xspi-nor compatible
new property and node definitions will requires new macro
to get the external NOR flash base address and size
Signed-off-by: Francois Ramu <francois.ramu@st.com>
This PR defines the "st,stm32-xspi-nor" compatible Node
in conformance to the DTS specifications
Includes the size property (in Bits) of the external NOR device
Signed-off-by: Francois Ramu <francois.ramu@st.com>
This PR defines the "st,stm32-xspi-nor" compatible Node
and the "st,stm32-xspi-psram" compatible Node
in conformance to the DTS specifications
Includes the size property (in Bits) of the external memory device
Signed-off-by: Francois Ramu <francois.ramu@st.com>
New property of the st,stm32-xspi-psram compatible gives
the external PSRAM memory in bits.
The property of the st,stm32-xspi compatible gives
the external PSRAM memory base address
Signed-off-by: Francois Ramu <francois.ramu@st.com>
New property of the st,stm32-xspi-nor compatible gives
the external NOR flash in bits.
The property of the st,stm32-xspi compatible gives
the external NOR flash base address
Signed-off-by: Francois Ramu <francois.ramu@st.com>
The st,stm32-xspi compatible is defining the reg property
with the register address and size at first index
followed by the external memory base address and max allocated
xspi1 is addressing max 256 MBytes from 0x90000000
Signed-off-by: Francois Ramu <francois.ramu@st.com>
The st,stm32-xspi compatible is defining the reg property
with the register address and size at first index
followed by the external memory base address and max allocated
size. For the stm32N6 serie,
xspi1 is addressing max 256 MBytes from 0x90000000
xspi2 is addressing max 256 MBytes from 0x70000000
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Uses sub-partitions to allow having a dedicated secure and
non-secure partition area in flash partitions, which also allows
the main application slot to be extended when TF-M is not in use
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Remove XIP dependency for enabling memory mapping for Q/O/XSPI NOR Flash.
It is not necessary and is preventing configuring an external Flash in
memmap mode if there is no internal Flash (like on STM32N6)
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
In case the receiving packet socket is not bound to any specific
interface, or is explicitly bound to "any" interface (at index 0),
it should collect packets from all interfaces. Add test cases which
verify that.
Also, if a packet socket is bound to a specific interface, it should not
receive packets from others. Add a test case to verify that as well.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The recvfrom test case for DGRAM packet socket specified wrong socket
type, so RAW sockets were tested twice instead. Also, for the DGRAM
variant, the offset was not taken into account for the expected packet
length.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Default binding should take place before we actually make use of the
local address when registering packet socket "connection".
Also, instead of hard coding the protocol for default binding to
ETH_P_ALL, use the protocol that the socket was created with.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In order to be able to receive packets on unbound packet sockets (which
should collect packet from all interfaces in such case), it's needed to
register receive callback at the socket layer as soon as the socket is
created.
In additional to that, the default binding for packet sockets need to be
revisited. Packet socket should not be bound to the default interface,
as this way the socket would only be receiving packets from that
particular interface. Instead, leave the interface unspecified in such
case.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Allow to update the local address on a registered connection when
rebinding.
This is needed for packet sockets, as by default packet socket
will be bound to "any" interface (interface index 0), and interface
index is part of the local address registered for packet socket.
In order to be able to explicitly bind to a specific interface later, it
needs to be possible to update the local address registered for the
connection, as we need to update the interface index, which is used
by net_conn_packet_input() for packet filtering.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
add zephyr,mmc-disk's disk names as they were missing causing fatfs to
be unusable on boards that had otherwise valid DT configuration for
the mmc disks.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
When the L2CAP channel connection is in none basic mode, the
`seg_recv` cannot work properly if the configuration
`CONFIG_BT_L2CAP_SEG_RECV` is enabled. And the L2CAP channel
connection will be broken incorrectly.
Check whether the received data len exceeds the SDU length if the
`SAR` is `BT_L2CAP_CONTROL_SAR_END` or `BT_L2CAP_CONTROL_SAR_CONTI`.
And check whether the SDU length is valid if the `SAR` is
`BT_L2CAP_CONTROL_SAR_UNSEG` or `BT_L2CAP_CONTROL_SAR_START`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
- Updated airoc_mgmt_connect to be able use security provided
by user (params->security). If it is not passed, we will perform
scan ssid to detect secure type.
- Fix convert_whd_security_to_zephyr() with correct corresponding
whd_security_t to zephyr security type.
Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
The current shim driver for flash-nxp-s32-qspi returns invalid error
when handling write, erase operations with zero size.
This issue causes the failure of the tests/subsys/settings/fcb/.
Updated to ignore the flash operations with zero size instead of.
Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
The cap_initiator_broadcast_to_bap_broadcast_param function
did not properly relay the ISO test parameters from the CAP
parameters to the BAP parameters.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
alarm flags only need to be cleared if PORF flag is set; otherwise,
the RTC is already running and alarm flags must not be cleared
Signed-off-by: Vixay Phimmasane <visuphi@gmail.com>
Increase the value of CONFIG_MAIN_STACK_SIZE for the s32z270 board to
avoid stack overflow during the adc_api test, and add new .conf files
for each board.
Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
Some in-the-wild devices use SDU interval of 0 when BN == 0; This
is not allowed by BT Core Spec v6.0, but is not specifically
mentioned in v5.4 and earlier. To allow connecting a CIS to these
devices, relax the check on SDU interval
Note: LL/CIS/PER/BI-07-C only checks rejection of invalid SDU interval
with BN > 0, so it still passes with this change
Signed-off-by: Troels Nilsson <trnn@demant.com>
Providing a set of SQEs with varying delays in different orders. Test
validates each delay is completed at the right amount (and the CQEs are
received in the right order).
Signed-off-by: Luis Ubieda <luisf@croxel.com>
SQE items with this OP will take the specified amount of time
(asynchronously) before completing. This allows to serve as an
asynchronous delay in between SQE items (e.g: A sensor measurement
requested, which requires 50-ms before having the result available).
Signed-off-by: Luis Ubieda <luisf@croxel.com>
keep_alive_timer_restart() only works in ESTABLISHED state. In
tcp_in() SYN_SENT and SYN_RECEIVED state, it won't work by calling
this function. So remove the call in that 2 states while adding it
in the bottom after changing the conn->state to ESTABLISHED.
Signed-off-by: Shrek Wang <inet_eman@outlook.com>
The response L2CAP_COMMAND_REJECT_RSP(BT_L2CAP_REJ_NOT_UNDERSTOOD)
should be replied if the received L2CAP command is a invalid L2CAP
signaling command packets with extra data in the Information Payload.
Send L2CAP_COMMAND_REJECT_RSP(BT_L2CAP_REJ_NOT_UNDERSTOOD) if it a
small L2CAP signaling PDU or it has short length.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Introduces a driver for ST75256 Display Controller that
supports mono and greyscale but not i2c mode.
Signed-off-by: Camille BAUD <mail@massdriver.space>
According the specification, in extreme cases, the deviation of the APB
clock and LFCLK clock can reach up to +/-1% (+/- 10ms).
Therefore, exclude npcx platforms from the test because it required 1ms
accuracy.
fixes: #66185
Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
The z_vrfy function for this syscall
```
__syscall int hwinfo_get_device_eui64(uint8_t *buffer);
```
in `drivers/hwinfo/hwinfo_handlers.c`, used an `ssize_t` rather than an
`int` which makes it inconsistent with the prototype declared in
`drivers/hwinfo.h`.
Use `int` instead of `ssize_t`.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
SoftAP operation needs around 5700 bytes of stack. With a
buffer of 100 bytes, set the supplicant stack size to 5800.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
Note the ability to upload custom data in the documentation, and add
it to the release notes.
Also include the new `CONFIG_ZPERF_SESSION_PER_THREAD` option.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Slightly increase the default maximum size for zperf uploads to support
1kB of data payload together with the 40 bytes UDP client header.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add support for uploading custom data, instead of a static packet of
'z'. This can be used for more accurate profiling of uplink throughput
for a given application. For example, reading data from flash, or
application level encryption.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The timestamp in the UDP header is expected to be a Unix timestamp, not
an application uptime. Add the option to specify the Unix time at
function entry so that the reported timestamps are accurate.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The minimum packet size is the combination of the datagram and client
headers, not just the datagram header.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add `--rtt-server` option to start RTT server when the OpenOCD
launched from `debug`, `debugserver`, and `attach` commands.
This option starts the RTT server and opens a port,
but RTT logging must be done externally.
That is, you must connect to port 5555 using `telnet` or `nc`
in another terminal to view the RTT log.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
We fix 2 issues:
First issue: __aligned attribute is in bytes
second issue: we should align depending on the platform
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
Fix the return values of `otPlatRadioClearSrcMatchShortEntry` and
`otPlatRadioClearSrcMatchExtEntry` to match the OpenThread API.
Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
Update the direction of the measured current to match that expected by
the API and existing users, positive = charging and negative =
discharging.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Document the expected meaning of positive and negative currents for the
fuel gauge channels. The definition is chosen to match that of the
fuel gauge API.
This also matches the convention expected by `shell_battery.c`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Both the input and output parameters are floats, not doubles, so use
the floating point logarithm variant.
Correct the source of the equations for the latest datasheet versions
at the same time.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The current CI setup sets the manifest DNM label in a workflow and
checks it in a different workflow. The one performing the check is
configured to rerun on label changes but it's been reported few times
that the rerun logic does not seem to always run effectively and there's
been cases where the manifest has been fixed but the label has not been
removed by the automation, resulting in a stale PR.
Since the manifest has its own dedicated label, fix this race condition
by checking for that label specifically in the manifest workflow rather
than in a separate one, this means that the check is always performed
after the script that sets the label.
It also means that on manifest changes the manifest step itself will
fail rather than the PR metadata check one.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The VS1838B is one of the most found infrared receiver
found in electronic kits and is easy to setup with only
a single GPIO used for signal transmission (apart from
VCC and GND).
This new driver let applications use the VS1838B as an
input with events relayed as 0x0000<address><command>.
Only the NEC protocol is supported in this version but
more can be added later.
Link: https://github-wiki-see.page/m/CoreELEC/remotes/wiki/08.-NEC-IR-Protocol-Datasheet
This has been tested using the input_dump sample.
Signed-off-by: Bastien JAUNY <bastien.jauny@smile.fr>
Due to the constant alloc/free cycles during the stress test,
it is possible that the heap can become fragmented enough to
prevent successful allocation, and thus failing the test.
So we change the CONFIG_SYS_HEAP_ALLOC_LOOPS to a higher value
so the allocation code will try harder to find a space.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
There are lots of copy and paste error message which does not
really tell you which part fails. So make those messages more
explcitly on where it is emitting the error message.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The syscall stress test relies on timeslicing to switch between
threads, which utilizes the interrupt handling path to perform
context switching. It is also possible for kernel to switch
threads due to, for example, taking a mutex. This adds a bit of
code to the syscalls test to simulate this by yielding while
inside syscall handlers. This is to cover more scenarios so we
can catch issues earlier.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Add a loop to join the stress threads after calling abort.
This is to make sure all stress threads have already stopped
before moving on. Simply for test hygiene.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This moves the syscall torture test into another test group or
suite so that we run the individual syscall tests first before
the torture test. If individual test fails, it is easier to see
the error. Especially under SMP where multiple CPUs can report
the same error, cluttering the output.
Also rename the test to syscall_switch_stress to better describe
its purpose.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This modifies string_copy() to have an addition ID as function
argument so that it can copy into different buffers during
the multi-threaded stress test, instead of all threads writing
into the same buffer. This is to prevent a situation where
one thread writes incorrect data but being overwritten by
another thread with correct data, thus making the following
strcmp() passing for both threads. Logically this should never
happen since the same function is being called which should
give same result, but it is simply to test for weird
situations.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Prevent the modulo operation causing a division by zero error by falling
back to the minimal ACK timeout value if the random factor is 1.0. Also
fall back to the same value if the random factor is erroneously smaller
than 1.0. Additionally make the upper bound of the random range
reachable.
Signed-off-by: Adrian Friedli <adrian.friedli@husqvarnagroup.com>
The code was casting a byte array to 32-bit words without accounting for
alignment. On some platforms (e.g. Arm Cortex-M with multiple load/store
instructions) this will fault. Fix it by using the UNALIGED_GET() macro
whenever the array is passed unaligned.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Define `ipc_conf_iron.dtsi` and `memory_map_iron.dtsi`. In the future,
they will be merged with the base `ipc_conf.dtsi` and `memory_map.dtsi`
respectively. For now, they are used to replace a few devicetree nodes
when building for `nrf54h20dk/nrf54h20/*/iron` board targets.
Additional changes are included:
* The IPC configuration includes new "nordic,ironside-call" nodes.
* The memory map includes an updated RAM20 layout. Its subregions are
placed under the `/reserved-memory` node like before.
* The memory map also includes an updated MRAM layout. Partitions are
now placed under a plain "fixed-partitions" node. MCUboot-specific
node labels are applied in `cpuapp.dts`.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
IRONside calls are remote procedure calls which comprise the runtime
interface of Nordic IRONside SE. They are realized using a simple IPC
mechanism.
A local domain (client) issues requests to the server by exchanging data
in shared memory, which is divided into evenly sized buffers. The client
selects a buffer, writes a request into it, and sends it to the server.
The server processes that request and writes a response into the same
buffer before returning it to the client.
This patch adds the initial client-side implementation on top of MBOX.
It features cache management and a blocking alloc/dispatch/release API
for synchronous, zero-copy transfers.
A new devicetree binding is added to support this implementation. It is
patterned after the `zephyr,ipc-*` bindings, where each node associates
a pair of mailboxes and a shared memory region.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
1. mcxa serial SYS_CLOCK_HW_CYCLES_PER_SEC default value is 96000000
2. mcxa166,mcxa276 works at 180000000
Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
Fix ethernet_hw_caps initialization in ethernet.h for
strict type checking.
g++-12: include/zephyr/net/ethernet.h:957:38: error: invalid \
conversion from 'int' to 'ethernet_hw_caps' [-fpermissive]
Signed-off-by: Daniel Nicoletti <dantti12@gmail.com>
The bt_recv() and bt_recv_prio() APIs don't exist anymore, so remove any
references to them from the Kconfig help texts.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Just a minor fix to the gnss_emul.c to fix a the missing
month_day data. Also minor spelling fixes in the test code.
Signed-off-by: Fabian Kainka <f.kainka@gmx.de>
Modify the include of toolchain/common.h to toolchain.h
The reason why we should/cannot include toolchain/common.h
is that it has an #error if included directly, and it
requires including it via toolchain.h instead.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The parameter length for this command was missing the additional
length from the arrayed parameters.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
Add esp32_devkitc_wroom and esp32_devkitc_wrover on deprecated list.
Make the note on the merge in the migration guide for Zephyr v4.2.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Remove the esp32_devkitc_wroom board as near identical with wrover
variant. The differences of the two boards are covered by the user config.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Implement the functions of I2C host and target.
I2CM: supports nine hosts and each one able located at I2C interface
0~12.
supports two 32 bytes dedicated FIFO mode for read and write.
I2CS: supports three targets and each one able located at I2C
interface 0~8.
supports 16 bytes dedicated FIFO mode that only supports write or
read mode and the maximum buffer size is 256 bytes.
support non-FIFO write to shared FIFO read mode. The maximum
shared FIFO size for read is 256 bytes.
The APIs test include: i2c_write(), i2c_read(), i2c_burst_read(),
i2c_burst_write(), i2c_write_read()
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Introduce await operation which simply blocks execution until the
SQE is signaled using the new API rtio_sqe_signal(). This is useful
for locking the bus for synchronous operations, especially those
requiring precise timing. For example, performing a transaction
within a tiny and exact time window.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Fixed the headings hierarchy as there were multiple `###` headings when
only one should be used as the document's title.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
When test is run with enabled coverage, additional RAM is required
to store coverage data.
Digital Microphone test is reserving most of the available RAM
to store audio samples. Thus, test fails to build with coverage
enabled due to RAM overflow.
Decrease size of the audio buffer when coverage is enabled.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Instead of hard coding some random value to layer code, use the
code that is registered in net_mgmt.h
This way it is easier to keep track of used layer codes in the
future, and we also allow out-of-tree components a way to avoid
allocating same layer code to in-tree-source code.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The _ is a reserved character in front of the symbols so remove
it from network management event macros. The remaining string
without the _ will identify the network API anyway so having
underscore there is not needed.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Instead of littering the source tree with hard to track
layer code definitions, have a central place where to register
the layer codes.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The buf_in_nocache function is to be used by various device drivers
to check if buffer is in noncacheable region.
The cacheable DMA buffer shall be put into section .ambiq_dma_buff
due to certain restrictions of the SoC.
Signed-off-by: Swift Tian <swift.tian@ambiq.com>
The documentation for the HCI raw interface was incorrectly talking about
the need to define buffer pools, when in fact the hci_raw module provides
the necessary API to perform buffer allocation.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Mention the changes that have happened to the Bluetooth HCI driver
interface regarding packet type encoding.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
This non-standard feature never had any proper host side implementation
(e.g. it was never upstreamed to BlueZ), and since it comes with notable
maintenance overhead it's fair to just remove it.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Update the Bluetooth tests to assume the new H:4 encoding for data that's
passing between HCI drivers and their users (normally the host stack).
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Update all HCI drivers to use the new H:4 encoding for buffers passing
to/from drivers.
One behavioral change that's done in favor of simplicity, is that where
there's previously been switch statements that could return an error for
unsupported packet types now simply pass any received packet unchanged to
lower layers of the controller (or the HCI transport). Handling this is
now the responsibility of the lower layers, however in practice hitting
such scenarios means that there's a mismatch between configured host and
controller features.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Encode the packet type as a H:4 payload prefix for buffers passing to &
from HCI drivers. The existing bt_buf_set/get_type functions are
deprecated, but kept compatible with the change, except that they can only
be called once, since they modify the buffer payload.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
The TBS spec states that if a value is changed during a
long read procedure, then the server shall reject
read requests with offset != 0 with a specific TBS GATT
error until the value has been read from the beginning again
(i.e. with offset = 0).
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Move all the vendor-specific dtsi files that were in dts/common to a
new folder under dts/ designated for vendor-specific files,
since they are not common at all, except for one vendor.
Change MAINTAINERS.yml to reflect the moving of the files.
Update migration guide for this change.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add support for Remote Port Negotiation (RPN) commands in the RFCOMM.
This allows applications to configure the serial port parameters
over RFCOMM connections, such as baud rate, data bits, stop bits, parity
and flow control.
Changes include:
- Add enumerations for RPN parameters (baud rate, data bits, stop bits,
parity)
- Add a public API function bt_rfcomm_send_rpn_cmd() to send RPN
commands
- Add shell command to test RPN with default parameters
This functionality is required by certain Bluetooth profiles that use
RFCOMM and need to configure serial port parameters.
Signed-off-by: Jiawei Yang <jiawei.yang_1@nxp.com>
This commit adds a RAM lock node for both NPCX9 and NPCX4. Then, the
user can use this node to configure the RAM lock settings.
Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
In retransmission mode and flow control mode, the TxWindow size should
be same on both sides.
When one side is updated, also update the other side.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
print_status_byte is specific to tmc50xx and hence shoud not
be placeed in common tmc_spi.c which is supposed to be reused
by a variety of drivers
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
NXP platforms with the LPUART require DMA for the async feature.
Exclude platforms without DMA. Also exclude platforms with DCACHE
since this sample does not place the UART buffers in non-cacheable
memory.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
There is no need for kernel/internal/smp.h as SOF does not call
z_sched_ipi(). Actually... git log over there has no mention of
z_sched_ipi() anywhere, just arch_sched_ipi().
And include <ksched.h> for source using z_sched_ipi() since
they are using scheduling functions, and would be the correct
file to include.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This platform was previously using a default sys_arch_reboot
implementation which did nothing. Add an implementation which uses the
CRL_APB_RESET_CTRL register to initiate a soft reset (SRST) of the
device.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
- Added new shield to add support for WIFI and BT interface.
- Added board overlay for MIMXRT1060EVKC.
- Removed mimxrt1062 overlay from shell example to avoid conflicts.
- Added seperate shield overlay for supported M.2 module to enable
BT or WIFI or Both.
- Added default kconfigs for each BT and WIFI which enables supported
modules and SoC as part of enabled shield through build param.
- Added shield document.
Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
Added IW416 SoC support to enable Bluetooth HCI driver perform
firmware load, and works with blueooth HCI interface.
Removed cmake file from bt_controller/, added support in hal_nxp
module to fetch firmware blobs for iW416/nw612 BT Only FW.
Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
Add SD/EMMC overlay files to support testcases for Versal NET. This
overlays are used to select the device to be tested.
Signed-off-by: Paul Alvin <alvin.paulp@amd.com>
Add driver support for xlnx SD/EMMC host controller. The driver
currently support SD host controller version 3.0 and EMMC host
controller version 5.1. This driver functions with the SDHC subsystem to
perform operations on device.
Driver support both interrupt and polled mode data transfer. Uses ADMA2
to perform data transfer.
Signed-off-by: Paul Alvin <alvin.paulp@amd.com>
In some cases, pixel inversion is managed by the display hardware
and software inversion is not required.
Signed-off-by: Robin-Charles Guihéneuf <robin-charles@hotmail.fr>
This adds support of ED scanning to cc13xx/cc26xx.
This could be required to select the least busy channel
or to found neighboring networks.
Note:
Although the scanning is working, OpenThread still fails
to discover OpenThread networks.
Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
Pull latest HAL version with:
* Fix baseband adapters by using equal interrupt levels
* Fix Wi-Fi adapter routines
* Add TWAI support
* Add PCNT support
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Kconfig option LLEXT_EXPORT_DEVICES can be enabled to make all device
objects of an image available to LLEXTs, but it is disabled by default.
If an extension tries to import devices when the base image was not built
with this option, the dynamic linking equivalent of the much beloved error
"Undefined symbol __device_dts_ord_XXX" is logged, but this can be quite
cryptic to understand since user may be unaware of LLEXT_EXPORT_DEVICES.
Detect such invalid imports and print a special message that directs users
towards the appropriate Kconfig option, which should reduce the confusion.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Even though through code-inspection there isn't a clear path where the
guard wouldn't act upon the length reaching the limit, this check is
moved up to unconditially validate it on every read.
Fixes#84731.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
When creating a broadcast source with
bt_cap_initiator_broadcast_audio_create there was no check if
all broadcast sources were already allocated, which could cause
a NULL pointer dereference.
Add a check, a test and documentation about possibly
error codes of the function.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The STM32H7S78-DK board is equipped with an STM32H7S7L8H6H. According to
the datasheet DS14359 (*), section 8, the trailing `H` in this SoC model
name indicates that it supports hexadeca SPI, in addition to quad and octa
modes that are supported on all variants in this family.
This fixes the issue where some pinctrl nodes are missing, when enabling
support for memories using 16 bit wide SPI transfer interfaces, like the
PSRAM chip on this board.
(*) https://www.st.com/resource/en/datasheet/stm32h7s7l8.pdf
Signed-off-by: Titouan Christophe <moiandme@gmail.com>
pm_suspend is returning early if there are no states
available (due to locking or latency policy). However,
if state is forced it should not return but rather enter
forced power state.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Enable MQTT 5.0 support in the mqtt_publisher sample and make use
of the topic aliasing feature.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
printf is failing in hello_world sample due to current
uart driver init level. This reverts back to PRE_KERNEL_1.
As uart depends on GDMA, set it also to same level.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
This commit add secure board of MAX32657.
Only GPIO and UART drivers have been enabled.
To build:
- west build -b max32657evkit/max32657 -p
Co-authored-by:: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
MAX32657 is Cortex-M33 based Analog Devices MCU.
It supports ARM TrustZone security model.
There will be two boards of this MCU Secure and Non-Secure
This commit defines Secure version of peripherals.
Basic feature of MAX32657 device:
- Core is Cortex-M33
- 50MHz IPO clock
- There are 54 interrupt vectors
- 1MB flash & 256 SRAM
- MAX32657 has:
- 1 x UART
- 1 x I2C/I3C
- 1 x SPI
- 6 x TIMER
- 1 x RTC
- 1 x WDT
- 1 x TRNG
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
Add roundoff to quantization calculation so that precision
is not lost in in edge cases or when quantization error
propagates through model layes.
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
A bonding issue is found with following conditions,
a. Local is a SSP initiator and it is in non-bondable mode,
b. Peer is in bondable mode,
c. The bonding flag in Authentication_Requirements of local IOCAP is
`No Bonding`,
d. the bonding flag in Authentication_Requirements of peer IOCAP is
`Bonding`.
The bonding information will be exchanged and stored. It is incorrect
behavior.
Fix the issue by reporting a pairing failure and disconnecting the ACL
connection with error `BT_HCI_ERR_AUTH_FAIL`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Adds improvements to the API docs in bluetooth.h, with the aim of
making the API less ambiguous and more informative.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
The error code `0x80` is replaced with its
corresponding `mqtt_suback_return_code` enum
value. This will make the code more readable, as
users of this example do not have to look up, what
`0x80` encodes.
Signed-off-by: Pályi Lőrinc <palyilorinc33@gmail.com>
Add .. zephyr:board-supported-runners:: directive to document the
supported runners for the BL604E IOT DVK board.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Board documentation page already has a link to the board's folder in
GitHub so hardcoding a link to the board's defconfig is redundant.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
For simplicity/consistency with many other soc families, rename the
bouffalolab_bflb soc family to the simpler bflb.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Removes the scratch area from the network core for this board
target, this was not used anyhow but gets rid of a configuration
that would use a non-optimal swap mode
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
To make the pin names of the Arduino MKR header easier to understand,
we will introduce a macro definition for the pin names.
And also update the definition of `arduino_mkrzero` with the definitions.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
To make the pin names of the Arduino Nano header easier to understand,
we will introduce a macro definition for the pin names.
And also update the definition of `nano_33_ble`, `nano_33_iot`,
`nucleo_g031k8`, and `nucleo_l031k6` with the definitions.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
rename LINK_*_*BASE_T to LINK_*_*BASE
speed options for ethernet drivers shouldn't end with a _T, implying
that ethernet is only supported via a twisted pair cable.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Add missing conf and power-domains for adafruit_feather_esp32s2
boards for the BME280 sample
Signed-off-by: Philipp Steiner <philipp.steiner1987@gmail.com>
The FCS flag of TX direction is not set correctly if the FCS flag of
RX direction is set. The issue could be found with following steps,
Step 1, Local sends configuration request with ERET mode and FCS
omitted.
Step 2, Peer replies the configuration response without any errors.
Step 3, Peer sends configuration request with ERET mode and NO FCS.
Step 4, Local replies the configuration response without any errors.
The FCS flag of TX is cleared incorrectly.
The FCS should be enabled if any one side enables the FCS.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
In current implementation, if the HCI ACL data length exceeds on L2CAP
packet, the HCI ACL data will be discarded.
Support the case if the transport is classic.
Add a function `bt_br_acl_recv()` to handle the multi L2CAP packets
one by one.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a new shield definition for the Analog Devices EVAL-ADXL367-ARDZ
accelerometer shield. This shield provides support for an ADI ADXL367
accelerometer over an Arduino SPI connector.
Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
Add several more RGB formats: (RGB24/BGR24,ARGB32,ABGR32,RGBA32,BGRA32)
as well as more YUV formats: YVYU, VYVU, UYVY
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add usbd test feature to samd21/samr21_xpro boards.
Add samr21_xpro board to integration_platforms in a few samples.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The UDC driver for this beautiful USB controller is mostly rewritten
from scratch. USB Pad Calibration and clock handling are copied from the
usb_dc_sam0 driver.
The driver uses multipacket transfers for all endpoints except the OUT
control endpoint. The OUT control endpoint has a buffer that is always
mapped to the endpoint buffer register so that it always has a valid
buffer. The driver provides up to 7 IN and 7 OUT endpoints that support
any type of transfer. Double buffering is not used, for the possible
case of isochronous transfers some changes would be required in the
future.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Have ov7670 and video smartdma use video interfaces binding. With
this, we can fix the chicken-egg issue in init priority and don't need
the workaround anymore.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
- The issue is caused by the MIN() macro, which expands to
(a)<(b)?(a):(b), where ring_buf_space_get()/ring_buf_size_get()
is used as 'b' and is evaluated twice. The issue occurs when
the (a)<(b) condition evaluates such that (b) is selected,
but the value of (b) changes between evaluations, resulting
in a possibly larger value than (a).
- Fixes the potential incorrect behavior by storing the result
of ring_buf_space_get()/ring_buf_size_get() in a variable
before using it in the MIN macro.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
- Fixes Direct ISR code example.
- Deletes the wrong comment,
which was likely copy-pasted from
the previous ISR code example.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Some time during the initial review, the CH32V003 clock definitions
were exended to include clocks from the CH32V20x and CH32V30x series.
As the CH32V20x series now has a separate clocks include, remove the
non-existent clocks.
While there, drop the 'A' prefix to match the register names in the
CH32V00X reference manual.
Also add the USART2 clock that's present in the CH32V00x series.
Signed-off-by: Michael Hope <michaelh@juju.nz>
The CH32V003 CPU is a QingKe V2A while others in the CH32V00x series
use the QingKe V2C. Prepare for adding support for the CH32V006 moving
to the more specifc qingke-v2a, moving some cases of SOC_CH32V003
actually meaning SOC_FAMILY_QINGKE_V2A.
Signed-off-by: Michael Hope <michaelh@juju.nz>
The bmp581 driver currently returns pressure in pascals, when
the sensor_channel enum specifies kilopascals.
Signed-off-by: Maxmillion McLaughlin <max@sorcerer.earth>
The CH32V003 has a straight-forward watchdog that does not support
callbacks. Add an overlay and support.
To make the sample fit in flash, remove the unused logging from the
project configuration. The sample itself doesn't seem to use logging
so this is (mostly) a no-op.
Signed-off-by: Michael Hope <michaelh@juju.nz>
Flexram is really not a memory controller, and does not belong in memc
namespace or directory. Move it to it's own misc directory and remove
memc_ from the namespace.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Moved to: include/zephyr/drivers/misc/flexram/memc_nxp_flexram.h
This change makes it so that the .h file does not need to be pulled in
using the CMakeLists.txt file, and can be included like other public
includes.
Removes drivers/memc/memc_nxp_flexram.h
Add memc_nxp_flexram.h to include/zephyr/drivers/misc/flexram
Modify drivers/memc/memc_nxp_flexram.c to use the new include path.
Modifies the mimxrt1170 magic_addr sample to include the driver using
the new include path.
Modify the soc file: soc/nxp/imxrt/imxrt11xx/soc.c to use the new path.
Add relevant information to migration-guide-4.2.rst.
Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
Co-authored-by: Declan Snyder <declan.snyder@nxp.com>
Update the casting of the 'attr' parameter in pthread_cond_init to use
the correct variable name 'att'. Thanks clang for spotting the typo.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Introduce new test for pthread_cond_init verifying successful
initialization with a valid pre-initialized condattr.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This adjust the IPv6 source address selection so that it is possible
to select deprecated IPv6 address if no better preferred address is found.
From RFC 6724 chapter 5:
Rule 3: Avoid deprecated addresses.
If one of the two source addresses is "preferred" and one of them is
"deprecated" (in the RFC 4862 sense), then prefer the one that is
"preferred".
Rule 8: Use longest matching prefix.
If CommonPrefixLen(SA, D) > CommonPrefixLen(SB, D), then prefer SA.
Similarly, if CommonPrefixLen(SB, D) > CommonPrefixLen(SA, D), then
prefer SB.
So the fix allows deprecated address to be selected if it is a better
match than the preferred one. The reasoning here is that an address with
a longer matching prefix is generally considered topologically closer to
the destination. Using such a source address can lead to more efficient
routing, as it's more likely that the source and destination are within
the same network segment or a closely related one.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
adsp_mtrace_log_init() can be called with its argument equal NULL,
mtrace_active shouldn't be set to true in that case.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Adds taking of the task semaphore after creating the display thread
to ensure that the thread is run once, executing the SDL init.
Adjust the threads priority to match the main thread.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Move and rephrase the comment to better explain reason why obtained
IRQ number is decremented.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Add PM action for the NXP LCDIC driver so that we can
recover from a lower power mode where we lose the register
settings and we need to reconfigure the block.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Commit 857e5793f1 fix
the flash_mcux_flexspi_nor.c driver to wait for the
FlexSPI to be idle before performing write/erase
operations. Add a similar check to these drivers that
also use the FlexSPI NOR block.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Add support for transmitting using the asynchronous API. The
asynchronous portion is simulated through a dedicated polling thread.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add support for transmitting using the asynchronous API. The
asynchronous portion is simulated through the system workqueue.
Signed-off-by: Jordan Yates <jordan@embeint.com>
move phy_link_callback_set() to the iface init,
so we don't have to manually check the link state,
as phy_link_callback_set() will also invoke the callback.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Add a simple non-XIP transaction before deactivating the QSPI after
a XIP transaction is performed. This prevents a CPU hang from occuring
when another XIP transaction is attempted after the QSPI is activated
again.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Increased the heap mempool size for the socketpairs. This way there will
be enough memory available to allocate 2 * struct spair.
Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
Moved target dependent startup time from header file to
Kconfig option to allow adding new targets with new .conf
file rather that modyfing source of the test. Adjusted
startup time for nRF54L09 and nRF54L20.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
When applying the connection parameter update, the window widening
for the previous connection interval was not applied since that is
normally done in LLL
Fixed by applying the window widening in ull_conn_update_parameters()
instead in this case
Fixes EBQ test failure in LL/CON/PER/BV-10-C
Signed-off-by: Troels Nilsson <trnn@demant.com>
Disable GPD for MCUBoot build, as it cannot be
reinitialized later in application (SDFW does not
support reinitialization).
Also, remove the GPD disabling from the mcumgr sample
for nRF54H20 iron board app - it was the reinitialization
that caused problems.
Signed-off-by: Michal Kozikowski <michal.kozikowski@nordicsemi.no>
Make sure RS process is stopped if network interface goes down
as there is no point doing it any more.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
It might happen that if the network interface is going up/down
fast enough, the RS timer could get inserted to the active RS
timer list twice. This would then cause a forever loop in
rs_timeout() when traversing the active list.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Commit extends the communication test between the LPN and
the third mesh device by checking that LPN and the third mesh
device can exchange data normally after friendship termination.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
MAX31855 driver had a wrong position of sign bits causing
invalid reading of negative temperature values. Fixed by
shifting position of sign bit by one bit.
Signed-off-by: Petr Vilím <petr.vilim@proton.me>
Streaming mode now supported through In-band Interrupts (I3C).
By default, a dedicated INT GPIO is prioritized, even if the sensor
is on an I3C bus.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
I3C is now a bus supported, by relying on RTIO IODEV which is supported
for all buses (I2C, I3C and SPI). Tested backwards compatibility: I2C
and I3C.
No IBI support yet.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
A typo in the top-level CMakeLists.txt prevented C++ targets from
receiving -fstack-protector-explicit when CONFIG_STACK_CANARIES_EXPLICIT=y.
Signed-off-by: Mirai SHINJO <oss@mshinjo.com>
On reboot, client list to notify is not updated properly.
Fix is to check and add the reconnected clients on
security changed cb.
Subscription check is added before notify to clients.
BT Enable check is added in the register function before adding
bonded devices to client list.
Also typo is corrected in add_bonded_addr_to_client_list in the
second loop.
Signed-off-by: Nithin Ramesh Myliattil <niym@demant.com>
Since siwx917_rb4338a now declare a storage_partition,
siwx917_rb4338a.overlay is not required anymore.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Some tests (eg. tests/bluetooth/shell) expects to have a
storage_partition defined.
storage_partition is also defined in the DT of most of the boards.
For now, this patch define a very small storage partition to avoid any
conflict with code_partition.
Tested-by: Andras Nyiri <andras.nyiri@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Update bit array (number of connections) added for each receive state.
Notifications are attempted to be sent in the system workqueue and
retried if failing.
Issue #85487
Signed-off-by: Jens Rehhoff Thomsen <jthm@demant.com>
Add section describing how to write RTC device drivers. This should
help ensure consistent RTC behavior across system reboots.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Move down the "History of RTCs in Zephyr" which is least relevant,
especially now that the RTC API is well established.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Adds support for setting up a firmware loader image in a build,
which can also optionally automatically configure MCUboot and the
application image to be able to boot the firmware loader image
using the retention subsystem
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Removes setting the boot mode device in the default test overlay
file as this is now set by the board
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Use -w option to delay the startup of the upload job.
Then when ready, do "zperf jobs start" to launch all upload
sessions at the same time.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If user has enabled CONFIG_ZPERF_SESSION_PER_THREAD, then if
user gives -a (async) option to upload command, then multiple
uploads can be run simultaneously. Each upload will be run
in a dedicated work queue. The work queue thread priority can
be set by -t option.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Added jlink runner support for A-core platform on i.MX93 EVK board,
so that can use "west flash" to download zephyr.bin to DDR memory
and then boot the Zephyr on Cortex-A55 Core0.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
The symbol SRAM_VECTOR_TABLE is not used in the adi/max32 soc. Removed
it in order to clean up the Kconfig file and avoid confusion with the
upcoming new definition of SRAM_VECTOR_TABLE symbol. (PR #87468)
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Use cache API for disabling and enabling ICACHE. The driver handles waiting
for ongoing cache invalidation.
Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
Use the Zephyr cache API in soc initialization code instead of calling the
HAL directly. The change does not modify the pre-existing cache settings,
just changes the path they are enabled.
Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
STM32 Cortex-M33, such as the L5/H5/U5 series, have a cache peripheral for
instruction and data caches, which are not present in the C-M33
architecture spec.
The driver defaults to direct mapped cache as it uses less power than the
alternative set associative mapping [1]. This has also been the default in
stm32 soc initialization code for chips that have the ICACHE peripheral,
which makes it the safest choice for backward compatibility. The exception
to the rule is STM32L5, which has the n-way cache mode selected in SOC
code.
[1]: https://en.wikipedia.org/wiki/Cache_placement_policies
Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
This change refactors the mdio_read / mdio_write functions into an
mdio_wransfer, and utilizes it to implement
mdio_{read,write,read_c45,write_c45}.
Heavily inspired by the implementation in drivers/mdio/mdio_sam.c
Signed-off-by: John Barbero Unenge <git@lsrkttn.com>
The TXFTLR register has 2 major fields which are TFT for triggering
interrupt threshold and TXFTLR for starting transfer threshold. This is
to ensure that sufficient data is ready for starting transfer.
Signed-off-by: Younghyun Park <younghyunpark@google.com>
Add a basic test for vector table relocation to SRAM. This test
verifies that the vector table can be relocated to SRAM and that
the VTOR register correctly points to the SRAM address range.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Allow to place the vector table section in SRAM with
CONFIG_SRAM_VECTOR_TABLE option for all cortex-m architecture that
have VTOR register.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Move SRAM_VECTOR_TABLE symbol from general Kconfig to Arch Kconfig
because it depends on the architecture possibility to relocate the
vector table.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Move initialization of 'enabled' variable together with declaration.
This fixes the following compiler error:
error: 'enabled' may be used uninitialized [-Werror=maybe-uninitialized]
This is not really an error but the compiler is tricked by the
K_SPINLOCK() macro.
Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/88996
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Shift the error handling for `ethernet_ll_prepare_on_ipv4` out into
`ethernet_send`, since that is the function that needs to handle the
various result types of the ARP process.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Make it clearer that the `net_buf_ref` is for `k_queue_unique_append`,
and reverse the reference if the queue add fails.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Test the case where the packet provided to `net_arp_prepare` is queued
for later transmission, instead of being replaced with an ARP query
or having ARP information populated.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Update `net_arp_prepare` to return a return code instead of a pointer,
so that the various results of the function can be differentiated.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Print a warning if sending a packet on the L2 interface fails. Currently
this is completely silent unless `NET_DBG` is enabled and the `context`
parameter is provided.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Use the tp_diff() macro as a means of converting an absolute timeout
with respect to a specific clock to a relative timeout, in ms.
Clamp the result between 0 and UINT32_MAX.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Move somewhat useful (but private and internal functions) that deal
with struct timespec to posix_clock.h until there is a better API
available for dealing with operations on struct timespec.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Always require the clockid_t argument to timespec_to_timeoutms() and
remove the unused variant that accepts no clockid_t parameter.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Use CLOCK_REALTIME for the default clock source throughout
the POSIX implementation and tests so that we are
consistent with the specification.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add a common private function timespec_is_valid() that
can be used to check if a timespec object is valid, and
use that consistently in lib/posix/options.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add definitions for struct posix_condattr and struct posix_cond, which
are internal variants of the external pthread_condattr_t and
pthread_cond_t types.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Provide a private internal function timespec_to_clock_timeoutms() to
complement timespec_to_timeoutms(). This new variant accepts a clock_t
parameter that allows the caller to specify which clock to use.
The original timespec_to_timeoutms() then just becomes a static inline
wrapper around the original.
Note: timespec_to_clock_timeoutms() and timespec_to_timeoutms() might
have a limited lifespan, since it might make sense to create a
common timespec manipulation library.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Provide a single declaration of timespec_to_timeoutms() (which is
a private function), in the private header file posix_clock.h .
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
pthread_timedjoin_np() is allowed to take a negative tv_sec
parameter, since that is still a valid timespec.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add locally generated info for deauth process. If deauthentication
frame is coming from AP it will be set, in other cases
(Beacon loss, New connection from user in connected state,
disconnection from user) flag will not be set.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
Our decoder can handle decoding of non-deterministic CBOR just fine.
There is no need to block valid CBOR if the server does not produce
length-first deterministic CBOR.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
There are warnings generated within NVMe. `prp` is a `void *` which
is 32bits wide on 32bit systems. This adds a cast to first cast it
to a `uintptr_t` and then casts it to a `uint64_t` to supress the
warning.
This also fix an issue where `int n_prp` is defined under a case
statement. This adds the { } around the block underneath it.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Some SoCs do not have MMUs. Create a new KConfig that `NVME_PRP_PAGE_SIZE`
that will define the PRP page size, and will default to `MMU_PAGE_SIZE` if
there is a MMU. Otherwise, it defaults to 0x1000.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Replace stall guard retry error log on EAGAIN with enable/disable info log.
Log position, sg result and sg status on each rampstat_work_handler() call.
Treat only negative return values from tmc_spi_write_register() and
tmc_spi_read_register() as an error. Only log actual velocity when not 0.
Use helper functions rampstat_work_reschedule() and read_vactual().
Signed-off-by: Anders Nielsen <anders.nielsen@prevas.dk>
Use rampstat_work_reschedule() and read_vactual().
Only log actual velocity when not 0.
Update log_stallguard() output.
Signed-off-by: Anders Nielsen <anders.nielsen@prevas.dk>
Changes for this package version:
* CTRLSEL is now set appropriately for the SPIS121 pins.
* DPPI.LINK configuration is now skipped when processing
the 'dppic130' devicetree node.
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
These are applicable for Wi-Fi over QSPI (nRF7002DK) or Flash over QSPI
(nRF52/53 + nRF7002EK) and as most Wi-Fi samples run on 128MHz (for
performance), disable the anomalies for both.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Remove usage of ld-specific ADDR function within the cmake linker
generator scripting. Since the linker generator scripting doesn't
support MPUs, we can simply set the __ramfunc_region_start symbol to be
equal to __ramfunc_start
Fixes#87200
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
While cmake/emu/simics.cmake uses SIMICS_PROJECT env var, twister checks
if a build is "runnable" by checking if `simics` is executable, but it
doesn't look at SIMICS_PROJECT env var.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
A message about not finding simics at SIMICS_PROJECT env var was not
showing the current value of said variable.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
Replace reapplying the original pin configuration via pinctrl
in the ICE40 bitbang driver with a device_deinit/device_init.
Fixes#77983.
Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
Added a hook on the FS group that notify applications when a
file download/upload has completed.
Signed-off-by: Nicolas Goualard <nicolas.goualard@sfr.fr>
Added initial support for the M5Stack Cardputer shield for
M5 Stamp S3. The following features are supported:
- uSD
- st7789 LCD
- Analog input from VBAT
- I2C on the grove connector
Signed-off-by: Sahaj Sarup <sahaj.sarup@linaro.org>
- When encrypt_state in a receive state of the scan delegator is
BT_BAP_BIG_ENC_STATE_BAD_CODE, make sure that on synchronization
encrypt_state is updated to BT_BAP_BIG_ENC_STATE_DEC, as this
implies that a correct code was provided, so that the broadcast
assistant is not asked for a correct code any longer.
Signed-off-by: Max Emde <mxem@demant.com>
Inclusion of CONFIG_WIFI_SHELL_RUNTIME_CERTIFICATES causes build time
RAM overflow issues. Decrease NRF_WIFI_DATA_HEAP_SIZE to accommodate
the RUNTIME_CERTIFICATES feature.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
Instead of relying on a hardcoded list of valid strings, automatically
create a perfectly sized array of disk names from devicetree.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Remove the sanity check between Cube HAL SMPS symbol and Kconfig SMPS
configuration.
SMPS is available on all STM32H7R/S SoC, so misalignment isn't possible.
Additionally, point to the hal commit which revert the fix which was done
on hal_stm32 to add this symbol.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
The va.h file used both uintX and bool without including
the appropriate header files, which can cause a compile issue
if the file is included in the wrong order.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Update the includes so that only what is actually used is included,
and so that everything is used is includes (IWYU).
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Support SPI_HOLD_ON_CS flag in the CPU-based driver. To do this we will
set CONTC bit to continue previous command. Technically it may not be
necessary right now, and could just not clear CONT bit...
but in the future in the lpspi driver we
will decouple the config/init of a transfer from the SDK
and therefore have more control over TCR,
and when we write the TCR, we need to take CONTC bit into account
otherwise a new command will be made. So this approach is how
it should be handled in the driver going forward in my opinion, even
if it might be possible without this bit right now, I want to introduce
it's usage now.
This commit also does a minor refactor in the ISR and adds some comments
to make the strange CS behavior and strange handling code more clear to
future readers.
Also, make the early predicted SPI xfer end code only happen for spi
versions where it is necessary, since I think that code is really the
best we can do but might have a race condition, where possible the last
word is not finished sending when we end the xfer. So limit the
potential affect to v1 lpspi where the workaround is actually required
due to stalling behavior.
Lastly, set the LPSPI into master mode at active low in init, due to
it being the most common case, we want the SPI CS lines to be
initialized at init of driver. I don't think it's worth it to make it
configurable at this time, but in the future it could be if needed.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The LPSPI does support word sizes such as 6 or 7, anything as small as 2
bits. So fix the checks and the math to allow for this in the driver.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Optimize the TX fill algorithm to have less interrupts by filling the TX
fifo as much as possible during each interrupt handle.
Before, the algorithm was just a very simple, fill the TX fifo with as
much from only the current buffer as possible, then send it and wait for
the next interrupt. Now the algorithm is to fill the TX fifo as much as
possible, even if it means reading from multiple buffers during the
interrupt.
This has the advantage from master mode of having less interrupts. And
it is very important for slave mode because the slave mode does not
control the pacing of the transfer and so therefore should fill as much
as possible whenever possible in order not to miss a deadline.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add test case bluetooth.general.tester_br_edr.
Add overlay `zephyr,sram` and `zephyr,uart-pipe` for the board.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Set following configuration by default,
CONFIG_BT_CLASSIC=y
CONFIG_BT_CENTRAL=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_SMP=y
CONFIG_BT_L2CAP_DYNAMIC_CHANNEL=y
CONFIG_BT_PAGE_TIMEOUT=0xFFFF
When building the project, the argument `--extra-conf prj_br.conf`
needs to be appended for BR.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
If the L2CAP connection response of command `listen` is
`BTP_L2CAP_CONNECTION_RESPONSE_INSUFF_SEC_AUTHEN`, set the security
level of L2CAP server to level 4.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The error code `-EBUSY` of `bt_conn_set_security` means the
pairing/encryption procedure is ongoing. Ignore the error code.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Compare with BTP GAP pair, the pair_v2 add more arguments, including
security mode, security level, and flags.
The argument `security mode` is used to set the security mode.
The argument `security level` is used to set the security level of the
specific security mode.
The argument `flags` is used to add additional setting, such as flag
`BTP_GAP_PAIR_V2_FLAG_FORCE_PAIR` is used to force the pairing
procedure.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Change the channel id rage of BR L2CAP channel to
`ARRAY_SIZE(channels)` ~ `ARRAY_SIZE(channels) + CHANNELS`. The
unified channel ID can help identify whether the channel is BR or BLE
L2CAP channel.
When the address type of L2CAP connect command is
`BTP_BR_ADDRESS_TYPE`, create BR L2CAP channel connect request.
And if the channel ID falls into the range `ARRAY_SIZE(channels)`
~ `ARRAY_SIZE(channels) + CHANNELS` of L2CAP disconnect command,
create BR L2CAP disconnect request.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Create BR connect if the address type is `BTP_BR_ADDRESS_TYPE` when
handling BTP GAP `connect` command.
Disconnect BR connect if the address type is `BTP_BR_ADDRESS_TYPE`
when handling BTP GAP `disconnect` command.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Call `bt_br_discovery_cb_register` to register discovery callbacks.
Define a buffer br_adv_buf to report br discovery result.
Report device found event if discovery received callback triggered.
Start BR device discovery procedure if command `start_discovery` is
received.
Stop BR device discovery procedure if command `stop_discovery` is
received.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Set the pin code request callback `auth_pincode_entry`.
If `highsec` is false, call `bt_conn_auth_pincode_entry` with pin code
"0000".
If `highsec` is true, call `bt_conn_auth_pincode_entry` with pin code
"0000000000000000".
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
If cp->transport is BTP_L2CAP_TRANSPORT_BREDR, register BR L2CAP
server.
If cp->transport is not one of BTP_L2CAP_TRANSPORT_BREDR and
BTP_L2CAP_TRANSPORT_LE, return error code BTP_STATUS_FAILED.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Disable connectable mode for classic if `cp->connectable` is false.
Enable connectable mode for classic if `cp->connectable` is true.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Disable discoverable mode if `cp->discoverable` is
`BTP_GAP_NON_DISCOVERABLE`.
Set general discoverable mode if `cp->discoverable` is
`BTP_GAP_GENERAL_DISCOVERABLE`.
Set limited discoverable mode if `cp->discoverable` is
`BTP_GAP_LIMITED_DISCOVERABLE`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Set the supported settings `BTP_GAP_SETTINGS_BREDR` and
`BTP_GAP_SETTINGS_SSP` if the Bluetooth classic is enabled.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Background:
In DPP hostapd will put more than 1K bytes text in multiple
wpa_msg calls in one loop. This will drain hostapd monitor
socket pair and fail. Thus DPP connection will fail.
The monitor socket pair of wpa_supplicant and hostapd are not like
ctrl_iface socket pair, which are used for sending command to
hostap from other tasks. The monitor socket pair is used by wpa_msg
to send messages to attatched ctrl_iface monitors. But in zephyr case,
the monitor is hostap task itself.
This means hostap task is both the sender and receiver task.
So it writes all the wpa_msg text into FIFO and read it in next loop.
So there is risk of draining socket pair FIFO and missing msg.
And the reading socket loop can be omitted by directly handling msg
in wpa_msg_cb.
Linux uses monitor socket pair because hostap is a process and wpa_msg
does cross-process communication.
But zephyr hostap is used as module in the same binary with
zephyr kernel.
So the usage is different and we don't need to use socket pair to
notify ctrl_iface monitors.
As long as we don't do time-consuming process in zephyr_wpa_msg_cb,
it won't affect hostap task.
So the zephyr_wpa_msg_cb will only filter and restore interesting logs,
or raise mgmt events to wifi l2 mgmt task.
Fix:
Remove socket send flow in wpa_msg.
Directly filter and handle text in zephyr_wpa_msg_cb,
coding in zephyr repo.
This will save 2K RAM in supplicant case and 4K RAM in
supplicant & hostapd coex case, in current default hostap
socket pair config.
And this will save max 50% loops of hostap task.
Signed-off-by: Fengming Ye <frank.ye@nxp.com>
Adds a dtsi file for the STM32F401XD family of devices. These devices
are closely related to the STM32F401XE family of devices but with a
reduced flash memory from 512kB to 384kB.
Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
Introduces config file entries for STM32F401XD variants. The
STM32F401XD family is related to the STM32F401XE family but with a
reduced flash memory.
Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
This commit resolves lock contention
issues by increasing the probablity of
contention during the test execution.
Increased wait delay when lock is taken
and Reduced wait delay when the lock is
released.
Achieved 99% lock contention probablity,
verified through runtime metrices.
Signed-off-by: S Swetha <s.swetha@intel.com>
Enable DHCPv4 when network interface goes up. This makes it easier
to test IP connectivity with DSA.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
The new DSA framework purpose and changes are as below.
- Aligned to Linux DSA framework which has been already mature framework
for many years, For now in zephyr, the DSA components were splited
as: switch, port, master(not need driver file for now), slave, and tag.
Seperated drivers were used for maintaining and developing new
features.
- The unified dts bindings (aligned to linux) were supported. The port
driver would parse DTS to decide the port type (master port, slave
port, or cpu port) to set up the switch. All the ports registered as
standard ethernet devices. (dsa port and dsa switch tree was not
supported.)
- How to add DSA device driver based on the framework? All the device
driver needing to do is providing dsa_spi implementation and private
data, and calling below initialization.
DSA_INIT_INSTANCE(n, _dapi, data)
- For switch tag case, recv/xmit helpers in dsa_api could be used for
taging/untagging. No modified ethernet drivers.
For no-tag type case, ethernet driver of master port should support
packet injection/extraction for slave ports leaving NULL recv/xmit.
The dsa_nxp_imx_netc.c driver will be the first example of the new DSA
framework.
The future work for DSA will be supporting bridge for ports. We may align
Linux to give users two options to use DSA device:
- Standalone mode: the switch ports work as regular ethernet ports.
- Bridge mode: switch mode with virtual bridge device which could be
assigned IP address.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Current DSA TX/RX way was hard-coded in ethernet devices driver
with ETH_DSA_SUPPORT and NET_DSA.
This patch is to make such way obsolete, as we actually will support
a better DSA framework to handle this in NET/DSA core driver.
To make legacy devices not affected, below options are used instead.
- ETH_DSA_SUPPORT_DEPRECATED
- NET_DSA_DEPRECATED
Once the legacy devices are converted to new DSA framework, this code
could be removed.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Add Bouffalo Lab serial driver. The driver uses pinctrl to configure
pins and have power management capabilities.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Add clamattia as collaborator in the area of ethernet to the
MAINTAINERS.yml file.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
The commit 1e0af58b51 ("pmci: Move MCTP into the PMCI subsys") changes
'mctp' directory adding to unconditionally, which will cause:
CMake Warning at ./zephyrproject/zephyr/CMakeLists.txt:1022 (message):
No SOURCES given to Zephyr library: subsys__pmci__mctp
Excluding target from build.
Signed-off-by: Haiyue Wang <haiyuewa@163.com>
Add an entry to the release notes and migration guide regarding
moving OpenThread-related Kconfig options from
subsys/net/l2/openthred/Kconfig to modules/openthread/Kconfig.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
Moved OpenThread-related Kconfigs from L2 layer to
modules/openthread. All of those configs were not strictly related
to the L2 layer, so they fits better to OpenThread module.
This operation allows using OpenThread Kconfigs even if L2 layer is
disabled.
Enabling NET_L2_OPENTHREAD also configures those configs by
selecting the OPENTHREAD kconfig, so there is no change regarding
backwards compatibility. The only change is that the Kconfigs
related to Thread were moved to the modules space, so their
location in the menuconfig also changed.
Once it is done, a choice for setting different L2 implementations
seems to be redundant.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
Add it515xx analog to digital converter driver which supports 8 channels
ch0 ~ ch7 and 12-bit resolution.
Signed-off-by: Yunshao Chiang <Yunshao.Chiang@ite.com.tw>
anonymous/no authentication mode had been removed
from the last hawkBit server release, so mention it and
deprecate the option.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
When GPIO17 or 16 is used as an external REF_CLK signal, the output is
enabled in eth_esp32.c This was added in PR number #65759 and then refined
in PR #74442. However this does not work for PHYs which need the REF_CLK
for MDIO communication, such as LAN8720A. In such cases phy_mii driver
tries to get the ID of such a PHY before REF_CLK is present. Therefore
in this PR I propose to move REF_CLK initialization from eth_esp32.c to
mdio_esp32.c which gets initialized before PHY and ETH.
Signed-off-by: Łukasz Iwaszkiewicz <lukasz.iwaszkiewicz@gmail.com>
Switches back to equal sized partitions, this fixes an issue
whereby the number of overhead sectors for a swap mode was
incorrectly listed as 2 when it should have been 1, and also
allows using any swap mode. This means that when using swap
using mode, 1 sector in the secondary partition will be unusable,
and when using swap using offset, 1 sector in the primary
partition will be unusable
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Enable `NET_ZPERF_SERVER` for samples that currently enable `NET_ZPERF`
to prevent feature regressions.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Make the zperf server support optional, if only upload throughput
testing is required. This reduces the resources required to operate.
Signed-off-by: Jordan Yates <jordan@embeint.com>
`NET_ZPERF` enables the core zperf utility library, not a shell module.
Add more specifics about what the utility can communicate with.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Part of the socket matching criteria for AF_PACKET family took place
inside conn_raw_socket() function, and some of it was redundant with
what already was checked in net_conn_packet_input(). Moreover, if the
packet cloning for packet socket failed for whatever reason, the packet
was reported as NET_DROP, which was confusing.
Finally, conn_raw_socket() updated network stats, which didn't really
work as net stats are only collected for UDP/TCP protocols and not for
L2 level protocols.
Therefore, cleanup the processing by:
* Moving all socket matching criteria into net_conn_packet_input()
for clarity,
* Drop unneeded net stats functions,
* Clarify NET_DROP strategy for packet socket input.
net_conn_packet_input() should only be responsible for delivering
packets to respective packet sockets, it should not decide whether
to drop the packet or not - it's L2/L3 processing code
responsibility. Therefore, assume this function forwards packet for
further processing by default, and only allow small optimization to
return NET_OK if the packet socket was really the only endpoint in
the system.
* And finally, since now conn_raw_socket() responsibility was to clone
the packet for the respective socket, and was almost identical to a
corresponding function for raw IP sockets, unify the two functions.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The current implementation of net_conn_input() can accept different
packet types, with completely different processing code, resulting in a
function which is pretty bloated, sliced with conditionally enabled code
and hard to understand and therefore maintain.
This commit splits that function into smaller ones, specialized for
different packet types (and entry levels). The following functions have
been extracted from the original one:
- net_conn_packet_input() for early packet processing (covering
AF_PACKET family sockets)
- net_conn_raw_ip_input() for raw IP packets processing (covering
AF_INET(6)/SOCK_RAW sockets)
- net_conn_can_input() for CAN packets processing (covering AF_CAN
family sockets)
The net_conn_input() function stripped from above cases now only takes
care of packets that have been processed by respective L4 and are
intended for regular TCP/UDP sockets.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
After L2 processing, the LL protocol type is already known and should be
set accordingly on the packet. Therefore it can be passed to the
net_packet_socket_input() function to allow proper socket filtering
based on protocol.
Additionally, as LL protocol type is 16 bit value, fix the proto
parameter type in net_packet_socket_input().
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Enhanced uart-controller.yaml to expand parity type support,
now including 'mark' and 'space' options.
Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
BR_SEND_KEYS_SC should be used to determine the value of
Responder Key Distribution when sending pairing_response to
reply smp br pairing_request.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
For the flash with the block size equal to or smaller than 64 bytes,
using a specific "32" bytes for adding for destination_offset and "32"
bytes for subtracting the size that need to copy is not correct.
As a solution, I will add one-fourth of a block size for the
destination_offset and modify the size that need to copy to
[block size + one-fourth of a block size].
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
move net_if_carrier_off() before
phy_link_callback_set() to ensure the carrier is
not truned off, when the link is already up.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
move net_if_carrier_off() before
phy_link_callback_set() to ensure the carrier is
not truned off, when the link is already up.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
move net_if_carrier_off() before
phy_link_callback_set() to ensure the carrier is
not truned off, when the link is already up.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
There is no smartdma on RT700, so to perform DCS memory write the CPU has
to write APB buffer word by word, which is too slow for most applications.
But the DCNano in DBI mode can be used to interface with the MIPI-DSI on
RT700, and send data to MIPI-DSI to transfer, once it is properly
configured, which solves the issue.
First added new parameter first_write in display_buffer_descriptor to let
NXP DCNano DBI driver know to use MIPI_DCS_WRITE_MEMORY_START or
MIPI_DCS_WRITE_MEMORY_CONTINUE.
Second updated the MCUX MIPI-DSI driver to support using the NXP DCNano DBI
driver for memory write.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Introduce NXP NCNano driver using MIPI DBI class. This peripheral
supports 8080 and 6800 mode. The driver also supports used with
nxp,mipi_dsi_2l driver, for the panel with DPHY bus, such as g1120b0mipi.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Add defines for color coding of DBI Type A(Motorola 6800)
and B(Intel 8080) bus. This is to comply with the MIPI
Alliance Standard for Display Bus Interface v2.0.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Update nxp,dcnano-lcdif to support IP change on RT700. There are extra
registers need to be configured for the lcdif on RT700. Add new binding
item "version" to tell which version of the IP the SoC has.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
The same as flash-args for flash, we will add commands to debug,
debugserver, and attach to specify arguments in the document.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
update remaining steps should just update the remaining steps, rescheduling
should happen after updating steps and hence is moved to position mode task
which is also in coherence with velocity mode task
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
To split bus support into separate files. This patch does not introduce
any functionality, but rather precedes a patch introducing I2C bus
support.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Restore userspace testing that was removed with commit 'aa2b72d32af
(tests: logging: remove userspace testing, 2024-04-10)' and reported in
the issue #49213.
For the tests running with threads in user space (with ZTEST_USER),
the memory partitions are configured in the test-suite setup.
Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
The declaration for the text region '__text_region_start' and
'__text_region_end' should be consistent with the declaration in the
include file 'zephyr/linker/linker-defs.h'.
The local declarations are:
extern uintptr_t __text_region_start, __text_region_end;
whereas 'linker_defs.h' declares them as:
extern char __text_region_start[];
extern char __text_region_end[];
This may result in conflicting types when 'linker_defs.h' is indirectly
included. Hence, remove the local declarations.
Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
The logging module data is assigned to the memory partition
'k_log_partition' so that a user mode thread can access this data (see
k_mem_domain_add_thread()). The 'k_log_partition' is created when:
- CONFIG_USERSPACE=y
- CONFIG_LOG_ALWAYS_RUNTIME=y
The option CONFIG_NO_OPTIMIZATIONS=y forces the logging module to use
the runtime message creation CONFIG_LOG_ALWAYS_RUNTIME=y. This raises a
MPU violation when logging is used in a user mode thread since this
thread is not allowed to access the module data (e.g. __log_level,
__log_current_const_data).
Note that the user mode thread may also require access to the partition
'z_libc_partition'.
Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
The runtime message creation (CONFIG_LOG_ALWAYS_RUNTIME=y) in a user-
mode thread raises a MPU violation, e.g. call LOG_INF("Test") in a
user-mode thread.
The function 'z_log_msg_runtime_vcreate' runs in user mode but works
with Kernel data. Hence, create the cbprintf package on the stack (of
the user mode thread) and pass it further to the syscall
'z_log_msg_static_create'.
Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
This function is used for testing purposes only, there is no real use
for it in a user application. Remove in favor of implementation in new
device stack.
Also remove the part of the documentation that depends on loopback.
Documentation on how to implement your own USB device function using the
new USB device support will follow during the documentation rework.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Un-ignore diff and patch files for CheckPatch.
This was originally added to avoid throwing false-positives when diff
and patch files were actually in the repo, since it would incorrectly
try to perform code-formatting checks on those files instead of on
the content of the commit.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The low level function names in the stm32l4xx low level driver are
different than all the other stm32's even though the functionality is the
same. This breaks the entropy module for these parts. This patch fixes the
build and has been tested on a custom stm32l4p5 board.
This STM32CubeL4 issue has been reported (ST Internal Reference: 207828).
Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/88621
Signed-off-by: Matt Ihnen <matt.ihnen@gmail.com>
Addressed an issue where alignment of dma desc varaible
of dma0 is corrected to 1024 instead of 512.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Addressed an issue where regular/non-scatter-gather DMA
transfers were not explicitly using the primary DMA descriptor
structure. This ensures a smooth regular DMA transfer after
any scatter gather transfer.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Introduced a new variable in the `dma_siwx91x_channel_info`
structure to provide a clean way to differentiate transfer
directions. This enhancement is utilized to trigger software
requests specifically for memory-to-memory transfers
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
The mod_src_param was several places stored on the stack.
However this is a complex paramater struct that has
2 Kconfig options that can significantly increase the size,
and the maximum size of the parameter is nearly 8 KiB, and
was always place the in the BT RX thread's stack.
For this reason, the param is now stored in a single
static variable in RAM instead, so that the BT RX thread's stack
does not need to be increased based on the Kconfig options,
as that is quite difficult for users to be aware of.
The add_src_param has been left as is, as that stored in
the calling thread, and it is easier for an application
to determine if the calling thread needs additional stack
space.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Bad Broadcast Code in BASS/Scan Delegator if BIG_Encryption
field value = 0x03 (Bad_Code), Bad_Code shall be set to the
value 0xFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF according to BASS v1.0.1
Signed-off-by: Gudipudi Ramana Kumar <gudipudiramanakumar@gmail.com>
Adds a configuration file which is used with nrfutil to allow
programming the SPI flash on the device
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fixes an issue in which "SDHC" had been incorrectly expanded to
"Secure Digital High Capacity" instead of "SD Host Controller".
Since this page is listed under "Peripherals" and since the
SD Host Controller API is not supposed to be used by applications,
the more generic and recognizable title "SD card interface" is used,
and users are pointed to pages relevant to them (disk access API
and SD card subsystem).
Signed-off-by: Egill Sigurdur <egill@egill.xyz>
In Clang 16 run with some flags, the compiler does not accept a static
const variables as struct initializer. This caused build errors in only
some contexts. Always use the devicetree macros to access the source
device node as a workaround.
Signed-off-by: Josuah Demangeon <me@josuah.net>
In STM32N6, AXISRAM1 is next to the 400kB FLEXRAM.
By default, the FLEXRAM is configured to extend the AXISRAM1 which put
its total size to 1024kB.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Add stub functions for the I2C DMA callbacks, which are invoked
during or upon completion of DMA-based I2C transactions. Without
these, NULL pointer calls occur on DMA transfer complete or error
events, leading to faults within ISR context.
Signed-off-by: Simon Gilbert <srdgilbert@gmail.com>
Use the default kernel clock (HCLK5) for the XSPI instances instead of the
peripheral clock which may not be enabled at all.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Use HSE as system source clock and adjust the different clock parameters
to use the highest admissible frequency (according to datasheet DS14791):
- CPU clock: 800MHz
- NPU clock: 1000MHz
- AXI clock: 800MHz
- AHB clock: 200MHz
Remove the setting of APB prescalers since they are constants set to 1.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Errata sheet ES0620 indicates that STM32N6 APB prescalers cannot be
modified.
Fixes the value of all APB prescalers to 1 (default value).
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Commit f7633a55aa moved the tests for the
POSIX_SEMAPHORES Option Group from the tests/posix/common testsuite to
its own dedicated testsuite.
However, there was a copy-paste error. Previously, tests would have been
run only once when dynamic threads were enabled, and then skipped when
dynamic threads were disabled, since that follows the posix programming
model better. However, dynamic threads were never actually enabled after
moving to the new testsuite. So all tests were effectively skipped.
Add the necessary options to prj.conf in order to ensure that there are
sufficient dynamic threads available to run the testsuite.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
There is no reason to use a 5s wait time in tests. This can add up quite
significantly across multiple platforms that execute in real-time under
qemu (or even just on real hardware).
Speedup observed with qemu_cortex_a53/qemu_cortex_a53/smp
Before:
```
START - test_named_semaphore
PASS - test_named_semaphore in 5.688 seconds
```
After:
```
START - test_named_semaphore
PASS - test_named_semaphore in 0.783 seconds
```
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The implementation of POSIX_SEMAPHORES historically used heap allocation
and has not yet been transitioned to a pool allocator.
However, since 590258b381, the default heap-add with CONFIG_POSIX_API
has been reduced from 1 kiB which causes tests/posix/semaphores to fail
due to NULL being returned from a call to k_calloc().
Create a minimal heap-add for the POSIX_SEMAPHORES Option Group.
This can be removed at a future date if semaphores are changed to use
a pooled allocator and fixed-size name, rather than heap allocation.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
0f05f58bf5 assigned the `arduino_i2c` to the incorrect pins for the Arduino UNO connector. This assigns them back.
signed-off-by: Glenn Andrews <glenn.andrews.42@gmail.com>
This patch allows ti_dmtimer to provide the symbol z_sys_timer_irq_for_test
whenever tests are enabled. Not providing this results in failing some
kernel test cases which require this symbol.
Signed-off-by: Amneesh Singh <a-singh7@ti.com>
Release completion queue events left over from the previous test and
make sure a completion queue event gets released after it is consumed.
Otherwise newer cqes may be unable to be submitted due to completion
queue being full.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Call i2c_rtio_complete with a non-zero status code in case of an error
so that application does not get stuck waiting for the completion queue
event. An example to this situation could be an I2C target device
responding with a NACK to a read or write request by the controller.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
CD pin of the SDMMC on the STM32N6570-DK board was incorrectly set as
PN8. Fixes the pin to PN12 as per the schematic.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Commit e33d9ee4 incorrectly stated that:
> Now that nRF70 by default uses zero-copy fine-tune the configuration
to get optimal memory while getting peak throughputs.
This is incorrect since `NRF_WIFI_ZERO_COPY_TX` is only enabled by
default for the nRF54L series. Update the data heap size so that the
smaller value is only used when `NRF_WIFI_ZERO_COPY_TX` is enabled.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Allocate the memory in `nrf_wifi_if_send` *before* taking the nrf70
global mutex. This prevents the function from deadlocking the
application if attempting to send under memory-pressure, since many of
the memory release paths also happen under the global mutex.
Signed-off-by: Jordan Yates <jordan@embeint.com>
When the connection status is "PENDING", need reset the br channel
identifier to the correct value before resend the connection response,
otherwise these is in an "ident mismatch" error being reported.
Signed-off-by: Make Shi <make.shi@nxp.com>
Update iperf version information for use with zperf. Note the fallback
kconfig option for versions older than `2.0.10`, and remove the warning
about `LAST PACKET NOT RECEIVED!!!` since it is not longer present with
the fixed UDP header.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Fix the zperf UDP datagram header definition, as iperf introduced a
backwards incompatible format change in version 2.0.10 (August 2017).
```
struct UDP_datagram {
// used to reference the 4 byte ID number we place in UDP datagrams
// Support 64 bit seqno on machines that support them
uint32_t id;
uint32_t tv_sec;
uint32_t tv_usec;
uint32_t id2;
};
```
Update the header to the new format, with a Kconfig option to fall back
to the previous header definition.
The response decoding was testd with a nRF7002 client and
`iperf-2.2.1-win64.exe` server, with the output statistics struct now
containing the same information as reported on the PC server.
Signed-off-by: Jordan Yates <jordan@embeint.com>
In some case, we may need to describe a domain clock for a device
while there is no way to configure it.
Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
Add stm32n6570_dk conf file in order to increase the amount of
HEAP to ensure k_malloc allocation goes well.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
lld will produce warnings for the symtab, strtab, and shstrtab sections
if --orphan-handling=warn is specified and there are no matching rules
in the linker script for these sections. Handle these sections when
building with lld to prevent the warnings.
This is exactly the same as commit
c420733c33, but for the AE350 linker
script.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Add dedicated test case `bluetooth.classic.sdp.server.no_blobs` and
`bluetooth.classic.sdp.client.no_blobs` with the extra argument
`CONFIG_BUILD_ONLY_NO_BLOBS=y` and `build_only: true` to make sure the
tests sdp_s and sdp_c can be passed by Zephyr CI.
Fixes#88060.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Updates uart_mgumgr_recv_cb to uart_mcumgr_recv_cb to reflect the context
in which it is used.
Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
The I2C shell allows a user to input "i2c scan i2c0" for instance, to
scan addresses on the i2c0 bus enabled in DT. This currently causes
an infinite loop when CONFIG_I2C_MAX32_INTERRUPT is enabled.
The infinite loops happens because 0-length transactions
(tx_len == rx_len == 0) not being handled both by the Async
i2c_max32_transfer and by the controller ISR.
This commit makes two changes:
1) [ISR] When an address ACK is received, if there is simply no data to
send or receive, then just give up the semaphore, preventing the
i2c_max32_transfer function from waiting infinitely.
2) [i2c_max32_transfer] After getting the semaphore back, if there is no
data to send or receive, then avoid waiting for the BUSY flag to clear
since clock stretching should not occur by definition for transactions
which merely contain an address ACK.
Signed-off-by: Brandon Hurst <brandon.hurst@analog.com>
Move MSPI NOR commands to rodata.
Replace array with empty padding (~1kB) with macro-based assignments.
Ref: NCSDK-32779
Signed-off-by: Tomasz Chyrowicz <tomasz.chyrowicz@nordicsemi.no>
Extend driver to support single lane and 1-4-4 IO modes.
Move flash chip quirks to a separate file.
Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
Added driver for the PAJ7620 gesture sensor. For now,
just added basic gesture mode, although sensor also
has other modes (proximity and cursor modes).
Signed-off-by: Paul Timke Contreras <ptimkec@live.com>
Add AndesTech Platforms section and add me jimmyzhe, kevinwang821020
as maintainer and collaborator.
Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
The wrong cortex M cores are described in the documentation. There is no
CM4. Describe the cores and memories assigned to them correctly.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Update the dual-core memory configuration documentation to use
symbolic references to flash regions and partitions instead of
hardcoded addresses. This makes the documentation more maintainable.
The updated documentation correctly reflects that CPU0 has access to
the full flash memory including the bootloader region, while CPU1 is
restricted to its dedicated slot1_partition region.
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
- Adds reference to the MIMXRT1170-EVKB Board Hardware User's Guide.
- Mentions that LinkServer is the default runner (not Jlink).
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
- The fsl_common_dsp driver needs to be loaded
when building xtensa projects and the fsl_common_arm
driver needs to be loaded when building arm projects.
- Add a condition to load power driver, because the power
driver is needed to build RT700 arm core project, but it
is not needed to build hifi core project.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
As well described in a previous PR [1], the GNU ld and LLVM lld linkers
treat the location counter (`.`) differently. lld always inteprets the
location counter as an absolute address whereas ld interprets it as an
offset from the start of the current object.
The NXP boot header linker script files use `.` assignment to specify an
offset within the rom_start region (ld-style). This causes lld to error
out since it interprets this as the location counter moving backwards.
To fix this, re-use the idea from the previous PR [1]:
replace `. = FOO` with `. += FOO - (. - __rom_start_address)`
This sets the location counter in a way that works with both ld and lld.
[1] https://github.com/zephyrproject-rtos/zephyr/pull/58315
Signed-off-by: Kesavan Yogeswaran <hikes@google.com>
Commit 7e8ee25479 moved the tests for the
POSIX_RW_LOCKS Option Group from the tests/posix/common testsuite to
its own dedicated testsuite.
However, there was a copy-paste error. Previously, tests would have been
run only once when dynamic threads were enabled, and then skipped when
dynamic threads were disabled, since that follows the posix programming
model better. However, dynamic threads were never actually enabled after
moving to the new testsuite. So all tests were effectively skipped.
Add the necessary options to prj.conf in order to ensure that there are
sufficient dynamic threads available to run the testsuite.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
So far, it has been assumed that only level 2 interrupts can be shared
via the `CONFIG_SHARED_INTERRUPTS` option, but this is not true. In the
case of i.MX95, for instance, level 1 interrupt 143 is shared among EDMA
channels 30 and 31.
Due to the previous assumption, the irqsteer driver currently performs
reference counting for all level 2 interrupts aggregated by each
dispatcher and, of course, for the level 1 interrupts the dispatchers are
attached to. For instance, assuming a machine with 100 level 1 interrupts
and 1 irqsteer dispatcher attached to line 50 this would mean reference
counting is performed solely for line 50 (and the level 2 interrupts MUX'd
into this line).
Going back to i.MX95, since there's no dispatcher attached to IRQ line 143
that means there's no reference counting for it. In turn, this means that
the IRQ line can be disabled accidentally on a channel release() operation
while the other channel is active.
To protect against such cases, refactor the level1 interrupt reference
counting. Now, reference counting is performed for _all_ level 1
interrupts.
Additionally, simplify the locking logic. Ideally, there would be a lock
for each dispatcher protecting the level 2 interrupts and 1 global lock
protecting the level 1 interrupts. Instead of this approach (which is a
bit more complex), simply use a global lock for all interrupts. If finer
granularity is required then it can be added later on.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Add the "_raw" suffix to the macros handling the level 1 IRQ enable and
disable operation to signify that these operations perform no refcounting.
Additionally, shorten some portions of the name.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
The driver no longer requires a backlight enable GPIO pin to be defined,
which allows compatibility with displays that do not provide such a pin.
Signed-off-by: Isaev Denis <anelderlyfox@yahoo.com>
Add support for controls of menu types, standard menu and drivers'
defined menu.
Rework the ov5640's test pattern and power line frequency controls using
this new support.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
For controls that are dependent from others, we need to "cluster" them.
Whenever one or more controls of the same cluster are set or gotten,
only the callback of the 1st control of the cluster, i.e. the master
control, is called. The master control is the one that represents the
whole cluster.
A common type of control cluster is "auto"-cluster, e.g. auto_gain/gain,
auto_exposure/exposure, auto_white_balance/red_balance/blue_balance,
etc. If the cluster is in automatic mode, then the manual controls are
marked inactive and volatile which are read via get_volatile_ctrl().
If the cluster is put in manual mode, then the manual controls should
become active again and the volatile flag is cleared.
Re-implement the ov5640's autogain/analogue_gain controls with the new
auto cluster mechanism so that it work correctly and fully.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Add get_volatile_ctrl() driver's API to retrieve the current value of a
control marked as volatile, e.g. gain, exposure. This function triggers
a hardware register reading instead of returning a cached value to ensure
that users always get a fresh value which is constantly updated by the HW.
Note that the driver is responsible for marking a control as volatile by
setting VIDEO_CTRL_FLAG_VOLATILE when registering a control because not
all hardwares work the same way for the same control.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Application can query information about a control given the control id,
the framework fill the rest of the structure. Application can also
enumerate all kinds of device's supported controls by iterating with
VIDEO_CTRL_FLAG_NEXT_CTRL on the same API.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Implement the video control framework with the following features:
- Drivers initialize the control with a valid value range at boot which
guides the application developer and the framework. Hence, the video
framework could do all common works for drivers e.g., sanity check.
- Controls need to be cached to memory. Video framework handles
get_ctrl(), drivers don't need to implement this API. It is because
reading control value directly from registers are not only inefficient
but also sometimes impossible, e.g. controls that scatter through
several registers. Only "volatile" control needs to be updated at
runtime.
- Only the devices (e.g., sensors) owning the controls need to
implement set_ctrl(). Other devices of the pipeline do not need to
propagate set_ctrl() and hence, do not need to implement this API
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Introduce a new video device structure representing a device in a
video pipeline. Each video device embeds a pointer to its "source"
device and other "video" characteristics.
This structure give the video framework an access to all video features
of the device and a hierachical view of the video pipeline that the
device belongs to.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
The local device shall only set the MITM protection required flag if
the local device itself requires MITM protection.
Only set MITM flag when the required security level is more than 2 and
pairing method is not `JUST_WORKS`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
PMCI conveys a stack of specifications from DMTF including MCTP (a
transport layer protocol), PLDM (request/response messaging protocol),
and ancillary SPDM messaging. Placing all these libraries under PMCI
subsystem makes more sense than simply adding MCTP as its own subsystem.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Also trigger the bluetooth tests if tests/bluetooth/common/testlib/
is changed.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The `nocache` is not loadable, thus data stored therein cannot be
initialized by the startup code. This might be needed in special
cases. E.g. One might have a buffer which one wants to DMA into,
and which is a member of a struct. Other members of the struct one
may want to have initialized by the startup code.
The buffer thus should be placed in the `nocache` region, but for
the other members of the buffer to be initialized by the startup
code, the `nocache` region needs to be loadable.
Fix it by making the `nocache` region loadable. Adding a KConfig
symbol to do this optionally was considered, but deemed unnecessary
during the PR.
Signed-off-by: Julian Achatzi <mail@achatzi.pro>
The logic of clock initialization for i2c fast mode (FM) and fast
mode plus (FMP) is as follows:
1 compute how many system clock cycles for SCL to be low
2 compute how many system clock cycles for SCL to be high by
subtracting the low duration computed above from the SCL period
3 verify the high duration computed in 2 is larger than a minimum
The bug is that the step 3 for the FMP is compared with the
minimum value for FM, and causes it to fail.
The fix corrects the bug.
Signed-off-by: Hu Dou <hugh.dou@gmail.com>
Two issues:
- is_condition_met() was missing proper code for The
K_POLL_TYPE_PIPE_DATA_AVAILABLE case
- z_handle_obj_poll_events() was misplaced in z_impl_k_pipe_write()
Note: I added support for the deprecated pipe implementation to
is_condition_met() but that is untested.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Intel Audio DSP ACE needs to use arch_spin_relax() to give
the bus more time to propagate the RCW transactions among
CPUs, and to avoid sending too many requests to the bus
after failing to lock spinlocks. However, the number of
NOPs results in a very big arch_spin_relax() that spans
multiple instruction cache lines, and requires evicting
them just for NOPs. With 5 CPUs, it can span 6 cache
lines (if using nop.n instead of nop). That's a waste of
space and cache. So instead, we do a tight loop instead.
Since the SoC supports zero-overhead loops, this should
have minimal performance impact.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
For some weird unknown reasons, the simulator really do not
like the cpuhold_* variables to be tightly packed together.
This results in cpuhold_spawned not being updated, and we
will be stuck in the while loop for it to be set.
Workaround this by explicitly aligning these variables on
16 byte boundary. This seems to work for now.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Update power state selection. Previously, it was iterating over states
starting from the last one so the most common short sleep periods were
taking the longest time to select. Order is now swapped so that short
sleeps will get power state as quick as possible.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
When all states are locked or latency requirement cannot be met
by any power state it is important to be able to quickly exit
suspend procedure because that usually means that application
requires high performance. Add function for detecting if any
power state is available.
Additionally, add function pm_policy_state_is_available for
checking if given state is available which means that it is not
locked and fulfills current latency requirement.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Update the HW models module to:
d5b95fdd0260e8189e788d40d2863d1e2d4be159
Including the following:
d5b95fd grtc hal replacement: Fix bug in nrf_grtc_int_group_enable/
disable()
5f3641d GRTC: With a CC in the past evaluate immediately
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
- Remove duplicated conf/.overlay configuration for
mimmxrt1170_evk A and B revisions that have the same content.
- No change if .conf/.overlay have different content.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Provide proper adaptions as bootloader ROM offset, flash load
offset and dts definitions for the nRF54H20 iron board to make it
ready for the MCUBoot bootloader.
Signed-off-by: Michal Kozikowski <michal.kozikowski@nordicsemi.no>
In the default configuration, cv32a6 does not have an FPU and does not
implement RISC-V's F and D extensions.
Hence, the FPU flags should not be added.
In the future, a second SoC for cv32a6 systems with FPU can be added.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
The nullpointer address (0x0) is mapped to the debug module in cva6,
making it a valid address.
Thus, in the coredump test, trigger an exception using k_panic()
instead.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
The original commit uses the incorrect value 42 for
CONFIG_MAX_IRQ_PER_AGGREGATOR for the cva6 family of SoCs,
which is the total number of IRQs in the system.
This commit corrects this to 30, the number of IRQs for the PLIC.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
This commit adds the necessary configurations for building and testing
cva6 boards (cv64a6_genesys_2, cv32a6_genesys_2) with twister.
This has been validated against commit
8a9d7a832b7121dd6f9be61a380d1d89ebf2a5f3 of the cva6 hardware project.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
In hardware, cva6 currently only provides global disable/enable
functions for the Dcache and Icache. Disabling and re-enabling them also
has the effect of flushing and invalidating the cache.
Future cva6 SoCs will add support RISC-V's standardized cache management
operations.
This commit provides a default implementation for all methods currently
part of the cache API. These implementations can be overwritten at board
or SoC level, as they use weak linking.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
The device tree entry for cva6 is currently missing a device tree node
for the mtime and mtimecmp registers in the core-local interrupt
controllers.
This causes the RISC-V machine timer driver not to be built, causing
build failures as the system clock is missing.
This commit rectifies this by adding the corresponding device tree
entry.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
`pthread_setspecific` requires a stack in order to allocate the
`struct pthread_key_data` data structure. On 64 bit systems this data
structure is 32 bytes, resulting in 160 bytes usage for the default 5
supported threads.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Don't `imply POSIX_MESSAGE_PASSING` when `POSIX_API=y` as this option
has a non-trivial RAM implication in `HEAP_MEM_POOL_ADD_SIZE_MQUEUE`.
The `mq_*` API is minimally used in-tree, with all users already
enabling the symbol directly.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The required jlink script was not added due to missing entry in the
board check. Also change the check for app vs rad to be on SOC level.
Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
- Sets MAIN_STACK_SIZE in prj.conf to 2048 (default is 1024)
to avoid possible stack overflow
and adding new .conf files per board.
- Deletes existing board .conf files, as they are not needed anymore.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
The flash size is the second part (size) of the first reg value, not the
first part (address) of a nonexistent second reg value.
Based-on-patch-by: Armin Brauns <armin.brauns@embedded-solutions.at>
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Extend timeout on k_mem_slab_alloc() for kernel.memory_slabs
memory_slab_1cpu.mslab test suite as a workaround to allow its run
on slow platforms, e.g. simulated intel_ish_5_8_0.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
For enterprise mode we need to install multiple certs to the TLS
credentials store, so, add a helper script in python to make it work
cross-platforms.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
This commit fixes all includes in testlib according to IWYU rules and
sorts all includes in ascending order by name.
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
This commit adds an option to verify weather the host has read the value
after the wire 3-0 bits have been updated.
Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
When compiling with C++ enabled (CONFIG_CPP), add an unused member to
prevent an empty struct; this makes the struct size the same for both C
and C++.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
As the sample uses VLAN which needs Ethernet support make sure
CONFIG_NET_L2_ETHERNET is set in prj.conf file.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Refactored stepper move_to calls and move_by calls.
Now, relative movement required or absolute target position
is calculated and then redirected to move_by or move_to calls
respectively.
Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
Added missing includes and fixed typos in the header files
for Bluetooth.
There is one exception in hci_vs.h where `struct arch_esf`
is still missing an include, but that is because that
is only specific for ARM.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Use power state pointers instead of copies which improves performance.
Align power_mgmt_multicore test which was creating pm states in
runtime.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
In I3C v1.0, there was a RSTDAA direct CCC. It is deprecated in I3C v1.1
and later. This adds a CCC helper for it.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
This adds a v1.0 support dts flag for devices. This also makes it so it
doesn't try to send a GETCAPS (GETHDRCAP) ccc if this flag is set and it
doesn't support any HDR modes.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Bluetooth had two public types with similar name _bt_gatt_ccc and
bt_gatt_ccc, but for absolutely different purposes.
That caused misunderstanding of relationship of them and cases
where to use which one.
Commit changes name of _bt_gatt_ccc to more suitable by usage and
improves documentation of it.
Additionally, it changes name of BT_GATT_CCC_INITIALIZER
to correspond the type name.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
If something is tagged as nocache it didn't got cleared, which could
lead some weird behaviour where bss memory is non-zero.
Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
The current configuration allocate 476kB (672 − 196) to the NWP. This
configuration is only required with offloaded network stack
(CONFIG_WIFI_SILABS_SIWX91X_NET_STACK_OFFLOAD).
Since this parameter is not set by default, increase memory allocated to
Zephyr.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Chip siwx91x has 672kB of SRAM shared between the Cortex-M4 (Zephyr) and
the NWP (Network Processor). 3 memory configurations are possible for
the Cortex-M4:
- 196kB
- 256kB
- 320kB
Less memory is allocated to Zephyr, more memory is allocated to NWP,
better are the WiFi and BLE performances.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Some instances of DMA (dma0) can use the normal sram to store their
descriptors. In this case, it makes sense to allow the linker to
allocate the memory rather than tweaking the memory layout.
So, if the attribute silabs,sram-region is not defined, use a statically
allocated buffer.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
DMA can be initialized with the other devices. The user only need to the
ensure CONFIG_DMA_INIT_PRIORITY is less than the DMA consumers.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Memory areas for DMA descriptors are shared with the DMA hardware block.
There area should be cached by the CPU.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Silabs siwx91x hardware use specific memory areas to store descriptors
for DMA requests. These areas are tightly coupled between the CPU and
the hardware. This helps in reducing the wait cycles.
Until now these addresses was also hard coded in the DT and in the
linker script. This patch leverage the zephyr,memory-region driver to
centralize the information in the DT.
Then, with this new implementation, the memory mapping is easier to
understand for the reader.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Add more tests cases to the AF_PACKET sockets test suite, covering the
summary of the packet socket functionalities prepared from various
sources (mostly man pages).
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Make sure that when sendto is being used without the socket being bound
before, a correct interface is used for transmission. As
zpacket_sendto_ctx() calls net_context_recv() to register receive
callback before sending, a default binding was used by the context
layer, which would bind the socket to the default interface. This could
lead to unexpected results, i.e. packet being sent on a default
interface, even though a different one was specified.
Make also sure that there is no ambiguity in the interface selection -
the application should be explicitly clear what interface it wants to
use when it comes to packet sockets. It's better to return an error if
no valid interface was specified.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
According to AF_PACKET man pages protocol number 0 is allowed, however
in such case the socket is only capable of transmitting packets then:
"If protocol is set to zero, no packets are received."
Therefore, allow to create sockets with such protocol, and at the
connection.c level filter out such sockets from data reception.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The test case did not do what it said, it was supposed to receive data
on both RAW and DGRAM packet sockets, but instead it received on RAW
socket twice.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Test interface configuration doesn't change throught the test suite
execution, therefore there's no need to reiterate the interfaces to set
the interface pointers in each test case. Do it just once, when test
suite is setup.
Also remove the __test_packet_sockets() function which seemed no longer
useful with all those simplifications.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Packet socket tests used non-blocking sockets so in results the test
code was overly complicated with delays and loops scattered all across
the test code, making it difficult to read.
As packet sockets do support blocking operation with timeout,
reconfigure the sockets to use that and simplify the test code by
getting rid of unnecessary loops and delays.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Test suite prints a warning on boot about not enough IPv4 context
instances compared to the number of interfaces, therefore adjust the
config value to get rid of it.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Make sure all sockets used in test are closed even in case of test
failure. Otherwise, a single test failure could derail other tests,
making the results obfuscated.
Remove redundant code related to socket creation.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add link check support, by adding:
- link check callback in response of LinkCheckAns.
- link check request function using LinkCheckReq.
Signed-off-by: Martin Durietz <martin.durietz@gmail.com>
The command should work with existing certs rather than a generic
example, also fix the key-management.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
RSA3K based certs are not supported on all platforms, so, keep both
variants, rsa2k (the older certs but with longer expiry 9999 days) and
rsa3k (latest ones) and we can have more variants in this folders.
Also, add a cmake variable to override the path with default as rsa3k.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Certificates usage depends on STA/AP mode, but we don't have that
information at a build time, so, make all certs as optional and if a
file isn't found then generate an empty header so that corresponding C
code will be built.
Any missing mandatory certificates will be validated before connection
and connection is failed.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Deletion of credential should use the pointer from the reference slot
not the temporary buffer, this causes a crash (unknown error).
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Instead of having an overlay move the Enterprise configurations to a
dedicated snippet so that it can be enabled with any sample.
Can be used along with Wi-Fi snippet e.g., `-S
"wifi-ipv4;wifi-enterprise"`.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
The volatile backend stores the credentials on the heap, so, explicitly
add a config option that can be overridden in case there are more certs
than the default.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Using TLS credentials library add support for run-time certificates where
the installed certs are retrieved from the credential store (as of now
only volatile backend is tested).
This helps in production environments.
Implements #79564.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
The console can't input when waken up from PM3, as get the wrong
usart_intenset when process PM_DEVICE_ACTION_TURN_ON and the
USART interrupt is not enabled. Only saving usart_intenset after
PM action of PM_DEVICE_ACTION_TURN_OFF can fix this issue.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Replace the manually implemented GPIO-based I2C recovery logic
with Zephyr's i2c_bitbang API.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
The npcx4 SoC only uses 86 NVIC IRQ numbers.
This commit updates the number from 128 to 86 to reduce the memory
usage.
Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
The signedness of the variable caused undefined behavior because the
sign bit is modified when it gets left-shifted.
This fixes that by changing it to an unsigned variable.
Signed-off-by: Daniel Hajjar <daniel.hajjar16@gmail.com>
I3C can contain a lot of features that may be unused. Add Kconfigs for
enabling controller and/or target code. Choosing just one can reduce
the code size footprint.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Adjusted the VW change check timings:
- Polling time changed from 100 uSec to 1 uSec.
- Timeout value changed from 10 mSec to 1 mSec.
This is to achieve the lowest possible pulse width for SCI VW in S0,
while ensuring that the VW change check is still reliable for S0iX
where SoC may take longer to process upstream events.
Also added -ETIMEDOUT error when failure.
Signed-off-by: Aditya Bhutada <aditya.bhutada@intel.com>
When looking for jump address in the syscall table, we need to
multiply the syscall ID by 4 before adding the address offset
of the beginning of the table. This is due to the jump address
being 32-bit (4 bytes). Instead of using two instructions to
shift the ID by 4 first and then the addition, we can use one
ADDX4 instruction to achieve the same result.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Since the necessary register values are now pre-computed and
stored in the memory domain struct, we can use them directly
in various assembly locations, thus replacing the function
call to xtensa_swap_update_page_tables().
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Create alias for struct k_mem_domain into k_mem_domain_t,
and struct _mem_domain_info into _mem_domain_info_t via
typedef. These are needed to generate offsets via
GEN_OFFSET_SYM.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
When context switching and dealing with non-nested interrupts,
the context to be restored are saved in the thread stack.
When userspace is enabled, this means saving context into
the user stacks for user threads. This allows PS values to be
manipulated externally by setting PS.RING in the saved PS
value to 0, resulting in granting kernel access privilege when
the thread is restored. To prevent this, we store the PS value
into the thread struct instead, where user threads cannot
manipulate that. Note that nested interrupts and syscalls are
not using the user stack but the interrupt stack and thread
privileged stack respectively, where they are not accessible
under user mode.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
When syscall assembly is executed, the EPC points to the syscall
instruction, and we have to manually advance it so we will
return to the instruction after syscall to continue execution.
However, with zero-overhead loops and the syscall instruction is
the last instruction, this simple addition does not work as it
would point past the loop and would have skipped the loop.
Because of this, syscall entrance would need to look at the loop
registers and set the PC back to the beginning of loop if we are
still looping. Assuming most of the syscalls are not inside
loops, the extra handling code consumes quite a few cycles.
To workaround this, simply adds a nop after syscall so we no
longer have to deal with loops at syscall entrance, and that
a nop is faster than all the code to manipulate loop registers.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This extends arch_cohere_stacks() to handle privileged stacks of
user threads when userspace is enabled.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Towards the end of interrupt handling, and before restoring
context, we would spill all register windows. This requires
A0 and A1 to be restored from the saved context so spilling
would work correct. However, when coherence is enabled,
window spilling has already been done earlier so there is
no need to spill the register windows again. So there is
no need to restore A0 and A1. They will be restored again
before returning from interrupt anyway.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Instead of computing all the needed register values when
swapping page tables, we can pre-compute those values when
the memory domain is first initialized. Should save some
time during context switching.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
There is no need for ZSR_FLUSH when threads are pin only
(CONFIG_SCHED_CPU_MASK_PIN_ONLY=y), so there is no need to
reserve it.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
In xtensa_userspace_enter, we were hard-coding to use level 2
interrupt return mechanism to pivot to user mode and start
running the user thread. However, EPC2 and EPS2 may be used
for other purposes, and they could be used for interrupt
return if there are only two level interrupts. So change
the userspace enter to use ZSR_RFI_LEVEL, ZSR_EPC and ZSR_EPS
instead to be more explicit.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
When returning from syscall, we cannot use RFE by using EPC1.
As there is no EPS1, we would need to write to PS before
returning. However, this creates a situation where interrupts
are being enabled (since PS is set), and any interrupts will
overwrite EPC1 before we return (which ensures chaos as we
would be returning to the wrong address). So utilize the same
mechanism as interrupt returning by use ZSR_EPS, ZSR_EPC and
ZSR_RFI_LEVEL.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
There is no need to do a jump to _syscall_returned as it is
the next to be run anyway. Keep the label there so we can
set breakpoint if needed.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
We stuff the 7th argument into stack by moving the stack pointer
before calling syscall handler. The Xtensa ABI says stack must
be 16-byte aligned. So instead of moving stack pointer 4 bytes,
we move 16 bytes (assuming stack has been aligned so far).
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Xtensa ISA mentions that stack always needs to be aligned on
16 bytes. So we need to pad the stack frame to be also 16 bytes
aligned when dealing with interrupts. Or else the stack would
not be 16 bytes aligned when we add the stack frame to stack
during interrupt handling.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
When crossing stack during interrupt handling, we do two call4
to pivot to the interrupt stack, with arguments to these two
call4 stashed in A6, A10 and A11. However, A4-A11 may be marked
as invalid in the register file, and accessing them would
result in window overflowing. At that point, A0 and A1 are not
setup to handle window overflows, and will result in registers
being stashed in incorrect location, resulting in incorrect
value being restored during window underflowing. So move around
the code a bit to restore A0 and A1 properly before accessing
A4-A11.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Do not force CONFIG_XTENSA_SMALL_VECTOR_TABLE_ENTRY when MMU
is enabled. It is up to the SoC to decide whether they need
this.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The logic to swap page tables or MPU entries is moved to the end
of cross stack call, since it is still running in the interrupt
stack instead of the thread stack. The old logic was calling
the swap functions in the outgoing thread stack, which is not
desirable.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
When switching page table and MPU enties, we need to call
corresponding functions via call4 which would move the register
window. So we need to do that earlier before we start saving
context into stack by manipulating stack pointer manually which
definitely would interfere with window spilling.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
During arch_cohere_stacks(), the used portion of the outgoing
thread is cache flushed, and then the unused portion of cache
invalidated. However, this results in the cache line at
the stack pointer being flushed and then invalidated due to
how sys_cache_data_*() operates. If we are swapping back to
the same thread (e.g. after handling interrupt), this cache
line will need to be retrieved again from main memory since
it has already been invalidated. This creates unnecessary
data move between cache and main memory. So create our own
version of cache flushing and invalidation routines just for
arch_cohere_stacks(). Bouns is that these work directly with
bounding addresses and skips the size calculation which should
save a little bit amount of execution time.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This removes _xstack_call1_* trampoline as we can simply use
callx4 to jump to the interrupt handler.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Before cross stack call is setup correctly, we cannot allow
interrupts to be triggered or it may interfere with register
window spilling since we are clobbering registers needed for
that to work. However, there was a brief period where higher
level interrupts could fire due to code writing to PS with
lowered interrupt mask before raising it again. So rework
that part to avoid writing PS with intermediate value, and
now we mask interrupt until everything is setup correctly
before interrupt is enabled again.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
When initializing the stack at thread creation, we should not
set the pointer to privileged stack pointer yet as the thread
can be a kernel thread. Only when a thread is transitioning to
user mode, then we need to set the pointer to point to
the privileged stack. This is a purely semantic change and
should not affect any functionality.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This moves the calculation of the return PC earlier in syscall
entry. There is no need to stash it into BSA, load it, do
the calculation and save it back. We can do the calculation
first and save it in BSA at the same time.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
We should not perform a straight OR operation on INTLEVEL as
we have no idea what existing PS.INTLEVEL is. Also, to avoid
any interferences, we disable interrupts very early during
syscall entrance. So we can remove the OR operation as
PS.INTLEVEL will still have all interrupts masked. Note that
we do not really need to OR PS_WOE into PS as we currently
only support windowed ABI which must have PS_WOE set in PS
anyway.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Syscall entrance makes use of ODD_REG_SAVE but it does not
really need to save FPU registers as it is technically
the same thread and same context. So extract call to
FPU_REG_SAVE to interrupt handling code.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This adds ODD_REG_RESTORE as a counterpart to ODD_REG_SAVE.
Both the code in interrupt handling and syscall exit have
been refactored to use this new macro.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This adds two parameters for ODD_REG_SAVE for scratch register
and BSA pointer, thus allowing a bit more flexibility on how
it can be called.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This removes the call to _xtensa_hifi_save() to save the HiFi
registers during syscalls. During syscall, we are not doing
context switching, and technically it is still the same thread.
There is no need to save HiFi registers.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The Xtensa ISA reference manual says to do rsync after wsr to
make sure register is updated before rsr. So do that.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Remove CONFIG_XTENSA_INVALIDATE_MEM_DOMAIN_TLB_ON_SWAP as it is
remnant from early MMU enabling work which is not needed as
the page table code is different from early version where
the PTEVADDR would be the same for all memory domains.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
To avoid misconfigurations a comparision has been added which compares the
amount of reported interrupts from the VIM interrupt controller with the
configured number of interrupts via Kconfig.
Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
On startup the VIM interrupt controller driver had a sys_read32 call with a
bitmask instead of an address. This has been fixed.
Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
Add support for SPI to cc23x0 SoC. Only controller mode is implemented.
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
This patch adds an header file which contains helper macros.
These macros can be used to access some device tree properties.
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Replace stall guard retry error log on EAGAIN with enable/disable info log.
Log position, sg result and sg status on each rampstat_work_handler() call.
Treat only negative return values from tmc_spi_write_register() and
tmc_spi_read_register() as an error.
Signed-off-by: Anders Nielsen <anders.nielsen@prevas.dk>
When power cuts during a GC operation, the sector is erased again in the
next reboot cycle and the cycle_cnt of the empty ATE is incremented.
If the same power cut happens 255 times in a row, the empty ATE cycle_cnt
will become equal to the close ATE which causes a memory corruption.
Fix this by checking the close ATE cycle_cnt before incrementing the
empty ATE cycle_cnt.
Fixes: #84874
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
Do not enable CONFIG_NXP_WIFI_SOFTAP_SUPPORT by default as
that should be let for the user to decide whether the AP
mode is compiled or not.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
__cxa_atexit was originally defined by the IA64 C++ ABI, but it has been
adopted by other C++ implementations since then. This function is already
present in lib/cpp/api/cpp_dtors.c, which is built by default when C++
support is enabled, so we don't need another copy in the MWDT-specific
code.
Signed-off-by: Keith Packard <keithp@keithp.com>
Check the order of constructors, making sure those with a specified
priority are called in numeric order after which those without priority are
called.
Signed-off-by: Keith Packard <keithp@keithp.com>
Handle both of these sections in a single chunk of code instead of
separately. We don't need to use the legacy .ctors ABI as both
the constructors array and startup logic are managed within a single
link result.
This can now also be used with ARC MWDT which had been using the .ctors
sections but with .init_array semantics. For ARC MWDT, we now always
discard .dtors and .fini sections as Zephyr will never cause global
destructors to execute. Stop discarding .eh_frame sections so that
exception handling works as expected.
When building a NATIVE_APPLICATION, we ask the native C library to run all
of the constructors to ensure any non-Zephyr constructors are run before
main is invoked. It might be "nice" to split the constructors so that the
Zephyr constructors were executed by the Zephyr code while the non-Zephyr
ones were executed by the native C library. I think that could be done if
we knew the pathnames of either the Zephyr or non-Zephyr files. That might
make a good future enhancement.
Signed-off-by: Keith Packard <keithp@keithp.com>
The samples/subsys/llext/shell_loader test fails when running as a
twister test on the stm32mp135f_dk/stm32mp135fxx platform, with the
following error:
soc/st/stm32/stm32mp13x/soc.c:46:36:
error: array type has incomplete element type 'struct arm_mmu_region'
46 | static const struct arm_mmu_region mmu_regions[] = {
This commit adds the missing arm_mmu.h include to fix the build issue.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
The samples/subsys/llext/shell_loader test fails when running as a
twister test on the stm32mp135f_dk/stm32mp135fxx platform, with the
following error:
zephyr/include/zephyr/arch/arm/mmu/arm_mmu.h:112:9:
error: unknown type name 'uintptr_t'
This commit adds the necessary includes to define the missing types.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Remove sleeptimer as default soc timer and it should be only
used as soc timer if PM is enabled.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
AXP2101 is MFD device. Zephyr already support the regulator part. This
commit introduces intial support for the charger one.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Remove the source of non-determinism during emulation
by keeping terminal events reproducible between runs.
By using the mechanism of precise pause in Renode emulator
every interaction with terminal happens at the same virtual time
from the perspective of an emulated system, hence makes it independent
of the host. Otherwise the result of a test is susceptible to
the load on the host and robot process keywords' timing.
Renode emulator supports precise pausing when specified sequence of
characters is received on a terminal. Besides that,
char delay parameter is specified to set time interval between
consecutive characters entered in the terminal.
'Start Emulation' keyword is redundant, because 'Wait For'
keywords automatically continue emulation up to the nearest pause
event (e.g. matched pattern on the terminal).
Signed-off-by: Marek Slowinski <mslowinski@antmicro.com>
Removed boards that are not exercised in the CI pipeline, as they are
highly downstream-specific and not relevant to upstream validation.
Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
Memory allocations in HAL are using data pool. These operations
are in control plane. Add APIs for allocation/free operations on
control pool.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
This patch is used to provide clic(eclic) in 64 bit riscv cpu support,
since in 64 bit riscv cpu, the clic irq table entry is also 64 bit,
so we need to use ld/sd to do irq entry load and store
Signed-off-by: Huaqi Fang <578567190@qq.com>
For the SAI peripheral, the MCLK signal input/output direction is
independent from the TX or RX bit clocks directions (TCR2[BCD] and
RCR2[BCD]). Introduces mclk-output property.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
The erase mode for any external memory that is mapped to the address
space of the MCU is derived from the internal non-volatile memory erase
mode. In order to allow users to override the default value, add a new
--ext-erase-mode command-line option that takes an erase mode just like
--erase-mode does.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Instead of providing an `--erase-pages` command, generalize it to a new
`--erase-mode` one that can be set to `none`, `ranges`, or `all`. This
gives the user full control over the erase mode that will be passed on
to nrfutil.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Add a "net filter" command that will allow user to see the
current network packet filter configuration.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Make sure that we check possible network packet filtering status
before accepting the packet.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
As the network packet filter drops packets without any indication
that the packet is dropped, it can be difficult to monitor what
is going on in the system when receiving data. The user can
now monitor the statistics and see if packets are being dropped
because of packet filter activity.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The get_ip_rules() function is only used if IPv4 or IPv6
filtering is enabled so add checks to avoid unused function
warning.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
According to `f9901e8e` and validated by testing, the supplicant only
use case only requires 4 socket pairs. 6 pairs are required for the
`hostapd` use case.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Increase the verbosity of the message when there is no source address
in `net_context_create_ipv4_new`. This is likely the first failure point
when attempting to send data on an interface that has not yet been
assigned an IP address. Burying the fault at the DBG level makes it much
more time consuming to determine the root cause of this error.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The start_simple_cs_test and stop_cs_test depends on
CONFIG_BT_CHANNEL_SOUNDING_TEST and could cause build errors if that
is disabled while CONFIG_BT_CHANNEL_SOUNDING=y in the shell.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
I just happened to try to run this testsuite manually today and
noticed that it was being skipped due to a copy-paste error.
This test was migrated from tests/posix/common, where tests
were skipped for non-dynamic threads, since it would mostly
duplicate tests that had already been run.
However, while migrating, the condition to skip tests was
mistakenly left in when it should not have been.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
timer_create() will error if there are no dynamic threads to
run the SIGEV_THREAD handler, causing the test to fail (where
it was previously expected to pass).
Ensure that there is at least 1 dynamic thread available to
the POSIX API.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
If it is not possible to create a timer in timer_create(),
then the timer_obj associated with the timer must be freed.
However, the address of the pointer was mistakenly being
passed to k_mem_slab_free() rather than simply the
the pointer.
This caused a crash in tests which can easily be avoided
by passing the pointer rather than the address of the
pointer.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
- AM6232 is a dual core variant of AM6234 with everything being smae.
- Used in the first batch of PocketBeagle 2
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Adds the support for the STM32MP13 series to the existing STM32
Hardware Information driver.
Note that there is no LL_GetUID_Word<x> functions for the STM32MP13
series. to allow to use HAL_GetUIDw<x> functions create macros to
fill the stm32_uid structure.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
- Removing the unused declaration of 'ret'
in the usb_dc_stm32_init function for STM32N6.
- Ensuring the 'ret' variable is used correctly
in the pinctrl_apply_state function call.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
-This commit adds "sysbuild: true" for ns build-targets for the
following nordic board:
- nrf54l15dk (nrf54l10 target)
-Added missing vendor: nordic for some boards for consistency
Signed-off-by: Frank Audun Kvamtrø <frank.kvamtro@nordicsemi.no>
The number of ports in gptp_domain.default_ds.nb_ports is a uint8_t.
A pointer to it is passed to gptp_add_port.
However, in this method, the pointer is cast to an int pointer.
The C compiler generates an int-size store for this.
In addition to potentially overwriting adjacent attributes, on platforms
such as RISC-V that do not support unaligned accesses, this causes an
exception on access.
This commit casts nb_ports to the correct type, uint8_t.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
thread_page_tables_get() is only used when userspace is
enabled. So move it with userspace #ifdef, or else
compiler would complain about it being unused.
Fixes#88421
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
PM_DEVICE_ISR_SAFE shall not be used when non-asynchronous API is used
because RX is disabled in suspend action and that takes relatively
long time. In case of PM_DEVICE_ISR_SAFE it is done with interrupts
disabled. RX is not used at all if disable-rx property is set and in
that case PM_DEVICE_ISR_SAFE can be used.
Added macro which determines if ISR safe mode can be used.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
z_tick_sleep function needs to calculate expected wakeup tick. It
required reading current system clock tick. It can be costly since
it is a register access. When timeout is added this value is
calculated and z_add_timeout returns it. It can be used instead to
optimize sleep performance.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add return value to z_add_timeout. It returns system tick when timeout
will expire.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Accessing system timer registers can be costly and it shall be avoided
if possible. When thread is waken up in z_tick_sleep it may be because
timeout expired or because thread was waken up before sleeping period
passed.
Add function to detect if timeout is aborted (before it was expired).
Use it in the sleep function and avoid reading system ticks if timeout
was not aborted.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Commit 38b8790 introduced a pretty bad regression for boards without
revisions. Fix by correctly checking for actually undefined revisions
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add an include of toolchain/common.h for the ALWAYS_INLINE
macro.
This is a general issue in many files across Zephyr, specifically
for the ALWAYS_INLINE macro, but for simplicity this commit
only includes it for this file as that has been shown to
cause compilaion issues without it.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Lack of PWM binding include causes some examples using this
shield not to build if the base board used did not already
include this binding.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
-The stm32wba6x has Dual Bank memory. Change the flash driver
to support this OPTion given by presence of the
DUAL_BANK bit (21) in the FLASH_OPTR register.
-Flash erase with 2 banks: Add the control of the BKER
bit of the FLASH_NSCR1 to select BANK1 or 2 of
the internal flash depending
on the page number >127 for BANK2
Signed-off-by: Francois Ramu <francois.ramu@st.com>
This commit adds the Device Tree include files
for the STM32WBA65x device
Adding GPIO D/E/G banks.
Renaming JTAG reset pin.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
zephyr_linker_section(... ADDRESS 0xF00) was broken. The fixed
placement was using their parent group address.
This also removes some dead code in config_file_script.cmake that
helped confuse what is going on with fixed sections.
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
Add the two new function `util_memeq` and `util_eq` recently added in
`sys/util.h` to the release notes for 4.2.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
Make the IOVDD settling delay configurable, instead of hardcoding a
delay that happens to work for the dev kits. For example, the nPM1300
load switches have a soft-start time of 1.8 ms.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The nRF lower levels (`spim_addr_check` and `qspi_addr_check`) do
address alignment validation before sending or receiving data. If the
buffer sizes are not aligned, errors like this are printed to the
console when the interface is powered up.
```
<err> : spim_addr_check : Unaligned address ee0b2 2002b020 1 0 0
<err> : spim_addr_check : Unaligned address eeb3e 2002bb40 1 0 0
<err> : spim_addr_check : Unaligned address ef5ca 2002c660 1 0 0
<err> : spim_addr_check : Unaligned address f0056 2002d180 1 0 0
```
Signed-off-by: Jordan Yates <jordan@embeint.com>
DAC pins are not defined for SAM V71(B) Xplained Ultra - this was
causing device initialization to fail. This commit fixes that.
Signed-off-by: Dhanesh S R <sr.dhanesh@protonmail.com>
Flexcomm3 is used for the mikrobus header, enable the clock for it and
setup a pinctrl group for i2c.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
This reverts commit fe32d059af.
A supported host, 52840 does not support 16MHz SPI (though it falls back
to 8M) but prioritize interoperability over performance.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Determine if lpflexcomm wrapped lpi2c by instance and connect
irq differently dependending on that to support platforms with
both flexcomm wrapped and unwrapped lpi2c's.
Applying c1286a8d8d to RTIO version.
Authored-by: Declan Snyder <declan.snyder@nxp.com>
Signed-off-by: Luis Ubieda <luisf@croxel.com>
The Low Power Flexcomm driver manages the interrupt handling
and provides an API to register interrupt callbacks.
Register the NXP LPI2C interrupt handler.
Applying dca6e64c93 on RTIO-version.
Authored-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Some NXP SoC's have a FlexComm interface that manages the
interrupts.
Applying 482e39ea95 on RTIO-version.
Authored-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Update the driver to account for variations in the SDK driver
when it uses the instance number instead of the base address.
Applying 49bdcd2ef2 on RTIO-version.
Co-authored-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Update the kernel API doxygen for k_thread_stack_alloc() and
k_thread_create() to convey that kernel thread stacks may be
dynamically allocated as an alternative to static allocation.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
It seems that some copyrights were not udpated to
Apache-2.0 as they should have been so this commit
updates them.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
The ADC and watchdog samples are not currently supported for the
non secure target of the nRF54L10 DK.
Add exclusions for these until they are supported.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
This adds the nrf54l15dk/nrf54l10/cpuapp/ns board variant to
Zephyr. It allows to build applications for this target.
This is an initial support for the non secure target which allows
building and running tfm_ipc and config_build.
This is NOT full support of the non secure target in upstream
Zephyr.
There are important limitations, such as:
- The hardware Crypto accelerator is not supported and thus the non
secur target is NOT secure for production applications in upstream
Zephyr.
- The BL2 is not supported, so no DFU is supported with this support
Most of the code changes here are taken from nRF Connect SDK
in order to avoid having noups there.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Update the header to include a generic header for the NRF54L
series and not a specific one for the NRF54L15.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
- In middleware/CMakeLists.txt, using add_subdirectory()
to load the cmakelists.txt under bt_controller will
result in the bt_controller directory not being found
correctly, because the starting point of the query
is mcux-sdk-ng/CMakeLists.txt. Need to add
${CMAKE_CURRENT_LIST_DIR} to bt_controller to correctly
locate the folder.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
This patch establishes proper handling of RTIO OPs with multiple write
requests in the same transfer (as in: including OP_TRANSACTION flag).
An example of this is captured in test_ram_rtio_write_with_transaction
test). This patch makes that testcase pass for i2c_nrfx_twi_rtio.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
As it is a common pattern for drivers performing writes (e.g: write
reg-addr + write reg-data) without having to memcpy both into a buffer.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Add test cases where spi_transceive gets NULL spi_buf_set
once for tx and once for rx.
Signed-off-by: Piotr Krzyzanowski <piotr.krzyzanowski@nordicsemi.no>
Use underlying Zephyr thread directly to store thread name instead of
storing the name in CMSIS control block. Also, allow `osThreadGetName`
to work within ISR, as expected from spec.
Signed-off-by: Utsav Munendra <utsavm@meta.com>
Remove the dependency on the system heap existing when enabling
`ZBUS_RUNTIME_OBSERVERS`. Instead the previously allocated memory is
required to be provided to `zbus_chan_add_obs` (which can still be
allocated through malloc).
Signed-off-by: Jordan Yates <jordan@embeint.com>
previsouly the ordering was case sensitive, making the list of vendors
not really alphabetically ordered.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The meas,ms5837 compat has been removed and replaced with two variants
hence the documentation in order to migrate to the new ones.
Signed-off-by: Ivan Wagner <ivan.wagner@tecinvent.ch>
Update `bt_irk_eq` to use `util_memeq` instead of `memcmp` and the
"disconnect" BabbleSim test to use `util_eq` instead of a first
assertion on the size followed by a `memcmp`.
This is done as an example usage of the two new functions.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
`util_eq` compare two memory areas and their length. It returns true if
they are equal, else false.
`util_memeq` the first n bytes of two memory areas. It returns true if
they are equal, else false.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
ISR safe runtime PM can only be used for all instances except for
spis120 which requires standard runtime PM.
Added compilation guard against using CONFIG_PM_DEVICE_SYSTEM_MANAGED
with spis120.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add FOREACH macro which iterates over all SPIM instances and creates
device instances for each enabled instance.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add compile time detection if fast SPIM instances are used
and system managed device PM is enabled. This configuration is
not supported.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Do not allow CONFIG_PM_DEVICE_SYSTEM_MANAGED when fast PWM instance
is used.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
file(GENERATE ...) does not update the output file if the content is
unchanged. Since the metadata in build_info.yml mostly depends on the
build configuration, the timestamp of the intermediate file does not get
updated on most rebuilds, while the final file does, due to immediate
file(WRITE ...) calls. Since the latter is newer, no post-process step
is executed and the file is left with commented genexes.
Touching the intermediate file ensures that the post-process step is
performed every time, even if the content is unchanged, restoring the
expected behavior.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Extend the testcase schema to provide a way to communicate that a given
test is expected to reboot during execution. The generic harness takes
that information and suppresses `already STARTED` warnings if the
restart is expected.
Signed-off-by: Jordan Yates <jordan@embeint.com>
In addition to the 8-bit, introduce all the other bayer formats
described by MIPI-CSI2 specification. The 8-bit bayer formats
description is shortened to just 4 bytes like the other formats,
to help intuition while comparing the different formats.
Signed-off-by: Josuah Demangeon <me@josuah.net>
@verbatim shows the leading comment '*' fence in the output.
@code{.unparsed} allows extracting the text only.
In some formats, the pixels are also not immediately packed into fixed
number of bytes, like YUYV due to chroma subsampling. Disambiguate.
Add numbers marks on top to help identify the individual pixels.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Since BOOT-SERIAL isn't a recognized STMicroelectronics product name,
when Twister saves the new map.yaml, it will also check if the previous
map.yaml had the 'SERIAL-BOOT' product name and attach the corresponding
serial device.It won't generate a new one with an unknown platform name.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Adding support for handling XOTUNE event in clock_control.
Right now XOTUNE event reflects situation when HFCLK is stable and tuned.
Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
- Unified the handling of USB OTG HS and USB OTG FS
by removing redundant preprocessor conditionals.
- Introduced a new macro `UDC_STM32_BASE_ADDRESS`
to dynamically set the USB base address.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Add the usbd test feature to twister.yaml for the boards
nucleo_n657x0_q and stm32n6570_dk.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Enable clock and power for the OTG HS peripheral
of the STM32N6x serie
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Add STM32N6 USB OTG HS compatible 'st,stm32n6-otghs'
that doesn't require pinctrl-0 and pinctrl-names.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
This adds the best HD=4 CRC32 polynomial. The discovery
is the result of research by Philip Koopman of Carnegie
Mellon University, and is well documented at
https://users.ece.cmu.edu/~koopman/crc/.
The user is given the option of trading 1024B of RAM to
improve the execution speed. The unit tests are parameterized
with this KConfig option.
Signed-off-by: JP Hutchins <jp@intercreate.io>
Declaration of variables after a label inside a switch statement is a
c23 extension, not c99.
This results in the following warning when compiling with clang:
> .../subsys/net/lib/zperf/zperf_shell.c:912:4: warning: label followed
> by a declaration is a C23 extension [-Wc23-extensions]
> 912 | int seconds = parse_arg(&i, argc, argv);
> | ^
> .../subsys/net/lib/zperf/zperf_shell.c:1145:4: warning: label followed
> by a declaration is a C23 extension [-Wc23-extensions]
> 1145 | int seconds = parse_arg(&i, argc, argv);
> | ^
> 2 warnings generated.
There are no practical reasons why the variable should be declared
inside the switch statement, therefore move the declaration and place it
together with declaration of other variables.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
If the SLC is broken, all saved calls should be cleared.
Clear all calls in the callback `hf_disconnected()` and
`ag_disconnected()`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
In current implementation, the active/hold call will be terminated
and notify the upper layer the status change of calls when the SLC
is broken. But the calls should not be terminated in this case.
Do not terminate the calls and only clear the status of all calls.
And disconnect the SCO connection if it is established.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Include the UUID utilities in the Miscellaneous
documentation page.
The UUID is being placed in a new Identifier
APIs section.
Signed-off-by: Simone Orru <simone.orru@secomind.com>
When using low PWM frequency i.e 50Hz the resolution of pulse_cycles
got lost from converting pulse_cycles to duty cycle % and then back to
pulse_cycles again.
Furthermore TPM_UpdateChnlEdgeLevelSelect call would restart the pwm
constantly on a mcux_tpm_set_cycles call now only call
TPM_UpdateChnlEdgeLevelSelect when changing the polarity
Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
Compliance failed for not having a new line
at EOF yet I ran `git clang-format`. Adding
this to the clang-format file will auto fix
this in the future.
Signed-off-by: Brandon Allen <brandon.allen@exacttechnology.com>
Previously, these tests were part of tests/posix/common.
In an effort to tie feature tests to specific POSIX features
(Option Groups), these tests were moved to a separate suite in a
previous commit.
However, the memory requirements for the legacy
tests/posix/common testsuite were significantly higher while the
memory requirements for tests in tests/posix/c_lib_ext are
significantly lower.
Remove the minimum flash and ram requirements to run the test so
that it passes tests on the integration platform qemu_cortex_m0.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
New HAL update changed the prototype of the check DMA flag functions.
C0 use a const parameter for these functions.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
The LL_GetFlashSize function has been removed for
this new HAL H7RS release. Retrieves the value now from
the devicetree using the DT_REG_SIZE macro.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
This patch adds the missing completion call to the
RTIO_OP_I2C_CONFIGURE OPs. Without this, the drivers will lock when
calling i2c_configure().
Signed-off-by: Luis Ubieda <luisf@croxel.com>
After API_V2 auto-negotiation support was added by #86621
setup_mac_filter() was called before HAL_ETH_Init(), which resulted in
received multicast packets being discarded.
This moves the call to setup_mac_filter() to eth_iface_init(), after
HAL_ETH_Init() for both API_V1 and API_V2.
I've verified the problem and tested the fix on a Nucleo-H563ZI with a
simple application that just starts up and makes an mDNS query (which
depends on working multicast).
Signed-off-by: Kevin ORourke <kevin.orourke@ferroamp.se>
We moved kernel timer configuration logic to the soc layer.
In addition, removed zephyr library cmake rule causing a build
warning since there are no C source files in the board.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
We added the mec_assy6941 an evaluation board for MEC5 HAL based
MEC174x and MEC175x parts. We support these Microchip chips:
mec1743_qlj, mec1743_qsz, mec1753_qlj, and mec1753_qsz. LJ refers
to 176-pin and SZ to 144-pin WFGA packages. Q refers to total SRAM
of 480KB. Building the board with one of the SoC's requires passing
mec_assy9641/<soc_name>. For example: mec_assy6941/mec1753_qlj is
passed to west via the "-b" command line option.
The SoC's are configured to use Microchip's 32-bit 32KHz RTOS timer
as the kernel tick. Refer to the board DTS rtimer node. If the user
wishes to use ARM SYSTICK as the kernel timer then disable the rtimer
node in the application overlay.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
We fixed some minor bugs and one missing component for
Microchip MEC5 HAL based chips, MEC174x and MEC175x.
These changes are in preparation for board check-in and
hello world sample. Added the clock-frequency property
to the cpu and rtimer nodes. This properity is used
derive the Kconfig's for the kernel tick.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
Microchip MEC was configuring the kernel timer tick rate at the
board level instead of the SoC level. We unify all this by moving
the Kconfig logic out of the board level into each mec chip.
We also derive SYS_CLOCK_HW_TICKS_PER_SEC from the device tree
node enabled for the kernel timer: Microchip's 32 KHz RTOT timer
or Cortex-M4 SYSTICK. The soc kconfig rules are loading all mec
subdirectories for every build causing warnings when building
new socs with this change. We made the changes for all the mec chips.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
Zephyr has changed the rules for PINCTRL to use Kconfig select
feature at the driver level instead of setting the Kconfig
item directly in the board or application level. We updated
the MEC5 UART serial driver Kconfig to select PINCTRL.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
The valid check was incorrect and instead set valid_data to
false for valid data, and true for invalid data.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Under certain conditions report_lock could already be used by the irq
before it was initialized, now we ensure we enable irq after report_lock
is initialized.
Furthermore in some conditions data->xfer_bytes could be equal
SBUS_FRAME_LEN resulting in a infinite loop doing zero reads when
fifo is still holding new bytes
Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
Updates the ADI platforms area to match additional drivers for ADI part
numbers (e.g., ad405x, ad559x, and adp5585) and ADI shield boards (e.g.,
eval_ad4052_ardz).
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Add simple helper macro so users can define a CCCD with a write cb
without having to combine BT_GATT_CCC_MANAGED() and
BT_GATT_CCC_INITIALIZER() themselves.
Unlike the changed callback the write callback has a return value
that can be used to reject the write request.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
The tmp116 sensor driver also supports tmp117 and tmp119. Therefore rename
to indicate that is supports a range of tmp devices.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
Verify return values for otPlatRadio* functions and log the error
accordingly. For otPlatRadioTransmit() case, just log the error
and let the entire TX procedure proceed on the next timeout.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Do not ignore return values of OT functions registering IPv6 addresses.
As this is called from the net_mgmt callback context, which returns
void, there's not much that can be done, other than logging the error.
To simplify the logging code and avoid the need to use extra buffer,
use net_sprint_ipv6_addr() networking utility function within the log
message to convert binary address to string.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Set the value of `pm->state` as we move through the various stages of
`pm_device_driver_init`. This ensures hat if any of the code inside the
actions callbacks runs `pm_device_state_get` they get the correct state,
instead of always getting `PM_DEVICE_STATE_ACTIVE` (0, the value at
reset).
Signed-off-by: Jordan Yates <jordan@embeint.com>
initial support for the Lilygo TTGO T-OI-PLUS ESP32-C3 board
Signed-off-by: aisuneko icecat <iceneko@protonmail.ch>
Co-authored-by: Benjamin Cabé <kartben@gmail.com>
Adds support for the CVA6 CPU on a Genesys 2 FPGA board
(https://github.com/openhwgroup/cva6).
The SoC currently contains the CVA6 CPU with the SV39 MMU, interrupt
controllers (CLINT and PLIC), UART, a SPI for booting from SD, a boot
ROM, and I2C controller for on-board audio, a GPIO and the lowRISC
ethernet subsystem.
Two slightly different versions of the board are added, with a 64-bit
and a 64-bit configuration of CVA6, respectively.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
Adds support for the CVA6 family of RISC-V CPUs.
CVA6 is commonly found as a soft core CPU on FPGA designs.
Different configurations and instruction set extensions can be
configured, and different SoCs targeting various FPGA boards are
available.
This commit adds support for the 32-bit and 64-bit configurations
of CVA6, as well as three slightly different SoCs (a minimal 32-bit
configuration, a 64-bit configuration without FPU, a 64-bit
configuration with FPU).
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
For the broadcast setwml ccc, the argument vector index of the input
length is 2 instead of 3. This commit fixs this issue.
Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
The lsm6dsv16x driver is using an incorrect value for the index
into the acceleration range. This results in using the wrong
range. The issue was found to be a bug in a MACRO in
lsm6dsv16x_decoder.h that was used to find the index in the
acceleration range. The MACRO was improperly counting zeros from the
leading edge, instead of the trailing edge.
Signed-off-by: Derek Valleroy <derekvalleroy@fb.com>
Previously, the RAM code size was limited to 1K, causing issues when the
code exceeded this limit. This update modifies the implementation to
support RAM code sizes up to 4K
test: zephyrproject/zephyr/tests/drivers/flash/common --> pass
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
The osFlagsWaitAny option is not handled correctly. It returns once any
flag at all is set, whereas it is supposed to only return once one of
the flags specified in flags is set.
Signed-off-by: Utsav Munendra <utsavm@meta.com>
Sample showing how to use the additional wakeup signal
in nordic,nrf-spis driver. The application, configured
as a SPIS, is put to sleep while waiting for an SPI
transmission. An external device working as a SPIM and
also handling the wakeup signal wakes the application
up just before the transmission starts.
Signed-off-by: Piotr Krzyzanowski <piotr.krzyzanowski@nordicsemi.no>
Support parsing and serializing of struct fields that are defined as a
char array.
Use the token JSON_TOK_STRING_BUF to parse and serialize a string for a
char array, for example:
struct foo {
const char *str;
char str_buf[30];
};
struct json_obj_descr foo_descr[] = {
JSON_OBJ_DESCR_PRIM(struct foo, str, JSON_TOK_STRING),
JSON_OBJ_DESCR_PRIM(struct foo, str_buf, JSON_TOK_STRING_BUF),
};
The struct 'json_obj_descr' now has an additional union member 'field'
to store the size of the struct field, which is used with the token
'JSON_TOK_STRING_BUF' to determine the element size.
Fixes: #65200
Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
BoardYml, DeviceTreeBindings, Kconfig, and KconfigBasic checks
can be run with a decentralized west manifest.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Currently, only MCUBOOT_LOG_LEVEL_INF and MCUBOOT_LOG_LEVEL_WRN
are allowed in UNDEF_KCONFIG_ALLOWLIST. Let's allow
MCUBOOT_LOG_LEVEL_DBG as well, since some use cases may require
this level of scrutiny.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Was getting several false positives about whitespace at line
endings with check_compliance.py because it was analyzing
.patch and .diff files as source.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The i.MXRT10xx series have configurable GPIO pull strengths.
These are available for configuration in the pinctrl system, but not for
regular GPIO use.
This commit adds SOC-series specific GPIO configuration bits for selecting
weak or strong GPIO pulls, similar to drive strengths available from other
GPIO pin configuration examples.
This has been tested on a custom i.MXRT1062 product.
Signed-off-by: Stefan Giroux <stefan.g@feniex.com>
This was not getting enabled because label was passed instead of path
and dependency was not met.
Fix the DT function to use label.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
These nRF70 driver operational modes are important, so, extend the help
to clearly communicate the mode's purpose.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Create a driver implementation for the battery charge controller
TI BQ25713.
It includes the ability to enable / disable the controller and also
to setup max current and voltage charge parameters at initialization
time but also at run time.
On the other hand, it is possible to assign / obtain input voltage
and current regulation.
Signed-off-by: Kiara Navarro <knavarro@paltatech.com>
inherit from base.yaml instead of sd-device since this device is not
meant to be used on an SD bus.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Validate that a received LL_CIS_REQ is valid and reject if it is not
Fixes EBQ test failure in LL/CIS/PER/BI-07-C
Signed-off-by: Troels Nilsson <trnn@demant.com>
Add missing define in order to enable RGB_888 pixel format support
on the mcux_elcdif driver. Tested with TM070JVHG33 display
Signed-off-by: Isaac Yuki <isaaclucas.delimayuki@tq-group.com>
Accidentall chosen wrong interrup level for flash controller
fixed to be inline with other devices flash controller level
Signed-off-by: Petri Pitkanen <petri.pitkanen@silabs.com>
Fix credential store corruption issue caused by missing
security type checks. Add support for all valid security
types to ensure credentials are parsed correctly.
Fixes#88261.
Signed-off-by: Triveni Danda <triveni.danda@nordicsemi.no>
Fix build error which happens when LSM6DSV16X_STREAM=y and there
are no lsm6dsv16x driver instances on i3c bus.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Add support for Nuvoton numaker m55m1x series EMAC controller.
Also include NOCACHE_MEMORY allocation.
Support to generate random mac address and remove emac data flash.
Signed-off-by: cyliang tw <cyliang@nuvoton.com>
Fixes an issue whereby flashing would fail when using --erase since
it would erase the cores twice rather than once, by adding a flash
runner run once board configuration
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Update the JSON test cases to explicitly cast NAN and INFINITY to double
type to avoid implicit promotion.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
At high throughput, the controller sometimes fails to start a new
transaction. Clearing the corresponding endpoint bit in the BUFF_STATUS
completion register before initiating a new transaction solves this
problem.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Do not check if the tailroom is greater than or equal to MPS because the
controller does not write directly to the buffer and therefore cannot
write outside the buffer.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
For the IN endpoint, we only need to set/reset the STALL bit in the
endpoint control register.
To set halt on the OUT endpoint, the AVAILABLE bit must also be set,
which is similar to starting a new transfer, but first any transfer in
progress must be canceled.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Support VBUS state change detection and enable/disable DP pull-up
according to VBUS state when pinctrl property is provided.
It brings the similar functionality introduced in commit 4c0317fa47
("drivers: usb_dc_rpi_pico: Implemented vbus detection handling")
for the legacy device controller driver.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Using k_events eliminates the drawback of the queue potentially dropping
messages and provides a reliable event notification mechanism. It is
similar to commit c2f2d8ce5d
("drivers: usb: udc_dwc2: Replace queue with events")
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add overlays required to run the test on:
- nrf54l09pdk/nrf54l09/cpuflpr,
- nrf54l20pdk/nrf54l20/cpuflpr.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Add overlays required to run watchdog sample on:
- nrf54l09pdk/nrf54l09/cpuapp,
- nrf54l09pdk/nrf54l09/cpuflpr,
- nrf54l20pdk/nrf54l20/cpuflpr.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Enable nrf_grtc_timer test on:
- nrf54l09pdk/nrf54l09/cpuflpr and
- nrf54l20pdk/nrf54l20/cpuflpr.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Add overlay required to run gpio_basic_api test on
- nrf54l09pdk/nrf54l09/cpuflpr and
- nrf54l20pdk/nrf54l20/cpuflpr.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
In my opinion, the user is supposed to configure the speed of the stack
and drivers ough to honor that choice. However current Zephyr USB
maintainer imposes that the dependency is the other way round, i.e.
that user first needs to disable High-Speed chirp at driver level and
only then can select Full-Speed only operation. Adhere to the
arbitrarily set up rule to allow this really necessary functionality to
enter Zephyr.
I consider this change to be harmful because it opens up a Kconfig trap
that allows configuring High-Speed capable stack with a device driver
limited to Full-Speed only operation.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Limit maximum operating speed in DCFG register if USB stack is
configured to support only Full-Speed.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Allow compiler optimizations to remove High-Speed handling code. Knowing
that maximum operating speed is Full-Speed allows to reduce bulk buffers
from 512 to 64 bytes. More RAM optimizations are possible but this
commit only gets the low hanging fruits.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Two main ideas behind setting maximum speed are:
* Allow code and RAM optimizations at compile time
* Allow High-Speed capable drivers to limit operating speed to user
choice.
This commit only introduces the necessary Kconfig options but does not
implement any code or RAM optimizations and does not modify any driver.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Add note about limitation regarding logging strings with width. Clarify
that it is required to cast character pointer to non-character pointer
when used with %p format specifier.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
pyOCD is installed along with Zephyr, and can debug apps on STM32WB09 once
the appropriate pack (already publicly available) is installed.
On the other hand, OpenOCD comes with the Zephyr SDK but only on Linux, and
both Zephyr's fork and upstream lack support for STM32WB09, which was added
by commit 89b053b660bcef803e19c89584de933158c59299 in ST's OpenOCD fork[1].
While pre-builts for this OpenOCD fork are provided by ST as part of other
software packages (e.g., STM32CubeIDE), it is less convenient to use and
the exact support script to use varies depending on which tool OpenOCD is
borrowed from.
Remove OpenOCD support for STM32WB09 entirely, replacing it with pyOCD, and
add instructions about pack installation in the board documentation.
While this also applies to flashing, STM32CubeProgrammer is the default
runner for this, and already supports STM32WB09 without any shenanigans
(i.e., a bare "west flash" will work with CubeProg) - as such, place the
notice only in the debugging section, which is the only operation CubeProg
does not support.
[1] https://github.com/STMicroelectronics/OpenOCD
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Add pyOCD as supported runner for the Nucleo-WB05KZ board, and a note about
pack installation to the board documentation.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
The old OpenOCD script was expecting usage of ST's OpenOCD fork, but
the WB07 is already supported as "bluenrg-lp" in upstream OpenOCD and
the Zephyr fork provided in SDK.
Update the script to work properly with these two versions, instead of
requiring usage of ST's OpenOCD fork and scripts to function properly.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Add pyOCD as supported runner for the Nucleo-WB05KZ board, and a note about
pack installation to the board documentation.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
The old OpenOCD script was expecting usage of ST's OpenOCD fork, but
the WB05 is already supported as "bluenrg-lps" in upstream OpenOCD and
the Zephyr fork provided in SDK.
Update the script to work properly with these two versions, instead of
requiring usage of ST's OpenOCD fork and scripts to function properly.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Switching the intermediate file format from JSON to YAML has a very
significant benefit: the file is now loaded via yaml_load(), which
internally calls Python to parse the file into the JSON format that
CMake expects. This means that the file contents are now automatically
escaped properly for JSON; it is a huge improvement over the previous
implementation, which was escaping everything given as input to
to_yaml().
With the removal of the now-redundant call in to_yaml(), escaping is
applied exactly once per value or list, when it is passed to yaml_set().
This allows to convert the logic in zephyr_string(ESCAPE ...) to a more
robust "escape everything" approach.
These changes fix the handling of strings with backslashes and different
types of quotes passed either directly or via generator expression. The
existing tests are updated to cover these cases.
Two other small changes are made in this commit:
- a small check in internal_yaml_list_append() is removed, as the same
issue is already detected by the caller yaml_set() logic.
- the to_yaml() function is modified to initialize the YAML output
variable at the top level, which is the expected behavior. This
resulted in genex temp files sometimes having duplicate lines.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The intermediate file used to expand the generator expressions is now in
YAML format. This allows for a more robust handling of the data, as the
single quoted strings are a lot easier to escape: inside them every
character is a literal except for two single quotes (which intuitively
map to a literal single quote).
When saving a simple YAML file without genexes, the single quotes in
strings need to be escaped. However, doing so when saving the
intermediate file would make it harder to properly escape them later,
since it could be possible that the expansion of the generator
expressions would introduce new single quotes. For this reason, when
genexes are enabled, the escaping is now done in a single pass inside
the yaml-filter.cmake script.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Store strings in YAML as single-quoted entries to avoid issues with
special characters. This also fixes a quirk with the current test
suite where the quotes in the expected value are filtered out by the
YAML import.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This commit refactors the zephyr_string() function to explicitly
show that ESCAPE and SANITIZE are mutually exclusive options and
that SANITIZE joins multiple arguments into a single string before
processing it.
No functional change introduced by this commit.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
To move away from the JSON/YAML terminology, rename the variables that
refer to the intermediate files to "expanded" and "output" files.
Also, clean up a few "C-style" function calls and a typo in a variable
name in the same files.
No functional change introduced in this commit.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Add a way to assign the dynamic address for a primary controller. This
is the address that is broadcasted out with the ccc DEFTGTS, and is the
address that secondary controllers use to communicate with the primary
controller.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
The `sh_mqtt_rx_rb_flush` function was intended to flush `rx_rb` when
get an error return from `mqtt_read_publish_payload_blocking`.
Instead of retrieving values from `rx_rb` one by one, calling
`ring_buf_reset` achieves the same result more efficiently.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Introduce a local pointer, `struct shell_mqtt *sh`, to minimize access
to the module-scoped `sh_mqtt` variable.
This allows `sh` to be stored in a CPU register, resulting in more
compact code and improved execution efficiency.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Replaced nested loops with a list comprehension
to improve performance. Execution time improved
from 0.0046203136444s to 0.0040774345397s
Signed-off-by: James Roy <rruuaanng@outlook.com>
Up to now, the handling of type float was offloaded to the users of the
JSON utility, with the token JSON_TOK_FLOAT.
Improve handling of floating point types and support the types 'float'
and 'double' in a built-in way so that they can be directly parsed to
and serialized from variables (of type float or double).
The types are serialized in the shortest representation, either as a
decimal number or in scientific notation:
* float (with JSON_TOK_FLOAT_FP): encoded with maximal 9 digits
* double (with JSON_TOK_DOUBLE_FP): encoded with maximal 16 digits
* NaN, Infinity, -Infinity: encoded and decoded as:
{"nan_val":NaN,"inf_pos":Infinity,"inf_neg":-Infinity}
Enable the floating point functionality with the Kconfig option:
JSON_LIBRARY_FP_SUPPORT=y
It requires a libc implementation with support for floating point
functions: strtof(), strtod(), isnan() and isinf().
Fixes: #59412
Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
Add support to decode the special floating point values NaN, Infinity
and -Infinity. For example:
{"nan_val":NaN,"inf_pos":Infinity,"inf_neg":-Infinity}
Note that this commit is a preparation for the built-in support of
floating point values and these are only accepted when compiled with
the flag -DCONFIG_JSON_LIBRARY_FP_SUPPORT.
Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
Add support to decode floating point numbers in scientific notation,
e.g. 3.40282347e+38. Only the lower-case specifier 'e' is allowed.
Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
Loopback test requires this in order to properly execute half
transactions. Otherwise, testsuite fails.
It was overlooked when fixing #85894.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
ESP32-C6 now supports both HP and LP core app.
This fixes and updates XIAO board to support that as well.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Both EXMIF and SPIS peripherals are claiming GPIO port 6 pin 0, but
with different CTRLSEL values. This will trigger a build error with
nrf-regtool 9.0.0 as it is not possible to apply this configuration
to hardware.
Fix the issue by disabling the EXMIF node that is enabled by default.
Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
The recent change to spi.h doc merged a bit too early on accident and
some oddities were left over, fix them, including:
- Weird command causing strange broken topics section in output
- spi_iodev_api should probably be hidden, looks strange in its own
section on the doc output
- Fix return values of transceive based functions to match transceive
description
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Added support to gicv3 driver to utilize the
extended SPI MMIO registers introduced in
GICv3.1 for the extended SPI range.
Documentation for the Extended Shared
Peripheral Interrupts extension can be found
in the ARM General Interrupt Controller
Architecture Specification:
https://developer.arm.com/documentation/ihi0069/latest/
Signed-off-by: Adam Openshaw <quic_adamo@quicinc.com>
Add support to build zephyr to run on ADL-n board
as a VM on ACRN hypervisor.
Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
Updated soc name for acrn_ehl_crb to atom as
CONFIG_ATOM is selected for ACRN_EHL_CRB in
Konfig.acrn_ehl_crb but given soc elkhart_lake
in board.yml
Added common config ACRN_COMMON to enable common
configs of ACRN.
Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
The CMakeLists.txt files in folders modules/hal_nxp/mcux/mcux-sdk-ng/*/
are loaded in modules/hal_nxp/mcux/mcux-sdk-ng/CMakeLists.txt using
cmake function `add_subdirectory`.
One issue is, when variables defined in one CMakeLists.txt are needed
by another CMakeLists.txt, then the variables need be exposed to parent
scope. This is not convenient.
Another issue is, to expose variables, the function `set_variable_ifdef`
sets the variables as global variables. The CMake global variables
named `CONFIG_xxx` will be collected by Kconfig, and results in build
fail.
The solution is:
1. Replace `add_subdirectory` with `include`, so that the variables will
be in the same file scope, don't need to expose them.
2. Modify the implementation of `set_variable_ifdef`, don't set
variables as global variables.
Resolves#88135
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
Renamed the drv8424 stepper driver to indicate its support of the drv8424,
drv8425, drv8426, drv8434 and drv8436 stepper controllors. Also made the
microstep pins optional. All test files are renamed as well.
Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
Renamed fault event to be more in line with other events and added it to
the stepper shell.
Makes the event callback trigger function of the step-dir implementation
non-static so that step-dir stepper drivers can use it to trigger events
themself.
Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
- Handled MFP configuration for STA and AP modes
- Updated the MFP configuration based on security modes
Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
- Modified conditions in WIFI_CONNECT()
function to reject SAE password and
PSK based on length parameter
Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
ADC output values can have noise, even if the input is 0V. Add a noise
threshold so that raw ADC readings below the threshold can be zeroed
out. By default the threshold is disabled.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The STM32WB09 TRNG has a prescaler that defaults (on reset) to 256, making
the entropy generation process unbearably slow. Change the prescaler value
to 1 instead, in order to make the IP about as fast as other STM32's.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
only accept new connections until the configured value for concurrent
connections is reached. Also set the backlog of the listening socket
to the configured value.
Signed-off-by: Gerhard Jörges <joerges@metratec.com>
I won't be able to actively maintain this subsystem, but maybe help
reviewing on my spare time. The API has not changed from its
introduction, it's been mostly new drivers.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
I won't be available to collaborate in MFD, Input or GD32 areas, so
let's drop my collaborator entries.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
@kartben has been doing a great job maintaining docs, so we're good in
this area. I'll stay as collaborator so I can still follow what's going
on.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
If the RX FIFO buffer is full and there's nothing being transmitted
no LPUART interrupt will fire anymore. Thus the application will not
receive any bytes anymore. By enabling kLPUART_RxOverrunInterruptEnable
we will receive interrupts even though RX FIFO is full so we can recover
from this.
Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
Update exit-latency-us with newly measured values. Measurement is
taking into account additional timing compared to wakeup from
WFI.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add nrf_cache_power_up and nrf_cache_power_down functions. In case of
s2ram power up cache as early as possible, before restoring ARM core
registers. It improves restore time from 180 us to 33 us.
As a minor optimization nrf_memconf_ramblock_control_mask_enable_set is
used which allows to control ram blocks for icache and dcache in a
single register write.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Allow relocate_vector_table() to be overwritten. This is necessary if
the IRQ vector table is handled proprietary, e.g. before the zephyr
kernel is initialized. In this case we want this function to be empty to
avoid overriding the previous configuration.
Co-authored-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Signed-off-by: Eivind Jølsgard <eivind.jolsgard@nordicsemi.no>
Arm OUT endpoints only when enqueueing first buffer. Disarm IN and OUT
endpoints on endpoint disable. Prevent ISO endpoints from being armed
twice before SOF.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Use USB stack state instead of former HAL state to determine what to do
with control transfer buffers.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
There is finite number of distinct events that are handled in thread
context and the order of handling is flexible. Therefore use events
instead of message queue because it is guaranteed to never get full.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
There is no need in notifying the driver that OUT data has been
received. This was only used for control transfers with OUT data stage
because dma waiting bit was not set when enqueueing buffer to receive
data stage.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Endpoint abort is guarded with DMA semaphore. The buffers can be freed
by the caller immediately after endpoint is aborted because the driver
won't access them anymore.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Use UDC endpoint state instead of the legacy hal state. Only functional
change relates to overload condition (buffer is too small to hold data
received on OUT endpoint). Previously the data would be completely
discarded and udc driver error would occur (overload event was
unhandled). Now buffer too small error is logged and as much data as
possible is copied to buffer.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
This is preparatory commit for former nrfx USBD refactor. The refactor
towards native driver will only be performed on the udc driver (old USB
stack driver will continue to use nrf usbd common until it is removed).
Code is copied from nrf_usbd_common.c with minimal changes:
* nrf_usbd_common_irq_handler renamed to nrf_usbd_irq_handler
* usbd_enable renamed to nrf_usbd_peripheral_enable
* all non-static nrf_usbd_common functions have prefix changed to
nrf_usbd_legacy and are changed to static
* functions not used by udc nrf driver are removed
* braces are moved inside #if to pass compliance checks
No functional changes.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
The transfer is queued when buffer is available. There is no point in
delaying the wait until SOF. The check is completely unnecessary.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Add bt_ccp_client_get_bearers that will return the bearers of
a client so that the application can always retrieve them if they
do not store them from the discovery callback.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This renames the STM32_PWR_WKUP_PIN_SRC_x symbols to better match
their meaning. It also adds a new symbol (STM32_PWR_WKUP_PIN_NOT_MUXED)
for SoCs without wake-up mux support.
Signed-off-by: Tomáš Juřena <jurenatomas@gmail.com>
Catch up on some of the boards recently added as well as some that were
missed in the previous batch update.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
When only changes are in the "hostap" module the wifi build tests should
be run. Add the module tag to fix that.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Fixes twister failure in AP mode (it was enabled by default causing all
wifi build tests to fail).
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Fix the kconfig check for enterprise crypto support in AP mode.
Also, remove the unnecessary Hostapd enterprise crypto check in
credentials code.
Signed-off-by: Triveni Danda <triveni.danda@nordicsemi.no>
Add migration guide entry about dropped IPPROTO_RAW support from
AF_PACKET sockets, with possible alternatives.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
IPPROTO_RAW is not a valid protocol type for AF_PACKET sockets, which
should only use IEEE 802.3 protocol numbers. Therefore remove support
for this type of sockets.
As an alternative, users can use AF_PACKET/SOCK_DGRAM or
AF_INET(6)/SOCK_RAW, depending on the actual use case.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Introduce changes in the networking stack which allow to create raw IP
sockets, so that applications can send and receive raw IP datagrams.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Register connection type along with family and protocol, so that it's
possible to differentiate between connection listening for raw IP
datagrams and TCP/UDP/other packets.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
There is no need to wait on xfer_new and xfer_finished and therefore
atomic services can be used instead of events.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Created new files and relocate hostapd support code in glue layer to new
files. The new files will be compiled only if hostapd support is enabled.
Signed-off-by: Hui Bai <hui.bai@nxp.com>
When endpoint is disabled while hibernated, the UDC endpoint state has
to be reset. Set the busy to false to keep UDC endpoint state in sync
with peripheral register state.
Fixes: 2be960ad2b ("drivers: udc_dwc2: Disable endpoint while
hibernated")
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Private node identity advertisements must stop immediately when
ordered by PTS. To do so; adding enabled parameter to
btp_priv_node_id_get_cmd.
Signed-off-by: alperen sener <alperen.sener@nordicsemi.no>
Private Node Identity advertisement on a subnet should stop as soon as
the network is removed.
Signed-off-by: alperen sener <alperen.sener@nordicsemi.no>
The datasheet erroneously suggested to add a + 1 to the abort len.
This was suggested because if a controller gave a EoD, then it was
afraid that the abort would take precedence over the EoD. This was
not true. The EoD will always take precedence over a controller
abort. Remove the + 1 as this can cause issues.
For example, when talking to a part that will auto-increment a read
address, having the +1 can unknownly move this address pointer further
than anticipated.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
It is most certainly 'okay' for a secondary controller to do a
ENTDAA. Remove the 'block' that was preventing this.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Add a workaround for NRF52 anomaly 78: "High current consumption when
using timer STOP task only". Use the SHUTDOWN task instead.
For consistency, CLEAR the timer timer after STOPPING on devices that
lack the SHUTDOWN task. This also aligns the behavior with
nrfx_timer_disable().
For devices with the SHUTDOWN task, this restores the behavior previous
to e92323f.
Fixes#87224
Signed-off-by: Marco Widmer <marco.widmer@bytesatwork.ch>
Fixes an issue where pinctrl psel properties encoded with
NRF_PSEL_DISCONNECTED() caused a build failure.
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Add missing support for J-Link in board.cmake configuration
for Nucleo G4 boards so they can be
flashed and debugged using J-Link.
Signed-off-by: Kuba Gryglak <gryglak.kuba@protonmail.com>
doc: same54_xpro Fixed broken links in index
- Updated pdf link to datasheet
- Added html link to datasheet
- Added link to product page
- Updated zip file link
- Added zip file link to newer revision
Signed-off-by: Robert Perkel <robert.perkel@microchip.com>
The disparity in C objects built causes
the test to fail.
This removes those lines from the log
to inline log comparison.
Let's disable it in the relevant test.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
Replace uses of OVERLAY_CONFIG with EXTRA_CONF_FILE
to follow the rest of Zephyr where OVERLAY_CONFIG was
deprecated in favor of EXTRA_CONF_FILE.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
`nsos_connect_blocking()` is not returning the error as expected. It is
expected to return a negative `NSI_ERRNO_MID_...` value, but it is
returning a positive errno value. `nsos_connect_blocking()` should map
the errno value to a negative `NSI_ERRNO_MID_...`, which `nsos_connect()`
maps back to a -1 return with errno=`ECONNREFUSED`.
the current sequence of events:
- `ECONNREFUSED` occurs during connection
- `nsos_connect_blocking()` returns positive `ECONNREFUSED`
- `nsos_connect()` returns positive `ECONNREFUSED`
- `zsock_connect()` returns positive `ECONNREFUSED`
the expected sequence of events:
- `ECONNREFUSED` occurs during connection
- `nsos_connect_blocking()` returns negative `NSI_ERRNO_MID_ECONNREFUSED`
- `nsos_connect()` returns -1, errno=`ECONNREFUSED`
- `zsock_connect()` returns -1, errno=`ECONNREFUSED`
Signed-off-by: Noah Olson <noah@wavelynx.com>
Having the log level set at debug causes a message to be printed
every time a mailbox message is sent or received. If we log this
using the RPMSG shell, then each message sent generates another
message, causing an an infinite message loop.
Do not set the level to debug by default, allow the level to
be set by the config LOG_DEFAULT_LEVEL.
Signed-off-by: Andrew Davis <afd@ti.com>
If an option is set in the project default configuration it does not
need to be set again in a board specific configuration overlay. Remove
instances of this.
Signed-off-by: Andrew Davis <afd@ti.com>
The message data field is currently empty, this works for some as the all
available virtqueues can be signaled when any message comes in on the host
side. For TI Mailbox and RemoteProc Linux drivers we do check the content
and expect the message to contain the correct Vring ID to signal.
Signed-off-by: Andrew Davis <afd@ti.com>
When core is suspended and power mode has non zero exit_latency_us
a system timeout will be rescheduled to a point in time that is
earlier by exit_latency_us than request. It is to accommodate for
lengthy resuming procedure which would cause requested timeout to
be significantly late. However, setting additional wake up point
has cost, it is one more redundant core wake up and that impacts
performance and power consumption.
Add Kconfig option to chose what conversion method is used. It has
the biggest impact on small exit_latency_us where conversion may
result in 0 ticks (no pre-wake up) or 1 tick (wake up).
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
This removes big structures allocated on stack.
It also moves linked list node to dedicated buffer.
Signed-off-by: Adam Berlinger <adam.berlinger@st.com>
Remove InitStructs of LL driver, since they take a lot of space on stack.
This can cause stack overflow in some scenarios.
Signed-off-by: Adam Berlinger <adam.berlinger@st.com>
Keep the minimum configurations in frdm_rw612.conf and rd_rw612_bga.conf
for basic STA functionality of embedded supplicant case.
Add the superset configurations in nxp/overlay_rw612.conf.
Add the supplicant support in nxp/overlay_hostap_rw612.conf.
Add the basic debug support in nxp/overlay_rw612_debug.conf.
Add the supplicant debug support in nxp/overlay_hostap_rw612_debug.conf.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
NET_L2_ETHERNET should be enabled by default.
NXP_WIFI_SHELL should be enabled by default when SHELL is enabled.
NXP_WIFI_TX_RX_ZERO_COPY should not be enabled by default for RW612,
as it has special requirement for NET_BUF_DATA_SIZE.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
MCUboot has a configuration for single application slot RAM loading, in
which the single loader (or a hook thereof) can load an application from
an arbitrary flash location to RAM. Applications that are to be loaded
in this way need to specify, in their mcuboot header, the load address
in RAM they are meant to be loaded.
This patch adds a new Kconfig for this mode. The load address used comes
from devicetree chosen property "mcuboot,ram-load-dev", if it exists,
and if not, "zephyr,sram".
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
Some OpenThread functions were called without verifying the return
value, which not only is not the best practice, but also could lead to
build warnings with llvm. This commit fixes it.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The IT8xxx2 timer driver uses timer 7 and timer 8 to implement the alarm
timer and the top timer, respectively.
Signed-off-by: Yunshao Chiang <Yunshao.Chiang@ite.com.tw>
Add possibility to use pinctrl to configure pins that should be assigned
to nRF VPR coprocessors and also provide a way of preventing activation
of the nordic_vpr_launcher driver for an enabled VPR so that it can be
supplied with the code to execute and launched in a custom way.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Add an entry for the RAM region assigned to soft peripherals that will
disable caching for that region. Without this, communication with the
FLPR coprocessor cannot be performed correctly.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
use tx interrupt to check, if we can send something,
instead of checking the register periodically.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Fixed the bt_pacs_get_available_context API to return values of type
bt_audio_context instead of an error type.
Signed-off-by: Dereje Wassie <deiw@demant.com>
Add a debug shell to the driver to provide advanced debug support such
as reading/writing to RPU memory and registers etc.
Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
Allow replacing the default naming scheme of the stored settings by
providing a custom function that fills a name buffer based on the ITS
entry UID.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
The rule says there must not be spaces "between a command and the opening
parenthesis".
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Introduce macro to check for valid microstep resolution in stepper api
Use this macro in tmc50xx driver. Stepper api tests adjusted in order to
accomodate the not implemented stepper api functions.
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Fix missing match on Ztest test case summary log entries, so even
if the test case 'END' log entry is missed or corrupted, its status
will be updated from the Ztest summary log entries, if present.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Add a thread to the SDL display driver to ensure that init and renderer
calls are performed from the same thread.
Fixes#71410.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
The calculation of the object size may be incorrect when the size of
a field is smaller than the struct alignment. When such a struct is
used in an array field, the decoded object contains wrong values.
The alignment influences the object size. For example the following
struct has a calculated object size of 8 bytes, however due to
alignment the real size of the struct is 12 bytes:
struct test_bool {
bool b1; /* offset 0, size 1 */
/* 3-byte padding */
int i1; /* offset 4, size 4 */
bool b2; /* offset 8, size 1 */
/* 3-byte padding */
};
This commit changes the object size calculation and computes the size
with the offset and size of the last field in the struct (rounded up
by the struct alignment).
Fixes: #85121
Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
Add gpio driver testcase support for kv260. The overlay will select the
PS gpio bank to be tested.
For running this testcase on kv260 PS gpio bank 3 has been chosen
because it is EMIO and design is required to connect pins together.
Signed-off-by: Paul Alvin <alvin.paulp@amd.com>
Add a babblesim test of the BT Tester doing a GAP smoke test
connecting 2 BT testers using BTP.
The purpose of this is to further increase the test coverage
of the BT Tester in CI, as it is only being built, and runtime
errors are typically not caught.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Use generic name for structure in driver instead of specific chip name
for better compatibility.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Some files should be separated from the common folder to
each soc folder for future expansion of the chip.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Previously, when detecting the GC_done ATE the gc_done_marker boolean
variable was not set.
Fix this by setting it to true if the GC_done ATE is found.
Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
Updated UDC speed definition macros for STM32 series
to handle different speed configurations
based on the SoC compatibility.
Added conditional checks for full-speed definitions
using DT_HAS_COMPAT_STATUS_OKAY for st_stm32_usb.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Updated USB_DC speed definition macros for STM32 series
to handle different speed configurations
based on the SoC compatibility.
Added conditional checks for full-speed definitions
using DT_HAS_COMPAT_STATUS_OKAY for st_stm32_usb.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Rewrote places in the bluetooth code that converts objects
larger than one byte by taking the address of an unaligned struct
member and changed it to a function that takes the value directly
and converts it to big endian.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
Driver is using local macro to get current CPU ID and it is now
in conflict with generic CPU_ID. Added prefix to avoid conflict.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
In case of a single core it resolves to 0. In many cases it reduces
code size and execution time compared to reading id in runtime.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Applied fix for nRF54L anomaly 30, which requires a periodic
calibration of high-frequency clock.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
Add a timeout to the SPI boot process to ensure that `bt_enable` does
not block forever but instead returns an error after an appropriately
large delay. While 1 second would be sufficient under normal operation,
we also want to give the controller time to perform any application
upgrades via a bootloader.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The ADC and watchdog samples are not currently supported for the
non secure target of the nRF54L15 DK.
Add exclusions for these until they are supported.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
This adds the nrf54l15dk/nrf54l15/cpuapp/ns board variant to
Zephyr. It allows to build applications for this target.
This is an initial support for the non secure target which allows
building and running tfm_ipc and config_build.
This is NOT full support of the non secure target in upstream
Zephyr.
There are important limitations, such as:
- The hardware Crypto accelerator is not supported and thus the non
secur target is NOT secure for production applicatiions in upstream
Zephyr.
- The BL2 is not supported, so no DFU is supported with this support
Most of the code chagnes here are taken from nRF Connect SDK
in order to avoid having noups there.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Add the Nordic Memory Privilege Controller (MPC)
in the dtsi of nrf54l15/10/05.
This sets the number of override regions and the
granularity of the regions.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
DMA channel capacity wasn't properly initialized and the computation
relies on it being zeroed.
This only works fine only when requesting channel the first time
causing problems when we have multiple cycles of channel
request/release.
Fix this by properly initializing the capacity when requesting the
channel.
Fixes 43a48d4630 ("drivers: dma: sdma: Update buffer descriptor")
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Fixes a large partition mounting error
for flashes with erase size > 32KB
(e.g. s26ks512s0 has 256KB erase size).
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
The ti,opt3001 ambient light sensor is capable of asserting its interrupt
gpio upon conversion completion. The interrupt gpio can then be used to
trigger a reading of the conversion result automatically.
Due to this, it makes sense for the driver to implement the sensor trigger
functionality.
Add a devicetree property, int-gpios, to the ti,opt3001 bindings to allow
describing the gpio used for getting interrupts from the ti,opt3001.
Implement the sensor trigger functionality with options for using the
global worker thread or letting the ti,opt3001 create its own thread for
servicing the interrupts.
In both cases, when an interrupt is received the driver will read a new
measurement from the chip and clear the interrupt. The sample is then ready
to be read by the user of the sensor.
When manually triggering a sample_fetch, the trigger handler is not
invoked.
Signed-off-by: Emil Dahl Juhl <emdj@bang-olufsen.dk>
Adds initial pinctrl support to arm v2m_beetle board target.
Signed-off-by: Samuel Chee <samche01@arm.com>
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Adds initial pinctrl support to all arm mps3 board targets.
Signed-off-by: Samuel Chee <samche01@arm.com>
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Migrates mps2 targets away from the pinmux driver to
the new pinctrl driver.
Signed-off-by: Samuel Chee <samche01@arm.com>
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Adds necessary pinctrl support for Arm cmsdk uart driver
Signed-off-by: Samuel Chee <samche01@arm.com>
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Adds necessary pinctrl support to Arm SBCon I2C driver.
Signed-off-by: Samuel Chee <samche01@arm.com>
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Fix the following compile warning:
"Warning (unique_unit_address_if_enabled):
/cpus/cpu@0: duplicate unit-address (also used
in node /cpus/interrupt-controller@0)"
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Added overlay file to support nRF5340 audio dk + nRF21540
FEM.
Build the hci_ipc with corresponding overlay file to use the
nRF21540 FEM with the bap_broadcast_source sample on nRF5340
audio kit.
Use the below commandline:
$ west build -b nrf5340_audio_dk/nrf5340/cpuapp --sysbuild \
samples/bluetooth/bap_broadcast_source \
-DDTC_OVERLAY_FILE= \
boards/nrf5340_audio_dk_nrf5340_cpuapp_nrf21540_ek.overlay \
-Dhci_ipc_DTC_OVERLAY_FILE= \
boards/nrf5340_audio_dk_nrf5340_cpunet_nrf21540_ek.overlay
Related to commit 35ad653038 ("samples: Bluetooth:
hci_uart/hci_ipc: CI coverage for nRF53+nRF21 FEM").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
`>= 0` was used when EATT support was implemented (#23199) because
`bt_l2cap_chan_send` could return number of bytes sent. After PR #67528,
`bt_l2cap_chan_send` doesn't return amount of bytes sent or any positive
value, but either 0 or negative value. Thus `>= 0` is not needed. It
also confusing when reading code, especially when the same check is not
implemented in other cases where underlying function `chan_send` is
used.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
`att_sent` is removed as it does not provide any value. All checks are
already performed in `att_on_sent_cb`, and keeping it only increases
readability complexity.
`att_sent` is removed as doesn't give any value. All checks are done
already in `att_on_sent_cb`. It just increases readness complexity.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
The extra `bt_att_chan_req_send` does nothing but increases readability
complexity. All checks are already performed by the caller.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Add support for KWS Pico-SPE based on
Raspberry Pi RP2040
Add support for KWS Pico2-SPE based on
Raspberry Pi RP2350
Signed-off-by: Frank Bintakies <fbintakies@kws-computer.de>
Add soc support for Sensry's RISCV32 based SY1xx.
Variants of the soc are GBM and GEN1 with the
board support for start kit board, which is
a demo board for both soc variants.
Signed-off-by: Sven Ginka <s.ginka@sensry.de>
The existing checks were not thread safe at all.
Replace the checks by using atomic_test_and_set_bit
and then clearing the bit again on error.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
OUTPUT_DIR was not passed to the html-live target, causing a
Python exception:
```
TypeError: argument should be a str or an os.PathLike object
where __fspath__ returns a str, not 'NoneType'
```
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Configure pinout and frequency for Serial Wire Output to enable use
of the SWO logging backend on Silicon Labs dev kits.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Add support for fixed GPIO routes that don't have a configurable
route register, but still require mode configuration and enabling.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
The ADC_MR_STARTUP and ADC_MR_SETTLING macros are required
by SAM ADC driver, and is missing for sam3x variants.
Signed-off-by: Eve Redero <eve.redero@gmail.com>
In bt_sco_disconnected, chan->sco is set as NULL before callback. Then
hfp disconnection callback use it to callback to application in
hfp_hf_sco_disconnected.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Validate that `K_TIMEOUT_ABS_SEC` works the same way as the other
absolute timeout construction macros.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add a new absolute timeout construction macro that operates on seconds.
It has the same semantics as `K_TIMEOUT_ABS_MS`, `K_TIMEOUT_ABS_US`,
etc.
Signed-off-by: Jordan Yates <jordan@embeint.com>
This commit refactors the NPCX SoC hierarchy to improve maintainability and
enable future support for upcoming chips.
Key changes include:
1. Introduced a new `npcxn` subdirectory under `common/` to consolidate
shared components across the npcxn series.
2. Renamed and reorganized register access files for improved consistency.
3. Updated relevant Kconfig files, header files, and CMakeLists
for the new structure.
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Due to a change in linker script cortex_a_r/scripts/linker.ld
, the _image_ram_start has been changed so the Zephyr image
cannot be copied from flash to ram as expected
and cannot run properly.
It is replaced by CONFIG_SRAM_BASE_ADDRESS, the _image_ram_size is also
replaced by _flash_used as a preventive measure.
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Use uv compile to generate requirements.txt from requirements.in
This works better to capture dependencies that work for multiple python
versions, not just the one that was used to generate the
requirements.txt file.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use esp_restart call to guarantee and registered
shutdown handlers will be triggered before rebooting.
This guarantees that subsystems like Wi-Fi and BLE
will deinit correctly.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Dependabot will have an auto-generated body and is likely to fail the max
line length check.
The bot also does not use a full name for the signed-of-by line.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
When compiling in C++, the designated-initializer error:
Either all initializer clauses should be designated
or none of them should be
Will occur due to an extra pair of braces in the Z_JSON_DESCR_OBJ() macro.
Remove the extra pare of braces which allows the code to compile and
function in both C and C++.
Signed-off-by: Eric Holmberg <eric.holmberg@northriversystems.co.nz>
The address of the last i2c device in the build all test has a wrong
address. This fixes that typo.
Signed-off-by: Paul Timke Contreras <ptimkec@live.com>
When CONFIG_ZTEST_FAIL_ON_ASSUME is set, a failed assumption will
cause the suite to fail, but the individual test will be marked as
SKIPPED. We should fail the test so it's clear what's going on.
Fixes#86611
Signed-off-by: Yuval Peress <peress@google.com>
- Added macros `STM32_ETH_PHY_MODE`
to determine the PHY mode (RGMII, GMII, RMII, and MII)
from the `phy_connection_type` property in the device tree.
- Removed previous definitions for ETH_MEDIA_INTERFACE_MII
and ETH_MEDIA_INTERFACE_RMII.
- Updated STM32_ETH_PHY_MODE macro to use ETH_MII_MODE
and ETH_RMII_MODE.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Add the Ethernet MAC and MDIO nodes in the device tree.
Add Kconfig for Ethernet Support.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Make `k_work_queue_config cfg` as `static const` to enable
compile-time instantiation instead of runtime allocation.
This modification saves substantial flash memory but has system-wide
effects that should be considered.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
A long time ago, Zephyr had two macros that could be used for build-time
assertions: BUILD_ASSERT() and BUILD_ASSERT_MSG(). The latter has been
dropped in v2.7 and removed from the documentation; however, the intro
paragraph of the "Build Assertions" section has never been updated to
reflect this, and still confusingly claims that "Zephyr provides two
macros for performing build-time assertions" when only BUILD_ASSERT()
remains.
Update the introductory paragraph of "Build Assertions" section such that
it makes sense now that only one build-time assertion macro exists.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Adds tests to better gauge IPI performance on SMP. In each case, one
CPU is used as the source of IPIs while the remaining CPUs are busy
doing "work". Every 30 seconds the benchmark reports on the amount
of "work" done by the busy CPUs and the amount of work done by the
CPU generating the IPIs.
This can be used to ...
1. Show how enabling IPI optimization affects system performance
2. Show the cost of spinlock contention as the number of CPUs increase
3. Measure the relative performance of scheduler changes on SMP.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
gcc 11.4.0, seems to believe this variable may be used uninitialized,
and warns about it (causing a test build failure due to warnings
being treated as errors).
Let's just initialize the variable to 0 to avoid the issue, as the
cost is trivial.
subsys/bluetooth/host/classic/hfp_ag.c: In function
‘bt_hfp_ag_vts_handler’:
1095
subsys/bluetooth/host/classic/hfp_ag.c:3091:17: error: ‘code’ may be
used uninitialized in this function [-Werror=maybe-uninitialized]
1096
3091 | bt_ag->transmit_dtmf_code(ag, code);
1097
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1098
The issue can be reproduced for ex. with:
$ mkdir build ; cd build
$ cmake -GNinja -DBOARD=native_sim/native/64 ../tests/bluetooth/shell \
-DCONF_FILE="prj_br.conf"
$ ninja
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Fixes failed test_lfs_basic for medium partition > 960KB
and for large partition > 3MB.
Flashes with large erase size require larger test partition sizes
(e.g. s26ks512s0 has 256KB erase size).
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Since #83575 bma4xx driver relies on RTIO to work. This means that
CONFIG_I2C_RTIO should be defined together with CONFIG_I2C in the
Kconfig, otherwise I2C_DT_IODEV_DEFINE() won't be available at
build time.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
The default thread priority for the CoAP client thread is set to
NUM_PREEMPT_PRIORITIES which is not a valid thread priority, as the
lowest application thread priority is actually
NUM_PREEMPT_PRIORITIES - 1. Because of this, CoAP client library gave an
assert on boot if assertions were enabled.
Kconfig does not allow for arithmetics when setting integer defaults,
therefore handle this at the preprocessor stage by limiting the actual
priority assigned to the CoAP client thread to a valid range.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Since these drivers mainly do not use MCUX except for the configure
function (which will soon also be changed), change namespace prefix to
lpspi_ instead of spi_mcux_ to avoid confusion.
Also improve descriptions of kconfigs to clarify what they are for.
Not changing the kconfig names for now since they are user-facing.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Remove SDK types and defines from header file.
And since now the common file is the only consumer of SDK header, move
that include there.
Also rename the tristate boolean to be more clean about what it does
rather than trying to be similar to the SDK config name.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
We should not release context until transfer ends. The code previously
would return from wait_for_completion and then release the context. This
is only supposed to be done in the dma callback except for the case of
error in the transceive call. For async transfer this was most likely
always happening wrong and probably broken for multi threads trying to
access the bus due to this premature release of the context.
Also we should not enable CS and leave enabled in case of error, move CS
enable to after the error check.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Stop the transfer with error if at any point there is some
execution reached where transfer is being set up for 0 length, this can
cause problems where for example eDMA set up with this nonsense 0 length
channels can get an infinite error interrupt.
And this is probably an erroneously crafted transfer request anyways.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
If there are HAL definitions available, do these two things:
Ungate the clock for the device from the zephyr driver. Eventually it
would be better to have a clocks property in the LPSPI DT node and get
the resources from there rather than the HAL.
Some platforms require the peripheral to be reset at system level, add
code to do this. Eventually it would be more ideal to have Zephyr
reset drivers for all of the NXP platforms and use DT to describe the
reset resources, but for now we can just do this to get the LPSPI
supported.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Add support for an optional "idle disconnect" feature in the TCA954x
I2C multiplexer. When enabled via the `i2c-mux-idle-disconnect` device
tree property, the driver will disconnect all channels after each
transfer. This helps avoid address conflicts when multiple multiplexers
are present on the same I2C bus.
Even if the I2C transfer fails, the driver will still attempt to
disconnect the channels to ensure the bus is left in a consistent state.
If the disconnect operation itself fails, its error code will be returned
unless the transfer already failed with a different error.
This implementation is inspired by the Linux kernel driver for PCA954x
I2C multiplexers. Special thanks to Ofir Shemesh for valuable suggestion.
Signed-off-by: Hank Wang <wanghanchi2000@gmail.com>
Clamp the returned humidity to a non-negative value. This ensure that
the return value is always within the expected range, even if the
calibration parameters are read out incorrectly or corrupted.
This check is applied in the example Bosch driver for the float
conversion case, so there are situations that warrant it.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The WDOG and IADC clock node definitions were missing for xg22,
and interrupt numbers were wrong for WDOG on xg27.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Add CONFIG_NET_CONN_PACKET_CLONE_TIMEOUT to allow for longer
timeouts. This can be used to prevent dropping packets when
transmitting large amounts of data (with PPP).
Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
When sending the close command as a server, the data is incorrectly
masked which violates RFC6455 section 5.1.
Use the is_client flag to avoid masking if the close is for a websocket
server.
Signed-off-by: Eric Holmberg <eric.holmberg@northriversystems.co.nz>
On Linux, the function `power_on()` of Bumble will fail when executing
even-numbered test cases.
From the `btmon` log, the controller will not reply the `HCI Command:
Reset` when the issue occurs.
Add a try-except to catch the exception of the function `power_on()`,
and retry to call the function `power_on()` until issue no longer
occurs. Or, the test will fail due to the timeout.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Kconfig settings of string type is passed to CMake with quotes to ensure
they are properly handled, for example when specified in testcase.yml as
> extra_args:
> - CONFIG_FOO="bar"
Support sysbuild Kconfig settings `SB_CONFIG` by performing the same
quoting for settings starting with `SB_CONFIG_`.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
While linking with the IAR linker using generated linker scripts,
and with errors if unhandled sections are encountered, many of the
bluetooth tests failed because CONFIG_SETTINGS was not set.
The section that was not handled was
'._settings_handler_static.static.settings_handler_bt_ccc_'
Now it's only set if CONFIG_SETTINGS is set.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
Add indirect CSR access to access CLIC register to satisfy the current
CLIC spec (Version v0.9, 2024-06-28: Draf).
Add CONFIG_LEGACY_CLIC_MEMORYMAP_ACCESS for legacy CLIC implementation
with memory-mapped CLIC register.
Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
Add support for CLIC hardware parameters based on the hardware
implementation.
1. CLIC_PARAMETER_INTCTLBITS
Specifies the number of modifiable bit in interrupt control register.
2. CLIC_PARAMETER_MNLBITS
Specifies the number of bits are assigned to interrupt level in the
interrupt control bits.
Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
Add support for CLIC SMCLICCONFIG extension, allowing user to configure
the number of available interrupt level bits at runtime.
Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
Temporarily disabled PMP stack guard to allow access to CLIC M-mode
register, because U-mode load/store (mstatus.MPRV=0x1,MPP=0x0) is
restricted.
Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
Downgrading interrupt priority for non critical interrupts for the
supported SOCs.
Previously almost all interrupts were at level 0 i.e. meaning no interrupt
had priority over the others. In reality only radio interrupts are critical
while others can be served with less haste.
Now the level zero is reserved for interrupts that need higher priority
than the radio without bypassing irq locks (zero-latency interrupts)
Level 1 for radio and levels 2 and 3 for rest of the services.
Signed-off-by: Petri Pitkanen <petri.pitkanen@silabs.com>
This reverts commit c2f02533a6.
DMA_INTEL_ADSP_HDA_TIMING_L1_EXIT should be enabled for all ACE platforms.
Any new platform in the ACE series will likely need it as well.
Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
The current mapping gets the network interface into dormant state when
Thread is not attached. While the node is not capable of doing multi-hop
communication when it's not attached, it should be able to do link-local
communication. This commit changes the mapping to look at OpenThread's
own network interface state instead without further checking Thread's
device role, so that link-local communication is supported when a node
in detached state.
Signed-off-by: Yakun Xu <xyk@google.com>
The dev argument is missing.
Introduced in the commit 1cccf28d5e
("drivers: usb: udc: Reduce unnecessary ep config lookups").
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Adds board hooks to the disallowed defconfig symbol list as
these should be selected, not put in a defconfig
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Previously bis_sync_req was only called when requested_bis_sync
was changed. However that meant that there were cases where the
requested_bis_sync was the same as the new request, but where
the actual BIS sync state were different. This was mostly
the case when the scan delegator had autonousmly
added or modified the receive state.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The scan_delegator_mod_src accidentally may have overwritten
the value of internal_state->requested_bis_sync before the
entire request had been verified, causing a mismatch between
what the application knows and what the stack stored.
Fixed by storing the request in a temporary value until
everything has been verified and accepted.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
With this commit we add a runner that is capable of flashing
the sensry sy1xx socs via uart to support the onboard OTP
bootloader. Added the sy1xx runner to the list for
automated test.
Signed-off-by: Sven Ginka <s.ginka@sensry.de>
The Zephyr base variable is not used below and also is deprecated and
not needed to be set.
Fixes#87950.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
This patch will set MMU permissions for rom_ext sections
It is possible to call the rom_ext code located in IMR
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
This patch will extend MMU mapping range for hwreg1 entry
because it is required to access lower register addresses
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Updated implementation to use single receive thread to
enqueue HCI ISO data, ACL data and events towards Host when
building HCI-Only samples/applications, i.e. when building
hci_uart, hci_spi or hci_ipc samples (CONFIG_BT_HCI_RAW=y).
This implementation will serialize HCI events and data as
they occur corresponding to on-air timelines of their
occurrences which is how they are generated by the Link
Layer.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add support for processing the Fault Status Registers and recoverable
data abort for the cortex A7.
Based on Cortex-A7 MPCore Technical Reference Manual (ARM DDI 0406).
(see https://developer.arm.com/documentation/ddi0406)
Signed-off-by: Julien Racki <julien.racki@st.com>
We can't use the timer.h as the arm timer
is within the soc and does not have an address.
Instead we use the armv8_timer.h, renaming it to armv7_v8_timer.h
for the Cortex-A7 as the cp15 access are compatible.
Signed-off-by: Julien Racki <julien.racki@st.com>
The PCAL6534 driver simply doesn't work. This is
due to an incorrect mapping of commands to pcal6534
registers.
Signed-off-by: Victor Brzeski <vbrzeski@meta.com>
Setting the filter registers in master CAN requires initializing master
CAN first. CONFIG_CAN_MAX_EXT_ID_FILTER banks are reserved for IDE
frames. Previously we set FS1R(CAN filter scale register) at init time,
but it is possible that the master CAN is not initialized at that time.
That is when the filter banks are not set correctly, causing that we get
wrong filter_id from slave CAN. This patch fixes the issue by setting
FS1R at the time of initializing master CAN.
Tested on:
STM32F407IGH6 with 2 std_id and 2 ext_id on each of CAN1 and CAN2.
Signed-off-by: Wenxi Xu <xuwenxi0517@gmail.com>
sys_clock_elapsed requires access to system clock register interface
which is often slow. When new relative timeout is added sys_clock_elapsed()
is called once to calculate delta ticks and then if that triggers setting
new timeout sys_clock_elapsed() is called again. This call is redundant
since everything happens under spin lock so it is better to reuse value
returned by the first call.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Disables test logging defaults for the intel_adsp/ssp as it
has been found that when they are enabled they interfere
with the proper functioning of the test.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Improves error reporting in the intel_adsp/ssp test so that
errors are caught and flagged by the test infrastructure.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
According the specification, in extreme cases, the deviation of the APB
clock and LFCLK clock can reach up to +/-1% (+/- 10ms).
Therefore, exclude npcx platforms from the test because it required 1ms
accuracy.
fixes: #66185
Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
`extern "C"` is not a valid language linkage for declaring
`int main(...)`, as per the ISO C++ Standard Specification.
This fixes the violations of -Wmain, and brings Zephyr
closer to valid C++.
See the C++ standard wording here:
https://eel.is/c++draft/basic.start.main#3.sentence-5
See also the clang warning -Wmain:
https://clang.llvm.org/docs/DiagnosticsReference.html#wmain
However, for freestanding code (i.e. with -ffreestanding),
main has no special meaning, and we need to prevent name
mangling. So allow this forward linkage when not hosted.
This only applies to C++ as these linkage declarations only
exist inside __cplusplus guards.
Signed-off-by: Jordan R Abrahams-Whitehead <ajordanr@google.com>
Added Internal pin connection for
I2S Loopback testing when I2S is enabled.
Added I2S testing support for RW612.
Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
When building with clang it reports:
tests/subsys/mgmt/mcumgr/settings_mgmt/src/main.c:69:22: error: variable
'test_response_read_data_start' is not needed and will not be emitted
[-Werror,-Wunneeded-internal-declaration]
static const uint8_t test_response_read_data_start[5] = {
^
tests/subsys/mgmt/mcumgr/settings_mgmt/src/main.c:73:22: error: variable
'test_response_read_data_end' is not needed and will not be emitted
[-Werror,-Wunneeded-internal-declaration]
static const uint8_t test_response_read_data_end[1] = {
^
The values of test_response_read_data_start and
test_response_read_data_end are not actually used anywhere in the tests.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Configuration files such as max32655.cfg is used for openocd purpose
and is stored in variable ${MAX32_TARGET_CFG}. It was set manually
based on whether CONFIG_SOC_MAX32655_M4 is set, now, it gets set
automatically utilizing ${CONFIG_SOC} variable.
Signed-off-by: Hao Zhang <Hao.Zhang@analog.com>
Add .. zephyr:board-supported-runners:: to the Programming and Debugging
section of the documentation for each board that has one such section,
as this is the most natural place to put it.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use runners.yaml from build metadata to gather info regarding board
supported runners, store the info in the board catalog, and allow
to display it as a table in a board's doc page using the
.. zephyr:board-supported-runner:: directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The callback function for the DMA is not used in the case where no DMA
properties are given in the esuart node in the device tree. It causes
a warning in the CI build.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
The error occur when discoverying br devices and need to send request_name
for many found devices.
In system work queue task, bt_hci_inquiry_complete->
report_discovery_results is called, then request_name is called for all
the found devices. The controller gives HCI_Remote_Name_Request_Complete
event for every name request result and one buf is allocated from
hci_rx_pool to save HCI_Remote_Name_Request_Complete. When system work
queue task is blocked to call request_name for every device, many
HCI_Remote_Name_Request_Complete are received for the already sent
request_name, it uses up all the buf of hci_rx_pool, then the bt_rx_thread
task is blocked to get buf from hci_rx_pool when next
HCI_Remote_Name_Request_Complete is received, meanwhile the next
request_name send hci cmd and wait the result, but the hci status/complete
event can't be received because the bt_rx_thread is blocked and
bt_uart_isr is kept in the state to receive last
HCI_Remote_Name_Request_Complete, then bt_dev.ncmd_sem is not released,
then the next request_name send hci cmd again, but the bt_dev.ncmd_sem is
invalid, then bt_hci_cmd_send_sync fail and assert.
resolve it by requesting name one by one.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
MODULE_EXT_ROOT allows Zephyr modules to provide glue code for Zephyr
modules using `cmake-ext: True` and/or `kconfig-ext:True`.
A module ext root provides a `modules.cmake` file which defines
variables like: `set(ZEPHYR_FOO_CMAKE_DIR <glue-code-path>/foo)`
It is intended that a downstream module can replace Zephyr's default
glue code, which again can be replaced further downstream.
Setting values in first modules.cmake (Zephyr's) are replaced by later
processed modules.cmake (downstream) when the setting name is identical.
Therefore the module ext root list should not be reversed, and Zephyr
itself should be placed as first entry in the list.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Remove redundant descriptions in RTC bindings, such
as "... node", "... common bindings" and "This binding provides".
Signed-off-by: James Roy <rruuaanng@outlook.com>
The nRF SPIS peripheral is not an SPI controller but an SPI target
device, so its binding should not include "spi-controller.yaml"
(and so far it did, through "nordic,nrf-spi-common.yaml").
Fix this so that it is no longer possible to incorrectly add child
DT nodes as "devices" on the SPIS "bus" and then for example misuse
the SPI_CONFIG_DT() macro for such constructs.
Since this requires a small correction in the "overrun-character"
property in "nordic,nrf-spi-common.yaml", improve also its description
by adding there information from the corresponding property from
"spi-controller.yaml".
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Add missed line feed chars at the test's output to fix Ztest's
following status messages corrupted.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Flush test log messages before waiting for the processing
thread to avoid delayed log output messing with the Ztest's
log output on the test complete.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Fix race condition in tests/subsys/logging/log_core_additional
logging.thread test configuration released semaphore before
log message output.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
The ov5640 driver already supports QVGA and QQVGA in dvp mode but not
in CSI mode. This PR adds support for these resolutions in CSI mode.
Signed-off-by: Caio Barz Molinari <caioheitor.barzmolinari_1@nxp.com>
When an advertising set is not configured for periodic advertising,
the correct error to return is BT_HCI_ERR_CMD_DISALLOWED
Fixes EBQ test failure of HCI/DDI/BI-70-C
Signed-off-by: Troels Nilsson <trnn@demant.com>
Add support for the Wi-Fi version command to retrieve
the Wi-Fi firmware and driver version information.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Avoid placing the device tree memories at an absolute address.
This avoids placing both .rom_start AND SSRAM1 at
the same address on mps2/an521/cpu0.
This seems fine according to ld (since one placement is empty)
but causes a currently non-suppressable diag_warning
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
Instead of a command and event mechanism that relies on processors being
active (UMAC/LMAC) add a new command that reads from the RPU memory
directly for all stats, useful in debugging when processors are
crashed/non-functional.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Updated hal_nordic revision contains new API for nrfx_twim driver
that allow to set and get handler in runtime.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
Explicitly disable device runtime PM since this test is expecting
it to be disabled and there are SoC now that turns on it by default.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
nrf54h20 device requires device runtime PM to be enabled when
device PM is in use.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Now that the clock switching is implemented and most hosts support 16MHz
SPI, increase the default to 16MHz.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
In order to support higher frequencies than 8MHz, we need to implement
frequency switching while waking up the RPU, as it has to be done only
at 8MHz, once RPU is awake, we can switch back to the configured (DTS)
frequency.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Configure and enable SDMMC2 for the STM32N6570-DK.
Also configure and enable the PLL2 and the IC4 to use them as a 48MHz
source clock for the SDMMC.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Implement support for scatter-gather DMA transfers in the siwx917 driver.
This enhancement allows the driver to handle multiple non-contiguous memory
buffers in a single DMA transaction
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Updated the driver to ensure that each DMA channel can properly
assign and handle individual callbacks.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
This new API allows the assignment of desired DMA channels for
peripheral transfers, enhancing flexibility and control over DMA
operations.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Refactored the driver code to ensure compatibility with the
dma_context API, improving maintainability and consistency
with other DMA drivers in the Zephyr project.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
1. Corrected the burst length processing to be handled in bytes
for the siwx917 DMA drivers.
2. Removed overlay and configuration files associated with the
chan_blen_transfer test application. The chan_blen_transfer
test application attempted to use 8 and 16 byte bursts, which
are not supported by the siwx91x UDMA.
Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
Current code configures the higher bits ahead of drive strength
to be "1", this patch fix this issue.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Signed-off-by: Lei Xu <lei.xu@nxp.com>
Looping while waiting for auto-negotiation to complete can block the
system workqueue for several seconds.
Signed-off-by: Kevin ORourke <kevin.orourke@ferroamp.se>
We've previously restricted Blackbox test
runs to just one test file - test_output.py.
That was a mistake.
This commit makes the relevant workflow run
all of the blackbox test files again.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
Implement `irq_is_pending` in terms of the `irq_rx_ready` and
`irq_tx_ready` function calls.
Using `intstatus` directly results in an implementation that does not
conform to the interrupt driven UART API. Since `intstatus` bits are
only only set when a buffer transitions from full to empty, any calls to
`irq_is_pending` before any bytes have been sent will return 0. This is
problematic since the documented implementation for the API IRQ handler
is:
```
while (uart_irq_update(dev) && uart_irq_is_pending(dev)) {
if (uart_irq_rx_ready(dev)) {
...
}
if (uart_irq_tx_ready(dev)) {
uart_fifo_fill(dev, ...);
}
}
```
If `uart_irq_is_pending` does not return 1 until the first byte is sent,
we never end up pushing data to be transmitted into the `uart_fifo_full`
function.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add defines to avoid magic values in the dtsi.
Replace usb_dc_stm32_get_maximum_speed() with device tree property.
- Use DT_INST_STRING_UPPER_TOKEN(0, maximum_speed) to set the USB speed.
- Remove PCD_SPEED_FULL initialization.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
Add defines to avoid magic values in the dtsi.
Replace usb_dc_stm32_get_maximum_speed() with device tree property.
- Use DT_INST_STRING_UPPER_TOKEN(0, maximum_speed) to set the USB speed.
- Remove PCD_SPEED_FULL initialization.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
On STM32 USB, there are currently four types
of maximum-speed: "super-speed", "high-speed",
"full-speed" and "low-speed" (if present).
To simplify the driver, add maximum-speed if
not present as a dts property.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
Updated `CMakeLists.txt` and `Kconfig` to integrate power management
for RA8D1, RA8M1, and RA8T1.
Modified `Kconfig.defconfig` to configure ULPT timer as the system timer
when power management is enabled:
- Adjusted `SYS_CLOCK_HW_CYCLES_PER_SEC` and `SYS_CLOCK_TICKS_PER_SEC`
for ULPT timer.
- Disabled `CORTEX_M_SYSTICK` when ULPT timer is used as the system timer.
Implemented power management logic in the new `power.c` file for:
- RA8D1 (`soc/renesas/ra/ra8d1/power.c`)
- RA8M1 (`soc/renesas/ra/ra8m1/power.c`)
- RA8T1 (`soc/renesas/ra/ra8t1/power.c`)
Signed-off-by: Khanh Nguyen <khanh.nguyen.wz@bp.renesas.com>
ULPT nodes:
- Added `ulpt0` at 0x40220000 (channel 0).
- Added `ulpt1` at 0x40220100 (channel 1).
- Included timer sub-nodes with `renesas,ra-ulpt-timer` compatibility.
Power state nodes:
- `stop0`: Runtime idle state mapped to LPM sleep mode.
- `stop1`: Standby state mapped to LPM software standby mode.
Signed-off-by: Khanh Nguyen <khanh.nguyen.wz@bp.renesas.com>
#84065 replaced diagnostic pragmas with TOOLCHAIN_* macros, but we don't
need to use that here since __used is a cleaner way to indicate that the
function is used and will also prevent it from being optimized away at
link time if LTO is enabled.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
If the AG works as Data Channel Acceptor, the ACL conn cannot be known
by the application of AG. Similar with HF, add ACL conn as the first
parameter to the `connected` callback of AG.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add `BOTH_SUPT_FEAT(ag, _hf_feature, _ag_feature)` to check if the
feature is supported by both side.
Add `HF_SUPT_FEAT(ag, _feature)` to check if the feature is supported
by HF.
Add `AG_SUPT_FEAT(ag, _feature)` to check if the feature is supported
by AG.
Use `BOTH_SUPT_FEAT/HF_SUPT_FEAT/AG_SUPT_FEAT` to optimize code that
checks whether a feature is supported.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The lock/unlock for AG/HF feature read access is unnecessary.
For AG feature, it only be changed when creating new AG object.
For HF feature, it only be changed when exchanging feature in SLC
establishment.
Remove the hfp_ag_lock/hfp_ag_unlock for AG/HF feature read access.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
There is an error reported in platform `native_sim` that the value of
`EOPNOTSUPP` is same as `ENOTSUP`.
It cause the building error `duplicate case value '-95'` reported.
Use `ENOEXEC` to replace `EOPNOTSUPP` to fix the building issue.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Divide hfp_internal.h into two parts, HFP HF part hfp_hf_internal.h and
HFP common part hfp_internal.h.
Includes "hfp_internal.h" in file "hfp_ag_internal.h".
Includes "hfp_ag_internal.h" in file "hfp_ag.c".
Includes "hfp_internal.h" in file "hfp_hf_internal.h".
Includes "hfp_hf_internal.h" in file "hfp_hf.c".
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a option `HFPHF` to find HFP HF SDP records from HFP AG side.
Add a SDP records discovery parameter `discov_hfphf` for this option.
Add a function `sdp_hfp_hf_user` to handle the discovery result.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Define SDP records for HFP AG. Register HFP AG SDP service records in
AG initialization.
Register HFP AG RFCOMM server in AG initialization.
Register HFP AG SCO server in AG initialization.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add function `bt_hfp_hf_connect` to initialize the Service Level
Connection establishment procedure.
Add function `bt_hfp_hf_disconnect` to release the Service Level
Connection.
Clear HF object if the RFCOMM is disconnected.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add configuration `CONFIG_BT_HFP_AG_HF_INDICATORS` to enable feature
HF Indicators.
Add configuration `CONFIG_BT_HFP_AG_HF_INDICATOR_ENH_SAFETY` to
support HF indicator `Enhanced Safety`.
Add configuration `CONFIG_BT_HFP_AG_HF_INDICATOR_BATTERY` to support
HF indicator `Remaining level of Battery`.
Add function `bt_hfp_ag_hf_indicator` to activate/deactivate HF
indicator.
Optimize the handle of AT command `AT+BIND`.
Handle AT command `AT+BIEV`.
Add callback `hf_indicator_value` to notify the value of HF indicator.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add configuration `CONFIG_BT_HFP_HF_HF_INDICATORS` to enable feature
HF Indicators.
Add configuration `CONFIG_BT_HFP_HF_HF_INDICATOR_ENH_SAFETY` to
support HF indicator `Enhanced Safety`.
Add configuration `CONFIG_BT_HFP_HF_HF_INDICATOR_BATTERY` to support
HF indicator `Remaining level of Battery`.
Add function `bt_hfp_hf_enhanced_safety` to transfer enhanced safety
status.
Add function `bt_hfp_hf_battery` to transfer Remaining level of
Battery.
Send AT command to notify AG the supported HF indicators of HF in SLC
initialization sequence.
Send AT command to get the supported HF indicators of AG in SLC
initialization sequence.
Send AT command to get the enabled/disabled state of generic status
indicators from AG in SLC initialization sequence.
Handle unsolicited result code `+BIND`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
In current implementation, it is difficult to insert new AT commands
in the SLC initialization sequence.
Add a SLC initialization sequence. Send AT command one by one.
It will be easy to insert new AT commands in the appropriate position.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Improve the process of AT command `AT+BIA` to mask the activated/
deactivated indicators.
Only notify the activated indicator if the value of it is updated.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Handle AT command `AT+CNUM`.
Add a callback function `subscriber_number` to notify the upper layer
that the HF needs to get subscriber number information from the AG.
If there is subscriber number information needs to be sent, the passed
function `bt_hfp_ag_query_subscriber_func_t func` can be called for
this purpose.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add function `bt_hfp_hf_query_subscriber` to query the AG subscriber
number.
Add callback `subscriber_number` to notify the result of the query of
the subscriber number information.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Handle AT command `AT+VTS`.
Add a callback `transmit_dtmf_code`. When a valid AT command `AT+VTS`
is received, call the callback to notify the upper layer.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add configuration `CONFIG_BT_HFP_AG_VOICE_TAG` to enable the feature
`attach a phone number for a voice tag`.
Handle AT command `AT+BINP=1`.
Add callback `request_phone_number` to notify the request and get the
phone number from the upper layer.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a function `bt_hfp_hf_request_phone_number` to request phone number
to the AG.
Add a callback `request_phone_number` to notify the result of the
request.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add configuration `CONFIG_BT_HFP_AG_VOICE_RECG` to enable Voice
recognition activation feature.
Add configuration `CONFIG_BT_HFP_AG_ENH_VOICE_RECG` to enable Enhanced
Voice Recognition Status feature.
Add configuration `CONFIG_BT_HFP_AG_VOICE_RECG_TEXT` to enable Voice
Recognition Text feature.
Add function `bt_hfp_ag_voice_recognition` activate/deactivate the
Voice recognition activation feature.
Add function `bt_hfp_ag_vre_state` to notify the state of the voice
recognition engine.
Add function `bt_hfp_ag_vre_textual_representation` to notify the
state and textual representation of voice recognition engine.
Add callback `voice_recognition` to notify the upper layer the status
of voice recognition activation.
Add callback `ready_to_accept_audio` to notify the upper layer that
the HF is ready to accept audio.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add configuration `CONFIG_BT_HFP_HF_VOICE_RECG` to enable Voice
recognition activation feature.
Add configuration `CONFIG_BT_HFP_HF_ENH_VOICE_RECG` to enable Enhanced
Voice Recognition Status feature.
Add configuration `CONFIG_BT_HFP_HF_VOICE_RECG_TEXT` to enable Voice
Recognition Text feature.
Add function `bt_hfp_hf_voice_recognition` to activate/deactivate the
Voice recognition activation feature.
Add function `bt_hfp_hf_ready_to_accept_audio` to indicate that the HF
is ready to accept audio.
Add a callback `voice_recognition` to notify the upper layer the
status of voice recognition activation.
Add a callback `vre_state` to notify the upper layer the state of
voice recognition engine.
Add a callback `textual_representation` to notify the upper layer the
textual representation.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The TX buf will be removed from TX queue after the data has been sent.
It causes the following TX buffers to be lost.
Fix it by removing TX buffer when sending it.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
There is an issue that the sending of AT+command will overwrite the at
status when the at is handling receiving.
Add a flag `BT_HFP_HF_FLAG_RX_ONGOING` to flag the receiving is
working.
When the flag is set, suspend the TX sending.
Add a worker to restart the tx sending.
After the flag `BT_HFP_HF_FLAG_RX_ONGOING` is cleared, submit the TX
worker to restart the tx sending.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a configuration `BT_HFP_HF_3WAY_CALL` to control the feature.
Add a configuration `BT_HFP_HF_MAX_CALLS` to define supported maximum
calls.
Add a configuration `BT_HFP_HF_ECS` to configure the Enhanced Call
Status feature.
Add a configuration `BT_HFP_HF_ECC` to configure the Enhanced Call
Control feature.
Add a structure `struct bt_hfp_hf_call` to manage the call.
Add the call object to callback `outgoing`, and`incoming`.
Use call object to replace AG object for callbacks `remote_ringing`,
`on_hold`, `accept`, `reject`, `terminate`, `call_held`,
`ring_indication`, and `clip`.
Change callback `call_held` to `held`.
Add callback `retrieve` for the retrieved held call.
Add callback `call_waiting` to notify the application a new call is
waiting.
Use call object to replace AG object for function `bt_hfp_hf_accept`,
`bt_hfp_hf_reject`, `bt_hfp_hf_terminate`, and
`bt_hfp_hf_hold_incoming`.
Add functions for 3-way feature, including
`bt_hfp_hf_call_waiting_notify`, `bt_hfp_hf_release_all_held`,
`bt_hfp_hf_set_udub`, `bt_hfp_hf_release_active_accept_other`,
`bt_hfp_hf_hold_active_accept_other`, `bt_hfp_hf_join_conversation`,
`bt_hfp_hf_explicit_call_transfer`, `bt_hfp_hf_release_specified_call`,
and `bt_hfp_hf_private_consultation_mode`.
Add a new function `at_get_raw_string` to get the raw string from AT
response.
Move definitions of AT+CLCC value from hfp_ag_internal.h to
hfp_internal.h.
Monitor unsolicited result code `+CCWA`.
Enable `Call Waiting Notification` if the feature is supported by both
side when the SLC connected.
Get CHLD values supported by AG if the 3-way calling feature is
supported by both side.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Move CLCC status definitions from hfp_ag_internal.h to hfp_internal.h.
And change name from HFP_AG_CLCC_STATUS_XXX to BT_HFP_CLCC_STATUS_XXX.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a configuration `BT_HFP_AG_3WAY_CALL` to control the feature.
Add a configuration `BT_HFP_AG_MAX_CALLS` to define supported maximum
calls.
Add a structure `struct bt_hfp_ag_call` to manage the call.
Add the call object to callback `outgoing`, and`incoming`.
Use call object to replace AG object for callbacks `incoming_held`,
`ringing`, `accept`, `reject`, and `terminate`.
Add callback `held` to notify the call held status.
Use call object to replace AG object for function
`bt_hfp_ag_hold_incoming`, `bt_hfp_ag_reject`, `bt_hfp_ag_accept`,
`bt_hfp_ag_terminate`, `bt_hfp_ag_remote_ringing`,
`bt_hfp_ag_remote_reject`, `bt_hfp_ag_remote_accept`, and
`bt_hfp_ag_remote_terminate`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a flag `BT_HFP_AG_CCWA_ENABLE` to keep the status of `Call Waiting
Notification`.
Set/clear the flag according to the value of received command AT+CCWA.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a flag `BT_HFP_AG_INCOMING_HELD` to identify the incoming call is
held.
Add a function `bt_hfp_ag_hold_incoming` to put the incoming call on
hold.
Add a callback `incoming_held` to notify the application the incoming
is held.
Handle AT command `AT+BTRH=x` to hold/accept/reject the incoming call.
Improve function `bt_hfp_hf_accept` to accept the held incoming call.
Improve function `bt_hfp_hf_reject` to reject the held incoming call.
Improve function `bt_hfp_hf_terminate` to terminate the held incoming
call.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a flag `BT_HFP_HF_FLAG_INCOMING_HELD` to identify the incoming call
is held.
Add a function `bt_hfp_hf_hold_incoming` to put the incoming call on
hold.
Handle the response `+BTRH` to get the incoming call status.
Add a callback `incoming_held` to notify the application the incoming
is held.
Remove callback `call_setup`. Add callback `outgoing` for call_setup=1,
`incoming` for call_setup=2, and `remote_ringing` for call_setup=3.
Remove callback `call`. Add callback `accept`, `reject`, `terminate`,
and `incoming_held`.
`accept` is triggered if the call is active.
`reject` is triggered if the incoming/
outgoing is not accepted but call is terminated.
`terminate` is triggered if the accepted is terminated.
`incoming_held` is triggered if the incoming call is held.
Improve function `bt_hfp_hf_accept` to accept the held incoming call.
Improve function `bt_hfp_hf_reject` to reject the held incoming call.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a configuration `CONFIG_BT_HFP_HF_ECNR` to enable "EC and/or NR
function" of HFP HF.
Add a function `bt_hfp_hf_turn_off_ecnr` to turn off AG's EC and NR.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a configuration to support "EC and/or NR function" of HFP AG.
Add a callback `ecnr_turn_off` to notify the application that "EC and/
or NR function" has been turned off.
Handle AT command AT+NREC=0. Only if the feature enabled, and the
callback `ecnr_turn_off` provided, the result code `OK` will be
responded.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a function `bt_hfp_hf_redial` to initiate outgoing voice calls by
recalling the last number dialed by the AG.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a function `bt_hfp_hf_memory_dial` to initiate outgoing voice
calls using the memory dialing feature of the AG.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a function `bt_hfp_hf_number_call` to initiate outgoing voice calls
by providing the destination phone number to the AG.
Add a callback `dialing` to notify the application the result from AG.
Add a flag `BT_HFP_HF_FLAG_DIALING` to make sure there is only one
dialing call at the same time.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add phone number dialing callback if the ATDNnnn AT command is
received from HFP HF.
If the callback is NULL, the ATDNnnn AT command cannot be
supported by the HFP AG.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a function `bt_hfp_hf_terminate` to terminate the active call.
Add a flag BT_HFP_HF_FLAG_ACTIVE to identify the call is active. Set
the flag if the call value is 1.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a function `bt_hfp_hf_reject` to reject the incoming call.
Add a flag BT_HFP_HF_FLAG_INCOMING to identify the incoming call.
Set the flag if the call_setup value is 1.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add the configuration `BT_HFP_HF_CODEC_NEG` to configure the codec
negotiation feature.
Add a configuration `BT_HFP_HF_CODEC_MSBC` to support mSBC codec.
Add a configuration `BT_HFP_HF_CODEC_LC3_SWB` to support LC3 SWB codec.
Add a function `bt_hfp_hf_audio_connect` to trigger audio connection
sequence.
Add a function `bt_hfp_hf_select_codec` to response the codec
negotiation request.
Add a function `bt_hfp_hf_set_codecs` to notify the AG supported Codec
IDs of HF.
Handle unsolicited response `+BCS` sent from AG.
Send supported Codec IDs supported by HF if the SLC is established.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a configuration BT_HFP_AG_CODEC_NEG to configure the feature.
Add a function bt_hfp_ag_audio_connect to setup the codec negotiation
procedure.
Improve AT+BAC and AT+BCC handle.
Add callback codec_negotiate to notify the application of codec
negotiation result.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a configuration BT_HFP_AG_EXT_ERR for this feature.
If the feature is not set, response the ERROR to the peer if the AT
command AT+CMEE received.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a dedicated SDP features definition.
Set feature "Three-way calling" by default both in SDP features
definition and AT command features definition. Because it is set
by default in Spec.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a function `bt_hfp_hf_accept` to accept the incoming call.
Add a flag BT_HFP_HF_FLAG_INCOMING to identify the incoming call.
Set the flag if the call_setup value is 1.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Expose a function to set the network operator and mode.
Response the AT+COPS? command with set mode and operator.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add function `bt_hfp_hf_get_operator` to read the currently network
operator of AG.
Add callback `operator` to notify the application of the response.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Send AT command AT+VGM and AT+VGS after SLC established.
The `VGM` and `VGS` can be set by calling function `bt_hfp_hf_vgs` and
`bt_hfp_hf_vgs` in HF connection callback.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add AT command sending structure to queue all AT commander needed to
be sent after the SLC established.
After the SLC established, send AT command line one by one.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Support separator "=".
If the separator is "=", only when result code is VGS" or "VGM", the
result code is valid.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Handle the unsolicited result code +BSIR issued by the AG to indicate
to the HF that the in-band ring tone setting has been locally changed.
Add a callback `inband_ring` to notify the in-band ring tone setting.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
All set flags are cleared when call is terminated. But for case that
SLC is not disconnected, only call related flags should be cleared.
Just clear call related flags if the call is terminated.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The AT command `AT+CLIP=1` or `AT+CLIP=0` cannot be parsed correctly.
Check `=` before get AT command value.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add function bt_hfp_hf_vgm to configure Gain of Microphone.
Add function bt_hfp_hf_vgs to configure Gain of Speaker.
These functions are controlled by configuration
`CONFIG_BT_HFP_HF_VOLUME`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Handle the unsolicited result code +VGS and +VGM if the configuration
`CONFIG_BT_HFP_HF_VOLUME` is enabled.
Add a callback `vgm` to notify the application speaker microphone
notification if the configuration `CONFIG_BT_HFP_HF_VOLUME` is enabled.
Add a callback `vgs` to notify the application speaker gain
notification if the configuration `CONFIG_BT_HFP_HF_VOLUME` is enabled.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add tx pending queue to queue call AT commands.
Add a function bt_hfp_hf_cli to enable/disable CLI notification.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Handle the unsolicited result code +CLIP.
Add a callback `clip` to notify the application if the configuration
`CONFIG_BT_HFP_HF_CLI` is enabled.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add Kconfig to configure the HF `CLI` and `VOLUME` features.
Add a macro `BT_HFP_HF_SDP_SUPPORTED_FEATURES` for SDP HF record.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Use the builtin intn macros for 20.1+, as 20.0 doesn't include them.
20.0 wasn't an official release.
Signed-off-by: Jeremy Bettis <jbettis@google.com>
Add the ability to set the MAC address from the command line when
running a native sim build.
Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
Added mikrobus_i2c, mikrobus_spi and mikrobus_serial node labels
to device tree board definition, allowing compatible shield boards
to be used. Also added User Button 2 definition and refactored
pinctrl defintions into separate file.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
Updates common locking mechanism used in internal HAL calls,
mainly targetting Wi-Fi/BLE and REGI2C calls. This improves/fixes
scenarios of nested critical sections calls.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
refactoring enable function into enable and disable increasing readability
and increasing coherence with other stepper apis in terms of
nomenclature
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
This change uses K_SEM_DEFINE() instead of calling k_sem_init()
and having to check for its return value.
It makes the smp pi sample a bit simpler to go through.
Signed-off-by: William Tambe <williamt@cadence.com>
This commit adds ambiq iom binding file to consolidate
spi and i2c that share the same IO Master module on
Apollo MCUs
Signed-off-by: Hao Luo <hluo@ambiq.com>
The board revision is not part of the NORMALIZED_BOARD_TARGET variable
as composed by Zephyr, so it must also not be used in the EDK exported
value to avoid mismatches. The revision is exported as a separate
variable, so it can still be used to differentiate between board
revisions.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The goal is to be able to use the Task Watchdog on a system that is also
using power management to reach low-power modes. In some low-power modes,
the watchdog channels can't be feed anymore.
The task_wdt_suspend() function allows to prepare the Task Watchdog for
a system low-power mode, in which the hardware watchdog (if enabled) is
also suspended.
The task_wdt_resume() function will reschedule the internal timer that
manages the channels, feed all channels and also the hardware watchdog.
Thus, the application is good to go and has enough time to feed the
channels by itself.
Signed-off-by: Adrien Ricciardi <aricciardi@baylibre.com>
The hardware watchdog optionally used by the Task Watchdog can support
being automatically paused when the system enters a sleep power state.
Add a Kconfig flag to enable such feature.
Signed-off-by: Adrien Ricciardi <aricciardi@baylibre.com>
Only STM32F1X and STM32F2X are using the hal api v1,
both of these soc don't support ptp, so ptp support
for hal api v1 can be dropped.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
IS25LPXXXD uses the same jedec-id as IS25LPXXX, but the latter has
an extended read register, similar to IS25WPXXX. This change will
attempt to read the extended read register to determine what the
appropriate initialization value for read register should be.
Signed-off-by: John Barbero Unenge <git@lsrkttn.com>
This change is assumed to fix the random corruption of 4ch
capture for PDM1 channels 3-4 in PTL platform. There are no
solid facts behind this change but assumption that PDMx
controllers are not in sync if the start sequence for PDM1
is further away from PDM0. The PDM0 internal state may be
different from PDM1
The single for loop to handle the CIC and FIR start sequence
is split into two for loops to handle same registers update
tasks symmetrically for all stereo PDM controllers. E.g. two
PDMs for four microphones.
First loop programs the CIC_CONTROL and MIC_CONTROL registers
of the PDMx controllers. These features belong to the CIC block
in DMIC IP. Second loop programs the FIR_CONTROL registers of
the PDMx controllers.
In a stress test of 100 times repeated commands:
arecord -Dhw:0,6 -fS32_LE -r48000 -c4 -d 10 dmic_test_1.wav; \
sleep 0.5; \
arecord -Dhw:0,6 -fS32_LE -r48000 -c4 -d 10 dmic_test_2.wav; \
sleep 1
The corruption occurrence with xt-clang build was e.g. 87/200
fails in one of wav files giving 43.5% occurrence. The test was
done with Zephyr commit fe29c40a93
("llext: add inspection API test suite").
In a gcc build the occurrence of corruption is lower, around 6%
but it is seen that the channels 3-4 pdm1 are swapping randomly.
With this fix the corruption occurred zero times in xt-clang
and gcc builds with same 100 repeats.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Make use of pm_device_driver_init to perform driver initialization.
Implement PM suspend and resume, which performs the following actions:
* Enables/disables the USART
* Gates the USART clock
* Configures USART pins
Also take PM locks to prevent deep sleep during TX and RX operations.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Replace prefix from "uart_silabs_eusart" to "eusart" in order to
simplify the code, and make it more readable.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
To make the pin names of the Arduino header easier to understand,
we will introduce a macro definition for the pin names.
We will use this to update the definition of `arduino_uno_r4`.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
- Allows to build and run NVS tests on real platforms.
- Enables NVS tests designed for a flash-simulator only when
built for qemu_x86, mps2_an385 or native_sim targets.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Fixes the littleFS test_fs_mkfs_custom test fail
in littlefs_init_cfg(): "erase size must be multiple of write size".
It happens for platforms with erase size < 2*write size (e.g. lpc55s).
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Fixes the false negative littlefs.test_lfs_basic test that can occur
if the small_partition size > 64KB, and for
platforms with CONFIG_FS_LITTLEFS_PROG_SIZE > 64 (e.g. lpc55s, mcxn).
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
After SSP has been completed and before LK event notification, the
link key may be invalid when handling the ACL disconnection event.
Check `conn->br.link_key` before calling the function
`bt_keys_link_key_clear()` to clear it.
Fixes#87880.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Allow STM32 I2C driver v2 to operate with DMA support even when
CONFIG_MEM_ATTR is disabled which happen when CONFIG_ARM_MPU is
intentionally disabled despite the CPU supports MPU.
By the way, remove a #ifdef directive on header files inclusion
that adds noise in the header file inclusion section without any
benefit.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Allow STM32 ADC driver to operate with DMA support even when
CONFIG_MEM_ATTR is disabled which happen when CONFIG_ARM_MPU is
intentionally disabled despite the CPU supports MPU.
By the way, remove some #ifdef directive on header files inclusion
that add noise in the header file inclusion section without any
benefit. Also remove inclusion of zephyr/arch/cache.h that is not
needed at all.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Allow STM32 SPI driver to operate with DMA support even when
CONFIG_MEM_ATTR is disabled which happen when CONFIG_ARM_MPU is
intentionally disabled despite the CPU supports MPU.
By the way, remove some #ifdef directive on header files inclusion
that add noise in the header file inclusion section without any
benefit.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Allow STM32 UART driver to operate with DMA support even when
CONFIG_MEM_ATTR is disabled which happen when CONFIG_ARM_MPU is
intentionally disabled despite the CPU supports MPU.
By the way, remove some #ifdef directive on header files inclusion
that add noise in the header file inclusion section without any
benefit.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Add a 'title' keyword to the binding to provide a short
description of the binding, while 'description' serves as
the long description.
Signed-off-by: James Roy <rruuaanng@outlook.com>
As of c952f09a79 the calls to west
sign were replaced with imgtool but a lingering integration with
WEST_TOPDIR was allowed to remain which is not needed when there
are absolute paths available for the configuration. So, this
attempts to refactor the code to allow a few things
- allow a search of relative paths to application config and
then west topdir
- only fatal error when a west workspace is needed but not found,
so if the config is all absolute files then a west workspace is
not required
Fixes: #86438
Signed-off-by: Charles Hardin <ckhardin@gmail.com>
Initial DAC driver for TI DAC161S997. This is a 1 channel 16 bit
DAC designed for 4-20 mA loops.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
Renesas takes over the maintainer of board RSK+ RZ/T2M to unify with
other RZ boards
- Rename rzt2m_starter_kit to rzt2m_rsk
- Support xSPI boot mode to boot code from flash
- Change to use HAL Renesas
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
Since the folder soc/renesas/rzt2m has been moved into soc/renesas/rz
to unify with other RZ devices, so the path soc/renesas/rzt2m must be
removed to pass pipeline.
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
Renesas takes over the maintainer of SoC Renesas RZ/T2M to unify with
other RZ devices
- Move soc/renesas/rzt2m to soc/renesas/rz
- Support xSPI boot mode to boot code from flash
- Change to use HAL Renesas
Signed-off-by: Hieu Nguyen <hieu.nguyen.ym@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
Update the OpenAMP libraries to the latest commits to support CMake 3.16
as the minimum version.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
The interface descriptor and its associated string descriptor are shared
between different speed configurations. Do not try to add a string
descriptor if it has already been added and the index is not zero.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
1. Add the power init code.
2. Add code to support Low Power Mode support from the RTC
1HZ clock.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
1. Add the power init code.
2. Add code to support Low Power Mode support from the RTC
1HZ clock.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
unfortunatly HAL_ETH_SetMDIOClockRange() isn't available
in the V1 API, so I had to copy the parts from the hal.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
rewirte code and remove code that use internal phy functions.
A few Kconfig options got removed, that are now set by the
phy via the DT.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
add mdio and phy node to every stm32board that
supports ethernet.
Also set the phy-handle for every ethernet mac.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
The api takes care, if the mdio bus_enable and bus_disable
are not needed, so there is no need to have tis in the driver.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Introduce a generic reset MMIO driver to be used for devices with a
single memory mapped reset bit required to take them out of reset.
Signed-off-by: Mohith Potluri <saimohith@google.com>
Adds ability to enable the XSTBY functionality on GPIO0 pin, if enabled
in devicetree.
Signed-off-by: Marek Maškarinec <marek.maskarinec@hardwario.com>
If the display is MONO01 and invert=false or display is MONO10 and
invert=true the nthe special logic is needed.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
The Chip ID field of the GC2145 was assumed to be 0x2155, but sensors
with Chip ID 0x2145 are still present. Rework how chip IDs verification
is done slightly and add support for both.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Move the common tunnel setup code to samples/net/common directory
so that other network samples can utilize that too.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Replace single-letter function argument names in the FT8xx coprocessor
API with full names of the arguments for better code clarity.
The arguments in the ft8xx_reference_api.h are left as single-ltters to
keep the same function declarations as described in the FT8xx
programming guides.
Signed-off-by: Hubert Miś <hubert.mis@gmail.com>
When using the asynchronous TX API, skip the `data->pm_policy_state_on`
checks for PM policy updates. This fixes two issues:
* State conflicts with the `poll_out` implementation when both APIs are
used on the same port, resulting in the SoC sleeping while
transmissions are running.
* Scheduling a TX from the `TX_DONE` callback resulting in the PM
policy not being applied, resulting in TX errors.
Every call to `uart_tx` should have a corresponding `TX_DONE` event
generated, which makes the raw (reference counted) calls to
`pm_policy_state_lock_put/get` the correct API to use here.
Signed-off-by: Jordan Yates <jordan@embeint.com>
This sensor may trigger data at a very fast pace (20,000 fps) and this
may not be useful for the application. Instead, it may affect its
proper functioning. Therefore, this patch includes a cool-down timer
before which time the INT line won't be enabled.
Please note that this sensor accumulates the delta compared to the
last reading, so on its own, not reading data-changes does not imply
losing data, as long as it does not saturate.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Working with DRDY and Motion triggers.
DRDY contains a backup software timer to guarantee checking in with
the sensor.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Add a streaming implementation for the BMA4XX using both
FIFO watermark and FIFO full interrupts. A batch duration of
3,000 have been used for verification.
Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
Updated the sensor configuration to use the bma4xx_safely_configure
function for safer and more reliable initialization.
Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
Added register definitions, bit masks, and related constants
for the BMA4XX sensor in a separate header file.
Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
In current implementation, the bonding information of classic is
queried by calling the function `bt_foreach_bond()`. And the bonding
information of classic is deleted by calling `bt_unpair()`.
There are two issues if the LE and classic are bonded at same time for
dual mode peer device.
Issue 1, for the function `bt_foreach_bond()`, there are two bonding
information will be found. But there is no way to find which bonding
information belongs to LE or classic.
Issue 2, For the function `bt_unpair()`, all bonding information will
be deleted if the passed address is the public address. But there is
no way to delete the bonding information of LE or classic.
Remove the calling of function `bt_foreach_bond_br()` from the
function `bt_foreach_bond()`. And rename it to `bt_br_foreach_bond()`,
and public it as an API to query the bonding information of classic.
Remove the calling of function `bt_keys_link_key_clear_addr()` from
the function `bt_unpair()`. Add an API `bt_br_unpair()` to delete the
bonding information of classic.
Add a `br_bond_deleted` to structure `bt_conn_auth_info_cb` for
classic. The callback will be triggered if the bonding information has
been deleted by the function `bt_br_unpair()`.
Add a `clear` shell command for classic to delete the bonding
information.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The i2c driver is missing the option to check if a I2C_IODEV is ready for
use. The proposed function works the same as the check for a SPI_IODDEV
to keep the use consistent across different bus systems.
Signed-off-by: Patrik Sieverding <sieverdp@uni-bremen.de>
Added support for differentail or single ended setup.
Reading resolution form dt - adc spec.
Signed-off-by: Dimitrije Lilic <dimitrije.lilic@orioninc.com>
In current implementation, when receiving the L2CAP frame
`L2CAP_COMMAND_REJECT_RSP` if the L2CAP is working as client role, the
L2CAP frame `L2CAP_COMMAND_REJECT_RSP` will be sent by the L2CAP
client incorrectly.
When the command response `L2CAP_COMMAND_REJECT_RSP` is received, find
the channel of the command request according to the received `ident`.
If the channel is found, try to disconnect the channel. If fail to
disconnect the channel, remove and delete the channel.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
In current implementation, the `ident` of the command response is not
checked whether it is same as the `ident` sent by the L2CAP command.
Keep the `ident` of the command. If the received `ident` of the
command response is not aligned with the `ident` of the command,
discard the response silently. Or, clear the saved `ident`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
If more than one CIS in the same CIG was shutdown at the same time
(e.g. due to supervision timeout), the mayfly calling cis_tx_lll_flush
would be busy and the assert would be triggered
cis_tx_lll_flush now operates similar to cis_disabled_cb; Loop through
all CISes for a CIG and flush any marked as LLL_CIS_FLUSH_PENDING
Signed-off-by: Troels Nilsson <trnn@demant.com>
Allows erasing secondary slot which is marked for test or confirmed.
This is safe as bootloader doesn't make any action on boot-setup yet.
Erase of such pending image might considered like the case when it
was never downloaded as well.
This allow user to not stuck with pending irremovable image.
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
When sys_heap_realloc() is expressed in terms of sys_heap_aligned_realloc()
it invokes a longer aligned allocation code path with an extra runtime
overhead even though no alignment is necessary.
Let's reference and invoke the aligned allocation code path only when an
actual aligned allocation is requested. This opens the possibility for
the linker to garbage-collect the aligning code otherwise.
Improve realloc documentation while at it.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
When k_malloc() is expressed in terms of k_aligned_alloc() it invokes a
longer aligned allocation code path with an extra runtime overhead even
though no alignment is necessary.
Let's reference and invoke the aligned allocation code path only when an
actual aligned allocation is requested. This opens the possibility for
the linker to garbage-collect the aligning code otherwise.
Also bypass k_heap_malloc() and friends given they're invoked with
K_NO_WAIT. Go directly to sys_heap_*() instead to cut some more unneeded
overhead.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
In .../modules/debug/percepio/TraceRecorder/kernelports/Zephyr/include/\
tracing_tracerecorder.h there is a concealed non-parameterized direct
reference to a local variable that is no longer in scope. Provide a dummy
stub for compilation to succeed until that module's layering violation is
fixed, after which this could be reverted.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
When k_heap_alloc() is expressed in terms of k_heap_aligned_alloc()
it invokes a longer aligned allocation code path with an extra runtime
overhead even though no alignment is necessary.
Let's reference and invoke the aligned allocation code path only when an
actual aligned allocation is requested. This opens the possibility for
the linker to garbage-collect the aligning code otherwise.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Let's avoid division and modulus operations as they're costly... and even
more so when they're unnecessary as in this case the main constraint is
about the alignment being a power of 2 which is a very small subset of
sizeof(void *) multiples.
Then move the assertion to common code for wider coverage.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Moved the grove light sensor into a generic light sensor sample.
Replaced board specific node name for light sensor with an alias.
Refactored project name to reflect generic light sensor.
Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
The vendor prefix has been changed from 'ltr' to 'liteon'.
This change is made to better reflect the actual name of
the vendor, which is LiteOn. The previous prefix 'ltr'
was referring to the LiteOn Optical Sensor family, which
could lead to misunderstandings.
Signed-off-by: Konrad Sikora <kontakt@konradsikora.pl>
RAM power configuration is preserved through soft reset,
meaning that there is a risk of accessing powered off RAM blocks
when booting in different application (i.e. bootloader).
Add option to force all RAM blocks to be powered on
before triggering soft reset to prevent this from happening.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
We can't do synchronous HCI command sending in any settings commit()
callback, since we don't know what context the callback is being called
from. One particular deadlock can happen if settings_load() is called from
the preemptible main thread:
main()
|--> settings_load() (aquire settings_lock mutex)
|-->commit callback A that defers to system wq
|-->commit callback B that calls bt_hci_cmd_send_sync()
system wq from the previous deferral from within settings_load():
|--> work item
|--> settings_save_one()
|--> attempt to aquire settings_lock mutex
In the above scenario, the bt_hci_cmd_send_sync() call from the main thread
depends on the system workqueue being processed (since that's what does HCI
command processing by default), while at the same time holding the settings
subsystem's mutex. At the same time, a system wq item tries to store
something into settings, however it deadlocks waiting for the settings
mutex.
The actual scenario that we have in the Bluetooth subsystem is where
"commit callback A" is commit_settings() in host/settings.c, and "commit
callback B" is keys_commit() in host/keys.c.
The solution to the deadlock is to take advantage of deferred bt_id_add()
handling which already exists, i.e. set a flag and deferre the actual
adding to the system workqueue.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
Sending an HCI message requires to wake up the controller
core if it's asleep. Platform controllers may send responses using
non wakeable interrupts and those can be lost during standby usage.
Blocking standby usage until the HCI message is sent.
Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
Add some extra ifdefs around MQTT 5.0 specific structures to prevent
compiler errors due to undefined symbols in certain configurations.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The CS complete callbacks provide both status and params.
In the case of errors, NULL pointer is passed to the params of callbacks.
Signed-off-by: Ryan Chu <ryan.chu@nordicsemi.no>
If the HCI status of a complete event is not BT_HCI_ERR_SUCCESS,
the remaining parameters could be invalid.
In this case, the params is passed as NULL pointer to the callbacks.
- LE CS Read Remote Supported Capabilities Complete event
- LE CS Read Remote FAE Table Complete event
- LE CS Config Complete event
- LE CS Security Enable Complete event
- LE CS Procedure Enable Complete event
This change avoids forwarding the invalid fileds to the applications.
Signed-off-by: Ryan Chu <ryan.chu@nordicsemi.no>
String location information should only be sent for core which
do not append strings to the log message (PPR, FLPR). Without
this, cpurad was also sending that information and that was
redundant.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
When decoding logs from a remote core with memory that APP can
access, wrong address of an array with string addresses was used.
Log message contains index of a string and APP strings array was
used instead of remote core. Extend STMESP logging so that address
of string array of a remote core is send during startup to the APP
and APP is using this array to decode strings from remote cores.
Bug applies only to PPR and FLPR as APP has no access to RAD memory.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
As there is no currently known board that has the cadence spi,
add a test to just build it under the qemu cortex m3.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This is to fix ci failure caused by commit d5d4d57
In the above commit, it's wrongly assumed that ROM_ADDR and RAM_ADDR
are same **only** when CONFIG_XIP is not defined.
Since aarch64 was taken as reference in the review,
we missed to see that CONFIG_FLASH_SIZE is also part of the condition
to define ROM_ADDR as RAM_ADDR.
CONFIG_XIP is not defined for qemu_cortex_a9/xc7z007s however,
CONFIG_FLASH_SIZE is not 0 so the assumption fails
and the required reset to RAM_ADDR is not applied leading to the test
failure.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
By default the thread priority is still the lowest application thread
priority. Allow the priority to be increase by specifying both, the
`override` option as well as the desired `priority`. This pattern was taken
from the shell thread.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
Add an example of how to initialize gbias. The real application should
restore latest valid values taken from non-volatile memory.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Use SENSOR_ATTR_OFFSET attribute to initialize the Sensor Fusion GBIAS.
This is useful when the device is not sill (e.g. hold in hand) and so
the gyroscope calibration does not run.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Move gyro_freq setting inside lsm6dsv16x_gyro_set_odr_raw() routine,
so that it is properly saved in all cases (i.e. from DT configuration
and from runtime ATTR set case).
Signed-off-by: Armando Visconti <armando.visconti@st.com>
When building with clang, it warns:
tests/subsys/usb/bos/src/test_bos.c:24:22: error: variable
'dummy_descriptor' is not needed and will not be emitted
[-Werror,-Wunneeded-internal-declaration]
static const uint8_t dummy_descriptor[] = {
^
Only the size of dummy_descriptor is used, not the contents. Replace the
struct with a constant for the size.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
The least significant bit of the first octet of a MAC address is a
unicast/multicast bit. The bit should be cleared when generating a
random link address for a virtual interface. Any frames from such
interface/address will be dropped by the network as invalid if
the multicast bit is set.
Signed-off-by: Jack Chistyakov <jack.chistyakov@outlook.com>
- Reduces the ram disc sector count from 400 to 220.
- Saves about 90KB of RAM. All tests still passed.
- Allows platforms with less RAM to run
the ramdisc_small.overlay test.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Disable automatic LFCLK selection for GRTC during driver initialization.
For Zephyr applications it is selected by `sys_clock_driver_init()`
depending on configuration and DTS.
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
Selection of the LF clock source for the GRTC should be performed
as early as possible, before starting GRTC.
Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
There are a couple things going wrong in this test code right now.
First of all, there is no syncrhonization of when the async polling
thread should start polling, causing sometimes the poll to fail on tests
before the async test ran. Add a semaphore to fix this.
The lock test was setting up a nonsense NOP transfer of 0 length.
This might cause unexpected behavior and is not the point of
this test case.
But, still we should add a seperate test case specifically for
testing this instead.
Also add a teardown function to release the locks to allow other test
cases to run in case of some failures.
Also a minor change to remove some ARG_UNUSED invocations for some
arguments that are actually used.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Change OpenOCD version regex to be compatible again with format strings
not having a space or newline immediately after the version nr.
Modified regex has been verified with the strings listed below.
Ubuntu:
"Open On-Chip Debugger 0.11.0"
ADI:
"Open On-Chip Debugger (Analog Devices 0.12.0-1.1.1) OpenOCD 0.12.0 (2024-
08-27-17:25)"
Zephyr SDK:
"Open On-Chip Debugger 0.11.0+dev-00728-gb6f95a16c (2024-02-17-23:51)"
Infineon:
"Open On-Chip Debugger 0.12.0+dev-5.2.1.3248 (2024-08-08-17:29)"
Espressif:
"Open On-Chip Debugger v0.12.0-esp32-20240318 (2024-03-18-18:25)"
Fixes: 1c05f2121c
Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
Fix USB controller base address.
rp2040 was fixed in a10f2e8 and the rp2350 uses the same base address.
Signed-off-by: James Turton <james.turton@gmx.com>
We updated the MEC5 portion of hal_microchip. Update Zephyr west
manifest to use the updated HAL.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
Fix two instances where switch-case labels were followed immediately by
a declaration, which is generally invalid and can cause compilation
failure.
Signed-off-by: Kesavan Yogeswaran <hikes@google.com>
- Extended the DIS sample to showcase all possible
fields using placeholder values.
- UDI issuer strings use a 'private' ODI which is
unregistered.
Signed-off-by: Sean Kyer <Sean.Kyer@analog.com>
Due to sizeof('\0') evaluating to 4 bytes instead of 1:
- Each UDI field had 4 instead of 1 'zero byte' appended
(as specified by BLE spec).
- Any field of length 4 was being skipped entirely.
Signed-off-by: Sean Kyer <Sean.Kyer@analog.com>
Add a basic RFP runner that supports the `flash` command targettting
the Renesas Standard Boot Firmware.
Signed-off-by: Peter Johanson <peter@peterjohanson.com>
Fixes typo in the event name.
Changes the struct to also use _ev instead of _rp as it
is an event and not a response.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The publication period is defined by Steps and Resolution.
At BLE Mesh protocol level, the period is encoded in a byte
where first LSB 6 bits correspond to PerSteps and the last
two to PerRes. There is an issue on how the code at
`subsys/bluetooth/mesh/shell/cfg.c:model_pub_set` is encoding
these two values into the publication period byte.
This is commit fixes issue #87780
Signed-off-by: Raúl Gotor <raulgotor@gmail.com>
Apply the following patches to the v4.1-branch of rust. This fixes an
issue with CI.
349164d630a samples: blinky: Remove incorrect integration platform
b0866632d42 samples/tests: Ensure test/sample names are unique
Signed-off-by: David Brown <david.brown@linaro.org>
If the connection handle given to a Read/Write Authenticated Payload
Timeout HCI command is a CIS or BIS handle, the error returned has to
be BT_HCI_ERR_CMD_DISALLOWED with the new TCRL
Fixes EBQ test failures in HCI/BIS/BI-14-C, HCI/BIS/BI-15-C,
HCI/CIS/BI-20-C and HCI/CIS/BI-22-C
Signed-off-by: Troels Nilsson <trnn@demant.com>
The Nordic nRF54L series ICs use RRAM instead of flash. This implies
that erasing the internal storage before writing the new firmware is not
required anymore (unlike NOR flash, which does).
Note that RRAM on nRF54L devices is not physically paged, and paging is
only artificially provided, with a page size of 4096 bytes, for an easier
transition of nRF52 software to nRF54L devices.
In order to speed up the flashing operation and avoiding doing wasteful
write operations on the RRAM, default to ERASE_NONE for ICs in these
series.
A new ``--erase-pages`` command-line switch has been added to allow
users to keep erasing the pages that will be written to the firmware.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Commit fixes bug when corresponding group ID was never
incremented for independent corresponding relationships.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Updated the bsim-tests workflow to exclude all .rst files.
As per GitHub docs:
The order that you define paths patterns matters:
A matching negative pattern (prefixed with !) after a positive match
will exclude the path.
A matching positive pattern after a negative match will include the path
again.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
No functional change. This is only so as to adopt a versioning scheme
where the Zephyr version of the action is considered more recent than
the upstream version (here, v1.1.1) by means of using dots instead of
dashes.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add checks that we will be able to catch invalid compression bit in
response CNAME handling.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Allow only 0xc (0b11) as two highest bit to mark the compression
when parsing the CNAME response. See RFC 9267 ch. 2 for details.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add checks that we will be able to catch recursive name pointers and
abandon the response for CNAME handling.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Make sure that the CNAME handling checks recursive name pointers
and fails the response if recursion is detected.
See RFC 9267 ch. 2 for details.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Boards that have sysbuild enabled in Twister will have the build folder
for the hello_world sample in a subfolder, so update the code
accordingly.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
- Added support for wpa-wpa2 mixed mode in ap enable
- Added support for WPA3 Transition mode in STA connect
Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
The closing comment for CONFIG_SDMMC_STACK #ifdef directive was
incorrectly labeled as CONFIG_SDIO_STACK. This commit corrects the
comment to reflect the correct configuration macro and improve code
clarity.
Signed-off-by: Mirai SHINJO <oss@mshinjo.com>
The power supply configuration is already set during
the early H7 soc init.
Let the clock initialization handle the voltage scaling.
Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
This show a nice widget to switch between the various board targets and
see their respective list of supported features.
The original HTML content of the page is preserved and JavaScript code
"patches" the page on-the-fly. This is so that the actual HTML content
(that e.g. search engines see) is complete and indexable (as well as to
provide useful information for folks who might have JavaScript disabled
altogether).
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Revision might be `0` so update the condition to not inadvertently
exclude boards with such revision number.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The board revision should appear right after board name, not after the
qualifiers as was previously done.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This probably got lost in previous refactoring but this variable is
used in a few CSS rules so it better point to an actual font stack
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
clang recently began providing predefined __INTN_C/__UINTN_C macros
resulting in macro redefinition warnings in toolchain/llvm.h. This
change was landed in clang in late Jan. 2025 and clang/LLVM 20 is the
first official release that has this support (see the PR linked below).
Prefer the definitions provided by clang and avoid redefining these macros
for clang versions 20 and later to avoid said warnings.
Link: https://github.com/llvm/llvm-project/pull/123514
Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
When deriving the new LK, remove the old LK if it exists.
Store the derived LK if the flag `SMP_FLAG_BOND` of LE SMP is set.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The flag `BT_LINK_KEY_SC` of LK will also be set when derive LK from
LTK.
It is a incorrect behavior.
The flag `BT_LINK_KEY_SC` should only be set if the flag `BT_KEYS_SC`
of LTK has been set.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The chip requires a successful sleep entry to change the PLL sequence.
By default, the IT8XXX2 chip enables the I2C0 alternate function, which
can cause the clock/data lines to meet the start condition, preventing
EC from entering sleep mode.
This commit disables the I2C0 alternate function before executing the
PLL sequence change to ensure that the EC can enter sleep mode
successfully.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
This commit adds the possibility to add additional custom
context for flash operations for usage by non-standard
flash drivers.
Signed-off-by: Artur Hadasz <artur.hadasz@nordicsemi.no>
The check for index out of bound is missing, It turns into a crash
for input channel more than WIFI_MGMT_SCAN_CHAN_MAX_MANUAL.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
UDC API passes struct udc_ep_config to all functions. Some UDC functions
were using endpoint config structure while some were using device and
endpoint number. This API inconsistency led to completely unnecessary
endpoint structure lookups. Remove unnecessary lookups by using endpoint
config structure pointer where it makes sense.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Clarify that the file system needs to be re-mounted after clearing.
It was not clear that zms_clear both cleared and unmounted the fs.
Signed-off-by: Emil Hammarström <emil.hammarstrom1@assaabloy.com>
Converting absolute system ticks to GRTC ticks is simple and algorithm
can be simplified. Legacy algorithm was copied from nrf_rtc_timer which
back then was working on 32 bits only.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Test was occasionally failing when two types of current time
reading occurred at different system tick. In that case they
were of by one system tick and test was failing.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
ROM_ADDR and RAM_ADDR is same when CONFIG_XIP is not defined.
If we reset the location for RAMABLE region to RAM_ADDR text region,
which is part of rom, overlaps with initial ram region.
This commit tries to avoid this incorrect behaviour for cortex_a
and cortex_m
Signed-off-by: Simon Maurer <mail@maurer.systems>
Some target may need to pass in the application argument. In such case
do not override it.
Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
What is the change?
- Non secure build variants can now be used with ARMFVPs.
Why is this change needed?
- Running non secure variant of a build doesn't work with FVPs
previous to version 11.27. The newer version of FVP added the
support to run the tfm_merged.hex files.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Add a memory barrier to make sure write to NVIC is completed
before continuing with the test fails in scenarios where
CONFIG_ROMSTART_RELOCATION_ROM is enabled for boards like MPS3
Corstone310 and k_sem_take is called before the isr's are called.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Enable tests by default for CS300 and CS310 since they support
simulation and FVP's are available in upstream docker.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
What is the change?
- MPS3 Corstone310 can now be used with userspace application.
This is done by dividing flash into ITCM+ISRAM and using a
bigger SRAM.
Why do we need this change?
- ITCM and DTCM for MPS3 Corstone310 are small (32KB) to build
with userspace. So we need bigger flash and sram.
We can use the bigger ISRAM as flash but, Cortex-M expects
vector table to be in 1st few bytes of ITCM.
So to build for userspace we distribute FLASH between ITCM and
ISRAM while using SRAM as sram.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Adds enum names to `bluetooth.h` and `gatt.h` to make them easier to
reference. Adds Doxygen references where relevant.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
There are cases where reset_rx() is called when rx.buf is set (e.g. when
the buffer was too small to receive the incoming packet). Be sure to free
the buffer, so that it wont get reused for the next packet (which might
require a buffer from a different pool).
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
The flag `SMP_FLAG_BR_CONNECTED` is cleared by the function
`smp_br_reset()` and `smp_br_init`. But the flag
`SMP_FLAG_BR_CONNECTED` should not be cleared at this time.
Recovery the flag `SMP_FLAG_BR_CONNECTED` after the all flags of SMP
cleared.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
If the encrypt value of classic connection is
`BT_HCI_ENCRYPTION_ON_BR_AES_CCM`, set the flag `BT_KEYS_SC` for
the derived LTK.
Or, clear the flag `BT_KEYS_SC` for the derived LTK.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
In current implementation, the flag `local_dist` will be cleared when
the distributed key frame is performed if the local is the SMP
initiator. After the distributed key is sent out, the function
`smp_pairing_br_complete()` will be called if all bits of `local_dist`
are cleared.
It causes the function `smp_pairing_br_complete()` will be called
multiple times.
Add a flag `local_distributed` to flag the all sent keys. Add only the
flag `local_distributed` is not set, preform the key distribution
frame.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The derived LE keys are not saved to NVM. And the IRK is not added to
controller resolving list. It causes two issues,
Issue 1, the LE connection connection cannot be established if the adv
address of peer is RPA.
Issue 2, the LE keys are missing after the power reset.
For issue 1, add a function `smp_br_id_add_replace` to add LE keys.
For issue 2, check the BR bondable flag `BT_CONN_BR_NOBOND` instead of
`SMP_FLAG_BOND`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
This adds new Arm MHUv3 mailbox driver.
The Arm MHUv3 (Message Handling Unit version 3) is a hardware
block designed for inter-processor communication in SoCs.
The ARM MHUv3 can optionally support various extensions to
enable different kinds of transport to be used for communication.
At the moment only the doorbell extension is supported in the
driver.
For more information refer to Arm Message Handling Unit
Architecture
https://documentation-service.arm.com/static/65f01fbab5e3c10fe1335edf
Signed-off-by: Ziad Elhanafy <ziad.elhanafy@arm.com>
Speed things up by using GH runners, we do not need the power of our own
runners to create the test plan. This also simplifies the workflow
considerably.
PRs now will get queued immediately, ie. no need to wait for a Zephyr
hosted runner to create the plan and then wait again for another round
to get more runners for execution.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Updated the stm32f3_disco board user button logic from
active low to active high as per datasheet.
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
Change default pwm to pwm0 on ek_ra6m3 in test app pwm_loopback
to avoid pin conflict with ethernet phy.
Signed-off-by: Ta Minh Nhat <nhat-minh.ta.yn@bp.renesas.com>
Change the pwm default node to pwm0 on ek_ra6m3 to avoid
pinsel conflict with ethernet phy.
Signed-off-by: Ta Minh Nhat <nhat-minh.ta.yn@bp.renesas.com>
Use the `arduino,uno-adc` mapping to change the settings
to make it easier to understand.
Add available A4 and A5 pins.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
udc_ambiq was using USB test mode definition in dwc2 header, which
the include was removed, hence compilation now fails. This commit
fixes the compilation failure.
Signed-off-by: Chew Zeh Yang <zeon.chew@ambiq.com>
This patch allows checking for any custom ARM interrupt controller to get a
non-enabled IRQ line instead of assuming that GIC is enabled
Signed-off-by: Amneesh Singh <a-singh7@ti.com>
As above, the test verify the ability to wake up CPU
from the lowest power state. The test has been
prepared for stm32l562e_dk board.
Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
This test evaluates the residency time of different power states
on the stm32l562e_dk board and calculates the
RMS (Root Mean Square) current for every detected state.
Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
During the test, pytest detects each step and calculates
the RMS (Root Mean Square) current for every detected state.
The test then compares the calculated RMS values
against the expected values.
Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
Add support for 8-channel configurable DMA controller. The driver
supports the following features:
- memory to peripheral (ch0 to ch5)
- peripheral to memory (ch0 to ch5)
- memory to memory (ch6 and ch7)
Each DMA channel is multiplexed between two or more trigger sources:
- ch0 -> SPI0_TX or UART0_RX
- ch1 -> SPI0_RX or UART0_TX
- ch2 -> LRFD or UART0_TX
- ch3 -> ADC0 or UART0_RX
- ch4 -> AES_A or LRFD
- ch5 -> AES_B or ADC0
- ch6 -> Software Event Channel 0
- ch7 -> Software Event Channel 1
Signed-off-by: Julien Panis <jpanis@baylibre.com>
This test fails on older python versions (3.10) and only on CI.
Disabling it while we investigate. The test itself verifies inline logs
options, so the functionality test is not impacted.
Tracked in #87769
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Pin python dependencies to hashes and cleanup/unify python setup steps in
various workflows.
We now have one dependency file containing all requirements for github
actions that is managed centrally with hashes. No direct pip installs
are needed in workflow files and everything shall go via the
requirements file.
Pinning to specific version and hashes helps with preventing supply
chain attacks.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Providing the right config options and a new test scenario,
coredump_backends test will run under the in-memory backend.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
For testing purposes only. Testing the fatal error handler or
a coredump backend. Or just out of curiosity.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
Only meant to be used on platforms that would not wipe the RAM on reboot.
This won't work if the platform is halted and restarted as RAM is
volatile, obviously. A relevant fatal error handler needs to be provided
to reboot.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
This might come in handy for other coredump backends too, not only flash
one. Obviously: changing the logic to use the coredump generic API instead
of the flash backend's internal functions.
Adding a better output, following how the coredump is actually created:
parsing and printing headers, and their respective content.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
Reintroduced by commit 8c9af42a63
("portenta_h7: enable onboard regulator") and becomes annoying to
remove again and again. There is also no test feature usb_cdc.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
get_maintainer.py does not support recursive glob.
In the future, get_maintainer.pl could take advantage of
glob.translate()[1]. Unfortunately, glob.translate() is only supported
from Python 3.14 which is not yet widely adopted.
Meanwhile, just avoid to use recursive globs.
[1]: https://docs.python.org/3/library/glob.html#glob.translate
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
The `tests/subsys/logging/log_stack` test no longer exists.
Remove a reference to the test from the document.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add missing entry for DAI_NXP_MICFIL, which was accidentally removed
during the transition to SDK-NG.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
The new SDK-NG is missing some EDMA-related headers/drivers because of
which the 'dma_nxp_edma' driver no longer compiles with it. Mark the new
SDK as unsupported for this platform until this is fixed.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Fix incorrect payload count at CIS Establish due to existing
CIG event overlapping the ACL event at the instant when the
CIS gets the active flag set.
The overlapping CIG event picked up the new CIS that had its
active flag set in the current CIG event instead of at the
actual CIS offset which is in the next CIG event.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix CIS offset calculation due to use of decremented ACL
event counter, where as the CIS offset is inquired in the
next ACL event.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix incorrect CIS offset in use if instant is picked from
the peer sent CIS RSP PDU. Instead, keep the instant that
was sent in the CIS REQ PDU as the instant to send in the
CIS IND PDU.
This fixes CIS failed to be established when dissimilar
ACL and ISO intervals are in use.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix incorrect payload count at CIS Establish due to existing
CIG event overlapping the ACL event at the instant when the
CIS gets the active flag set.
The overlapping CIG event picked up the new CIS that had its
active flag set in the current CIG event instead of at the
actual CIS offset which is in the next CIG event.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix Peripheral CIS sorted by CIG implemenation to use CIS
offset stored in LLL context which is the correct offset
from the CIG anchor point. CIS offset in the ULL context
is the offset from the ACL anchor point at the time of
the CIS establishment.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix CIS event_count_prepare use missed as part of fixes
related to commit be91cfedfb ("Bluetooth: Controller: Fix
incorrect event_count when CIG overlaps").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
- Sets LinkServer as the default runner for lpcxpresso55sXX boards.
- Unifies the "Configuring a Debug Probe" chapter
for lpcxpresso55sXX boards.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
- Fixes declared memory region sizes in .yaml and .rst.
- Adds SRAMX linker region.
- The lpcxpresso55s36 linker memory regions are:
FLASH =246KB, RAM=112KB, SRAMX=16KB.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
The settings shell returned an unhelpful message when provided
the incorrect arguments. This changes the returned message to
provide the correct usage message.
Signed-off-by: Tim Gibson <timmaxgibson@gmail.com>
dt_chosen_enabled argument was incorrect and it was always returning
n so option could not be used.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
This test is being skipped for the last 3 years, had lots of issues when
it was introduced. No need to keep it in the tree.
If fixed and made to work again, we can always add it back.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Few tests are being skipped for no goot reason (anymore). Add some
coverage using few platforms that work with intention to expand if all
works well and if needed.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Some platforms were excluded due to issues that were fixed or resolved
themselves. Enable those platforms again and remove the comments related
to the issues.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This is a hack that is used until we have proper IP routing
in place. The code has now special check that makes sure that
we only route IP packets to VPN interface when the packet is
destined to that subnet. So if destination IP address does
not belong to VPN interface subnet, it is not routed there.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Instead of calling various network interface API functions to get
the network interface and related source IP address, have a single
function that can return both data.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add support for setting up VPN enablers in the network stack.
These are to be used by the VPN implementation like Wireguard.
Signed-off-by: Jukka Rissanen <jukka.rissanen@gmail.com>
If CONFIG_NET_DHCPV4_OPTION_PRINT_IGNORED is set, then adjust the
tests as we no longer get so many events.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Currently we ignore the received domain name but make sure we
print it in order to avoid unknown option prints.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Currently we ignore the received host name but make sure we
print it in order to avoid unknown option prints.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Currently we ignore the broadcast address but make sure we
print it in order to avoid unknown option prints.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The passive level of the clock does not change instanteneously when
it's set using function XMC_SPI_CH_ConfigureShiftClockOutput().
This means that the passive level of the clock can be in the wrong
state when the chip select goes low.
Fix this by adding a small delay when the polarity changes to allow
the clock to return to the proper level.
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
As part of relocation, this script matches each source file to its
corresponding object file. This matching is done inside of get_obj_filename
which is called once per source file.
get_obj_filename traverses the entire build directory on every invocation.
This is unnecessary since built object files don't change. On a
sufficiently large project (like mine), this script takes over a minute and
the majority of that time is spent needlessly traversing the build
directory again and again.
Caching the list of object files enables this script to run in less than a
second.
I tested by building my project (which enables the relocation script) and
comparing memory breakdown before / after.
Signed-off-by: Galen Krulce <gkrulce@meta.com>
Commit removes device key candidate if provisionee failed
during device key refresh procedure or mesh reset has been
called in between. Otherwise, device key candidate gets
stuck in the internal trusted storage of crypto library.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Avoid compiler warnings for zero-length-arrays in the http-server. By using
memcpy instead of strcpy.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
Besides E51 and U54 SMP variants, one can target
a single core of U54 for testing purposes.
There is already CONFIG_RV_BOOT_HART=1 that specifies
the starting HART ID for the SMP core.
Set CONFIG_MP_MAX_NUM_CPUS=1 as well to limit
the number of physical CPUs visible at build time
so that Zephyr code tries running only on the selected one.
Signed-off-by: Marek Slowinski <mslowinski@antmicro.com>
Now that nRF70 by default uses zero-copy fine-tune the configuration to
get optimal memory while getting peak throughputs.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
This uses the network packet as is without the need for a copy all the
way till the packet is handed over to RPU.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Test was assuming that CONFIG_SYS_CLOCK_TICKS_PER_SEC=100 but such
frequency is not well supported on SoC which are based on 32768 Hz RTC
clock. Align test to be able to work with different sys_clock
frequency by converting previously 20 ticks to milliseconds.
Set CONFIG_SYS_CLOCK_TICKS_PER_SEC=32768 when system clock is using
Nordic RTC timer driver.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
It is already ensured in the fpga logic, that there is only one
interrupt per liteeth dev at a time. So we can remove the irq_lock on rx.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
This patch adds a mutex for the eth_tx() function to prevent multiple
threads from calling the function at the same time.
Also remove the unneded irq_lock in that function.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
According to AVCTP v1.4: On the controller and the target side,
handling of transaction labels is dependent on the application.
Signed-off-by: Zihao Gao <gaozihao@xiaomi.com>
Remove the transaction label mechanism because:
1. Not necessary at stack, typically an application can handle the
timeout mechanism if required (very rarely).
2. It is a burden on memory size to record all pending commands.
Signed-off-by: Zihao Gao <gaozihao@xiaomi.com>
This patch allows the upper layer to acquire the remote AVRCP
capabilities. These capabilities can be further used in register
notifications.
Signed-off-by: Zihao Gao <gaozihao@xiaomi.com>
Since this SoC is equivalent to the STM32F429 SoC, simply include its
device tree and add the 'cryp' node for the hardware cryptographic
accelerator.
Signed-off-by: Mathieu Anquetin <mathieu.anquetin@groupe-cahors.com>
STM32F439 SoC is an STM32F429 with an integrated crypto/hash processor
providing hardware acceleration for encryption (AES and TDES) and hash
(MD5, SHA-1 and SHA-2).
Signed-off-by: Mathieu Anquetin <mathieu.anquetin@groupe-cahors.com>
Remove the redundant keys method when using the
in statement on a dict to fix the Ruff SIM118
warning.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Enhance SPI API documentation.
The improvements include:
- Reorganize the doxygen into logical sections
- Add clear explanations of the CS behavior
- Improved descriptions of buffers and transfers
- Better descriptions of operational modes (master/slave)
- More clear explanation of clock polarity and phase configurations
- More clear explanation of SPI data word concepts and configurations
These changes make the API easier to understand for developers
implementing drivers or applications using the SPI interface.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Update release_rx_buffer return value to match API documentation.
Cleanup register_ept workflow - remove unused variable.
Signed-off-by: Radosław Koppel <radoslaw.koppel@nordicsemi.no>
Increase stack size of supplicant thread to fix crash seen during
enterprise mode connection. Increase heap requirement of hostap
to handle TLS processing failures.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
Convert z_clock_hw_cycles_per_sec to unsigned int to increase
supported frequency range.
Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
Type case CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC to uint32_t
while defining sys_clock_hw_cycles_per_sec_runtime_get()
to extend the range of frequency to 0xffffffff.
Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
Introduce a snippet for configuring IPv4 and IPv6 over Wi-Fi support
in networking samples.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add a dedicated "build_all" test for the NEORV32 and its peripheral
drivers. These drivers depend on the NEORV32 SYSINFO (syscon) and thus
cannot easily be built for non-NEORV32 board targets.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
zephyr:board:: directly already automagically includes board image in
the overview card, no need to also have it in the body of the doc.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The mbox sample uses bellboard events enabled by default
in the nRF54H20dk board definition.
Thus, it's not easily obvious that IRQ bitmask must be aligned
when other mbox/bellboard channel is used.
Add comment to the nRF54H20 overlays.
Inform that bellboard channel used for RX must be enabled in
the 'nordic,interrupt-mapping' property.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
sizeof('\0') is misleading as it will return 4 instead of 1,
since it will evaluate to sizeof(0), which returns the size
of the `int` type. Modify the expression to use sizeof(char)
with a comment.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Fixes typos in the BT_DEVICE_NAME_GATT_WRITABLE_SECURITY and
BT_DEVICE_APPEARANCE_GATT_WRITABLE descriptions.
Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Block the SoC from re-entering sleep modes while the RX line is active,
if the RX activity previously woke the device from the sleep states.
This stops the device from continuously transitioning between the two
modes and improves responsiveness.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Fix dropped `UART_TX_DONE` events when poll out and async APIs are used
on the same port. Clearing `tx_poll_stream_on` is required to prevent
`uart_stm32_isr` from prematurely clearing the TC status bit.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Fix typos in stm32 flash sizes value introduced by commit 0e1ffc7beb
("samples: code_relocation_nocopy: update macro to get flash size").
Fixes: 0e1ffc7beb
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
- Add spaces around /* ... */
- Fix a typo and remove a stray space in the description of
renesas,rz-gpio.yaml to make it visible in doc html
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
When Zephyr boot from EL2, D-Cache, I-Cache and MMU should be disabled
by default, but in some cases, for example use U-Boot "go" command
to boot Zephyr Image, Cache and MMU are already been enabled by U-Boot.
So disable them at reset code to make it safety when the code goes
into C code.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Add generic board support for the RPU, real-time processing
unit on Versal NET SoC. It is based on Cortext-R52 processor.
Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
Signed-off-by: Mubin Sayyed <mubin.sayyed@amd.com>
Add support for the RPU, real-time processing unit on Versal NET SoC.
It is based on Cortext-R52 processor.
The patch contains initial wiring and configuration for generic board
with OCM(1MB) and DDR(2G) memories, cpu, interrupt controller, global
timer and UART.
versalnet.dtsi contains common peripherals integrated into Versal NET
SoC, and versalnet_r52.dtsi has peripherals which are private to
Cortex-R52 processor.
Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
Signed-off-by: Mubin Sayyed <mubin.sayyed@amd.com>
Not sure why this wasn't caught before but this sample needs a unique name
It conflicts with drivers/uart/echo_bot/README.rst
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fix STM32 I2C driver to not call cache management related functions
when DMA is not used. This change fixes an issue introduced by
commit 42c3a78148 ("i2c: stm32: Add cache memory support"). The issue
makes boards embedding this driver with both CONFIG_I2C_STM32_V2_DMA
and CONFIG_ARCH_MPU disabled to fail to build with an error trace message
like the below:
.../i2c_ll_stm32_v2.c:701: undefined reference to `mem_attr_check_buf'
Fixes: 42c3a78148
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Fix compiler warning by adjusting the number of chars copied to the
destination. Compiler does not like if the destination size of the
`strncpy`-operation is the same as the number of characters written. Even
though it is not a bug in this case. Only copying size-1 characters fixes
the warning and exhibits the same behavior.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
Enable wifi node in all procpu dts, so Wi-Fi could be enabled simply by
enabling the CONFIG_WIFI. In turn some sample code overlay files can be
dismissed.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
USB remote wakeup capability is a common feature of keyboards,
allowing them to wake up a suspended host. Currently there is no USB sample
that demonstrates remote wakeup, which makes basic evaluation of the
functionality non-trivial.
Modify the hid-keyboard sample with a minimalistic solution
of demonstrating remote wakeup capability. While it is not required to have
been configured prior to suspend to issue a wakeup request, from usability
perspective I'd say it makes sense.
Signed-off-by: Benedek Kupper <kupper.benedek@gmail.com>
Most of the functionalities of the board are already supported in this
commit and they can easily be tested thought various Zephyr's samples and
tests.
What's still missing are:
- LoRA radio
- audio amplifier
- microphone
but these will be added in follow-up commits.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Use drivers.sensor for all tests related to sensors.
Also change MAINTAINER file to reflect that. It was using
drivers.sensors
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Define Ethernet and MDIO nodes in the RA6 Cortex-M33 SoC device tree
files in a similar manner to the RA8 SoC device tree files.
Removed those nodes from R6E2 SoC as it does not have Ethernet support.
Signed-off-by: Martino Facchin <m.facchin@arduino.cc>
Check if the option bits DT nodes are enabled before including them in
the linker script for all RA SoCs. These must be disabled for targets
that provide a separate bootloader.
This commit adds the DT_NODE_HAS_STATUS_OKAY gates to all RA-series SoC
linker scripts, converting existing ones to the new macro.
The changes in this commit have been mechanically generated using find
and awk tools.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The secure domain IPC node statuses are being used to generate UICRs
which tell the secure domain to attempt connecting to the app and
radio cores. secure domain should only be enabled if used, so the
nodes should default to disabled.
Without this change, the H20 is unable to go to sleep since secure
domain stays awake, persistanly trying to connect to both cores.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Add prompt to Kconfig NRF70_SYSTEM_WITH_RAW_MODES.
It is assigned in a configuration file, but is not directly
user-configurable (has no prompt). It gets its value
indirectly from other symbols.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
This commit provides an extension to the i2c_nrfx_twim driver.
It introduces possibility to acquire/release exclusive access to the
i2c bus. While the exclusive access to the i2c bus is acquired
you can access the underlying nrfx_twim driver directly.
Signed-off-by: Andrzej Kuros <andrzej.kuros@nordicsemi.no>
For CONFIG_USERSPACE the input from gen_app_partitions.py there is
a need to be able to specify input files as well as input sections
patterns for zephyr_linker_section_configure(). This is used for
app partitions from libraries (which generate input patterns like
foo.a:*(.data*)).
This adds documentation to zephyr_linker_section_configure() to clarify
what INPUT allows, and also adds some parsing tricks to ld_script.cmake
to properly add the file patterns when they are missing.
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
It seems as if ld_script.cmake hasnt handled
zephyr_linker_section_configure( ALIGN ...) due to a typo
in a variable name,
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
All in all this makes cmake linker generator able to work for at least
most of the kernel tests and samples, on cortex m4.
Make the cmake linker generator have a file-structure more similar to
the ld-skeletons.
Add or edit groups, sections and logic to make the generator reflect
what the ld-skeletons do, esp. for kobjects and APP_SMEM, nonint and
some other details are also effected.
Use the new zephyr_linker_include_generated() and
zephyr_linker_include_var() functions to to handle
${DEVICE_API_LINKER_SECTIONS_CMAKE}, the kobject-prebuilt-*.h files and
APP_SMEM partition. Essentially the output from gen_app_partitions.py,
gen_kobject_placeholders.py.
Add ALIGN_WITH_INPUT on sections being put into DATA_REGION. This makes
the init layout work for ld.
This leverages the updates in gen_app_partitions.py to generate its
output as cmake linker generator sections too, and puts them into a
group defined in linker.cmake
Setup generator variables for alignment of APP_SMEM. Note that this does
not yet handle MPU_ALIGN which depends on the size of the section...
Fix broken k_object_assignment iterable section
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
Tweak gen_app_partitions.py to be able to generate cmake linker
generator output as well as ld-script fragments.
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
Add methods for the linker-script generator to pick up information
from previus linkerpasses:
* zephyr_linker_include_generated(FILE f.cmake [PASS X] [KCONFIG])
cmake-includes f.cmake in the relevant PASSes. This allows scripts
to generate any content (e.g. sections or section configs) as if
it was generated by the main cmake machiery. This is intended to
cover the case of ld-script snippets generated by e.g.
gen_app_partitions.py
It can also parse KCconfig files to capture @CONFIG_FOO@ variables
* @FOO[,undef:v]@ in an value or expression in the zephyr_linker_*
inputs. This looks for a defintion of FOO (se below), and uses its
value if found. If FOO is not defined, the whole @@ thing is left
untouched, unless ,undef: is used, in which case v is used instead.
* zephyr_linker_include_generated(FILE f.h [PASS x]) greps for f.h
for #define FOO value to be accessed as @FOO@
* zephyr_linker_include_var(VAR FOO VALUE V) allows the main
cmake-script to set a @FOO@ variable.
Note that the #define support is VERY basic, and does not use a proper
pre-processor. It works for the current use of files generated by e.g.
gen_kobject_placeholders.py but is not a general solution.
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
Move creation of the generator arguments file from each target.cmake
into a function (zephyr_linker_generate_linker_settings_file).
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
Add MIN_SIZE and MAX_SIZE options to zephyr_linker_section()
and zephyr_linker_section_configure().
This allows padding (for MIN_SIZE) and link-time checking (for MAX_SIZE)
of sections (and parts of sections).
Clarify comments for zephyr_linker_section_configure
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
Make it possible to have multiple PASS parameters to
zephyr_linker_section() and zephyr_linker_section_configure() sections
(oring them) OR to have multiple PASS NOT p options (in which case the
sections applies in neither of the passes)
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
The serial pipe driver is required when the Zephyr device acts as the
remote of a host application. Especially, frameworks like BTP rely on
this driver.
Until now, the "zephyr,uart-pipe" attribute was missing. So the serial
pipe driver was unable to start.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
When the board has been provisioned and the board is rebooted
it was not possible to connect to the board through the proxy
servcie. This fixes that the Mesh Proxy servive is restarted
after the board is rebooted.
Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
- Fixes the main stack overflow for the fat_fs_api
RAM disk configuration on real platforms.
- Sets CONFIG_MAIN_STACK_SIZE=3072. By default it is 1KB,
but the stack usage is about 2KB.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
QSPI NOR driver non-Quad mode was not tested before.
Add configuration that uses driver in the non-Quad mode.
Signed-off-by: Bartosz Miller <bartosz.miller@nordicsemi.no>
It is easier to separate a sample application Kconfig
values from ones that configure something inside Zephyr.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Add support for running LwM2M client on nRF52840 chip
using nRF9160 as a modem through serial port.
nRF9160 should run Serial LTE Modem application build
from nRF Connect SDK.
nRF9160DK board has two MCU, nRF9160 and nRF52840.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Make Xtensa simulator logging backend depend on more generic
SIMULATOR_XTENSA setting instead of individual SoCs.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
The LoRaWAN SMP transport uses MCUMGR_TRANSPORT_LORAWAN_REASSEMBLY to
enable reassembly. It selects MCUMGR_TRANSPORT_REASSEMBLY, which causes
smp_transport_init to call smp_reassembly_init on the passed transport.
This makes the subsequent call to smp_reassembly_init in the LoRaWAN
transport initialization redundant.
Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Before the fix for #77150 was merged, with LOG_BACKEND_SHOW_COLOR=n and
CONFIG_SHELL_VT100_COLORS=y the shell would still display colors by
enabling the flag in the shell_log_backend.c.
Now, LOG_BACKEND_SHOW_COLOR has to be enabled to allow shell logging
color, but that writes ANSI escape sequences to the log files.
Explicitly disable ANSI color output for the filesystem logging backend.
Signed-off-by: Eric Holmberg <eric.holmberg@northriversystems.co.nz>
Add an empty codeowner file redirecting to MAINTAINERSS.yml file for
clarity and to make some tooling happy.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Allow enabling MBEDTLS_RSA_C without key exchange enabled.
This allows to use RSA without enabling x509 support too.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
remove the FATAL_ERROR message, and leave it just as a message.
also enhance filter for this case with "1pc0" anmd "1pc1"
Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
need add protection when check with sysbuild filter out
application, the domains is NULL
fixes: #87163
Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
The commit adds Kconfig options that allows users to select
- MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
- MBEDTLS_PLATFORM_SNPRINTF_ALT
allowing Mbed TLS to use alternative definitions of STD functions.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The MAX22199 is an IEC 61131-2 compliant industrial digital input device.
The MAX22199 translates eight 24V current-sinking industrial inputs to a
serialized SPI-compatible output that interfaces with 3V to 5.5V logic. It
can operate as eight Type 1/Type 3 digital inputs or four Type 2 digital
inputs. The device provides diagnostic functions, including thermal
shutdown, 24V under voltage alarm, 24V missing voltage alarm, and SPI and
CRC communication error detection.
Signed-off-by: Robert Budai <robert.budai@analog.com>
If socket call fails when mdns_responder creates listeners, then
print the return value to make it easier to figure out what is
wrong. Typically one needs to increase the size of
CONFIG_ZVFS_OPEN_MAX if errno is ENFILE.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Building with clang, it warns:
tests/net/lib/http_server/core/src/main.c:1400:19: error: variable
'http1_header_capture_common_response' is not needed and will not be
emitted [-Werror,-Wunneeded-internal-declaration]
static const char http1_header_capture_common_response[]
^ = "HTTP/1.1 200\r\n"
Add a check to make sure the response actually matches the expected
response.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
- Add new device tree source include file for DA14697 SoC
- Update Kconfig and soc.yml to support the new device
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
ESP32xx appcpu board should only be built with procpu.
Stand alone AMP support makes no sense.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
If CONFIG_TFM_BL1 config has been enabled
bl2_signed.bin/hex image will be be generated during build tf-m
these binaries shall be used while generating tfm_merged.hex
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
Define BL1 and sign key for BL2 configs and pass them to the TF-M
This will allow to trigger BL1 over zephyr and specify BL2 sign key
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
Remove the support of the Nucleo WBA52CG board since it is NRND
(Not Recommended for New Design) and it is not supported anymore
in the STM32CubeWBA from version 1.1.0 (July 2023).
Signed-off-by: Nidhal BEN OTHMEN <nidhal.benothmen@st.com>
In this commit we updated the document page for the sensry
ganymed_bob_sy120 boards.
Signed-off-by: Sven Ginka <s.ginka@sensry.de>
Co-authored-by: Benjamin Cabé <kartben@gmail.com>
Extend `zephyr_library_amend()` to support an optional directory
argument.
The current `zephyr_library_amend()` works well when used inside a
Zephyr module with same structure, but fails when the macro is called
from Zephyr module integration code is located in a Zephyr
`MODULE_EXT_ROOT` because in this case the CMake code being executed
is not present in the Zephyr module itself, in which case the dir name
creation based on relative to module dir give wrong result.
For this use-case then support a base directory.
This also allows for use-cases in Zephyr modules where the directory
structure matching Zephyr's own structure is placed in a sub-folder.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
The simple backend returns the size of the credential,
even if it is too big.
The secure backend should do the same,
our libraries depend on this behaviour.
Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
The help text for connect says
[-b, --band] 0: any band (2:2.4GHz, 5:5GHz, 6:6GHz]
but it disallows setting band to 0. Change this and allow
band 0 option when doing normal connect. Disallow setting
the band 0 when enabling AP mode.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The negative status code is actually the errno which we might
get returned from lower levels. For example if user sets -t
(timeout) option, the -ETIMEDOUT might be returned. In this case
map the errno value to connection timeout status value.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If "wifi connect" fails, tell user why in textual format.
This helps debugging connectivity issues.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Update the HW models module to:
fe4ff0e191a52de4f85ecc3475f0253eca6fc5bf
Including the following:
fe4ff0e CLOCK: Support having or not LFCLK
22f1642 54L CLOCK: Add option to control instantiation of POWER
registers
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Fixes wait for completion problems where the ISR was not sending
out TX NOP's when needed causing the transfer to timeout
Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
OVERLAY_CONFIG has been deprecated and replaced by
EXTRA_CONF_FILE. Update samples to reflect that.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
OVERLAY_CONFIG has been deprecated and replaced by
EXTRA_CONF_FILE. Update samples to reflect that.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
In case a confirmed image gets generated, it should be used during
flash process.
If there is a valid application in second image slot, flashing
*.signed.hex will result in a unconfirmed image in first slot.
After reboot MCUboot will replace the unconfirmed image by swaping
the confirmed application from the second into the first slot.
Signed-off-by: David Schneider <schneidav81@gmail.com>
The LSM6DSV32X part is nearly identical to the LSM6DSV16X but has different
sensitivity scales for the accelerometer (4-32G versus 2-16G). This commit
adds support for this part via the "st,lsm6dsv32x" compatible string.
Signed-off-by: Corey Wharton <xodus7@cwharton.com>
Update migration guide for 4.2 release with an entry about the API
change related to MQTT 5.0 support.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Make sure conditionally compiled parts of the public header related to
MQTT 5.0 support are rendered by doxygen.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
As MQTT 5.0 allows to specify the disconnect reason in the Disconnect
packet, use this new feature to improve error notification to the
broker, according to the error guidelines in the MQTT 5.0 spec.
For most cases, a generic arbitrary mapping between errno values and
reason codes is used, however the parser can specify the disconnect
reason code manually to better handle certain corner cases (like invalid
topic alias used).
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add support for handling topic aliases received from the broker.
The MQTT client implementation will store received topic for further use
in case consecutive PUBLISH received from the broker contains no topic
but alias only.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add support for a new AUTH message introduced in MQTT 5.0.
This is a new mechanism specified by MQTT 5.0, which allows clients and
brokers for enhanced authentication in between CONNECT and CONNACK
exchange. An additional MQTT event (MQTT_EVT_AUTH) was specified which
is triggered when the AUTH packet arrives from the broker.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add support for DICONNECT message specified in MQTT 5.0.
As with MQTT 5.0, the disconnect can now also be initiated by the
broker, it was needed to add decoder support for the message.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add support for PUBACK, PUBREC, PUBREL and PUBCOMP specified in MQTT
5.0. As all of these acknowledgment packets have similar format,
introduced a common encoder/decoder to handle ACK packets.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add support for PUBLISH message specified in MQTT 5.0. The message
encoder and decoder were updated to support MQTT properties.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add support for CONNACK message specified in MQTT 5.0, along with
property decoders required to decode MQTT properties. Decoded properties
are provided to the application within mqtt_connack_param structure,
accompanying the CONNACK event.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add support for CONNECT message specified in MQTT 5.0, along with
property encoders required to encode MQTT properties which is a new
concept in MQTT 5.0. Connect and will properties can be specified by the
application in the mqtt_client structure before connecting.
Introduce a helper function which allows to verify whether MQTT 5.0 is
used or not, so that it's still possible to use MQTT 3.1 even if MQTT
5.0 support is enabled in Kconfig.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The macro did not take into account the 2-byte binary data length
encoded before the actual binary data.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add test variant which enables MQTT 5.0 support. MQTT 3.1.1 should still
work just fine in such case, so it needs to be verified that's the case.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
It should be possible to select maximum supported MQTT version, so that
for example MQTT 5.0 features can be compiled-out in case they're not
needed.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Adds a provision test to check that provisioning bearers are cancelled
when a provisioning link is opened. Modifies the functionality for
receiving unprovisioned beacons to fail the test if a unprovisioned
beacon is received from the current provisionee after a threshold.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Previously, PB-GATT unprovisioned advs would continue being sent if a
device is provisioned or in the process of being provisioned (an active
provisioning link) over PB-ADV.
This commit introduces the `link_cancel` callback for the `prov_bearer`
struct. When a provisioning link is established over a prov bearer, all
other (active) prov bearers will be suspended through this callback, and
re-enabled when the link is closed. An exception is made for PB-REMOTE,
which can utilize the other bearers.
The call to `bt_mesh_pb_gatt_srv_disable` in settings.c is removed. This
is called in `mesh_commit`, and is not needed as this is only used
during boot, at which point the Mesh provisioning service has not yet
been enabled/registered, meaning the function does nothing.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Fix ull_hdr_get_cb() for advanced scheduling to return
ticks_slot for Peripheral role.
Relates to commit d6c3e04eb8 ("Bluetooth: Controller:
Central maximum data PDU size time spacing").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add device clock configuration tests for STM32N6 series boards.
These tests cover ADC, I2C and SPI, using ADC1, I2C1 and SPI5 that are
connected on nucleo_n657x0_q and stm32n6570_dk boards.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Add core clock configuration tests for STM32N6 series boards.
These tests covers CPU clock, system clock, PERCLK and LSE/HSE CSS
configuration.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Enable support for HCLK, PCLK1, PCLK2, PCLK4 and PCLK5 as subsystem
clock sources identifiers on STM32N6 SoCs. HCLKx relates to the AHBx
buses clock and PCLKx relate to the APBx buses clocks.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Add STM32_CPUCLK_SRC_* macros as helper macros to select which source
clock feeds the CPU clock on a STM32N6 SoC.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
For many devices iSerialNumber is not required. The only device class
currently supported in Zephyr that requires iSerialNumber is MSC. If the
serial number is not available then iSerialNumber must be 0. Failure to
read the string descriptor for non-zero iSerialNumber fails USB Command
Verifier Chapter 9 tests.
When USBD_DESC_SERIAL_NUMBER_DEFINE() was used without CONFIG_HWINFO
then it did lead to runtime failure when requesting the string (thus
failing certification).
Fail USBD_DESC_SERIAL_NUMBER_DEFINE() at build-time if CONFIG_HWINFO is
not set to prevent the surprise at runtime. Only define serial number
descriptors if CONFIG_HWINFO is enabled.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
added function to calculate antenna path
based on the antenna permutation index and
total number of antenna paths
Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
SETUP data is unconditionally ACKed by the controller. Other DATA
packets sent to OUT control endpoint 0 (i.e. OUT Data Stage packets
and OUT Status Stage packet) are ACKed by the device only if the
endpoint was enabled with CNAK bit set.
In Buffer DMA mode controller will lock up in following scenario:
* OUT EP0 is not enabled, e.g. OUT Status Stage has finished
* Host starts Control Write transfer, i.e. sends SETUP DATA0 and
device ACKs (regardless if endpoint is enabled or not)
* host sends OUT Data Stage (OUT DATA1)
- software enables endpoint to be able to receive next SETUP data
while host is transmitting the OUT token. If CNAK bit is set
alongside the EPENA bit, the device will ACK the OUT Data Stage.
If CNAK bit is not set, the device will NAK the OUT Data Stage.
When the lockup occurs, from host perspective the OUT Data Stage packet
was successfully transmitted. This can result in host starting IN Status
Stage if there was only one OUT Data Stage packet. This in turn results
in device never getting the DOEPTINT0 SetUp interrupt. Besides just not
getting the SetUp interrupt, any subsequent control transfer won't be
noticed by device at all.
The lockup was first observed while stress testing. The host was issuing
endless sequence of Control Write, Control Read, Control Write, Control
Read, ... commands. When the controller did lock up in Buffer DMA mode,
from host perspective the device was timing out all control transfers.
Avoid the Buffer DMA lockup by setting CNAK bit only when necessary.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Kconfig value LWM2M_ENGINE_MESSAGE_HEADER_SIZE added
an extra headroom for CoAP packet sizes so that
if CoAP Block-Wise transfer block-size is configured
to be same as LWM2M_COAP_MAX_MSG_SIZE, the full
payload block would usually fit to the datagram.
This causes too much confusion to be usable.
CoAP headers and options vary on sizes, and there is
no runtime limitations that we should check the
header size against.
Only real limitation is the CoAP packet size, which
must fit into the UDP datagram with typical DTLS headers.
Only limitation for CoAP block-size then is that
it must fit into the CoAP message with all the headers
and options. But as the option sizes, like path, vary,
it must be checked runtime.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Convert the socket poll logic to use a more lightweight eventfd file
descriptor instead of a socket pair.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
This fix uses the stm32h745i-disco openocd configuration instead of the
st_nucleo_h745zi configuration as the latter seems to be broken in
openocd as shipped by zephyr-sdk-0.17.0.
Signed-off-by: Martin Thiede <martin.thiede@accenture.com>
Add CAN support by configuring fdcan1 in the device tree for the M7
core. As with other H7xx boards, it will be clocked by pll2 which is
also turned on.
Updated documentation.
Tested on nucleo_h755zi_q board.
Signed-off-by: Martin Thiede <martin.thiede@accenture.com>
Mention that NEORV32 processor templates are now supported via board
variants and clarify the NEORV32 version compatibility entry.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Update the NEORV32 board documentation to list the supported board targets
and describe how to customize these to match custom NEORV32
implementations.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Add a MinimalBoot board variant for the NEORV32 board. The software
configuration of this board matches the NEORV32 "MinimalBoot" processor
template.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Refactor the existing NEORV32 board to become a UP5KDemo board variant for
the NEORV32 board. The software configuration of this board matches the
NEORV32 "UP5KDemo" processor template.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Implement the '.reset' interface in the nrfx-timer driver
to allow the upper layers to use the counter_reset
function.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Implement the '.reset' interface in the native-posix driver
to allow the upper layers to use the counter_reset
function.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Add a counter_reset function to the counter subsystem
to reset the counter value to zero. Introduce
a reset interface at the driver layer to implement
the counter_reset function.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Names the enums declared in `gap.h` and replaces references to them
with Doxygen references (@ref).
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
The U-Blox M10 seems to interleave UBX and NMEA messages in a way that
confuses the M8 driver leading to missing the same message that directly
follows the UBX part every time (leading to no navigation updates).
As the driver does not parse the UBX blocks during normal operation anyways
it can just be disabled.
Signed-off-by: Jakob Riepler <jakob+zephyr@chaosfield.at>
Disable/enable endpoints even if the new alternate is the same as the
current one, forcing the endpoint to reset to defaults.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Do not report canceled transfers as an error and continue the transfers
regardless of the previous transfer status.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The i3c group address support is rather very incomplete here. Remove
references to it. This could all easily come back when/if group support
comes in.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Move PR body check to a workflow that monitors editing of PRs.
Avoids rerunnin compliance check and other heavy weights workflows on
just an edit of the PR body.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit introduces a new workflow that checks for SHA-pinned GitHub
Actions on pull requests.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Move functions `bt_sco_cleanup()`, `bt_conn_create_br()`,
`bt_hci_connect_br_cancel()`, and `bt_conn_get_dst_br()` from `conn.c`
to `conn_br.c`.
Change the function `bt_hci_connect_br_cancel()` to internal public
function.
Add a header file `conn_br_internal.h`. And declare the function
`bt_hci_connect_br_cancel()` in the header file.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The flash size is the second part (size) of the first reg value,
not the first part (address) of a nonexistent second reg value.
DT_REG_SIZE get a node's (only) register block size instead
DT_REG_ADDR_BY_IDX .
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Clarifies the use of identity in `bluetooth.h` by specifying whether the
documentation refers to the identity address, i. e. the actual address
`bt_addr_le_t`, or the identity handle, i. e. an index corresponding to
a specific identity address.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Make the zephyr,input-sdl-touch driver be multi instance and add the
possibility to associate it with a display. The input events are only
emitted if the events occured on this display.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Adds storing of the zephyr display device struct inside of the windows
user_data, so it can be used inside of the SDL touch driver context for
checking the origin window of a received event.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
if CONFIG_PM=y, board will enter low power,
which will cause problem for debugger.
So for ztest cases, we need enable this to avoid problem.
This used to apply to soc/platform level, now remove them.
Signed-off-by: Hake Huang <hake.huang@nxp.com>
Several members of the ull_hdr can be removed, saving 12 bytes
from all ULL instances used (and a bit of code as well)
ticks_active_to_start is always 0 and can be removed completely
ticks_prepare_to_start is always set to
HAL_TICKER_US_TO_TICKS(EVENT_OVERHEAD_XTAL_US), so replace usage
of it by this constant
ticks_preempt_to_start is always set to
HAL_TICKER_US_TO_TICKS(EVENT_OVERHEAD_PREEMPT_MIN_US), so replace
usage of it by this constant
In addition, remove logic handling usage of XON_BITMASK since it
was only used by the long removed legacy LL
Signed-off-by: Troels Nilsson <trnn@demant.com>
The lost_payloads calculation in ull_conn_iso_start() could easily
end up negative for CIS with FT > 1; Add a check to avoid this
Signed-off-by: Troels Nilsson <trnn@demant.com>
MAX14917 is an eight high-side switch, specified to deliver up to 700mA
(min) continuous current per channel. The high-side switches have
on-resistance of 120mΩ (typ) at 25°C ambient temperature
Signed-off-by: Robert Budai <robert.budai@analog.com>
Moves the MPU6050 accel/gyro scale settings from KConfig to Devicetree.
Adds a new setting for the MPU6050 sample rate divider register and
transmits it to the sensor upon initialization.
This helps to reduce the interrupt firing rate when combined with the
data ready trigger.
A default division factor is provided which ensures compatibility with
existing applications.
The MPU6050 sample application is extended and used for hardware tests.
Signed-off-by: Tilmann Unte <unte@es-augsburg.de>
Since there's now a single Kconfig and header file for Mbed TLS it makes
more sense to name them:
- Kconfig.mbedtls (instead of Kconfig.tls-generic)
- config-mbedtls.h (instead config-tls-generic.h)
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
These headers are basically a copy of those found in the official
Mbed TLS repo in the "configs" folder. However these are unmaintaned
(i.e. not updated when Mbed TLS is bumped to a new version) and
also unused in Zephyr. Therefore there's no benefit in keeping
them around.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Add support for setting the sample frequency via `attr_set` and the
output data rate from device tree source.
Signed-off-by: Fredrik Gihl <fgihl@hotmail.com>
Use compiler trick to allow operations with all types of arguments.
Previous solution was using arg+0 with suppressing compiler warning
about pointer arithmetic operations but it was not covering for
opaque struct pointers.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
As one should not instantiate sockaddr struct (only have pointers
to it), but only use struct sockaddr_storage to store the
socket address information. In order to simplify the casting,
create net_sad() macro that casts a "struct sockaddr_storage *" to
"struct sockaddr *" which can then be used by other macros in the
networking stack.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Update the hal_stm32 with the new pinctrl DTSI files
based on the stm32cubeMX 6.14.0
Especially defining the debug_njtrst_pb4 of the swj_port
Signed-off-by: Francois Ramu <francois.ramu@st.com>
There is const used in a few places and some hacks to get around
that const. Just remove the const as well as remove the hacks.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Modify stream_rx.c so that the calls to FAIL are guarded
by the newly added valid_rx_cnt.
This helps prevent timing issues, especially with
broadcast, where the first SDU(s) may be delayed from
the application, and thus may be missed/contain errors.
Now it will only treat missing or error SDUs as a FAIL
if we have received a valid SDU. All fails, will still be
logged. We now also log both valid and total count.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
i.MX95 M7 is using multi-level interrupts with custom
interrupt handling. So, arm_custom_interrupt and
arm_irq_vector_table tests should exclude it.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Added support to get irq from dts node, because some platforms may
use multi-level interrupts, and the system INTID may not be connected
directly to interrupt controller.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Before that fix we read the inpupt register when toggling
gpios. With this fix, we now read the output register for
toggling a pin.
Signed-off-by: Sven Ginka <s.ginka@sensry.de>
Due to the introduction of `shell_fprintf_normal` in PR #77192, we can
minimize caller overhead by eliminating direct `color` parameter passing.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Aligned the `struct shell *` argument name from `shell_ctx` to `sh`
for consistency with other drivers' usage of `sh`, and to match
the `shell_cmd_handler` argument name.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Currently stderr is printed only if dtc encounters warnings, but it's
not printed in case of errors. However this information can be useful
to quickly identify and resolve the problem.
To solve this let's add "COMMAND_ERROR_IS_FATAL ANY" to execute_process()
so that CMake will fail in case of errors and a proper message will be
printed on the output.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
If we end up writing zero bytes to cmux output, we can return
zero instead of -ENOMEM as it would break various modules when
using small buffers. For example modem_chat.c does not tolerate
-ENOMEM but handles zero OK.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Allow configuring MTU for CMUX.
Some AT manual and specification define this as a
frame size. Linux ldattach default to 127 bytes,
3GPP TS 27.010 defaults to 31.
We should limit our CMUX frames to a size that
remote end is capable of handling.
Linux silently drops oversized frames.
Also, remove MODEM_CELLULAR_CMUX_MAX_FRAME_SIZE as
this was only limiting a buffer sizes, and resulted
CMUX frames to be capped to same value.
Use MODEM_CMUX_WORK_BUFFER_SIZE and MODEM_CMUX_MTU instead.
Also rename CONFIG_MODEM_CELLULAR_CHAT_BUFFER_SIZES to
CONFIG_MODEM_CELLULAR_CHAT_BUFFER_SIZE as it is now
only used as a Chat module. DLCI pipes use
CONFIG_MODEM_CMUX_WORK_BUFFER_SIZE.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Use `UINT_TO_POINTER` to convert a number to pointer.
Use `POINTER_TO_UINT` to get a number from a pointer.
Fixes#87527.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Hexadecimal integer literals are signed if they can fit into a signed int,
which causes undefined behavior.
This happens here because 0xFF can fit into a signed int and then gets
left-shifted by 24, undefined behavior for signed integers.
Signed-off-by: Daniel Hajjar <daniel.hajjar16@gmail.com>
When the GATT server is enabled the proxy advertiser
server need to be stopped. This solved a bug where the
Mesh Proxy Service is not restared.
This fix is done to fix several failing PTS test that
was failing when CONFIG_BT_MESH_ADV_EXT_GATT_SEPARATE
was enabled. Calling the stop_proxy_adv was left out
in a prevouis commit when doing code cleanup.
Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
Update the quarantine section in the twister.rst documentation
to include information about excluding specific platforms,
architectures, and simulators
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Quarantine filter was not correctly identifying the simulator name.
Now it uses the simulator name from the Platform object,
ensuring that quarantined tests are properly excluded or verified
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Added MCO register definition to support MCO functionality in the STM32WL
series. This update also includes the addition of MCO_PRE_DIV and MCO_SEL
defines.
Signed-off-by: Martin Durietz <martin.durietz@gmail.com>
Add support for additional line control signals. Improved configuring
uart_config_flow_control options.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
The STM32WB09 TRNG does not clear FIFO_FULL IRQ flag in hardware once the
FIFO is no longer full, a behavior which differs from all other series.
This results in spurious IRQs, as the TRNG IRQ line effectively remains
high forever once a single interrupt has been generated.
Clear the flag in software after reading from the FIFO on STM32WB09 SoC.
N.B.: the error IRQ flag is already handled properly, as this flag must
also be cleared by software on other series.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
CONFIG_SOC_STM32WB09XX implies CONFIG_SOC_SERIES_STM32WB0X, making it
pointless to assert the latter is defined before checking the former.
Simplify #ifdef checks in the entropy driver's LL wrappers thanks to
this observation, by removing unnecessary nesting.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Add Renesas RA board support for i2c test use sci_b_i2c:
- tests/drivers/i2c/i2c_api
Example for i2c use sci_b_i2c:
west build -b ek_ra8m1 tests/drivers/i2c/i2c_api/ -p always \
-DDTC_OVERLAY_FILE=boards/ek_ra8m1_sci_b_i2c.overlay \
-DCONF_FILE="boards/ek_ra8m1_sci_b_i2c.conf"
Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
Remove unnecessary check that the SPI clock is being set to a frequency
above 2 MHz to allow devices running at common lower frequencies (i.e.
1.2 MHz and 400 kHz).
Replace with check that the frequency is not below the minimum frequency
supported by the chipset to prevent overflow error which can occur if
the HAL sets a frequency too low resulting in a SPI clock much larger
than expected.
Fixes#69986
Signed-off-by: David Lim <dlim04@qub.ac.uk>
The Generic Provisioning protocol requires that a transaction must be
acknowledged before the next Generic Provisioning PDU is processed
(section 5.3.3, MshPRT_v1.1).
In the current PB-ADV implementation, if there is an ongoing transaction
(link.tx.adv points to a valid advertisement), any received Generic
Provisioning Start and Continuation PDUs are ignored.
This creates a scenario where a remote device misses the Transaction
Acknowledgment PDU and retransmits the last PDUs, but they are ignored
by the local device because the local device has already started sending
the next Provisioning PDU.
In particular, in the observed failure, the Provisioner missed the
Generic Transaction Acknowledgment PDU during the transmission of the
Provisioning Data PDU.
This commit modifies the processing logic for Generic Provisioning Start
and Continuation PDUs by checking if the received PDU has already been
received. If so, it attempts to re-send the Generic Transaction
Acknowledgment PDU.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
There is no point in calling k_event_test() to determine what events are
posted and then passing that value to k_event_clear(). Simply pass
UINT32_MAX to k_event_clear() and use the return value to slightly
reduce overhead.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
OUT endpoint 0 cannot be disabled and therefore the only way to forcibly
reclaim the buffer is to reset the core. The reset does not finish if
PHY clock is not running, but just triggering the reset seems to be
enough to be able to reclaim the buffer.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
When the endpoint is disabled while the core is hibernated, there are
timeouts waiting for interrupts. It is not clear how the stack should
behave when class and/or application wants to disable the endpoint while
device is suspended. The problem was originally observed when the
endpoints were disabled as a result of usbd_disable() call.
Avoid the timeouts by modifying the backup values instead of the real
registers (which are not accessible when hibernated).
Split the 32-bit txf_set variable into two 16-bit variables (txf_set and
pending_tx_flush) because maximum number of TxFIFO instances is 16.
The txf_set variable is used as-is, while the pending_tx_flush is used
to keep track of TxFIFOs that have to be flushed on hibernation exit.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Add the following property renaming entries to
the migration:
* io_girq
* vw_girqs
* pc_girq
* poll_timeout
* poll_interval
* consec_rd_timeout
* sus_chk_delay
* sus_rsm_interval
Signed-off-by: James Roy <rruuaanng@outlook.com>
IUT works as a SDP Server. The peer device, SDP client, is a PC with
running `bumble` on it.
Define 10 SDP records. 8 normal SDP records. one SDP record with large
service name that cannot be discovered by peer since the data length
exceeds the MTU of SDP. And one SDP record with large service name
that can be discovered by peer but `continuation state` needs to be
involved.
By default, no SDP record will be registered.
Add shell command `register_sdp` to register specific SDP record.
Add shell command `register_sdp_all` to register all normal SDP
records.
Add shell command `register_sdp_large` to register SDP record with
large service name that cannot be discovered by peer.
Add shell command `register_sdp_large_valid` to register SDP record
with large service name that can be discovered by peer.
In the test suite, there two test cases,
Case 1, discover the IUT.
Case 2, connect to the IUT. And send serial SDP discovery requests.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
openamp_rsc_table will run on the i.MX95 M7 core and can communicate
to the A55 that runs linux-imx.
Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
The Messaging Unit 7 peripheral is made available for
use with IPC such as OpenAMP/RpMsg. MU7 connects
to the A55 core
Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
Option OPENAMP_COPY_RSC_TABLE is added for cases where the placement of the
.resource_table section is not controlled by the remote. This option lets
zephyr do the copying of the .resource_table section to a specified memory
region.
Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
Add .resource_table section to the linker script for the
i.MX95. This section is used by intercore communication to
publish features and configurations to the remote
Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
The Bluetooth Classic sdp_client was the last user
of the ctx_shell, which could easily be removed.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add the tests/bluetooth/classic/ path to the Bluetooth Classic
label and exclude it from the host (LE) label.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Winget has become the standard Windows package manager, and it already
contains all the packages required for Zephyr development. Switch to it
from Chocolatey for simplicity and consistency with the OS.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
When CONFIG_COVERAGE is enabled then performance is degraded.
In that case higher baudrates shall be avoided because CPU may
not have enough time to handle UART interrupts. Limit baudrate
to 115200 when CONFIG_COVERAGE=y.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The interface workq thread and supplicant handler thread
did not had names set to them. Set the names so that it is
easier to find them from "kernel thread stacks" list.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
This commit changes to use ambiq hal power control APIs
to replace the previous register settings to power on
ambiq drivers.
Signed-off-by: Hao Luo <hluo@ambiq.com>
Add support for the IP_MULTICAST_LOOP socket option to control
multicast packet loopback.
Signed-off-by: AbdElRahman Khalifa <abdelrahman.5alifa@gmail.com>
Zephyr toolchain abstraction provides a macro __aligned(x) to add specified
alignment, in bytes, to a chosen symbol for C/C++ source files but there is
no portable counterpart available for symbols defined in assembly source
files. This change-set adds a new macro ALIGN(x) for this purpose.
Signed-off-by: Irfan Ahmad <irfan.ahmad@siemens.com>
The Xilinx AXI Ethernet subsystem is commonly found in FPGA designs.
This patch adds a driver and device tree bindings for the Ethernet MAC
core and its MDIO controller.
The driver was tested on a RISC-V softcore in an FPGA design, with an
RGMII phy and Ethernet subsystem version 7.2 Rev. 14. Device tree
bindings match the device tree generated by Vitis hsi. Note that Vitis
generates one of the two included compatible strings depending on
version.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
k_thread_priority_set() on a pended thread wasn't re-inserting into the
waitq, causing the incorrect thread to run based on priority. When using
the scalable waitq config, this can also break assumptions of the tree
and leave the owner of a waitq still being in the waitq tree, cycles in
the tree, or a crash.
Remove and re-add a thread to a waitq to ensure the waitq remains in
order and the tree's assumptions are not violated.
To illustrate the issue, consider 4 threads in decreasing priority
order: A, B, C, and D along with two mutexes, m0 and m1. This is
implemented in the new complex_inversion mutex_api test.
1. D locks m1
2. C locks m0
3. C pends on m1
4. B pends on m1
5. A pends on m0, boosts C's priority, now tree on m1 is not sorted
6. D unlocks m1, left-most thread on tree is B. When removing B from
tree it cannot be found because it searches to the right of C due to
C's boosted priority when the node is actually on the left. rb_remove
silently fails.
7. B unlocks m1, left-most thread on tree is still B and it tries to
unpend itself, resulting in a NULL pointer dereference on
B->base.pended_on.
Signed-off-by: Josh DeWitt <josh.dewitt@garmin.com>
The options for BT_CTLR_CENTRAL_ISO and
BT_CTLR_PERIPHERAL_ISO did not have the proper defaults not
dependencies when BT_LL_SW_SPLIT=y
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Rename the nxp,a_on and dma_channels properties
to nxp,a-on and dma-channels in the devicetree
and bindings of the DMA subsystem.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Removes functions that would handle deprecated variables and
functionality from CMake within Zephyr that were deprecated in
Zephyr 3.1 onwards but before 3.7
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Implement Set/Clear Feature endpoint halt request and
fix the corresponding commands in the shell.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The device command is broken due to the overhaul of how USB devices are
handled in the host stack. Add a device address argument to all device
commands and obtain a pointer to the USB device during command
execution.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The section lists that govern whether the ELF
section is recognised or not are out of date.
A programming bug has rendered the unrecognised
section check unrunnable for years.
Thus, the practically dead code of the
unrecognised section check is removed
in this commit.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
Enable support for using an external clock as the main clock.
When bypass mode is enabled, the external crystal oscillator is bypassed,
and the main clock is directly driven by an external clock signal.
Signed-off-by: Perry Hung <perry@mosi.io>
Changed all to use the full version (e.g. 1.0.0 instead of
1.0).
Add version for the ones that were missing.
Changed version of CAP to 1.0.1.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Building libraries.cmsis_dsp.distance with clang warns:
tests/lib/cmsis_dsp/distance/src/f32.c:99:3: error: variable 'val' is
used uninitialized whenever switch default is taken
[-Werror,-Wsometimes-uninitialized]
default:
^~~~~~~
tests/lib/cmsis_dsp/distance/src/f32.c:104:19: note: uninitialized use
occurs here
output[index] = val;
^~~
tests/lib/cmsis_dsp/distance/src/f32.c:57:16: note: initialize the
variable 'val' to silence this warning
float32_t val;
^
= 0.0
Not really necessary since there is a zassert_unreachable, but doesn't
hurt to initialize the variable.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Make sure we install packages with no issues, some of the issues being
reporting on packages we might install using pip:
Warn: Project is vulnerable to: PYSEC-2019-41 / GHSA-qfc5-mcwq-26q8
Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc
Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56
Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h
Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg
Warn: Project is vulnerable to: PYSEC-2017-74
Warn: Project is vulnerable to: GHSA-55x5-fj6c-h6m8
Warn: Project is vulnerable to: PYSEC-2014-9 / GHSA-57qw-cc2g-pv5p
Warn: Project is vulnerable to: PYSEC-2021-19 / GHSA-jq4v-f5q6-mjqq
Warn: Project is vulnerable to: GHSA-pgww-xf46-h92r
Warn: Project is vulnerable to: PYSEC-2022-230 / GHSA-wrxv-2j5q-m38w
Warn: Project is vulnerable to: PYSEC-2018-12 / GHSA-xp26-p53h-6h2p
Warn: Project is vulnerable to: PYSEC-2024-4 / GHSA-2mqj-m65w-jghx
Warn: Project is vulnerable to: PYSEC-2023-165 / GHSA-cwvm-v4w8-q58c
Warn: Project is vulnerable to: PYSEC-2022-42992 / GHSA-hcpj-qp55-gfph
Warn: Project is vulnerable to: PYSEC-2023-137 / GHSA-pr76-5cm5-w9cj
Warn: Project is vulnerable to: PYSEC-2023-161 / GHSA-wfm5-v35h-vwf4
Warn: Project is vulnerable to: GHSA-3f63-hfp8-52jq
Warn: Project is vulnerable to: GHSA-44wm-f244-xhp3
Warn: Project is vulnerable to: GHSA-56pw-mpj4-fxww
Warn: Project is vulnerable to: GHSA-j7hp-h8jx-5ppr
Warn: Project is vulnerable to: PYSEC-2023-175
Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h
Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6
Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf
Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc
Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f
Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm
Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52
Warn: Project is vulnerable to: GHSA-c6fm-rgw4-8q73
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
New test case is for building an application simultaneously
utilizing SPIM120, SPIM120, SPIS120 and SPIS13x.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
Extend runtime PM to support fast instance (spis120) which requires
additional action in suspend/resume phase.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
It is defined as spis120 rather than spi120,
because spi120 is already used for SPIM120 hardware instance,
but their base address is different.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
Add support for the STM32WB0 series to the existing STM32 driver for
Independent Watchdog peripheral.
NOTE: this commit only includes basic support for the watchdog.
STM32WB0 specificities such as the different possible clock sources, LSI
frequency measurement or window support are left for future implementation.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
In 9d7ee123a5
the regex used to verify the sample is doing what it should was changed
in a way in which it cannot possibly pass.
Let's fix it.
While at it, in the same commit, the simulator version of the test was
merged with the real_hw version, but the test name kept "real_hw" which
is now missleading => let's fix it.
And let's set as integration platform the simulated target, so it
can actually be runtime tested in CI.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Make reading and writing string values more flexible:
1. Eliminate the intermediate buffer when saving a string
setting. This needlessly limited the maximum string
length that could be saved using the shell command.
2. Do not add nor assume that a string saved in the settings
includes the null-terminator. The settings subsystem uses
metadata for encoding the value length, so there it is
redundant to also store the null-terminator in flash.
By the way, also make sure the command handlers only return
-EINVAL and -ENOEXEC error codes as documented in the
handler type description.
Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
When loading an extension, read-only sections that do not have
relocations and whose data is accessible from the ELF buffer can be
directly mapped as-is in the extension memory. This avoids the need to
allocate and copy unmodified data from the ELF buffer to the LLEXT heap.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This patch moves the alignment checks for MPU and MMU regions to the
beginning of the llext_copy_region() function. This is done to ensure
that the correct region alignment and size are used even in the case
where the region is reused from the ELF file buffer, avoiding MMU/MPU
configuration issues.
This also relaxes the same checks for regions that are accessed by the
kernel only (e.g. symbol and string tables), which do not need special
MMU/MPU treatment. This exposed an inconsistency in the MMU code, which
was setting the permission on the correct regions, but later restoring
the default permissions on every region, including the now-unaligned
ones.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This patch adds three new macros to initialize an llext_buf_loader
structure with a specific storage type. The existing LLEXT_BUF_LOADER
macro is discouraged, since its storage type is not explicitly defined
in the code but relies on the CONFIG_LLEXT_STORAGE_WRITABLE option.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This patch introduces an 'enum llext_storage_type' that defines the
storage type of the ELF data that will be loaded:
- LLEXT_STORAGE_TEMPORARY: ELF data is only available during
llext_load(); even when the loader supports directly accessing the
memory via llext_peek(), the buffer contents will be discarded
afterwards.
LLEXT will allocate copies of all required data into its heap.
- LLEXT_STORAGE_PERSISTENT: ELF data is stored in a *read-only* buffer
that is guaranteed to be always accessible for as long as the
extension is loaded.
LLEXT may directly reuse constant data from the buffer, but may still
allocate copies if relocations need to be applied.
- LLEXT_STORAGE_WRITABLE: ELF data is stored in a *writable* memory
buffer that is guaranteed to be always accessible for as long as the
extension is loaded.
LLEXT may freely modify and reuse data in the buffer; so, after the
extension is unloaded, the contents should be re-initialized before a
subsequent llext_load() call.
To keep full compatibility with existing code, the storage type of
LLEXT_BUF_LOADER is determined by the CONFIG_LLEXT_STORAGE_WRITABLE Kconfig
option between LLEXT_STORAGE_PERSISTENT and LLEXT_STORAGE_WRITABLE.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Adding this information allows easy cross-reference of the effects of
memory optimization changes between subsequent commits.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Since we are using ZTest, if we use the ZTest paradigm properly, we
don't need a logging module, since ZTest already logs what it does.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Instead of having a bunch of giant if conditions and just running
all the test cases from one actual ZTest case, convert all the test
cases into proper ZTest test cases.
Removing the returns is now required because otherwise there will be
compiler warnings, and they were never doing anything anyways in the
event of zassert fail. ZTest cases are meant to report pass or fail with
ztest paradigm, not with return values and log messages.
Also move the test of the spi lock/release to a separate test suite
since it is not really testing an actual bus transfer, but rather a
that a feature in the SPI API is respected.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
More boy scout rule, I noticed every single test case was using
different variations of C syntax to declare the buffers, this is
inconvenient to the reader, make a standard way to declare buffers used
for the test.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
There was a lot of copy paste of this code:
int ret;
ret = spi_transceive_dt(spec, &tx, &rx);
if (ret) {
LOG_ERR("Code %d", ret);
zassert_false(ret, "SPI transceive failed");
return ret;
}
This is quite redundant and can be simplified.
Also, return is not needed because a failed zassert
will not continue to return anyways.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Following the boy scout rule, since I am using this test a lot lately
and going to improve it, the first step will be to clean up the
structure of the file. The following changes are made:
- Remove unused #includes
- Condense some #if #else macro defines or make into single line, to
simplify the readability of the preprocessor code
- Move definitions around so that related things are all next to
each other, instead of randomly scattered around the file
- Create section header comments for broadly related things in the file
to improve developer navigation experience
- Introduce macro for copy pasted print buf size calculation
- A few minor comment edits
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Remove the inline attribute from stm32 clock drivers functions
especially for functions that are only referenced in the clock API
operation structure and therefore cannot be inline. As a generic
comment, today compiler are smart enough to optimize embedded software
without needing inline function attributes in the source files.
This change hopes that next stm32 clock driver will no more replicate
this bad habit when using existing source files as implementation
examples.
No functional change.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
IN_RANGE() macro from zephyr/sys/util.h returns a boolean value
so it should be treated as such and not compared to a decimal value.
Fix stm32 clock drivers accordingly and simplify places where the
value is compared to true.
No functional change.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Correct typo in STM32H7 HSI clock calibration directives introduced
in commit 6b167f2596 ("drivers: clock_control: add calibration for
h7 pllx_hsi") that currently has no functionnal impact but is worth
to be fixed for consistency.
No functional change,
Fixes: 6b167f2596
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Remove function exported stm32_system_clock_update() defined in
STM32H7RS series clock driver but that is not used and not even declared.
There already exists a CMSIS SystemCoreClockUpdate() function in
STM32 HAL drivers for the exact same purpose one may use if needed.
No functional change.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Integrate codeql code scanning from github to do basic static code
analysis on python, actions, js.
c/cpp to be added later.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Moved away from a texlive docker container to a vanilla ubuntu runner
so that we can better track the actual dependencies a user needs to
build the PDF rather than relying on the gigabytes of random stuff
that the texlive docker container pulls in.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Removed coverxygen installation from the CI workflow and added it to the
requirements.txt/.in files and make it easier for anyone to potentially
use it locally.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
For Kconfig auto-configuration of the FEM in the MPSL,
the node in the device tree MUST be named
"nrf_radio_fem".
Signed-off-by: Randy Scott <randy.scott@ezurio.com>
This clarifies the documentation of `bt_le_ext_adv_start_param` and
`bt_le_ext_adv_cb.sent`, and links them by via references.
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
Add ULP directory for samples related to the
Ultra Low Power Coprocessor.
Add a sample to demonstrate the debug process of the LP Core
Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
Add ULP Coprocessor board support for C6.
This requires a change in the board qualifier depending on the build
target.
Update esp32c6 overlay and configuration files to the proper name.
Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
Following warning is printed if using strncpy(), so use memcpy()
instead. Note that this is false positive as there is no error here but
in order to avoid the warning, change the copy function.
subsys/net/lib/dns/mdns_responder.c:1371:25: warning:
'strncpy' output may be truncated copying 7 bytes from a string
of length 8 [-Wstringop-truncation]
1468 | strncpy(if_req.ifr_name, name, sizeof(if_req.ifr_name) - 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
subsys/net/lib/dns/mdns_responder.c:1468:25: warning:
'strncpy' output may be truncated copying 7 bytes from a string
of length 8 [-Wstringop-truncation]
1468 | strncpy(if_req.ifr_name, name, sizeof(if_req.ifr_name) - 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add support for the IPV6_MULTICAST_LOOP socket option.
This option allows enabling or disabling the consumption of multicast
packets by the sender. By default, the socket option will be enabled.
Co-authored-by: Pieter De Gendt <pieter.degendt@gmail.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
TLS_CREDENTIAL_SERVER_CERTIFICATE credential type is misleading, as in
fact it just represents a public certificate, it does not matter if the
certificate belongs to a server or a client. And actually, it was
already used in-tree for clients as well, for example in LwM2M.
Therefore rename the credential type to a more generic
TLS_CREDENTIAL_PUBLIC_CERTIFICATE and deprecate the old one.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
If there are no virtual interfaces attached to this virtual
interface, check if there is a RX handler for this virtual
interface and pass data to it.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Clear all previous events when register is called a second time. This is
the same behavior as before, if the call happens with `len` equal or
greater then the previous call but in the case if `len` is less then the
first call, now, all events are cleared. This is more predictable behavior.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
- Define alarm_set_callback() only when CONFIG_RTC_ALARM is set otherwise
a warning will be generated at runtime for the function not being
used.
- add "static" keyword to all internal functions.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Clear display only when display pixel format is actually supported
since buffer size depends on it.
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
Change pinctrl-0 dts prop as optional in case DSI display is used
Add these APIs support: set_brightness, set_contrast, get_framebuffer
Add a new config to select frame buffer section
Signed-off-by: Danh Doan <danh.doan.ue@bp.renesas.com>
Keep the err in code as it is convention in Bluetooth code, remove ret,
change error_code as avdtp_err_code for avdtp protocol error.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
We drop the packet if TTL or hop limit is 0, but we should
also unref the packet in this case because we return 0 to
the caller which is not then able to free the packet because
it thinks that the packet was sent properly.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The test_send_ipv6_fragment_without_hbho() test did not set link layer
protocol type for the packet. It is needed in this case because we
are sending a ready made packet and the protocol type is unknown
otherwise.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The check_ip() in net_core.c did not check that the packet
Ethernet type is either IPv4 or IPv6. This meant that we for
example checked TTL also for ARP packets which is pointless as
those are not IPv4 packets.
Fix this by checking the link layer protocol type of the packet
to be either IPv4 or IPv6 before doing L3 checks.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
This maps to Zephyr power state Standby. In this power
state the OS Timer cannot be used as a wakeup source as
it will be powered off. Hence the counter is enabled
and RTC is used to keep track of system ticks and wakeup
the system.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Since the clock source when running in PM mode 3 is the
slower 1KHx clock, we adjust the SYS_CLOCK_TICKS_PER_SEC
value to get better accuracy.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
This clock is used for certain peripherals such
as RTC.
On certain RW612 boards such as rd_rw612_bga, XTAL32K
and ENET share pins. Add code to check if ENET and
XTAL32 are enabled at the same time.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
nRF70 driver now uses a separate heap, so, no need to explicitly
configure the kernel heap.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
In the linker script generator there was one error checking
construct that used regexp and that ended up in the generated
linker file, which caused parsing problems with the IAR
linker. It was unnecessary. Also updated
common-rom-kernel-devices.ld.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
Add support to work with the LCD-PAR-S035 display
that is connected over the PMOD interface.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Add support for the LCD-PAR display to communicate over
the SPI bus which is available on the PMOD connection interface.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
The TOOLCHAIN_DISABLE_WARNING/TOOLCHAIN_ENABLE_WARNING macros are easier
to read and compiler agnostic.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
The TOOLCHAIN_IGNORE_WSHADOW_BEGIN and TOOLCHAIN_IGNORE_WSHADOW_END
macros can be replaced with the more generic
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_SHADOW) and
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_SHADOW) macros.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Recently 0ae0c3dc44 allowed for three digit priorities, this resulted
in objects potentially matching multiple sections, for example:
.z_init_PRE_KERNEL_2_0_0_
.z_init_PRE_KERNEL_2_?_*
.z_init_PRE_KERNEL_2_???_*
This does not seem to be detected by ld, but the IAR linker emits a
warning.
Add some extra qualifiers in the object section name to make it
unambiguous, this has the extra value of making it easier to interpret,
for example going from:
.z_init_POST_KERNEL_90_00012_
to
.z_init_POST_KERNEL_P_90_SUB_00012_
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Fix K_MEM_PARTITION_P_RX_U_RX definition to allow code execution from
userspace. Add K_MEM_PARTITION_P_RX_U_NA definition that allows code
execution only by kernel.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Move the common VLAN setup code to samples/net/common directory
so that other network samples can utilize that too.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Move the common VLAN setup code to samples/net/common directory
so that other network samples can utilize that too.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Move the common VLAN setup code to samples/net/common directory
so that other network samples can utilize that too.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Move the common VLAN setup code to samples/net/common directory
so that other network samples can utilize that too.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Move the common VLAN setup code to samples/net/common directory
so that other network samples can utilize that too.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add tests that will verify that IP address with an optional mask
string is properly parsed.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Adding a helper to parse one or more IPv4/6 strings with optional
netmask or prefix length.
Example of the string:
2001:db8::1/64,192.0.2.1,2001:db8::2,192.0.2.2/24
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
All connection information was printed only if connection debugging
was enabled which then did not print information about Wireguard or
DHCP handlers. Limiting the printouts like this is not really needed
so print all connection information with "net conn" command.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
It is useful in testing to allow user to change the default
network interface by "net iface default <index>".
Also print out the default interface for "net iface" and
"net iface default" commands.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Sometimes it is useful to view low level network interface information
in the network shell. Enable such prints if network interface debugging
is enabled.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Instead of just printing a warning, fail (return != 0 to the shell)
if a test is missing, or a pattern does not match any test.
Also, warn (and return != 0) if no tests are found when SEARCH_PATH
is provided.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
We never got to add any multidevice tests to the UART driver tests.
So let's not try to run that empty set in CI.
(we have some multidevice UART tests for BT).
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
tests/bsim/bluetooth/ll/bis/tests_scripts/broadcast_iso.sh
was split in two in 872b19321f
but for the 54L15 and 5340 it was forgotten in the list of
tests to run.
Let's fix it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add calls to sys_trace_idle and sys_trace_idle_exit in nrf54h specific
idle states to allow measuring CPU load on nrf54h20 when power
management is enabled.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add sys_trace_idle_exit to RISCV cpu_idle functions and allow
enabling CPU_LOAD module for RISCV and disable it for SMP.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add new tag to xg29_rb4412a.yaml file and remove pm ignore tag in order
to enable more tests for the xg29_rb4412a board.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Add some overlay files for the silabs xg29_rb4412a board to enable tests
on the board. Also add the platform to some testcase.yaml files.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Remove deprecated nxp,kinetis-lptmr compatible string
which is superseded by nxp,lptmr compatible due to
removing family specific name.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
These socs were missing a config line to disable SYSTICK if the LPTMR is
configured for the system timer, similar to how other SOCs do this for
alternative system timers than systick.
This fixes build errors in the case where that lptmr kconfig is enabled.
Also, the LPTMR kconfig should be default no because it is a secondary
option for the system timer, being lower resolution than systick. This
also resolves build errors.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The set size can now be dynamically set and notified.
The rank is added as a argument in the case that changing
the set size, also affects the device's rank, as ranks
in a coordinated set needs to be continuous.
The set coordinator implementation has been updated
to support receiving the new set size, and providing
this information to the upper layers.
This commit adds a babblesim test for the new API,
as well as a shell command.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The current overhead check needlessly flushes some events for
CONFIG_BT_TICKER_SLOT_AGNOSTIC resulting in some lost or incomplete
advertising events; Use a lower overhead value for this configuration
to avoid that
Signed-off-by: Troels Nilsson <trnn@demant.com>
Since tester_send_with_index may be called in different threads,
we need to guard the 2 calls to uart_send to avoid
sending partial btp message from 2 or more threads.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Migrate LINKLAYER_PLAT_EnableIRQ and LINKLAYER_PLAT_DisableIRQ
from linklayer_plat.c (hal/stm32 module).
Signed-off-by: Nidhal BEN OTHMEN <nidhal.benothmen@st.com>
Migrate LINKLAYER_PLAT_EnableRadioIT and LINKLAYER_PLAT_DisableRadioIT
from linklayer_plat.c (hal/stm32 module) and adapt it using irq
Zephyr APIs.
Correct casting of irq type between using NVIC APIs or irq Zephyr APIs
Signed-off-by: Nidhal BEN OTHMEN <nidhal.benothmen@st.com>
Increase the link layer thread priority to be more than the BLE CTRL
thread and more than the Zephyr BLE stack threads.
Signed-off-by: Nidhal BEN OTHMEN <nidhal.benothmen@st.com>
This commit adds support for Wi-Fi status and statistics
functionalities:
- wifi status : Displays the current mode status.
- wifi statistics : Provides details on the transmitted and
received packet counts.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
This commit adds support the following wifi commands:
- wifi ap disconnect: Disconnect a specific station from the AP.
- wifi ap stations: List connected devices.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
This commit introduces Access Point (AP) mode support
It enables the following AP-related commands:
- ap enable: Enable the AP mode.
- ap disable: Disable the AP mode.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Adds a test to verify Armv8.1-M MPU architecture's PXN attribute.
Verify PXN via static mpu config by utilizing existing __ramfunc MPU region
Since previous commit changes the behaviour of __ramfunc region,
executing userspace code in this region in privileged mode will
result in an MPU fault while execution in unprivileged mode should
work fine.
Verify PXN via DT by creating a custom section in the unused SRAM region.
Since the overlay sets the PXN attribute for the SRAM, executing code
in this region in privileged mode will result in an MPU fault while,
execution in unprivileged mode should work fine.
Also, instead of testing DT config for each board, do it only for MPS3
boards that which can be tested with simulation.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
What is the change?
- PXN attributes is set for static mpu regions such that
__ramfunc and __ram_text_reloc having userspace code
cannot be executed in privileged mode.
- Updated the notable change section to inform about the change in
behaviour of code executed from __ramfunc and __ram_text_reloc MPU
regions.
Why do we need this change?
- The current static MPU regions allows executing userspace/unprivileged
code from privileged mode which may not be expected and can lead to
secure privileged escalation attacks.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
What is the change?
This commit adds support for Armv8.1-M MPU architecture's PXN attribute.
This includes support for configuring MPU regions with PXN via
custom mpu_config, devicetree and static mpu_config.
The existing MPU region attribute macros are updated to retain existing
behaviour with this change with an addition of REGION_RAM_ATTR_PXN to be
used if one needs to configure a RAM region with PXN MPU attribute.
Why do we need this change?
Armv8.1-M architecture introduced a new MPU region attribute called
Privilege eXecute Never (PXN).
If an MPU region is configured with the PXN attribute set and if the,
processor attempts to execute code in this region while at
privileged level, a Memory Management Fault exception is triggered.
This ensures that specific tasks are executed only in unprivileged mode
and helps in preventing secure privilege escalation attacks.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Add possibility to configure open drain and pull up on nPM2100's
interrupt output through DTS flags.
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
For a CIG with a CIG Sync Delay larger than a SDU interval, we cannot
be sure that we can target the very next ISO event when the CIG event
is ongoing; Only reduce event_offset if CIG Sync Delay is smaller
than an SDU interval
Signed-off-by: Troels Nilsson <trnn@demant.com>
clean up usage of select USE_STM32_LL_RCC and
select USE_STM32_LL_PWR from Kconfig.stm32
this modifications due to the include unconditionally of
stm32xxxx_ll_rcc.h and stm32xxxx_ll_pwr.h in HAL.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
clean up usage of select USE_STM32_LL_IPCC from Kconfig.stm32
this modifications due to the include unconditionally of
stm32xxxx_ll_ipcc.h in HAL.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
clean up usage of select USE_STM32_LL_RNG from Kconfig.stm32
this modifications due to the include unconditionally of
stm32xxxx_ll_rng.h in HAL.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
clean up usage of select USE_STM32_LL_RCC, USE_STM32_LL_EXTI
and USE_STM32_LL_PWR from Kconfig.stm32
this modifications due to the include unconditionally of
stm32xxxx_ll_rcc.h, stm32xxxx_ll_exti.h and
stm32xxxx_ll_pwr.h in the HAL.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
clean up usage of select USE_STM32_LL_spi from Kconfig.stm32
this modifications due to the include unconditionally of
stm32xxxx_ll_spi.h in the HAL.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
This commit workarounds the BBRAM status register write issue in npcx4:
A write operation to the BKUP_STS register might disable write to all
the Battery-Backed RAM (BBRM). The workaround is to perform a fake read
from the BKUP_STS register after every write to this register.
Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
Add `overlay-dhcpv4.conf` for using this sample with DHCPv4.
When the DHCPv4 client is enabled, we must have a large number
for `CONFIG_ZVFS_EVENTFD_MAX`.
This sample may be frequently used with the DHCPv4 client,
so we'll add the extra config file.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Use a video control ID in the private range rather than using an existing
CID, as the emulated imager does not effectively applies these properties
to the image feed and are just for API test purpose.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Remove the test pattern generator implemented inline in video_emul_imager,
as this feature is overlapping with VIDEO_SW_GENERATOR, and does not add
value to the driver.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Deduplicate the registers of "modes": only a single definition of each:
pixelformats, resolutions, framerate.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Depending on the log mode selected, the device name will be visible
for every log message, so not useful to add it again in the log payload.
Various other log improvements also added.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Only store a single line of the full frame. This allows to support a
large enough frame size to remove the Kconfig option, which simplifies
the implementation (fewer checks needed).
Signed-off-by: Josuah Demangeon <me@josuah.net>
Default to `permissions: read-all` in all workflows and then add
additional permissions as needed at the job level
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Some projects may have needs for more than 99 priority levels, so add
a third linker input section for each obj level.
Signed-off-by: Josh DeWitt <josh.dewitt@garmin.com>
Ensure the priority is surrounded by underscores for clarity. This makes
sections show up as
z_init_PRE_KERNEL_1_0_0_ instead of
z_init_PRE_KERNEL_10_0_
Signed-off-by: Josh DeWitt <josh.dewitt@garmin.com>
clang-format will remove the space after the equals sign causing link
issues. Disable clang-format for some linker macros since they should
not be formatted as C code.
Signed-off-by: Josh DeWitt <josh.dewitt@garmin.com>
Update hal_stm32 to add the history of the released binaries
to be flashed in the Cortex-M0 coprocessor.
Signed-off-by: Nidhal BEN OTHMEN <nidhal.benothmen@st.com>
Return -ENOTSUP in phy_mii_cfg_link when a fixed-link configuration is set,
indicating that MDIO read/write operations are not supported.
Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
Modified nxp_enet_phy_configure to handle -ENOTSUP returned by the PHY
driver, indicating a fixed-link setup. If -ENOTSUP is returned, a warning
is logged, and PHY configuration is skipped without causing initialization
to fail.
Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
Building docs just works on vanilla GH runner so it can be convenient
to not prevent the workflow to run on forks.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Ensure we run the latest version of this action (and align with what is
already used for bsim-tests)
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Following the revert in the previous commit, pin the actions/checkout
action to align with what is now the accepted practice in the project.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This reverts commit b80526658c
and restores the original use of looking for changed files
before triggering a documentation build.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
On timeout, it's possible for the controller to be in a bad state.
This change initiates the transfer abort sequence which can recover
from these cases and make the bus usable again.
Signed-off-by: Corey Wharton <xodus7@cwharton.com>
Fixing the precedence of the cast in z_tmcvt_int_div_32 and
z_tmcvt_int_mul_32 functions so the final result is of type
uint32_t.
Fixes#87226
Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
ESP32-S2 and ESP32-C6 does not have or support
bluetooth. Ignore any tests cases related to this peripheral.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
On IMX9596 the AON/WU clocks aren't controllable are on by default.
But TPM1 and TPM3 uses the clocks, by not enabling these clocks
on both TPM1/TPM3 will initialize succesfully.
Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
Add the i2c_configure_dt function in the i2c
subsystem to simplify calls through spec by
eliminating unnecessary member references.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Add an i2c_configure_dt function, that is equivalent
to calling i2c_configure(spec->bus, dev_config) to
simplify the calling.
Signed-off-by: James Roy <rruuaanng@outlook.com>
The DesignWare I2C driver has already implemented supporting reset device
behavior.
However, the support is incomplete because the `snps,designware-i2c.yaml`,
does not contain a `reset-device.yaml`.
Add include directive to `snps,designware-i2c.yaml` to including
`reset-device.yaml` to complete the support for reset device.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
The flash size is the second part (size) of the first reg value, not the
first part (address) of a nonexistent second reg value.
Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
This commit imrpoves the bluetooth.h documentation by adding @briefs and
@details to all the structs and enums lacking such, as well as
clarifying the existing documentation.
Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
Add a warning in the build system if both `CONFIG_PM` and
`STM32_ENABLE_DEBUG_SLEEP_STOP` are enabled at the same time. The first
is likely only enabled if the SoC is intended to be driven into low
power states to save power, while the later prevents the SoC from being
as low power as it can be.
Signed-off-by: Jordan Yates <jordan@embeint.com>
commit 0e4cf09b55 has modified the
protocol to be encoded in network order, pull the fix to convert to host
order before using protocol field.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
This commit eliminates warning message raised by GCC when option
'-Wmissing-field-initializers' or '-Wextra' is used.
Signed-off-by: Alex Fabre <alex.fabre@rtone.fr>
Removed logger.setLevel(...) from all twister modules, becasue
there should be only one place where twister loggers are configured,
and the log level should be set in that place.
This should be done in twister_main.py in setup_logging function.
Signed-off-by: Lukasz Fundakowski <lukasz.fundakowski@nordicsemi.no>
It was detected by test_sw_isr_irq_parent_table_idx in arch.interrupt:
ASSERTION FAIL [table_idx < (186 - 0)]
@ WEST_TOPDIR/zephyr/arch/common/multilevel_irq.c:91
table_idx(186) < IRQ_TABLE_SIZE(186)
NUM_IRQS was previously set to the same value as MAX_IRQ_PER_AGGREGATOR
and it didn't take into account the number of 1st level interrupts
specified by 2ND_LVL_ISR_TBL_OFFSET. In the generated __sw_isr_table,
Level 2 interrupts start at the offset specified by 2ND_LVL_ISR_TBL_OFFSET.
For PolarFire SoC, upper interrupt sources for PLIC correspond to
Bus Error Unit and Fabric Interface. They are currently not used by
platforms in Zephyr, so the previous value of NUM_IRQS hasn't caused
issues for regular applications.
As it doesn't look like an explicit memory optimization, increase NUM_IRQS
to allow kernel interrupt tests to pass.
Note:
2ND_LVL_ISR_TBL_OFFSET=13 and NUM_IRQS=199 don't include additional
48 Local Interrupts supported by cores. In total, there are
64 bits in Machine Interrupt Pending Register (mip)
which can be used to configure 1st level interrupts.
As a further extension to the platform, values could be extended to
2ND_LVL_ISR_TBL_OFFSET=64 and NUM_IRQS=250. This commit increases
NUM_IRQS by a minimal value required to pass kernel interrupt tests.
Link: https://ww1.microchip.com/downloads/aemDocuments/documents/FPGA/ProductDocuments/ReferenceManuals/PolarFire_SoC_FPGA_MSS_Technical_Reference_Manual_VC.pdf
Signed-off-by: Marek Slowinski <mslowinski@antmicro.com>
Apply dependabot suggested updates to the `scorecard` workflow to pull
latest versions of the actions.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This commit follows up on e808ccfxy and completes the pinning of *all*
GitHub Actions to SHAs, including GitHub-owned `actions/*` actions.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add more parameters to command `connect` and `register`, including mode,
mode_optional, extended_control, and hold_credit.
Add command `credits` to give the rx credit.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add a sub-command set `l2cap` for command set `br`.
Move command `l2cap-register` to sub-command set. And rename it to
`register`.
Add command `connect`, `disconnect`, and `send` for command set
`l2cap`.
Remove original net buffer pool from `data_pool` to `data_rx_pool`.
Add a net buffer pool `data_tx_pool` for command `send`.
Do not wait anymore if no net buffer can be allocated from
`data_rx_pool`.
Dump all received data in L2CAP data received callback.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Improve the retransmission and flow control to support sending
multiple SDU at the same time if the TX windows is not full.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add mode optional support for BR l2cap connect initiator role.
If `chan->rx.optional` is true, set the mode to basic mode instead of
return error code `-ENOTSUP`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Enable signaling channel configuration for retransmission and Flow
control feature.
Send I-frame and S-frame. Support retransmission and Flow control for
sending.
Receive and handle I-frame and S-frame.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add option to force integration mode on a defined list of tests, for
example tests for sample that are identified with 'sample.'.
A sample per definition shall be tested on documented and supported
platforms listed in the sample documentation. Samples shall not be used
as tests to verify functionality of a feature on all available plaforms
in Zephyr.
To still allow testing on platforms not listed in the doc, and when such
platforms are covered by the provided filter, we should still be able to
build/run the tests on those platforms (not directly listed in
integration_platforms).
We detect a sample by its test identifier, i.e., it starts with 'sample.'.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Added configuration for new audio PLL service.
Pull in new service implementation in new hal nordic.
Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
For different values of reorder buffer throughputs are consistent,
Setting reorder buffer size to half of the RX buffers configured.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Removed some typos.
Co-authored-by: Benjamin Cabé <benjamin@zephyrproject.org>
Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
The original flow of socket_service thread handling the Zperf UDP RX
packets is: zsock_poll() polls all sockets for events, if ctx->recv_q
of Zperf is not empty, it will call trigger_work() -> udp_recv_data()
-> zsock_recvfrom() to read only one UDP packet from ctx->recv_q, then
go back to zsock_poll() and run the same process again, which is
inefficient.
The alternative solution is, in udp_recv_data(), it should exhaust all
the packets in the current ctx->recv_q, and then go back to
zsock_poll() to run the same process again.
In our Wi-Fi test case, for WPA3 security mode of 5GHz, the STA UDP RX
throughput can be improved from 91.48 Mbps to 99.87 Mbps, the SAP UDP
RX throughput can be improved from 85.97 Mbps to 96.00 Mbps.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Rewrote the warning levels for toolchain IAR as IAR tools just turn
off warnings, not on. Also did some minor cleanup for coding
guidelines.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
Extend support in dt bindings and in the driver to allow use of
AIN8 to AIN13 analog inputs.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
During raw scan, Need to disable NRF_WIFI_MGMT_BUFF_OFFLOAD.
UMAC will send beacon and probe responses directly to the host,
regardless of the mgmt_buff_offload flag's value.
Host needs to resubmit buffers to LMAC.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
ENTROPY_NRF_CRACEN_CTR_DRBG symbol is based on devicetree
node with compatible nordic,nrf-cracen-ctrdrbg. It does not
have to be selected explicitly.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
Enabled west flash and west erase for nRF54L20 PDK FLPR core.
Added missing reset qualifier for nRF54L20 and nRF54L09.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
The stack will no longer implicitly set the data path
for ISO channel, and the responsibility for doing that is
now for the upper layers/applications.
This provides additional flexibility for the higher layers
as they can better control the values and timing of the data
path, as well as support removing and even reconfiguring the
data path at will.
This also removes some complexity from the stack.
This commit also fixed a inconsistency in the disconnected
handler. CIS for centrals as well as BIS were still valid
bt_iso_chan channels in the disconnected callback,
but CIS for peripherals were completely cleaned up at this
point. This issue is fixed by moving the disconnected callback
handling to before the code to cleanup the channel for
peripherals.
Since there is a difference in how you remove data paths
depending on the GAP role (central/peripheral), the
iso_info struct type has been expanded to be more
concise of which type of CIS it is.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Convert Norik's boards documentation to use the zephyr:board-supported-hw
directive to specify supported hardware features.
Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
Exclude RZ/A3UL SMARC board as the redefined CONFIG_SRAM_BASE_ADDRESS
degrades the BUILD_OUTPUT_ADJUST_LMA option that will generate a bin
file >10GB
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
RTC alarm is not supported by the driver for now due to the complexity it
would take to work around an hardware erratum. However, it is not possible
to prevent CONFIG_RTC_ALARM from being enabled at Kconfig level.
Modify the RTC driver such that enabling CONFIG_RTC_ALARM on STM32WB0
series does not cause build errors anymore.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
This include seems redundant as the driver builds fine without
it being included. When including soc.h it also causes issues
if one utilises the xenvm board when compiling. I suggest this
is removed completely as it seems unnecessary to create this
tight coupling to a specific SoC as the driver implementation
is describing itself perfectly well, and works well without
this soc.h-file.
Signed-off-by: Kent Stark Olsen <kent.stark.olsen@gmail.com>
The Xilinx xuartps driver fails to find the correct pre-scaler
parameters for the BAUDDIV and BAUDGEN registers. This fix
corrects that behaviour. The reason why it fails is due to
the stop condition for the search being ill-conditioned.
The stop condition is based on a baudrate error, and this
was chosen to be 3 percent. This would cause the parameter
search to stop too early returning ill-condotioned pre-scaler
parameters. This has been corrected by setting the stop condition
to be 3 permille instead of 3 percent. This change was tested
with an AMD Zynq Ultrascale+ MPSoC ZU3EG.
Signed-off-by: Kent Stark Olsen <kent.stark.olsen@gmail.com>
hw_wdt_dev may not be NULL and the device not be ready to be used.
If that is the case we explicitely initialize task_wdt_init with
NULL and do not use hw watchdog.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
This was inspired by the detection of 2 instances of the warning:
warning: 'strncpy' specified bound 16 equals destination size
[-Wstringop-truncation]
The current code is already safe with regards to overflows, because
fixed-length string functions are used in the call tree. However, when
given a name 16 chars or larger, the current compare in llext_by_name()
will not work as expected because the stored extension name is truncated
to a max of 15.
Define a global LLEXT_MAX_NAME_LEN constant to simplify all this logic
and also implement name checks in the shell before calling llext_load().
Finally, using strlen() instead of strnlen() gets the real length of the
hex string passed as a parameter, which is important for the next safety
check.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Makes the sample build only in automatic test CI
Running on the nucleo_f411re board requires hsi enable
Running on the nucleo_wba55cg can still output the console
on the usart1 Tx even if the usart1Rx is used by the MCO output
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Clarify the documentation in the README.rst file. Also remove the
obsolete comment from main.c as it is no longer correct.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Replace manually authored hardware features table with the new Zephyr
board supported hardware directive which automatically generates an
up-to-date table based on the boards' Devicetree.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
Instead of hardcoding a set of paths and trying to find the JLink
executable in them, use the corresponding Windows registry to locate it:
`HKEY_CURRENT_USER\\Software\\SEGGER\\J-Link`
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The logic to detect the default JLink location was placed at the top of
the script, executing whenever the script was imported. The west
extension command framework loads all runners when initializing, and so
this logic was being executed even when using another runner.
Move the logic to a function that is only executed when the JLink runner
is selected, to avoid executing it at all times.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The first two partitions in padconfig mmr regions need to be unlocked for
the pinctrl driver to be able to write. However, the base addresses for the
the registers can be different across SoCs and domains. Besides, currently
this is only done for M4 and that too not in the local (M4's) view.
This patch introduces a file specifying all ctrl partition base addresses
using ifdef directives for different SoCs and variants, and unlocking them
before the kernel and drivers initialize.
Signed-off-by: Amneesh Singh <a-singh7@ti.com>
-Update the ETH_STM32_HAL menu configuration to conditionally
select USE_STM32_HAL_RIF if SOC_SERIES_STM32N6X is enabled.
-Align Ethernet descriptors to 32 bytes for STM32N6 to ensure
efficient DMA operations and improve cache line efficiency
and overall performance
-Add RISAF configuration in eth_initialize function for STM32N6
series to set up master and slave security attributes
for the Ethernet peripheral.
-Ensure RISAF configuration is done before enabling
the Ethernet clock to maintain proper security attributes.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Update STM32N6 pinctrl dtsi files with the ETH pins
Add STM32N6 Ethernet pinctrl config to stm32-pinctrl-config.yaml
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
When converting raw values to integer and fractional (micro) parts, the
fractional part must be a signed integer.
- Fix prototypes where the fractional part was declared as unsigned.
- Fix comments which did not match the declared type.
Signed-off-by: Christophe Tournery <christophe.tournery@freshape.com>
Currently, the L2 PPP won't work with AF_PACKET socket family as it only
supports packets from AF_INET/AF_INET6 families. Because of this, it's
not possible to use AF_PACKET RAW or DGRAm sockets with PPP interfaces,
as the packets they generate have family field set to AF_PACKET.
Fix this, by verifying the LL protocol field in the PPP L2 before
passing the packet the respective PPP driver. If the AF_PACKET packet is
received, and the protocol field is set to IP/IPv6, update the packet
family to AF_INET/AF_INET6 accordingly.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Use %zu for size_t and %zd for ssize_t, and don't use those specifiers for
any other type. Also make sure that field width specifiers get typecast to
the expected int type.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
There is a configuration of the DCDC in the clock_init for the RT10xx.
The RT11xx has a kconfig flag ADJUST_DCDC to enable or disable DCDC
adjust code. This flag is now also used for the RT10xx to be able to
enable or disable the DCDC adjust code.
Signed-off-by: Adrian Bieri <adrian.bieri@loepfe.com>
Currently, siwx917 have three instances of uart: ulpuart, uart1 and
uart2. However:
- The other drivers on siwx91x (i2c, dma, i2s, etc...) rather use
'ulp', '0' and '1'.
- The reference manual also uses 'ulp', '0' and '1'.
The source of the confusion probably come from the clock driver in
WiseConnect which use clocks USART1 and USART2. However, this probably
not expected.
So, this patch renames uart1 and uart2 in uart0 and uart1. This change
also impacts the names of pins and the names of the clocks.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
WiseConnect documentation says:
Default value of 100 millisecs is used when
SL_WIFI_DEFAULT_ACTIVE_CHANNEL_SCAN_TIME is passed".
However, this is not true. Currently, DEFAULT_ACTIVE_CHANNEL_SCAN_TIME
is 0xFFFF and the scan time is set to 65 seconds.
To have the default scan time, the value '0' must be used.
Fortunately, '0' is also the value we get when the user does not specify
any default scan time. So the code can be simplified.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Allow to configure the preemtiveness of the ethernet rx-thread independent
of the traffic-class queue.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
Replaced the `-r nrfjprog` option with `-r nrfutil` in the flashing
instructions for the nRF5340 Audio DK board.
NCSDK-30139.
Signed-off-by: Grzegorz Ferenc <Grzegorz.Ferenc@nordicsemi.no>
Several devices have hardware-specific additional limits for
how short a sleep cycle can be. Add an entry for devices based
on Silabs sleeptimer when the OS tick rate is equal to the timer
frequency.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
In the case where more than a full tick was unannounced when
sys_clock_set_timeout() was called, the timer driver would
subtract it from the next timeout. However, this is already
done by the caller through the elapsed() function in timeout.c,
leading to the timer interrupt firing too early.
With this fix, SYS_CLOCK_TICKS_PER_SEC can be increased to the
full speed of the low frequency timer. The underlying sleeptimer
API must be called with a timeout of at least 1, and will if needed
increase the value to the minimum value required by the hardware.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Add device tree support for ST Morpho connector pins on the
nucleo-g474RE board, enabling access to GPIO pins available
on both left and right morpho headers.
Signed-off-by: Thomas Günther <thomas.guenther@limatica.com>
Replaced the read-modify-write sequence with a single read and write
operation, preventing the intermediate value is wrongly used to filter
out logs of another thread with higher priority that preempts the current
thread.
Signed-off-by: Dong Wang <dong.d.wang@intel.com>
This commit moves the assignment of backend IDs from the 'z_log_init'
function to the earlier 'log_core_init' function. This ensures that
backend IDs are assigned before they are used in the 'log_backend_enable'
function, preventing incorrect settings of log dynamic filters.
Signed-off-by: Dong Wang <dong.d.wang@intel.com>
Added Kconfig options to allow use of TWIM frequency
workaround in NRFX for nRF52 and nRF53.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
The adsp_mm_save_context function was previously mapping memory without
explicitly setting write permissions, which could lead to a "store
prohibited" exception when attempting to write to the memory. This patch
adds the K_MEM_PERM_RW flag to the arch_mem_map call to ensure that the
memory is mapped with write permissions.
This change resolves the issue of accessing memory without the necessary
permissions, preventing potential exceptions and ensuring correct memory
operations. The issue was found when running the firmware on a
simulation with the MMU enabled.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Adds zephyr:board and zephyr:board-supported-hw directives to the
Arduino docs in order to generate more of the boards' documentation
automatically.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add the configuration for using the external FLASh Memory
and execute the samples/application_development/code_relocation_nocopy/
on the stm32f746g_disco board
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add the configuration to download and execute code in the
external flash of the stm32f746 disco kit :
ext memory attribute to support code execution and external flash loader
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Extend spi_loopback test on nRF54 chip family.
Add configurations to run this test at 8/16/32 MHz.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Add short transfer test at 8000, 16000, 32000, 44100, 48000, 88200
and 96000 frame clock frequency.
Add KConfigs to skip test cases based on value of sample rate.
Add configuration for nrf5340dk where i2s peripheral is clocked
from ACLK.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
In spi loopback test, high bandrate is 16Mbps while some source of lpspi
are too low to support this bandrate. According the reference mannual,
to support 16Mbps, Input frequency at least should be 2*16MHz.
Update LPSPI input freq to maximum to get more accurate band rate
because band rate must be divisible by input freq.
Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
Expect that networking is properly setup, by expecting
NET_EVENT_L4_CONNECTED event and listening for TCP/UDP incoming traffic on
both IPv4 and IPv6.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Set NET_ADDR_PREFERRED before network event is generated, so that conn_mgr
properly generates NET_EVENT_L4_CONNECTED and NET_EVENT_L4_IPV6_CONNECTED
events.
Fixes: 1a5e13a79b ("net: if: Release the interface lock early when
starting IPv4 ACD")
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Set NET_ADDR_PREFERRED before network event is generated, so that conn_mgr
properly generates NET_EVENT_L4_CONNECTED and NET_EVENT_L4_IPV4_CONNECTED
events.
Fixes: 1a5e13a79b ("net: if: Release the interface lock early when
starting IPv4 ACD")
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
List NEORV32 v1.11.2 as the currently supported version. No changes to the
in-tree drivers needed for the changes between v1.11.1 and v1.11.2.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Convert the nxp boards that have general init functions
as SYS_INITs to use board_early_init_hook instead.
Also standardize selection of CONFIG_BOARD_EARLY_INIT_HOOK in the
Kconfig file across NXP boards.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Building with clang warns:
tests/lib/cmsis_dsp/distance/src/u32.c:82:3: error: variable 'val' is
used uninitialized whenever switch default is taken
[-Werror,-Wsometimes-uninitialized]
default:
^~~~~~~
tests/lib/cmsis_dsp/distance/src/u32.c:87:19: note: uninitialized use
occurs here
output[index] = val;
^~~
tests/lib/cmsis_dsp/distance/src/u32.c:47:16: note: initialize the
variable 'val' to silence this warning
float32_t val;
^
= 0.0
Hitting the default switch will assert, so this won't cause any problems
as written, but it doesn't hurt to initialize the variable.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Instead of re-implementing or assuming that POPCOUNT is available
we now use the generic function from Zephyr.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Adds a generic function that will count the number of bits set in
a value.
It uses POPCOUNT (e.g. __builtin_popcount for GCC) if available,
or else it will use Brian Kernighan’s Algorithm to count bits.
POPCOUNT will likely always support unsigned ints, but the function
was implemented to use it with uint8_t for the sake of simplicity
and compatibility with Brian Kernighan’s Algorithm.
A generic solution was chosen rather than a macro/function per
type (e.g. uint8_t, uint16_t, etc.) as that is easier to maintain
and also supports array types (e.g. counting the number of bits
in 128 or 256 octet arrays).
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add ZTEST_NO_YIELD to keep test case output consist.
The log may missing, as the soc goes to low power.
Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
Explicitly set the OpenOCD target-handle so `west debug` will work
as expected on MAX32 targets using a supported OpenOCD version.
Signed-off-by: Pete Johanson <pete.johanson@analog.com>
The ADI fork of OpenOCD prints a modified version line; adjusting the
regex to account for that different format when checking the OpenOCD
version.
Signed-off-by: Pete Johanson <pete.johanson@analog.com>
We disable power management by removing select HAS_PM. At this time
these new SoC do not have any power management code. With HAS_PM
selected the zephyr test runner will choose PM tests which fail to
build. PM support will be enabled in the future once we decide
which of the many Zephyr PM implementations we will support.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
This commit updates all GitHub Actions workflows to use specific
SHAs for the actions when they're not GitHub owned (`actions/*`)
instead of using tag-based versioning since tags are mutable.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Boards might have local bindings for which generating links using the
dtcompatible role doesn't work -- update the code accordingly so that
we can still provide a description of these custom bindings in the table
of supported features (but with no hyperlink).
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME depends on
CONFIG_SYS_CLOCK_EXISTS, so CONFIG_SOC_NEORV32_READ_FREQUENCY_AT_RUNTIME
needs to depend on CONFIG_SYS_CLOCK_EXISTS for selecting it.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
It has been discovered that direct IPI support does not work
correctly when CONFIG_X2APIC is enabled. Until that can be
fixed, restrict this feature on x86 to platforms that do not
enable CONFIG_X2APIC.
Fixes#87046
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Fix connection update microsecond interval variable data
type, to use 32-bit so that a value upto 2000 seconds, i.e.
4 seconds interval and 499 peripheral latency can be stored.
Regression in commit abfe5f17a9 ("Bluetooth: Controller:
1 ms connection").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add printing reset reason at the beginning of the sample. Makes it easier
to determine if sample correctly wakes up from LP mode.
Signed-off-by: Bartlomiej Buczek <bartlomiej.buczek@nordicsemi.no>
Add the following property renaming entries to
the migration:
* dai_id
* afe_name
* agent_disable
* ch_num
* mono_invert
* quad_ch
* int_odd
Signed-off-by: James Roy <rruuaanng@outlook.com>
On Zephyr devices that has an Ethernet switch IC with the Zephyr device
connected to the CPU port, there aren't necessarilly any register to
check the link state on that port. If the check is kept on such devices,
Zephyr will believe the link disappears
CONFIG_ETH_STM32_CARRIER_CHECK_RX_IDLE_TIMEOUT_MS after last message was
received, until a new message is received. If the application tries to
send data while the link is considered gone, sending returns an error,
sometimes indicating that the interface is down.
It also seems conceptually meaningless to try determining link state on
such devices, since as long as both the microcontroller and the switch
IC is powered, the link should always be up.
This commit therefore introduces a new Kconfig to allow disabling the
entire checking of link state, so that on devices where there is no
relevant PHY register to read, the check can be disabled.
Signed-off-by: Ole Morten Haaland <omh@ixys.no>
Add a test case for the alignment support in loadable extensions. This
test case creates a set of constants with specific alignment requirements
and verifies that they are placed in memory as expected.
Fix the detached section test to use a more standard syntax for the
section attribute, avoiding issues with different toolchains.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This patch adds support for alignment requirements for sections in the
loader. The alignment requirements are taken from the ELF file and
checked when the section is mapped to a memory region and when the
region is copied to memory (or directly used from the ELF buffer).
Supporting a larger alignment requirement than the region's current
alignment is done by adjusting the region's start address. This needs
care to avoid detecting false overlaps with other regions and to ensure
that the region address and size reported by the inspection APIs are
correct. The extra offset needed to re-adjust these values is stored in
the 'sh_info' field of the region descriptor.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Since commit 0aa6b1c9de, the 'ldr_parm' pointer is guaranteed to be
valid inside all the functions of the llext_load() call tree.
This commit fixes the only exception of llext_copy_strings(), which was
not passed the 'ldr_parm' pointer, and remove the redundant checks.
No functional change is intended by this commit.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This commit adjusts the logic of the LLEXT memory allocation routine by:
* defining 'align' and 'alloc' variables once and updating them in the
following code;
* swapping the condition, converting it to an 'if(IS_ENABLED(...))' and
using a direct calculation for the size to make the code easier to
read;
* updating and extending a few comments.
No functional change is intended.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Since 3466dab804 the generic llext_symbol_name() function abstracts
the use of llext_string() for (non-section) symbols. Define a similar
llext_section_name() function and replace current occurrences of
llext_string() with the proper abstraction.
By extending llext_symbol_name(), this commit also allows to print the
correct name of sections that are referred to by a symbol.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Rewrite the overlap checks in llext_map_sections() to use a pair of
macros to calculate the top and bottom of a region. This makes the
code more readable and less error-prone.
No functional change is introduced in this commit apart from a log
message format change.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Use the more compact %#x format for printing out hexadecimal values in
the LLEXT subsystem. This also uses a clearer wording for the
llext_link() log message that avoids repeating information.
No functional change is introduced by this commit.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
llext_copy_section() is a misnomer, as it is copying a region of memory,
not a section. Rename it to llext_copy_region() and use 'region' in the
internal variables to better reflect their purpose.
No functional change is introduced in this commit.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Add a 'continue' statement when the first section of a region is
detected, to avoid unnecessary indentation.
No functional change is introduced in this commit.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Fix the following warning
att.c:734:3: warning: label followed by a declaration is a C23 extension
[-Wc23-extensions]
734 | k_tid_t current_thread = k_current_get();
| ^
By wrapping that code as a compound statement
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add information about "struct net_linkaddr" changes to 4.2
migration guide to help the developers to handle issues if
they access the net_linkaddr struct fields directly in their
code.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Previously the net_linkaddr struct had pointers to the link address.
This is error prone and difficult to handle if cloning the packet as
those pointers can point to wrong place. Mitigate this issue by
allocating the space for link address in net_linkaddr struct. This will
increase the size of the net_pkt by 4 octets for IEEE 802.15.4 where the
link address length is 8, but there no increase in size if link address
is 6 bytes like in Ethernet/Wi-Fi.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Make sure that source and destination link addresses are correct
after cloning and pulling net_pkt.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
This is to fix the below compiler warning from TF-M builds
that don't use the Ethos-U driver.
```
CMake Warning:
Manually-specified variables were not used by the project:
ETHOS_DRIVER_PATH
```
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
IAR doesn't support the __volatile__ keyword, and since the
toolchain.h isn't included by these arm-specific files and
other arm-specific files already uses volatile, I've made
them all use volatile.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
Due to historical reasons, there were two implementations of
R7FA4M1AB3CFM. However, the migration has been completed,
so the old one is now being removed.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Extract common parts from `dts/arm/renesas/ra/ra4/r7fa4m1ab3cfp.dtsi`
to support R7FA4M1AB3CFM.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add Kconfig options in Broadcast ISO related samples to
support enabling interleaved packing use in subevents.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add a function `bt_br_bond_exists()` to check if the address of the
classic device has been bonded.
Update release-notes-4.2.rst
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
- adds the ability to change the NVS sample "Maximum reboot counter",
"Reboot countdown" and its "Sleep time" parameters via Kconfig,
without manually modifying the source code.
- reduces the default number of resets to 5 (was 400).
- adds the ability to reduce flash memory wear on real devices
by reducing the number of write iterations.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
- Allocate source in PBP first time adv is created
- Only set_adv_data in adv_setup if ext_adv already exists
- Fixes regression in PTS for PBP tests
Signed-off-by: Alexander Svensen <alexander.svensen@nordicsemi.no>
Fix that a lwm2m message is reset without executing a registered
callback on lwm2m_engine_context_close.
Signed-off-by: Sebastian Schoch <sebastian.schoch@husqvarnagroup.com>
The API has not changed since it was introduced so should no longer be
considered experimental.
Signed-off-by: Timothy Keys <timothy.keys@nordicsemi.no>
Define the partition layout in nucleo_f413zh.dts to handle what
can be built in the application directory following the same
pattern used in the nucleo_f401re.dts but scaled for 2 sectors
of 128KB for the slots.
Signed-off-by: Charles Hardin <ckhardin@gmail.com>
Instead of requiring the edata struct, just receive full-scale
parameter. This simplifies the decoding process for FIFO data
during streaming.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
The current default RAT configuration puts the first 512MB of
address space on top of the first 512MB of DRAM. This DRAM
can include the carveout region assigned for IPC with the
host core, for instance the M4 on AM62 uses 0x9cc00000.
Split this first translation from 0x80000000 to 0x60000000 and
0xc0000000. Shrink the 0x40000000 translation and move down
to 0x70000000. This provides the same system IP coverage without
blocking access to the first 512MB of DRAM.
While here, fix typo with leading 0 for a couple BASE_ADDR
translations, no functional change.
Signed-off-by: Andrew Davis <afd@ti.com>
This reverts commit 99e7223a1c.
Breaks CI with the following compilation error in SPI.c:52:
error: 'SPI_MASTER' undeclared here (not in a function)
Failing tests (cc3220sf_launchxl/cc3220sf)
- sample.net.sockets.echo.offload.simplelink
- sample.net.sockets.http_get.offload.simplelink
- sample.net.wifi
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Zephyr GPIO drivers require the pin mask `struct gpio_driver_data` to be
the first element of the driver config. Reordering fixes failures in ASSERT
statements of the GPIO driver due to the base address being interpreted as
supported pin mask.
Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
In regards to the contributions to stepper driver subsystem, i would like
to propose Jan Behrens as collaborator in stepper driver subsystem
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Briefly describe the main features of the charger.
Also, provide an example of how the charger can be placed
as a child node within device tree.
On the other hand, detail the meaning the of the properties,
including their range.
Signed-off-by: Kiara Navarro <knavarro@paltatech.com>
The following pairs of peripherals mistakenly used the same
interrupts numbers, causing issues if both are used: sci6/sci9,
spi0/sci7 and spi1/sci8.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
- It seems that the mask variants of GPIO functions are not present in
the latest sdk, so replace those with direct register access.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Add a security section in the external source code issue template
requesting information about known vulnerabilities and cryptographic
usage.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
The thread metric cooperative benchmark had a subtle flaw on
SMP enabled systems. The reporting/main thread was running at
a higher priority than the "cooperative" threads. When that
reporting thread woke up from its 30 second sleep, there was a
chance that it would change the ordering of the "cooperative"
threads before the test expected it.
This ordering change is not present on UP systems as the current
thread is always in the ready queue. However, on SMP systems the
current thread is not in the ready queue and is re-added to the
end of the list when it is preempted by a higher priority thread.
To work around this, we make the priority of the main/reporting
thread to be the same as the "cooperative" threads. Thus when
the reporting thread wakes, it is added to the end of list and
no longer introduces an unexpected schedule point.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Define macros for encryption value,
#define BT_HCI_ENCRYPTION_OFF 0x00
#define BT_HCI_ENCRYPTION_ON_LE_AES_CCM 0x01
#define BT_HCI_ENCRYPTION_ON_BR_E0 0x01
#define BT_HCI_ENCRYPTION_ON_BR_AES_CCM 0x02
Use the macros to replace the hard code.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The LTK should not be generated from BR link key if there is a LTK
exists and BR LK is weaker.
Do not drive LTK from BR LK in the case.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
- Make sure the align-and-rewind feature is explicitly tested.
- Add sub-unit allocations to the mix.
- Rely on some heap internal facilities to determine heap boundaries
(32- vs 64-bit builds do cause a difference).
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Clarify that all max limit on RTOS objects set by Kconfig only apply
to objects whose control blocks were dynamically allocated. The
CMSIS-RTOSv2 impl layer itself does not restrict the number of
statically created RTOS objects.
Signed-off-by: Utsav Munendra <utsavm@meta.com>
Clarify thread Kconfigs to denote the maximum number of dynamically
allocated control blocks and stacks for threads. Allow application to
create any number of threads with statically allocated control block
and stack.
Signed-off-by: Utsav Munendra <utsavm@meta.com>
Introduces the Z_IS_TIMEOUT_RELATIVE() macro to help ensure that
checking for relative/absolute timeouts is consistent. Using this
macro also helps ensure that we get the correct behavior when using
32-bit timeouts (CONFIG_TIMEOUT_64BIT=n).
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Previously, the arch_icache_invd_range function simply returned
-ENOTSUP for Cortex A/R. However, this causes a correctness issue when
the processor modifies memory and then executes it as instructions, like
the LLEXT subsystem does. The CPU might not see the up-to-date instructions
in memory.
This caused an LLEXT test failure when running on an emulated Cortex-R5
in QEMU with caches enabled. QEMU doesn't actually emulate the cache,
but it does seem to need the ISB barrier that is executed as part of the
cache invalidate operation in order to handle self-modifying code
properly.
These CPUs do in fact support a selective I-cache invalidate operation
(ICIMVAU) but the CMSIS library doesn't currently support it. For now,
just invalidate the entire I-cache when an icache_invd_range operation
is performed.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
On ZynqMP, the RPU Cortex-R5 cores come up by default without
instruction and data caches enabled. Enable them as part of
soc_early_init_hook when CONFIG_CACHE_MANAGEMENT is enabled.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Removed nested spinlock acquisition in i2c_xilinx_axi_write to prevent
ztest failures due to invalid spinlock usage.
Ensured spinlocks are not consecutively acquired without unlocking,
preventing potential deadlocks.
Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Remove check for changed files for now until we have a better way to do
that without the 3rd party action.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The following board revision properties can now be used as part
of the format string in the 'west boards -f ...' command.
- board.revisions with format {revisions}
- board.revision_default with format {revision_default}
Signed-off-by: Alex Fabre <alex.fabre@rtone.fr>
In order to use fstab with fatfs in addition to
littlefs a new driver fstab,fatfs was introduced
containing the required logic to detect and if
needed automount fatfs devices specified in fstab.
Additionally as the partition phandle is not needed
by fatfs and currently is specific to littlefs it
was moved from the common dts binding into the
littlefs binding.
Signed-off-by: Carlo Kirchmeier <carlo.kirchmeier@zuehlke.com>
Co-authored-by: Carlo Kirchmeier <carlo.kirchmeier@zuehlke.com>
Co-authored-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
This driver had some issues with interrupt-driven operation, which
manifested by the console breaking when enabling the Zephyr shell on the
kv260_r5 target for example. Fixed the following:
-Ensure device is fully hardware reset during initialization
-Changed poll_out to be more consistent with other drivers, i.e. only
wait for the UART to accept the character, not for it to be fully
transmitted.
-Added implementation for err_check function, as otherwise there was no
way to detect or clear the error interrupts enabled by irq_err_enable.
-Fixed logic for enabling/disabling interrupts. This should only be done
by explicit enable/disable calls, not as part of fifo_fill etc.
-This hardware does not produce interrupts for TX FIFO empty or RX FIFO
threshold when enabling them if the TX FIFO is already empty or RX FIFO
already contains data. When enabling interrupts in these cases, use a
timer to trigger a user callback to match the normal UART API usage,
similar to the xlnx_uartlite driver.
-Other minor cleanups to interrupt-driven functions.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Reset the watchdog back to the initial state before enabling the
expiry interrupt. This prevents the watchdog expiring immediately if
there is a long gap between `wdt_install_timeout` and `wdt_setup`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
- The current code will cause stall if some other subsystem (like subg)
also needs to manage pm states.
- So add a check to only re-enable suspend if it was disabled by PWM.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Seemed to be a typo in the Rust doc page saying to enable CMake support
in your CMakeLists.txt. Swapped to say Rust.
Signed-off-by: Michael Feist <michael.feist@etcconnect.com>
Ifdef guard of CONFIG_SYS_HEAP_RUNTIME_STATS prevents using IS_ENABLED
macro, preferred way of guarding code. This commit fixes that by
removing ifdef macro.
Signed-off-by: Evgenii Kosenko <Evgenii.Kosenko@silabs.com>
Documentation comments describes sys_heap_runtime_stats_get function to
have stats_t argument, hoever function has stats. The commit fixes typo
introduces in a71cd8790f
Signed-off-by: Evgenii Kosenko <Evgenii.Kosenko@silabs.com>
Guard the neorv32_uart_config_get() function to avoid compilation warning
with CONFIG_UART_USE_RUNTIME_CONFIGURE=n.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
This patch will set MMU permissions for .cold* sections
Fixes cold section execution if MMU is enabled
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Improve naming of the scheduler and call it what it is: simple. Using
'dumb' for the default scheduler algorithm in Zephyr is a bad idea.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The ke17z overlay for this test is incorrect in that the chip select
line sent to the spi pins on the header is PCS1, not PCS0. This is
having no functional effect on the test right now but soon I am trying
to implement a chip select test, and regardless it helps to have the CS
actually toggle right now for debugging purposes.
Also, I checked the frdm_ke17z512 and it looks like the board pinctrl
file is configuring for PCS2, so I fixed that as well because it looks
also like the same mistake, but I don't have that hardware.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
A few option defaults that were so far defined in the board _defconfig
files are actually entirely SoC family (nRF54L) dependant, so it makes
much more sense to have them defined at the SoC family level in order
for all boards based on these SoCs to automatically inherit them.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
When CONFIG_KERNEL_COHERENCE is enabled, pend_locked() asserts
when wait_q is not in coherent memory. The k_pipes used in
the pipe_api tests are declared locally within the test. They
are located within the thread stacks and those wait_q inside
k_pipe struct are thus not considered in coherent memory.
To make them work, replace the local ones with a global
k_pipe object. Since each test initializes the pipe object
locally, the tests are not functionally changed.
Fixes#84235
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The zbus hlp_priority_boost test requires thread priority
boosting. If it is running SMP, it is possible that
the message has already been processed before the check
for priority boosting is done, thus failing the test.
So change the test to use 1 CPU only.
Fixes#79197
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Currently, coex application is enable the mbedtls and PAS feature,
this causes BT_LONG_WQ thread to use more stack size.
Signed-off-by: Author You <author.you@nxp.com>
There is a bug here clearly which is that if there is some error in the
transceive function, it returns without releasing the context.
This should be fixed by properly handling the errors with a context release
before returning.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
For multi-byte word, there is clearly a bug in that the same byte is
written to each spot in the word instead of writing all the bytes
properly.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The part numbers for MCXC141VLH and MCXC142VFM
have all been set to MCXC141VFM, which lead to
build errors.
Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
Add calibration via a known gas concentration. This is the recommended way
of calibrating the sensor according to the datasheet.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
The LED on the FRDM-RW612 is currently configured incorrectly. It should
be set as GPIO_ACTIVE_LOW
Signed-off-by: Thorsten Klein <thorsten.klein@bshg.com>
Some SDMA scripts (e.g multi-fifo) updates the buffer descriptor
count field after a transfer is complete.
Re-initialize the buffer descriptor to point to the correct
transfer size for the next transfer.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
With PDM device NXP HAL uses multi-fifo script. In order
for this script to properly work we need to initialize
multi fifo and SW done configuration.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Remove the overlay files for many of the NXP platforms, because they
were doing two things that are no longer relevant:
1) CONFIG_SPI_ASYNC=n -> LPSPI driver used to not work with
CONFIG_SPI_ASYNC, now it does, so we should test it.
2) CONFIG_SPI_MCUX_LPSPI_DMA=y -> This is redundant with the
testcase.yaml
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Fix the ASYNC DMA API on the lpspi driver and actually make the entire
driver go through that path. Rather than having an orthogonal
internally synchronous path we can just have both APIs go through the
same asynchronous path and just use wait_for_completion from spi context
to implement either sync or async.
Also make DMA driver default y if dependency (an lpspi having dmas
property) is met.
And lpspi_wait_tx_fifo_empty can be shared between drivers.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The Adafruit Feather ESP32S3 is a development board in the Feather
standard layout, sharing peripheral placement with other devices labeled
as Feathers or FeatherWings. The board is equipped with an ESP32-S3 mini
module, a lithium ion battery charger and a USB-C connector. Compared to
the base model, this TFT variant additionally comes with a 240x135 pixel
IPS TFT color display.
Signed-off-by: Leon Rinkel <leon@rinkel.me>
The Adafruit Feather ESP32S3 is a development board in the Feather
standard layout, sharing peripheral placement with other devices labeled
as Feathers or FeatherWings. The board is equipped with an ESP32-S3 mini
module, a lithium ion battery charger and a USB-C connector.
Signed-off-by: Leon Rinkel <leon@rinkel.me>
On top of enabling and allowing test entropy sources, enable
CONFIG_ENTROPY_GENERATOR so that a real driver and entropy source gets
used if available.
This is needed for some PSA Crypto implementations that have random number
generation conditionally compiled in.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Some implementations require more stack than others.
Increase the Ztest and main stack sizes to accommodate them.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Add a Kconfig option to match the Mbed TLS define
instead of defining it based on CONFIG_SECURE_STORAGE.
This gives more flexibility regarding the potential re-definition of the
CONFIG_MBEDTLS_PSA_CRYPTO_STORAGE_C Kconfig option.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Use dynamic allocation for key material for
better compatibility as a fully static key store is a new
feature that not all PSA Crypto implementations support.
Explicitly enable CONFIG_MBEDTLS_ENABLE_HEAP to ensure that Mbed TLS uses
heap for the PSA keys' data (instead of failing at runtime).
This will turn off CONFIG_MBEDTLS_PSA_STATIC_KEY_SLOTS, making the
implementation default to dynamic key slots.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Explicitly enable CONFIG_ENTROPY_GENERATOR instead of relying on the
build system's defaults.
This:
- Makes sure the filtering works properly between entropy_driver and
entropy_not_secure test scenarios for the samples.
- Helps with TF-M builds in certain scenarios where key generation (via
`psa_generate_key()`) would fail due to the RNG functionality being
disabled.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
The psa_key_attributes_t type is implementation-defined according to
the PSA Crypto spec.
Compare its fields individually instead of doing a memcmp() over the
entire struct.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Explicitly set the TF-M profile to not rely on the build system defaults
which might differ.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Ignore bootstrap 'transition done' state transition
(ENGINE_BOOTSTRAP_TRANS_DONE) from an invalid state. The client must be
in state ENGINE_BOOTSTRAP_REG_DONE to process a bootstrap finish command
received from the server.
The LwM2M client does not implement CoAP deduplication (rfc 7252,
section 4.5) and retransmissions of the bootstrap finish command `/bs`
would restart the registration client with undesired side effects.
Signed-off-by: Marc Lasch <marc.lasch@husqvarnagroup.com>
Set the default maximum argument count for the shell to 30
when the Wi-Fi shell is enabled, to ensure all Wi-Fi
commands work without failure.
Signed-off-by: Triveni Danda <triveni.danda@nordicsemi.no>
Updates the GitHub security page with the current supported versions
after the v4.1.0 release.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
This commit changes log level for already registered callback from
warning to debug as this is cause unnecessary noise and doesn't indicate
actual issue. Caller gets a certain error code for this case which can
be handled properly.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Fixes a regression caused by: 88830a3b
The ns16550 driver should handle possibility of
clock_control_on being a stub (i.e. returning ENOSYS)
Signed-off-by: Dominik Lau <dlau@antmicro.com>
There are in-tree clock controllers that don't implement the `on`/`off`
calls, e.g. in Intel Agilex. Let's return `-ENOSYS` when that's the case.
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
- Test all attribute combinations of Vishay sensor VEML6031 which is an
ambient light sensor.
- Print out saturation case of sensor.
- Idea is to be able to find a good combination of attributes for an
optimal working area.
Signed-off-by: Andreas Klinger <ak@it-klinger.de>
- add driver for Vishay VEML6031 High Accuracy Ambient Light Sensor.
- add new compatible "vishay,veml6031".
- read and write consecutive 8 bit registers as bulk operation.
- add driver to build all test of sensors.
- support fetch and get.
- triggered mode and interrupt is not yet supported.
Signed-off-by: Andreas Klinger <ak@it-klinger.de>
Add the display_clear function in the display
subsystem to clear the target devices screen
display by resetting it to white.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Implement the '.clear' interface in the SDL driver
to allow the upper layers to use the display_clear
function.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Add a display_clear function to the display subsystem
to clear the target devices screen display. Introduce
a clear interface at the driver layer to implement
the display_clear function.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Enable execution of dmic_api test on nrf54l15:
- add 'dmic' to the list of supported peripherals;
- add overlay for nrf54l15;
- align Nordic's implementation of PDM driver to pass the test.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Adding a test case for stepper driver implementation of
allegro a4979 microstepping programmable stepper motor driver.
Signed-off-by: Verena Schweinstetter <verena.schweinstetter@zeiss.com>
Adding a stepper driver implementation for allegro a4979
microstepping programmable stepper motor driver.
The implemenation was tested using the drv8424/api testsuite.
Signed-off-by: Verena Schweinstetter <verena.schweinstetter@zeiss.com>
The i2c_transfer() API allows multiple msgs objects to be carried in a
transaction. After handling the current msgs object in the interrupt
context, the driver notifies the calling thread to buffer the next
msgs object and generate the Re-Start if required.
However, if the calling thread is preempted by higher priority threads,
the I2C transaction time may become non-deterministic (depending on the
execution time of higher-priority threads). This commits modifies the
driver to handle msgs objects entirely in the interrupt context to
improve the I2C transfer efficiency..
Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
- Added definitions for LAN8742 PHY registers and bit masks
to support auto-negotiation.
- The function `eth_init_api_v2` requires the Ethernet interface
to be properly initialized. In auto-negotiation mode,
it reads the speed and duplex settings to configure
the driver accordingly.
- Implemented functions to get link state and configure speed
and duplex mode based on auto-negotiation results.
- Ensured proper initialization of semaphores and MAC configuration
for both auto-negotiation enabled and disabled scenarios.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
There is a corner case that the channel is in disconnecting status,
due to there is a disconnect request sent from peer.
At this time, the channel is status is `BT_L2CAP_CONNECTED`. But it
has been removed from `conn->channels` by calling the function
`l2cap_br_remove_tx_cid`.
And the disconnect event is notified upper layer via the callback
`ops->disconnected`. The thread of the callback context is blocked
due to the the calling of `printk` in the callback function.
Then the pending lower priority thread, sending the data in this
l2cap channel, is activated. Then in the function
`bt_l2cap_br_send_cb`, a NULL pointer will be got according to the
given CID. And unexpected behavior happens when accessing a NULL
pointer, since the invalid channel pointer is not checked in
function `bt_l2cap_br_send_cb`.
Check the channel pointer after function `bt_l2cap_br_lookup_tx_cid`
called. If the channel pointer is invalid, return error code
`-ESHUTDOWN` directly.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
If the bus is only used I2C we can skip I3C bus initialization which
will send a number of unnecessary CCC transactions.
Signed-off-by: Corey Wharton <xodus7@cwharton.com>
The current value of 1s is much too long, default to 100ms instead
which is enough for even a large 4kB FM I2C transfer to finish in
time let alone a typical I3C transfer. Make this configurable in
case projects want to tune this.
Signed-off-by: Corey Wharton <xodus7@cwharton.com>
The maximum number of attached devices is limited by the maximum
number of entries in the device address table. For I3C devices
these have to by allocated permanently when devices are attached
but for I2C devices we can dynamically allocate an entry in the
table on a I2C transfer and free it after the transfer is completed.
This allows the maximum number of I2C + I3C devices on a bus to be
larger than the address table size as long as the number of I3C
devices is maxdevs - 1.
Signed-off-by: Corey Wharton <xodus7@cwharton.com>
Adds pinctrl support on init and on PM actions. General PM support is added
to the driver to enable the later.
Signed-off-by: Corey Wharton <xodus7@cwharton.com>
The current_fp field in the z_kernel structure is only used
by 32-bit x86 (which does not support SMP). As such, it should
reside in the arch specific of section of _kernel.cpus[0].
This also changes the name of 'current_fp' to 'fpu_owner' to
be more consistent with other architectures.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
IUT works as a SDP Client. The peer device, SDP server, is a PC with
running `bumble` on it.
Add shell command `discovery` to discover specific SDP record
according to specific UUID.
In the test suite, there are three groups test cases,
Group 1 is for Service Search Attribute transaction.
Group 2 is for Service Search transaction.
Group 3 is for Service Attribute transaction.
For each test group, there are four test cases,
Case 1, No SDP record is registered on PC. IUT should not find any SDP
record.
Case 2, A2DP source SDP record is registered on PC. IUT can find SDP
record. And the discovered PSM and version should be same with
registered.
Case 3, A2DP source and HFP HF SDP Records are registered. IUT can
find SDP record. And the discovered RFCOMM channel and HFP version
should be same with registered. This case is used to test the
"continuation state information".
Case 4, Multiple SDP Records are registered. This case is used to test
the "continuation state information". And also it used to test the
total length exceeds the ACL RX Buffer Size.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
btp_bap_broadcast_local_source_free used &source, but since
source was already a pointer, it should just use source.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add an assert ensuring programming errors where the executor code
assumes there is a next node in the list for transaction/chained
submissions.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Default to reading the clock frequency from SYSINFO at boot time to make
the board compatible with a wider range of NEORV32 implementations.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Inside map_memory() with double mapping enabled, we should not
be mapping the memory with the incoming attributes as-is since
the incoming address may be on un-cached region but with
caching attribute. So we need to sanitize the attributes
according to the incoming address.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
xt-clang is usually based on older version of clang, and
Zephyr main targets more recent versions. Because of this,
some newer compiler flags may cause warnings where twister
would mark as test being failed. To workaround that,
add -Wno-unknown-warning-option to suppress those warnings.
Fixes#84138
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Pull in fix for CI failure in Offloaded raw TX mode caused
due to commit 0cd3bb2291a7dd22f4cdb1a4cd935a213c2bbfab in nrf_wifi
Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
When the only changes are nrf_wifi module the twister runs with tag
"nrf_wifi" and restricts tests, and that excludes this test as well.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Some CAP BSIM could not be built after some commits were merged.
One CAP test was missing a call to backchannel_sync_send_all
A change in the controller and/or timing seems to have triggered
an old issue on a bunch of tests. Theses tests have been disabled
while the issue is pending investigation.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Build type was removed in 763a49f082 but
the function description was not updated accordingly.
Remove build type from the function description.
Add board qualifier as that is missing.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This commit aligns the value of `CONFIG_PRIVILEGED_STACK_SIZE` to the
alignment specified by the value of `XCHAL_MPU_ALIGN`, which for
`sample_controller32` is equal to 4096.
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
Extensions with the pre_located flag set, manage memory themselves,
including MMU permissions. Skip any such adjustments in LLEXT core.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Update net-tools to the latest version which replaces mentions
of native_posix with native_sim.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Use the --format flag in git rather than parsing the output of
the git log. The inspiration for this change was that the previous
implementation breaks if there's a ~/.gitconfig that changes the
git log format.
Signed-off-by: John Barbero Unenge <git@lsrkttn.com>
Renamed BT_CSIP_SET_MEMBER_NOTIFIABLE to
BT_CSIP_SET_MEMBER_SIRK_NOTIFIABLE to be more specific.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Working through either Motion detection or through Data-Ready.
Data-ready has a back-up timer to trigger worst case, if no motion
occurs within 10X data-rate.
On every streaming event, the driver checks for the sensor health, and
attempts recoverying its state if it detects issues.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
- Add bus support for SPI (based on RTIO).
- Support read/decode API for one-shot reads on the following channels:
- SENSOR_CHAN_POS_DX.
- SENSOR_CHAN_POS_DY.
- SENSOR_CHAN_POS_DXYZ.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
To add the functionality conform rfc6762 chapter 6.7 the interface for
setup_dst_addr(...) has changed. This patch fixes the interface mismatch
Signed-off-by: Vincent van der Locht <vincent@synchronicit.nl>
Conform rfc6762 a mDNS responder should answer clients
which are not using the mDNS port in the source address
with unicast UDP to the same port as described in chapter 6.7
Fixes: #81657
Signed-off-by: Vincent van der Locht <vincent@synchronicit.nl>
If BB tests failed, crashed, etc., log handles
could linger and crash test cleanup.
Adding log closing to a `finally` section
should prevent those issues.
Loggers should not be set up as globals,
as it makes testing much harder.
Running multiple Twisters may cause for the
logfiles to be still "in use".
When exiting main, close all logfiles
and remove their handlers from all loggers.
Do that for conftest as well.
Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
Introduce GCC_COMPILER_VERSION to be used in Zephyr CMake when knowledge
of the current GCC Compiler version is needed and
CMAKE_C_COMPILER_VERSION has not been defined yet.
CMAKE_C_COMPILER_VERSION is not defined until project() is called.
Signed-off-by: Torsten Rasmussen <torsten.rasmussen@nordicsemi.no>
When the link key of BR is upgraded, the encrypt key refresh event
will be notified. The link key is upgraded from weak to strong.
The LTK of LE should be derived from strong link key.
Start SMP pairing procedure to try to derive LTK from LK.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
This fixes an issue where a subsequent Config Model Subscription Add
message with the same virtual address UUID would result in a Config
Model Subscription Status message with the Address field incorrectly set
to 0.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
When the BT Tester gets the write response, it should not send
the state change event, as the write response may come
before the notifications, and in which case the state may
not have changed.
The BT Tester should always wait for the state change notification
before sending the event.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
- Rejected non 2.4GHz band channels from Wifi-Scan.
- Overrode the WIFI_MGMT_SCAN_CHAN_MAX_MANUAL parameter to 50.
- Added check for wrong interface and invalid states
Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
Some GATT services and profiles define specific behavior
based on whether the remote device is bonded or not.
The internal function, bt_addr_le_is_bonded, is the
only function to do this, but it was kept internal,
and could thus not be used for those services
without including hci_core.h.
The function has been moved to the public API
so that application can determine if a remote
address is bonded or not, and has been renamed
to not use the bt_addr namespace, but rather the
bt_le.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The cap_broadcast test has been split into 3 tests:
1) Regular test
2) Regular test with metadata update
3) Test for invalid parameters
This will make it easier to use the regular cap_broadcast test
for other test cases, as it does less now.
It also makes each test run faster seperately and reduce their
scopes.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add TX and RX verification for the audio configuration tests.
This requires modifying some of the underlying structures
used in those tests, as well as initializating and triggering
TX, and with verification of RX as well.
These tests were implemented to ensure that the streams are not
just established, but can send ISO data without issues.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The existing implemented only attempted to send all notifications,
but if host was out of ATT TX buffers the notifications would fail
and the client may miss out on important information, and would be
a spec violation.
This commit refactors notificatios in TBS so that they are always
sent.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
- For MCUX LPUART driver, added support to control RTS line
High/Low from other driver/app code.
- This control is required to wakeup other device which is
in sleep and configured its wakeup-source as UART-CTS line.
Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
unify error codes from all drivers based on stepper specification
add a generic test case for set_micro_step_interval and stop
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
This commit creates a scaffold for executing stepper_api tests
on the existing step_dir drivers.
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
This commit adds more detailed description to the "Bluetooth APIs" and
"GAP" group within the bluetooth header.
Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
The `Z_DEVICE_INIT_ENTRY_DEFINE()` macro uses a designated initializer
to define a struct. Ensure all members of `struct init_entry` are
defined in order for C++ compatibility.
Signed-off-by: Tristan Honscheid <honscheid@google.com>
In #84394, `struct init_entry` was modified to remove an unneeded union.
The `SYS_INIT_NAMED()` macro was adjusted accordingly, but is no longer
C++ compatible due to the partial designated initializer.
Add an explicit value (NULL) for the other field (`dev`) in that struct.
Signed-off-by: Tristan Honscheid <honscheid@google.com>
Grayed out rows in the table of supported HW features are more confusing
than helpful.
The yellow/green indicators with the count for each feature are enough to
communicate the initial status.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
CONFIG_DYNAMIC_BOOTARGS currently depends on CONFIG_MULTIBOOT_INFO
and CONFIG_BUILD_OUTPUT_EFI which are x86 specific.
This change removes those dependencies so that another architecture
can use CONFIG_DYNAMIC_BOOTARGS without the x86 specifc features.
Signed-off-by: William Tambe <williamt@cadence.com>
Soft reset HS400x during initialization to make sure that
device is at a known state and writeable registers have the
default values.
Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
The UART test for USART needs to move the console to an EUSART instance
in order to free up USART0 for the test. Since EUSART1 is configured for
SPI use by the board DTS, use EUSART0 for console.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Add DTS configuration for SPI and I2C buses on the board.
Make use of the new zephyr:board-supported-hw Sphinx directive to
automate the list of supported features in the board documentation.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Add pinctrl and config option in board dts to run Comparator
on ek_ra8m1, ek_ra8d1, mck_ra8t1 boards
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
-Mbed TLS has come up with its own naming-convention with regards
to certain Mbed TLS configurations for TLS/DTLS and X.509. This
commit fixes a couple of them by depending on MBEDTLS_BUILTIN
which is set when Kconfig.tls-generic is used
1. Make MBEDTLS_PEM_CERTIFICATE_FORMAT depend on MBEDTLS_BUILTIN
The proper name for this functionaity is MBEDTL_PEM_PARSE_C and
MBEDTLS_PEM_WRITE_C
2. Make MBEDTLS_SERVER_NAME_INDICATION depend on MBEDTLS_BUILTIN
The proper name for this is MBEDTLS_SSL_SERVER_NAME_INDICATION
Signed-off-by: Frank Audun Kvamtrø <frank.kvamtro@nordicsemi.no>
-PSA_WANT_ALG_CMAC must be set for PSA_WANT_ALG_PBKDF2_AES_CMAC_PRF_128
to be valid. This commit fixes this mismatch for hostap
Signed-off-by: Frank Audun Kvamtrø <frank.kvamtro@nordicsemi.no>
CONFIG_ETH_NATIVE_POSIX is deprecated in favor of
CONFIG_ETH_NATIVE_TAP, let's replace it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
One only needs the 32bit C library to build 32bit binaries.
And let's remove ubuntu 16 reference. The package is the same in
all versions.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix does not exist anymore. This header still applies for
targets setting CONFIG_NATIVE_APPLICATION until this option is removed.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This comment "moved" over the years as more code was added.
Let's put it where it belongs, and simplify it a bit.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The tests crash with a stack overflow on some platforms, therefore
increase the ztest stack size.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add entry for the removal of the deprecated net_buf_put(), net_buf_get()
API functions, and the deprecated zephyr/net/buf.h header location.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Pull in change to include reg chan info along with reg domain in the
GET_REG_DOMAIN event for the radio test and offloaded raw TX modes.
Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
Remove deprecated Kconfig options. These were given an extra
release cycle of soak time, but generally were OK to remove
after Zephyr v4.0.0 was released.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
MAX_PTHREAD_COUNT was deprecated in favour of
POSIX_THREAD_THREADS_MAX prior to v3.7.0.
Use CONFIG_POSIX_THREAD_THREADS_MAX going forward.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add a `--dry-run` (or `-d`) option to the posix kconfig
migration script for deprecated POSIX Kconfigs.
Additionally, add a set of skipped options (e.g. `TIMER`).
The `CONFIG_TIMER` option does not exist in the tree anymore
and was way too generically named previously, so the false
positive rate is astronomical, so it makes sense to skip it.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
There is an issue that the L2CAP connect response function
`l2cap_br_conn_req_reply()` is called first. And then the ACL
disconnect function `bt_conn_disconnect()` is called following. But
the packet of `bt_conn_disconnect()` appears on the HCI bus first.
Add a flag `L2CAP_FLAG_DISCONNECT_ACL` to flag whether it is needed to
disconnect ACL connection.
Set the flag `L2CAP_FLAG_DISCONNECT_ACL` when result of the L2CAP
channel conn rsp is `BT_L2CAP_BR_ERR_SEC_BLOCK`.
Add a l2cap packet sent out callback `l2cap_br_conn_rsp_sent_cb()`.
When the callback triggered, disconnect the ACL connect with
`BT_HCI_ERR_AUTH_FAIL` if the flag `L2CAP_FLAG_DISCONNECT_ACL` has
been set.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Do not start the LF clock unless CONFIG_CLOCK_CONTROL_NRF is enabled.
This is similar to how it's done in Nordic's GRTC driver.
Authored-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Signed-off-by: Emanuele Di Santo <emdi@nordicsemi.no>
Export the currently used board name and (when applicable) qualifiers
and revisions to the EDK files. This information can be used by EDK
users who deal with multiple targets to differentiate between them.
Uses the existing 'zephyr_string' function to sanitize the strings
instead of a custom regex replace.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The -imacros flag may be given in a number of different variations:
- with one or two preceding dashes, and
- separated from its argument, joined by an equals sign, or joined with
no separator
This patch fixes the handling of the -imacros flag in the LLEXT EDK to
detect all of those options.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
- added flag in nxp setup driver to perform HCI controller firmware-
load and configuration only once. This avoid loading/setting-up
controller fw on successive bt_init() after bt_disable() call.
Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
- added HCI command to send hci-reset in bt_disable() func, and
remove its call from the driver close() call.
- remove rsp buf pass to 'hci_reset_complete()' func as status is
already checked under 'bt_hci_cmd_send_sync()'.
Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
Adds a new shield definition for the Analog Devices EVAL-AD4052-ARDZ
accelerometer shield. This shield provides support for an ADI AD4052
16BIT adc over an Arduino SPI connector.
Signed-off-by: Dimitrije Lilic <dimitrije.lilic@orioninc.com>
Initial AD405X driver supporting sampling, averaging
and burst averaging operation modes. Configurable
without interrupts or with device ready and
data ready interrupt.
Signed-off-by: Dimitrije Lilic <dimitrije.lilic@orioninc.com>
- Define i2c0, i2c1 bus nodes in the device tree for ZynqMP
- Note: Platform-specific configurations, such as I2C Bus Frequency and
Reference input clock, should be handled according to the design.
Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Add a choice `BT_NXP_MODULE` to make sure only one controller can be
selected if the multiple controllers are supported.
All NXP Bluetooth module similar with BT_NXP_NW612 should be added
to the section.
And set the BT_NXP_NW612 as the default controller.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Added queue for memory slab addresses to ensure that they
are released in correct order. Improved formula for frequency
scaling for nRF54H20. Fixed alternative channel mapping.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
According to the datasheet, maximum conversion time for both
humidity and temperature at 14 bits resolution is 1.7 ms.
Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
Extend test code with scenario that checks if:
- RESET_CPU_LOCKUP is detected;
- RESET_CPU_LOCKUP can be cleared.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Protection circuit must be disabled to use NFCT antenna pins
as GPIOs. It can be done by adding nfct-pins-as-gpios to nfct
node in the devicetree in cpuapp. Node must be disabled as
NFCT is not used. In legacy platforms same property was added
to uicr node because that information was stored in UICR. In
nrf54h20 it is not part of UICR so property is part of nfct
node.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
In some configurations, code is copied from non-volatile memory
to RAM before a core (using that code) is booted.
When that core is reset by expired watchdog, variables shall be
restored to "initial" values.
This is problematic because the core is aware of copy in RAM.
It may not know address in non-volatile memory, where "original"
code is stored.
Add tests which verifiest that .bss and .data sections are
correct when core boots from reset caused by expired watchdog.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Add initial support for nuvoton numaker m55m1x SoC series
including basic init and device tree source include.
Signed-off-by: cyliang tw <cyliang@nuvoton.com>
Added support for nRF54L20 PDK in tests involving
multiple instances. Corrected pin assignements in
spi_error_cases test.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
Add calls to sys_trace_idle_exit when leaving idle state. It is
used to track CPU load.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add new tracing API which is called when core is exiting from idle.
Current implementation is using it to track CPU load. Implementation
in tracing_none is now weak so it can be used if given backend does
not support new API call.
When CONFIG_CPU_LOAD is enabled then sys_trace_idle also calls a
hook which stores the timing information when CPU entered idle.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add module which can measure CPU idle time. Idle time is measured in
the pre/post CPU idle hooks but they are not provided by this module.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Setting frame size and endianess is now supported in UARTE HAL,
so these settings must have default values configured
to avoid compiler warnings about uninitialized fields.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
Some of the CLOCK events are associated with features
not available on every nRF device.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
MDK 8.70.0 introduced following changes in the device naming:
- renamed nRF54L20 Eng A to nRF54LM20A Eng A
- renamed nRF54L09 Eng A to nRF54LV10A Eng A
Actual SoC renaming will happen in followup PR.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
It is observed that the regulatory domain API returns a failure
even when it has successfully completed its task. This change
addresses a minor fix to return the proper value to the user
when attempting to set the regulatory domain.
Signed-off-by: Vivekananda Uppunda <vivekananda.uppunda@nordicsemi.no>
VPR (FLPR) on nRF54L series has fixed issue with sleeping so
custom CPU idle function does not need to be used there.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Some platforms, notably ARM64, need more than 512 bytes of breathing
room on the stack. Very weird and difficult-to-track memory corruptions
were caused by test_mheap_realloc without this.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Use Wi-Fi connecting to Qualcomm IPQ8074 AP, and run the UDP RX traffic
with Zperf, but zperf does not return the throughput number after
traffic completion nor any session started prints. After traffic
completion, ping from STA to AP and vice versa does not work. The
socket_service thread is found blocked forever at zsock_wait_data()
after dns_dispatcher_svc_handler() is called via trigger_work().
The root cause of this issue is:
STA received one DHCPv4 packet containing DHCPV4_OPTIONS_DNS_SERVER,
it will create DNS socket and registered to socket_service. Then STA
received another IPv6 router advertisement packet containing
NET_ICMPV6_ND_OPT_RDNSS, it will close socket and change the state of
poll_events to K_POLL_STATE_CANCELLED(8), then registered to
socket_service with same fd. In socket_service thread, zsock_poll()
called zsock_poll_update_ctx() when handled ZFD_IOCTL_POLL_UPDATE, and
it checked the state of poll_events was not K_POLL_STATE_NOT_READY(0),
then it will set pfd->revents to '|= ZSOCK_POLLIN'. Finally
trigger_work() can be called as 'ctx.events[i].revents > 0' is matched.
The fix of this issue is that, in zsock_poll_update_ctx(), it should
check the state of poll_events is neither K_POLL_STATE_NOT_READY nor
K_POLL_STATE_CANCELLED before setting revents as ZSOCK_POLLIN, to avoid
trigger_work be unexpectedly called.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
There is a case that if the local is a peripheral and a L2CAP server
with the security level 3,the mitm should be set to make sure the
security level can reach level 3.
But in current implementation, the MITM is not set because the MITM
of `Authentication_Requirements` parameter of remote is not set. And
the security level will be level 2 after the security pairing
procedure complete.
Add a function `bt_l2cap_br_get_max_sec_level` to
get the max level of the registered servers.
`
Force set the MITM bit if the max level is bigger than level 2 and
pairing method is not `just works`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Currently, we set P002 (AN000) as the default pin selection
for ADC0 on ek_ra4l1. However, after testing the ADC function
with this pin selection, the ADC function does not work
on this pin.
The main reason is P002 is used for the I2C I/O Port Expander
and is connected to a 10kΩ pull-up resistor.
For the solution, we will select the P003 (AN001)
as default pinsel for adc0
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
We only need to dereference translate_config once to get the current
region_config we are working with, do this once at the start of the
sections that use it multiple times.
The compiler should optimize the multiple fetches anyway, so this
is purely for code readability.
Signed-off-by: Andrew Davis <afd@ti.com>
Instead of tracking if a matching address has been found and then
doing the translation after, we can loop until one is found and
do the translation and return immediately.
This saves having to keep a "found" variable, and makes the code
shorter and more readable IMHO. Do this here.
Signed-off-by: Andrew Davis <afd@ti.com>
Do not check virt being NULL as 0 is a valid address that can be
translated. Phys on the other hand is an output pointer that will be
assigned to and so cannot be NULL, check this instead to prevent a
NULL pointer dereference later.
Note that phys is allowed to be NULL, so this is not an invalid argument.
It can set to NULL when the caller wants to check if a virtual address is
mapped but does not care about the address itself. In that case -EFAULT
should be returned if the virtual address is not mapped, 0 otherwise.
For RAT, all addresses not translated are still valid and mapped as
pass-through, so we always return 0 in this check case.
Signed-off-by: Andrew Davis <afd@ti.com>
These struct and definitions are only used internally by this driver,
move them out of the public interface header and into the driver source.
Signed-off-by: Andrew Davis <afd@ti.com>
The struct address_trans_region_config is already defined, no reason
to pass this in as a void pointer then cast it later. Pass it in
as a struct pointer.
Signed-off-by: Andrew Davis <afd@ti.com>
This helper function is only used once and is way too small to need
to be factored into its own function. Inlining it greatly reduces
code size and complexity.
While merging, move the ASSERT()S out of the loop, they only need
checked once.
Signed-off-by: Andrew Davis <afd@ti.com>
The interrupt pin is active low, not sure how any of these could have
worked correctly, maybe they've only been tested in polling mode.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
This test checks that the length returned is not altered
even if the payload resembles a valid IPv4 or IPv6 length.
Signed-off-by: Christoph Seitz <christoph.seitz@infineon.com>
The ethernet header size with VLAN tag is 18 bytes,
so the length check should accommodate this.
Signed-off-by: Christoph Seitz <christoph.seitz@infineon.com>
Do not update packet length for unsupported packet families.
AF_PACKET family used the IPv6 length update, which breaks the
packet length if there is a payload with bytes resembling a
IPv6 length field less then 6 or a IPv4 length field less
then 46.
Signed-off-by: Christoph Seitz <christoph.seitz@infineon.com>
video_format_cap needs to be terminated with a NULL entry
to allow looping over the formats.
Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
Add one integration platform per testsuite to reduce the number
of issues reported by the qa log level introduced in #86571.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
This should allow an issue such as #86681 to be found earlier for a not
widely used config.
Signed-off-by: Etienne de Maricourt <edmecomemail@gmail.com>
Avoid a "defined but not used" warning on
`init_next_pending_timeseries_data` when
LWM2M_RESOURCE_DATA_CACHE_SUPPORT is enabled but not LWM2M_VERSION_1_1.
Signed-off-by: Etienne de Maricourt <edmecomemail@gmail.com>
native_posix has been removed, so let's remove its support from
kconfig for this driver.
Also let's replace its mention in the help message.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
"native POSIX" in Zephyr's context is typically understood as something
else than what this text refers to. Let's rephrase it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix has been removed. There is no need to check for it
anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Remove a kconfig dependency on BOARD_NATIVE_POSIX which
does not really exist anymore.
Replace a comment mention of native_posix with native_posix.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Clarify the commentary about how the constructor initialization
is setup and why.
(The current text refers to native_posix, which does not
exist anymore).
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This board does not exist anymore, so this is just dead code at this
point.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Deprecate this header which provides API compatibility since
the header was renamed in 2023, but was never deprecated.
Planned for removal in v4.4.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Deprecate this header which provides API compatibility with
native_posix, with planned removal in v4.4.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Use `W5500-EVB_Pico` - the commercial name of this board - for
`full_name` field of `board.yml`.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add support for the Octavo's OSD32MP1-BRK platform. The board uses
Octavo's OSD32MP15x SiP which integrates STM32MP157F MCU and
its SoC configuration.
Signed-off-by: Jakub Wasilewski <jwasilewski@internships.antmicro.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
Update Zephyr fork of MCUboot to revision:
1b2fc096d9a683a7481b13749d01ca8fa78e7afd
Brings following Zephyr relevant fixes:
- 1b2fc096 boot: Reuse pointers for flash_area objects from state
- d00b11dc boot: bootutil: Take into account scratch trailer when
computing max image size
- d1a3b953 boot: bootutil: Ensure the whole trailer is erased
when it is large
- 66d41e73 boot: bootutil: Fix scratch trailer overwritten if
image trailer is large
- 8975d5c4 boot: bootutil: Fix underflow in swap-scratch when
trailer is large
- a43167e3 zephyr: fix Mbed TLS configuration header file
selection
- fbd2267e boot: bootutil: Fix invalid last sector computation
for swap-scratch
- 7330df7c boot: bootutil: Fix last sector index computation for
swap-offset
- 429e2fea boot: zephyr: kconfig: Add new defaults option for FIH
- 602cb459 Fix path for DT example
- 3ff75490 zephyr: Add Kconfig option
CONFIG_BOOT_KEY_IMPORT_BYPASS_ASN
- f2b6def9 zephyr: Enable building ed25519 PSA variant with
Zephyr
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
The config LOG_USE_VLA depends on that MISRA_SANE is not set.
Unfortunately the IAR toolchain can't handle vla:s inside a
statement, which the LOG_USE_VLA macro does.
I've added a new, hidden config to check if vla is ok inside
statements, SUPPORT_VLA_IN_STATEMENTS. Default is always y, but
a toolchain can override it so that VLA is not used by
Z_LOG_MSG_ON_STACK_ALLOC.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
As of today, nrfx components are selectable depending if devicetree has
a certain compatible or not, and in case of IP that can operate in
multiple modes, nodelabel+compatible. An example of the later is:
```
config NRFX_SPI0
bool "SPI0 driver instance"
depends on $(dt_nodelabel_has_compat,spi0,$(DT_COMPAT_NORDIC_NRF_SPI))
select NRFX_SPI
config NRFX_SPIM0
bool "SPIM0 driver instance"
depends on $(dt_nodelabel_has_compat,spi0,$(DT_COMPAT_NORDIC_NRF_SPIM))
select NRFX_SPIM
config NRFX_SPIS0
bool "SPIS0 driver instance"
depends on $(dt_nodelabel_has_compat,spi0,$(DT_COMPAT_NORDIC_NRF_SPIS))
select NRFX_SPIS
```
These symbols are later selected by e.g. SPI driver if `spi0` node is
enabled. While this works in the Zephyr context, it can be a problem in
applications using nrfx directly in the application layer, unless they
tweak devicetree. For example, if devicetree `spi0` node defaults to
`compatible = "nordic,nrf-spim"`, NRFX_SPI0 or NRFX_SPIS0 won't be
selectable, but an application using nrfx directly doesn't really care
about what is defined in devicetree as it is effectively bypassing it.
It just wants to select e.g. `CONFIG_NRFX_SPI0=y` and forget about the
rest.
This patch fixes this problem by just checking for the existence of
certain nodelabels.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Correct the introduction comment, removing the native_posix mention,
and something which did not apply for several years.
Also remove an unnecessary include.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Including renaming the kconfig option
NATIVE_POSIX_TIMER into NATIVE_SIM_TIMER deprecating the first one.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Current system INTID calcualtion only worked for SoCs whose extended
interrupts started from IRQ 0.
Otherwise, FSL_FEATURE_IRQSTEER_IRQ_START_INDEX should be added for
system INTID.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Multi-level interrupts should be handled in irq init. Only level1
interrupts going directly to interrupt controller need to be
initialized.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
The sensor does not always finish responding within 200 ms.
This is the sometimes the case when using the sensor calibrate command `X`.
Response delay up to 212 ms has been measured with a logic analyzer.
Increase the max response delay to 300 ms to fix the issue.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
During calibration feature development the following loop was used for
testing:
```shell
CMD="sensor attr_set explorir_m co2 calibration 1234"
while : ; do echo "$CMD" > /dev/ttyACM0; sleep .8; done
```
At some point calibration would fail and all following calibration commands
would fail.
Reset buffer and semaphore just before terminating the command to better
mitigate disturbance from previous failed command.
Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
Rework the sample to use the new USB device stack and the new DAP
backend and align the sample with the WebUSB sample which has a similar
BOS descriptor.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The backend uses a new USB device stack and bulk endpoints. Only a
single instance of the backend function is currently supported. Both DAP
packet processing and the new backend are prepared to support multiple
instances, but require a user interface and minor modifications.
New backen has similar functionality to what is provided by the function
in the sample samples/subsys/dap.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
We need a way to update the value configured by option
CMSIS_DAP_PACKET_SIZE at runtime. For example, the USB backend may have
different values depending on the speed at which the device is being
enumerated.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Both polling and interrupt based APIs are supported in the TTY driver.
And the console backend is enabled unless *any* UART driver is built.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Rename the driver from uart_native_posix to uart_native_pty.
Including renaming the DTS compatible, and kconfig options, deprecating
the old ones.
And refactor the driver, generalizing it, so we can have any number of
instances.
Note that, unfortunately generalizing to N instances cannot be done
without a degree of backwards compatibility breakage: This driver was
born with all its configuration and selection of the instances based on
kconfig.
When the driver was made to use DT, it was done in a way that required
both DT and kconfig needing to manually coherently enable the 2nd UART.
This has now been fixed, which it means only DT is used to decide how
many instances are avaliable, and UART_NATIVE_POSIX_PORT_1_ENABLE is
just ignored.
Including:
* Deprecate UART_NATIVE_WAIT_PTS_READY_ENABLE: the options is always on
now as it has no practical drawbacks.
* Deprecate UART_NATIVE_POSIX_PORT_1_ENABLE: DTS intanciation defines it
being available now.
* Rename a few functions and in general shorten pseudo-tty/pseudo-
terminal to PTY instead of PTTY.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
If the ACL link has been encrypted and it has a authenticated link key,
it means the pairing procedure has been done. And the security level of
the link key can not be upgraded. In this case, if `conn->sec_level` is
less than the required security level of the L2CAP channel, reject the
L2CAP conn request.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Fix compilation with CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME=y and
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC unset at the board/SoC level.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Test was filtered out due to wrong metadata, make it run in simulation
and set integration platforms.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Make this sample build/run on something that is supported.
depends_on was causing this to be completely left out.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
We want to be able to run tests and get results in CI, not just build
for platforms we do not have access to.
Where possible, use a simulator instead of hw platforms.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
zms is not something to be used with depends_on, it is a software
feature. looks like it was a copy/paste from an nvs test. This test was
always fitlered out and never built or ran on anything....
Use filter instead.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Pend until requested event is set before clearing it. Without that
check event could be cleared too early and APP core is not waken up.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The HCI IPC endpoint bound timeout value was hardcoded and set
to 1000 ms. This value may be differ between platforms, for
exampel due to extended boot time.
The default value used was a bit short for multicore SoCs
that usually may wait for some other service reposnes for
similar time. That may lead to timeout error while other
end of an endpoint was slightly late. Change the default
duration to 2000 ms to give more room for possible delays.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
The nrf-spis instances require zephyr,pm-device-runtime-auto;
to be properly initialized.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Improves readability by removing the need to check the table
to figure out how many antennas devices A and B are using.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
Make struct ring_buf 12 bytes smaller by default. This comes with a 32KB
buffer size limit which covers almost all cases. The previous limit of
2GB can be restored with CONFIG_RING_BUFFER_LARGE=y.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Make it more informative and useful.
Buffer sizes that are a power of 2 didn't provide any advantage since
commit 099850e916 ("ring_buffer: the great simplification").
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Add a selection of interval values that are suitable for BAP,
which will allow better coexistence between ISO and ACL,
for both broadcast and unicast. Some of these are defined
by the BAP spec, and some are defined by Zephyr, since they
do have a suggested value from BAP.
Samples and tests have been updated to use these new values.
Peripheral samples have also been updated with
CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS so that the connection
parameters from the centrals aren't updated to something else
shortly after.
The shell has also been updated to use the LE Audio (BAP) values
if audio is enabled, and the audio.conf file has disabled automatic
updating of the connection parameters as the peripheral, as we rarely
(if ever) want to do that.
Due to the connection interval change, CI hit an issue
with test_bass_broadcast_code in test_main_client_sync, where
the reading of the long receive state did not finish before we
attempted to do another procedure, so the function was updated to have
a retry.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
- Add support for Fetch/Get API.
- Add support for Read/Decode API.
- Add config settings through device-tree.
- Add bus support for SPI (although easily extensible to others as
based on RTIO).
Fetch/Get API tested with accel_polling sample.
Read/Decode API tested with sensor_shell sample.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Use vendor prefix "neorv32" for all peripherals provided by the NEORV32
RISV-V Processor project.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
MD5 and SHA1 are not supposed to be used nowadays on security context.
Some ancillary scripts in tree do use them, but for verification only -
or where externally mandated, such the SPDX tool.
This patch marks those usages as `usedforsecurity=False`, which helps
clarify intent.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
In current implementation, the SDP discovery complete event is not
notified when the response data length is 0.
Notify the discovery complete event if the response length is 0.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
It seems that this DTS entry has been copied from another DTS.
The address of FlexPWM1 conflicts right now with the flash memory space.
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
It is no longer possible to use other signatures other than
`int fn(const struct device *)`. Just cast the device pointer,
safe in this context because CONFIG_DEVICE_MUTABLE=y.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add a new set of macros to define devices with de-init capabilities.
This allows to move gradually to de-init without introducing breaking
changes.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Remove restrictions from device_init by allowing to perform device
initialization if the device state flags it being not initialized.
This makes the API usable in contexts where device_deinit has been
called before.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add a new API to de-initialize a device. When a device is
de-initialized, it will release any resources it has acquired
(e.g. pins, memory, clocks, DMA channels, etc.) and its status
will be left as in its reset state.
It is the responsability of the caller to ensure that the device is
ready to be de-initialized.
For now, deinit call always initializes to NULL. New macros will be
introduced to not break existing device APIs.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Instead of passing a single init function, create
struct device_ops with the init function inside. This allows to easily
extend device's capabilities in the future without too much breakage,
e.g. to add a de-init call.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Introduce a new field to store device flags. Only device deferred init
flag has been added, replacing usage of linker hackery to know wether a
device requires initialization at boot time or not. This change will be
helpful in the near future as devices will become reference counted, so we
will need to know wether they have been initialized or not.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Such union is rather redundant, considering a simple const cast can be
done when initializing the init entry. Note that the init_entry does not
need to be touched now that struct device stores the init call. It is
merely an init entry sorted by linker scripts, so we can intertwine
devices and SYS_INIT.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Device init function is no longer taken from `struct init_entry`, so
there's no need to keep such union.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
It just complicates things. It is not C99 strandard, and since C11 is
not mandatory, it is better to play safe here.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This patch adds an initial driver for the WCH DMA
controller. All hardware features and most interface
features are implemented.
Signed-off-by: Paul Wedeck <paulwedeck@gmail.com>
This commit adds the Twister `eeprom` test tag and a devicetree `eeprom-0`
alias for samples and tests.
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
Add the documentation on how to use the commandline options to set the
IPv4 addr, gateway and netmask of a native_sim setup.
Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
Added the abililty to set the IPv4 addres, gateway and netmask from the
command line when running a native_posix build.
Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
Fix mistake in host implementation of Advertising Coding Selection.
The host should only try set the BT_LE_FEAT_BIT_ADV_CODING_SEL_HOST
when the observer role is enabled. If a broadcaster enables the
CONFIG_BT_EXT_ADV_CODING_SELECTION Kconfig option bluetooth will
fail to initialise.
Signed-off-by: Thomas Deppe <thomas.deppe@nordicsemi.no>
The udc_skeleton driver incorrectly calls `K_THREAD_STACK_DEFINE` with
`CONFIG_UDC_SKELETON` instead of `CONFIG_UDC_SKELETON_STACK_SIZE`. This
causes stack overflows when developing a driver based on this code.
Fix the call to `K_THREAD_STACK_DEFINE`.
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
The pending discovery request will not be handled in some cases.
The cases include,
- The received data length is not aligned with frame length
- The continuation status length is more than maximum value
- Total length of the response is less than the frame length
- Unknown operation code is received
There is also a case where the current discovery result was not
notified when processing the pending discovery request.
The cases include,
- Fail to send SDP request
- No tail room of received buffer to save the response data
Fix the issue by using the following steps,
- Notify the application that the discovery is done
- Process the pending discovery request
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add sensortile_box_pro board overlay and config files.
This is good to verify lsm6dsv16x RTIO streaming over SPI bus.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
For the `static inline` replacement of the `hostname_set`-function add
`ARG_UNUSED`-macros, such that the compiler does not warn about the unused
arguments.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
If the remote is in bondable mode, but the local is in non-bondable
mode, the local host shall respond to an IO capability request with
a negative response.
In current implementation, it does not check the bonding flags of the
both sides are consistent.
Fix the issue by checking the consistency of bonding flags of the both
sides. If they are not consistent, send a negative IO capability
response with the reason pairing not allowed.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The `conn` is found by using function `bt_conn_lookup_addr_br()`, it
should be released by calling `bt_conn_unref()`. But `bt_conn_unref()`
is missing in the case that the pairing is not accepted.
Release the `conn` by calling `bt_conn_unref()` before exiting the
function `bt_hci_io_capa_req`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Adds a check, that the phy device in the device tree, referenced
by the phy-handle property, is enabled.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
The flash erase-blocks property was a bit malformed, it has 254 pages
of size 8192 after the first 8 pages of size 2048 to reach the total
size of 2048K. This caused issues when trying to erase the last pages
of the flash, which caused the flash erase_blocks test suite to fail.
Adjust the erase-blocks to match the flash layout.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The implementation for erasing pages in the flash_sam.c driver
indicated a successful erase after exceeding the last page to be
erased successfully. Since the last page has no proceeding page,
the succeeded status was not set.
This fix switches around the status to be set as succeeded before
erase begins, to have the succeeded status cleared if page unlock
or erase fails.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Pinoroni Pico Plus2 is an RP2350B based board that has
more rich I/O, RAM, and Flash than the original Raspberry Pi Pico2.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
As the RP2350B has more than 32 GPIO pins,
we changed the configuration so that it is split into two ports.
To do this, we created a `raspberrypi,pico-gpio-port` node and
moved the previous `raspberrypi,pico-gpio-port` functions to it.
This became a child node of `raspberrypi,pico-gpio-port`, and
`raspberrypi,pico-gpio-port` will remain a gpio mapper.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Sysbuild may include several images and when using ninja as build tools
then build options like `ninja -v` or `ninja -j <n>` is only consumed
by the top-level build folder, which is sysbuild itself.
CMake supports setting number of jobs or verbosity using environment
variables.
Document this feature in the Building with sysbuild section.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Calling `west build --build-opt="-v" --build-opt="-j=<n>"`
passes the build options to `cmake --build ... -- <build-opt>` which
again is passed to the native build tool, such as ninja or make.
However, when ExternalProjects are used in CMake, such as in TF-M or
sysbuild builds then those extra build options are only passed to the
first image build and not those build as external projects.
CMake supports environment variables for those flags, so translate
verbosity and number of jobs to those environment variables and thereby
support those flags for all images when specified by the user.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Update the NEORV32 SoC, peripheral drivers, and board to support NEORV32
v1.11.1. Notable changes include:
- Optional RISC-V ISA Kconfigs are now selected on the board level.
- Peripheral registers are now automatically reset in hardware, no need for
software initialization code.
- The NEORV32 GPIO controller now supports 32 pins, not 64. Interrupt
support will be submitted in a separate PR.
- Default board configuration has 64k RAM and is clocked at 18 MHz.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Originally, when Zephyr support for the NEORV32 was introduced, the idea
was to support multiple version of the SoC in Zephyr as development on the
open-source RISC-V processor continued.
Unfortunately, this has proven to be much harder than anticipated in part
due to incompatible changes between NEORV32 versions and part due to the
added test burden of verifying all changes on many different versions and
configurations.
Going forward, Zephyr will support a given release of the NEORV32
processor.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
The NEORV32 v1.8.6 does not fully support the RISC-V ISA A
extension. Remove it and enable support for atomic operations in C
regardless of the version used.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Fix the syntax in the device tree binding example by replacing `:` with `=`
in the `compatible` property. This ensures consistency with the standard
device tree syntax.
Signed-off-by: Hank Wang <wanghanchi2000@gmail.com>
Remove redundant descriptions in net/wireless bindings, such
as "This is a representation of" and "... node".
Signed-off-by: James Roy <rruuaanng@outlook.com>
- Make ext_adv and per_adv into arrays for multiple BIGs
- Create bap_broadcast-source_setup_v2 command
- Handles broadcast_id as an input
Signed-off-by: Graham Wacey <graham.wacey@nordicsemi.no>
Signed-off-by: Alexander Svensen <alexander.svensen@nordicsemi.no>
The ADP5585_GPO_OUT_MODE_A is used when configuring initial output
during pin configuration, causing pins configured HIGH is incorrectly
configured as open-drain. Replacing the reg with ADP5585_GPO_DATA_OUT
fixes the issue.
Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
Currently, in Renesas adc driver, channel_count is used
as the maximum index of the channels can be supported.
However, the value input in dts of "channel_count"
represents the total number of supported channels.
After consideration, we have decided to remove this
reduntant property.
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Add fields `total_len` and `recv_len` to `struct bt_sdp_client`.
Save the total length of the response to `total_len`.
Save the received data length of the response to the `recv_len`.
Check the consistency between `total_len` and `recv_len` after all of
the response packets are received.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Including renaming the DTS binding and kconfig options
deprecating the old one.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Refactor the userchan driver into a top and a bottom part.
The bottom is the one which interacts with the host and is built
with the host libC, while the top is built with the embedded code
and whatever libC that is built with.
Errors (errno) is converted between the top and bottom to ensure they
are coherent with the local libC.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Align with native_simulator's upstream main
3ccb09ec00e291f699219c0e3f5b14b6b1c7ceb6
Which includes:
3ccb09e nsi_errno: Add new API to get the current host side errno
32eab87 Makefile: Ser a macro to distinguish build in runner context
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The PL022 driver has already implemented supporting reset device
behavior.
However, the support is incomplete because the `arm,pl022.yaml`,
does not contain a `reset-device.yaml`.
Add include directive to `arm,pl022.yaml` to including
`reset-device.yaml` to complete the support for reset device.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
The FUSE driver allows accessing a possible filesystem, independently
of the underlaying device, so let's correct the description so we do
not mix "flash" with "filesystem".
Also, one does not need to create the 'flash' folder these days. The
FUSE library will if needed.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Now we can build the FUSE driver with any embedded libC,
so let's update the table.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Split the fuse FS driver into 2 parts: A top built in the embedded side,
with the embedded libC, and a bottom built in the runner side with the
host libC.
The error returns are converted to match the host libC.
Also, before the host FUSE thread, which is asynchronous to Zephyr was
calling directly into the Zephyr filesystem code, which resulted quite
often if catastrophic failures or corruption of the Zephyr state.
This is now fixed by having the FUSE thread queue requests to a Zephyr
thread, which will be handled in the embedded side in a coherent way.
This adds a slightly noticeable overhead, but the performance is still
acceptable.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add `extern "C"` guard around the function declarations in drv2605.h.
Without this guard, compiling code with a C++ compiler fails due to name
mangling issues.
Signed-off-by: Manu Sutela <manu.sutela@gmail.com>
Some compilers (iccarm included) does not support BUILD_ASSERT()
to check alignment of arrays.
This fix checks if an IAR compiler is used and disables the
start-alignment check if it is.
Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
Deprecate this header which provides API compatibility for the
native_posix timer HW model, with planned removal in v4.4.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Deprecate this header which provides API compatibility with
native_posix, with planned removal in v4.4.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
As native_posix has been removed, these tests do not need to support
anymore both native_sim and _posix targets, so we can stop using
the transitional headers, and APIs.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Now that native_posix has been removed, this driver only needs to
support native_sim. Let's stop using the transitional headers which
supported both.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
* Sort includes by groups each alphabetically:
- standard lib
- zephyr
- private
* Move log registration to be after all includes.
Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
The 'order_key' field in the thread structure '_thread_base' is only
required when CONFIG_SCHED_SCALABLE and/or CONFIG_WAITQ_SCALABLE are
enabled (neither of which is a default setting). Making the existence
of this field conditional slightly reduces the size of the k_thread
structure when neither of those Kconfig options are selected.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Rename the driver files, binding and kconfig options, while deprecating
the old binding and kconfig options.
Uses in tree are replaced.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
When a queue has been unlinked but not removed the name pointer is set to
NULL. The queue is still in the list when adding new queues and the name
pointer is passed to strcmp.
Signed-off-by: Jari Tervonen <jari.tervonen@nordicsemi.no>
A macro introduced allows to log four-character-codes (FOURCC) as one
string instead of enumerating each individual character. This saves a bit
of room in the code and is less error-prone.
Signed-off-by: Josuah Demangeon <me@josuah.net>
This adds a macro to generate a C99 compound literal string, which allow
to use it in debug log messages, such as:
LOG_DBG("The pixel format is '%s'", VIDEO_FOURCC_STR(fmt->pixelformat));
Signed-off-by: Josuah Demangeon <me@josuah.net>
The HCI IPC driver is not reliable and can lead to lost ACL data if
built without Controller-to-Host ACL flow control.
This commit prevents building HCI IPC driver and hci_ipc sample without
CONFIG_BT_HCI_ACL_FLOW_CONTROL.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
nrf52_bsim target was failing to compile when ZLI configuration
was used. This target should never be used for that configuration
because:
- bsim does not support Zero Latency Interrupts
- this configuration is strictly for nrf52840dk (dedicated overlay)
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Added mikrobus_serial, mikrobus_i2c, mikrobus_spi and mikrobus_header
node labels to EK-RA6M4 device tree board definition, allowing compatible
shield boards to be used.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
DWC2 thread must acquire UDC mutex before accessing shared resources
(peripheral registers and software data structures). Whenever software
enqueues a buffer, the caller first obtains mutex, adds the buffer to
the list, posts event to wake up DWC2 thread and releases mutex. If DWC2
thread has higher priority than the task currently holding a mutex,
there will be two completely unnecessary task switches: DWC2 will switch
in, try to obtain mutex, and then the control will be returned to the
mutex holder.
Avoid the unnecessary task switches by locking scheduler prior to
obtaining the mutex and unlocking scheduler after releasing the mutex.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Configures both of these variables so that they can contain
CMake variables which will be expanded
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
The ISO configs set defaults based upon BT_ISO_MAX_CHAN and other
configs defined in `bluetooth/Kconfig.iso`.
By adding these dependencies the error messages resulting from
adding `CONFIG_BT_CTLR_PERIPHERAL_ISO=y` to a project configuration
file will become less confusing.
Now the build will output:
```
warning: BT_CTLR_PERIPHERAL_ISO (
defined at subsys/bluetooth/controller/Kconfig:976,
subsys/bluetooth/controller/Kconfig:984) was assigned the value 'y' but
got the value 'n'. See ...
```
Previously we would get:
```
warning: default value 0 on BT_CTLR_CONN_ISO_STREAMS
(defined at subsys/bluetooth/controller/Kconfig:993)
clamped to 1 due to being outside the active range ([1, 64])
```
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
Update the HW models module to:
b84bd7314a239f818e78f6927f5673247816df53
Including the following:
b84bd73 UART PTY backend: Correct a few comments
f945d62 RADIO 54: Fix reset value of TIMING register
9fd4133 MDK nrfx_erratas.h: Ensure backwards compatibility with old
nrfx versions
85061b1 MDK: Provide empty replacement for nrf_erratas.h
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Added additional analog channels for ADC and COMP/LPCOMP and new pin
functionality mapping for TDM.
Signed-off-by: Karsten Koenig <karsten.koenig@nordicsemi.no>
Make sure that if mDNS resolver is enabled, we join the mDNS
multicast group so that query responses can be received.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If mDNS resolver is enabled but mDNS responder is not, then
mDNS multicast address group is not joined. This would prevent
the mDNS resolver to receive the responses. Fix this by
joining the mDNS multicast group if mDNS responder is not
enabled (because the responder will join the group itself).
Fixes#86477
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Remove `select FILE_SYSTEM` from `WIFI_NM_WPA_SUPPLICANT`, originally
added in 3fc932c5. The selection is not required by any tests, and does
not appear to be used by any code in the module.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Adds one RX thread per instance. Previously, only one global RX thread was
used resulting in crashes due to the thread instance being overwritten by
other instances.
Signed-off-by: Nils Ruf <nils.ruf@endress.com>
In order to enable the use case where the underlying flash tool supports
bulk-flashing using multiple device IDs, augment the core runner class
with this new runner capability and implement it in the nrfutil runner,
since the nrfutil tool supports it natively.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The errno for format 2 of the getstatus ccc always returns an error.
The check for the invalid defining byte should use the "AND" operation
instead of "OR." Additionally, the first byte of the ibi tir sending
request is ignored due to the incorrect argument count.
This commit fixes both issues.
Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
There is an incorrect dynamic address setting for setaasa. The correct
behavior is that the dynamic address should be assigned as a static
address only when the CCC request returns success. This commit fixes the
issue.
Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
There is a deadlock issue when calling stop using address conflict
detection. This is due to the fact that some net_mgmt events are fired
and trigger the dhcpv4_acd_event_handler() with lock held even if they
are of no interest for this callback.
Therefore, before acquiring the lock, make sure the event we received
is one we are expecting.
Also, do the same for dhcpv4_iface_event_handler().
Signed-off-by: Mathieu Anquetin <mathieu.anquetin@groupe-cahors.com>
Instead of using CONFIG_LOG_DEFAULT_LEVEL, use explicitly charger log
level CONFIG_CHARGER_LOG_LEVEL for all hardware charger supported.
Signed-off-by: Kiara Navarro <knavarro@paltatech.com>
Updates the ipi_optimize test to use 4 CPUs for qemu_x86_64.
This provides enough CPUs for the test to verify the recently
added directed IPI support for x86_64.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Adds support for directed IPIs to x86/intel64. Use of direct IPIs
can further reduce the number of schedule IPIs sent and processed
in a system. Fewer IPI related ISRs mean that ...
1. Application code is interrupted less frequently
2. Lower likelihood of scheduler spinlock contention
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
sca finds the code to be logically dead considering the size of long
to be 4 bytes.
- Solution: use uint64_t type for the variable `value`.
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
The tmp1075 driver already registers a log module using
LOG_MODULE_REGISTER(TMP1075, CONFIG_SENSOR_LOG_LEVEL).
This ensures that all log messages are prefixed with "TMP1075".
The existing LOG_ERR message redundantly includes "tmp1075",
which is unnecessary.
Signed-off-by: Hank Wang <wanghanchi2000@gmail.com>
k_sleep() returns a 32 bit count of milliseconds, as that was its
historical API. But it now accepts a potentially 64 bit tick count as
an argument, leading to situations where an early wakeup will produce
sleep times that aren't representable. Clamp this instead of
truncating to an arbitrary value.
Naive code will likely do the right thing with the large return (just
sleeping an extra round), and sophisticated apps can detect INT_MAX to
enable more elaborate retry logic.
(Also fixes a somewhat unfortunate puncutation error in the docs that
implied that it returns zero on early wakeup!)
Fixes: #84669
Signed-off-by: Andy Ross <andyross@google.com>
The logging thread is usually woken up by a timer, if the timer
period is longer than 10ms, log_flush() can iterate multiple times
needlessly, while waiting for the next timer. Instead wake up the
logging thread to let it flush the queue immediately. Besides a
hard-coded polling period of 10ms is too long for some applications,
make it a Kconfig parameter.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Add tests verifying the functionality of the newly added
accept-encoding based compression support.
Signed-off-by: Carlo Kirchmeier <carlo.kirchmeier@zuehlke.com>
Add compression support using the accept-encoding
header to the http server static filesystem resource.
Signed-off-by: Carlo Kirchmeier <carlo.kirchmeier@zuehlke.com>
remove the power off BLE controller function since the hci_reset cmd
is enough, also for wifi-ble coex scenario, need to maintain BLE controller
for some info in SMU region
Signed-off-by: Ying Zhang <ying.zhang_2@nxp.com>
The response should not be handled if there is not a request has been
sent.
Ignore the response if the `session->param` is `NULL`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
In current implementation, if the UUID of request is unknown, the
local variable `u` will not be updated, and the unknown UUID `u`
is used as the target to search it in the SDP record list. It may
result in irrelevant record being replied to the requester.
Ignore the unsupported UUID to fix the issue.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
http_server_http2.c does not guard check if file system is available
or not before using file system api. This PR will add guard for that
Signed-off-by: bac phan <phanhaibac98@gmail.com>
Add stop function to stepper shell. align the function order to match
the one in __subsystem stepper_driver_api struct
Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Inside the hci driver API in h4.c, there were no
API function allowing to close the bluetooth
interface, as there were close function defined
for other bluetooth hci driver.
The function disables Bluetooth reception and
sending, and calls a weak function allowing
to implement user specific behaviors
while shutting down bluetooth interface
Signed-off-by: FILLIOT Louis <l.filliot@lacroix.group>
When the continuation length is not 0, there is a reported error.
In current implementation, the total length is only valid only when
the frame is the first block of the SDP response. For following
continuous frame, the total length is 0.
So, change the condition to `(total != 0 && frame_len > total)`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Replace a few references to native_posix / the native_posix ethernet
driver with native_sim, or native_tap.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Rename this driver to eth_native_tap, including renaming all its
options.
The old options remain until v4.4, but as deprecated.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Replace NATIVE_POSIX_SLOWDOWN_TO_REAL_TIME with the equivalent for
native_sim NATIVE_SIM_SLOWDOWN_TO_REAL_TIME.
native_sim accepted transitionally NATIVE_POSIX_SLOWDOWN_TO_REAL_TIME
to ease porting from native_posix, but this option is being deprecated.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The CONFIG_POSIX_C_LIB_EXT will get support for fnmatch() function.
The old CONFIG_FNMATCH is deprecated.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Update Kconfig to not select BT_TICKER_REMAINDER_SUPPORT for nrf54L
Add BSim tests to cover using a ticker without BT_TICKER_REMAINDER_SUPPORT
and expire info enabled
Signed-off-by: Troels Nilsson <trnn@demant.com>
A few things were not flagged by CONFIG_BT_TICKER_REMAINDER_SUPPORT
that should have been; This caused building without it to fail
Initialize remainder to 0 where used with ticker_next_slot_get_ext(),
since it may not get set if remainder support is off
Signed-off-by: Troels Nilsson <trnn@demant.com>
Add low-power-write property to MSC device tree node, set
MSC_WRITECTRL_LPWRITE if enabled.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Introduce separate flash driver for Silabs Series 2. This driver
is forked from the Gecko flash driver with no changes outside of
formatting and naming.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
An option is added to allow vendor specific processing at
scmi_shmem_write_message() and scmi_shmem_read_message().
Additionally code has been added specific to NXP which has
some extended validation features.
Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
When we receive piggybacked Ack, it means that we have
received all information for this request.
There is no need to track exchange lifetime anymore.
Once we reset the internal request, it is free to be used
for the application. So if we only have few requests allocated,
it would be slow to send those as get_free_request() only
gives request structures that don't have a lifetime left.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
CMSIS modules dsp and nn sets the optimization flag -Ofast for their
libraries. I've now made a new compiler property optimization_fast to
avoid using ifdefs in the cmsis CMakeLists.txt files.
I've update GCC and arcmwdt (not sure if arcmwdt supports -Ofast)
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
This patch will disable DMIC IRQ handling in DMIC driver
because it is now managed by Mic Privacy driver
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
As to facilitate work items preemption, common for sensor read ops.
e.g:
- Sensor read (submitted through workqueue).
- SPI read (submitted through workqueue using default handler).
This requires at least 2 thread pools to allow SPI read to complete,
to then come back and complete sensor reading.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
In `db_hash_setup()` the state object for MAC operations was initialized
using `psa_mac_operation_init()`. This function was not always optimized
or inlined.
A way to reduce stack usage is to use `memset()` and set the object to
0. This is one of the option documented to initialize
`psa_mac_operation_t` object.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
- Add possibility to choose implementation of OpenThread L2 and
set it to Zephyr's by default
- Remove unused `OPENTHREAD_SECURITY_INTERNAL` Kconfig
- Add missing choice names for logging and coprocessor
Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
A PSA crypto operation object can be initialized in multiple
ways according to the documentation. For example,
1. Using a dedicated psa_xxx_operation_init() function that
returns an initialized object.
2. Using memset() to zero out the operation object.
For some PSA crypto driver implementations, using the first
method causes an excessive stack usage if the operation
object is large and psa_xxx_operation_init() is not inlined.
Instead, it is better to stick to memset() for this purpose.
Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
Use the newly added timeout in various send functions from within
net_context_sendto.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
Allows to send with different timeouts to not block caller in some
situations. Stable API is kept and just calls `try`-variant with a timeout
of `K_FOREVER`.
Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
Use the recently added bt_le_get_local_features function as well
as bt_conn_get_remote_info to avoid using internal APIs to
check for PAST supported.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The connection object is, and should not, be modified by the function.
Making it const makes it possible to do this simple operation
in functions that also won't change the conn object (i.e.
that uses `const`).
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The function supports reading multiple controller-based values.
It is effectively a copy of struct bt_dev_le but in a more
application-oriented definition.
It was chosen to keep the features as an array rather than a
64-bit value, as the comparison macros work on arrays and that
there already exists new bits > 64 in the core spec which is not
yet supported by Zephyr.
It is being smoke tested in a generic GATT client test,
as the individual values may depend on several Kconfig options.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Adding board bbc_microbit_v2 overlay to pong example. This change
mainly enables to buzzer functionality of the example.
Signed-off-by: João Castilho <jpccastilho1999@gmail.com>
This commit updates the STM32 Ethernet binding to include
the `phy-connection-type` property as required.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Removed the Kconfig option `ETH_STM32_HAL_MII`.
PHY interface type should now be set using
the `phy-connection-type` property in the device tree.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
- Added macros `STM32_ETH_PHY_MODE` to determine
the PHY mode and speed from the `phy_connection_type`
property in the device tree.
- Updated the `eth0_data` structure to use `STM32_ETH_PHY_MODE`
for setting the media interface.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
This commit updates the device tree source files
for all STM32 boards to specify the PHY connection
type for the Ethernet configuration.
Added the `phy-connection-type` property
with the value "rmii" to the Ethernet node.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Streamline code in multiple places as follows:
- Remove redundant initialization of `ret` to `0`,
as it is immediately assigned a value.
- Add `len` to store the result of `strlen(argv[ARGV_CONF])` to avoid
multiple calls to `strlen` within the `for-loop` in `cmd_gpio_conf`.
- Merge separate `shell_print` calls by including a newline `\n`.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
This changes make PM state setting functions in SOC level weak so they
can be overridden by board/app level.
Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
This adds the STEMMA-QT connector to the device tree. The connector
definition didn't exist when making the device tree originally.
Signed-off-by: Ian Wakely <raveious.irw@gmail.com>
This adds the STEMMA-QT connector to the device tree. The connector
definition didn't exist when making the device tree originally.
Signed-off-by: Ian Wakely <raveious.irw@gmail.com>
Use the first nodelabel rather than the node name when available for
shell completion as well as "gpio info". This label is always set gpio
nodes as that's what's used for references by device nodes, there may be
some case where a node has multiple labels for some reason but for a
human I reckon it still makes more sense to suggest a label rather than
the address.
This means that the commands would use, for example "gpioa" rather than
"gpio@58020000".
Fall back to the normal node name if there's no label set or if dt
metadata is not enabled.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Document this command's existence, provide basic usage, and describe
the locations of resources where additional help etc. should be found.
Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
This is an extension for indexing the source code in the workspace
with GNU Global. See the command line help for more information about
Global.
Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
Now that the native simulator has a common version of the error
conversion let's use that instead of a version specific for the
NSOS code.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add a new kconfig option to enable building the new component provided
in the native simulator, nsi_errno, which allows converting the errno
value between libCs.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Align with native_simulator's upstream main
20d3b2b76a3bf61d35becbe17928cdf22e885b9f
Which includes:
* 20d3b2b Makefile: Support building C++ files with runner
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add support for using shared multi-heap (when available) to allocate
the display's framebuffer. This change allows the driver to co-exist
with other drivers that use shared multi-heap (such as video_common.c).
Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
MM boards are currently broken (can't even build hello world) due to
flexspi not being enabled in the device tree, causing external flash
to not be available.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Almost all overlays only enable NVS and SETTINGS_NVS, something that
should be enabled in sample directly. Remove all overlays and make the
sample more genenric.
Use filter on storage partition to enable testing the sample on more
plaforms.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Currently, the soc/stm32/ccm.ld is not handled in
CMAKE_LINKER_GENERATOR.
This commit adds support, making STM32 supportable by
alternative linkers such as AC6 and IAR.
This commit also renames a variable to match all other
LOADADDR symbols.
Signed-off-by: Robin Kastberg <robin.kastberg@iar.com>
Remove USB and CDC ACM configuration in favor of common
configuraiton. This is a follow up to commit 272290bfee
("boards: use board common CDC ACM UART configuration")
Support for this board was merged just before the common solution was
introduced.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
- Add semaphore to make sure source is stopped before proceeding
- This ensures source can be released after this command is finished
Signed-off-by: Alexander Svensen <alexander.svensen@nordicsemi.no>
Added recently introduced optimizations - generation in string literal form
and faster generation for hexadecimal initializer list form - to gzip path
as well.
Signed-off-by: Irfan Ahmad <irfan.ahmad@siemens.com>
- Allows to build and run ZMS tests on real platforms.
- Enables ZMS tests designed for a flash-simulator only when
built for qemu_x86 or native_sim targets.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
When disabling the __deprecated macros in tests/kernel/pipe/deprecated,
the macros was set to ''. For IAR tools this was expanded to '' which
caused a compilation error.
I have replaced them with /* deprecated */ which should work for all
toolchains.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
Do not use FALSE_EP_ADDR in API calls to enable/disable an endpoint as
we already support controllers with the maximum possible number of
endpoints where FALSE_EP_ADDR is a valid endpoint address.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
When running a bsim test where an option's argument is a quoted string,
using $@ to execute the arguments of the Execute function causes
incorrect quote handling.
To correctly pass all arguments, add extra quotes around $@. This
ensures that quoted strings remain intact when passed to the executable.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
To ensure that the accesses to the radio peripheral are done with
predictable timings, the constant latency must be enabled.
The constant latency mode is enabled alongside the HFXO.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
The coap_client has a static/internal function, has_ongoing_exchange(),
which can be an useful addition to the public API. This would provide
a mechanism to determine when it is safe to close a socket gracefully.
Signed-off-by: Povilas Selevicius <povilas.selevicius@quadigi.com>
Move macro from nrf_clock_control.h to soc_nrf_common.h. Clock control
header fetches many dependencies (e.g. onoff.h) so move macro to more
low level header.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Include configuration file for cases when this file is complied
in special builds (e.g. TFM).
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Bugfix previous `osThreadJoin()` implementation where a thread which
exited with `osThreadExit()` could not be joined upon by other threads.
Signed-off-by: Utsav Munendra <utsavm@meta.com>
Lookup the address of the SNTP server through DNS instead of requiring
a server to be running locally.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Networking events may have been triggered before `wait_for_network` was
called. Resend the status events after the callbacks have been
registered.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add a variant of the SNTP API that does not block while waiting for a
response from the SNTP server. Instead it takes advantage of
`CONFIG_NET_SOCKETS_SERVICE` to read the response asynchronously when
the response is received.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Extract the SNTP query send logic out of `sntp_query` so that it can be
used by functions that don't synchronously wait for the response.
Signed-off-by: Jordan Yates <jordan@embeint.com>
It shouldn't be possible to just 'enable' target mode of a device.
It is required by the specification to perform a handoff or request to
become a target or controller from the active controller. Not to just flip
a switch internally. Can the parameter from `enable` to `enabled` to report
if it is currently a target or a controller otherwise.
Also, add inline helpers for `i3c_config_get` and `i3c_configure` to ensure
the proper struct is passed in.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Add test configuration on DMIC nodes that are compatible
with 'nordic_nrf_pdm'.
Add missing DTS definitions in a board overlay.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Incremental refactoring.
Fix PEP8 issues to make ruff green for config_parser.py module.
Add __init__.py to twister directory to make it a proper python package,
and make modules importable.
Signed-off-by: Lukasz Fundakowski <lukasz.fundakowski@nordicsemi.no>
The AM64x has two I2C interfaces located in the MCU domain and
uses mailbox6 to communicate with the A53 cores.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Add HCI IPC retry handling in case of full IPC
queue. This mechanism improves reliability.
The ipc_service_send can return -ENOMEM in case
of full queue. If this happens the retries are
executed in order to wait for queue to empty
and not drop messages.
If the retry mechanism reaches maximum then
the error code is passed back to the host.
The change should improve the handling of
passing messages to full ipc and reduce
dropping of packets.
Signed-off-by: Dominik Chat <dominik.chat@nordicsemi.no>
This board does not have Flash support enabled yet.
Re-enable this sample once Flash and MCUboot support is
added.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
This driver is no longer maintained. So remove the
error condition to have a build error for undefined
platforms.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
When a TCP connection is refused during zsock_connect, errno is set
to -ENOTCONN, but errno should be set to -ECONNREFUSED. This change
causes the ECONNREFUSED status to be propagated from tcp_in to
net_tcp_connect, which eventually causes errno to be set
to -ECONNREFUSED.
Signed-off-by: Noah Olson <noah@wavelynx.com>
Fixes test failures on up_squared caused by ACPI adding to
heap size (K_HEAP_MEM_POOL_SIZE). The test assumed the heap size
always matched the Kconfig CONFIG_HEAP_MEM_POOL_SIZE=256.
Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
Allow to set attribute of the measurement rate of the apds9253. This
must be done setting the sampling frequency (in Hz).
Signed-off-by: Margherita Milani <margherita.milani@amarulasolutions.com>
`watchdog_start_tick` is a just wrapper for `tick_start`.
To simplify, changing it to call directly.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
In order to support new toolchains that are not compatible with
gcc/clang (e.g., IAR), we need to add a level of indirection for
the name of warnings.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
For the CCM mode, increase slightly the output buffer size because
the cc23x0 directly fills this buffer with 16-byte blocks.
This prevents from doing unnecessary memcpy that would have an
impact on the driver's performance.
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Add support for AES module to cc23x0 SoC. The driver supports the
following modes:
- ECB encryption only (since decryption is not supported by the HW)
- CTR
- CCM
Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
Signed-off-by: Julien Panis <jpanis@baylibre.com>
Added option to retry message send over ipc when for example
there is -ENOMEM error (shared memory buffer full).
Number of max retries and delay between them are Kconfigs.
Fixed nrfs error reporting when sending directly over
ipc service, status was not correct when negative value
was returned from ipc service send function.
Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
Add a Kconfig BT_LIMITED_DISCOVERABLE_DURATION to set the timeout for
limited discoverable mode.
Add a argument `limited` to function `bt_br_set_discoverable()` to
support the limited discoverable mode.
When enabling discoverable mode with `limited` is true, both write
LIAC and GIAC to controller and set the bit 13 of COD in function
`bt_br_set_discoverable()`. And start a delay worker with the timeout
CONFIG_BT_LIMITED_DISCOVERABLE_DURATION to disable the discoverable
mode.
When disabling discoverable mode, only set GIAC to controller and
clear bit 13 of COD.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Use `k_sem_take(,K_FOREVER)` in the main thread to keep it sleeping
while worker threads are running. The last worker thread to finish
calculation wakes up the main thread.
Signed-off-by: William Tambe <williamt@cadence.com>
Modify the Cortex-M SysTick driver to work when the SoC resets SysTick
in low-power mode. This adds an invisible Kconfig symbol that must be
selected by SoCs with such behavior.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Add support for a hook-based low-power mode timer to the Cortex-M SysTick
driver, in addition to the existing Counter API-based timer. This is useful
on platforms such as the STM32WB0 where the wake-up timer is too limited
for a Counter API driver to be implemented on top of it.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
The Cortex-M SysTick supported collaboration with a so-called "IDLE timer"
to work even in low-power modes, when the SoC may disable its clock.
Rename "IDLE timer" to "low-power mode timer" to better reflect what this
timer is used for, and transform the single option into a Kconfig choice
to allow other behaviors to be implemented and chosen.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
What is the change?
- This reverts commit 474d4c3249
Why do we need this change?
- This commit was added because Cortex-M didn't have a valid
stack to make required functionality work however,
the previous commit fixes this and makes interrupt stack
available for use. This removes Arm specific limitation from
these generic APIs so revert the commit to reflect the same.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
What is the change?
- APIs `pm_s2ram_mark_set` and `pm_s2ram_mark_check_and_clear`,
used to set/check pm_s2ram magic marker,
no longer have Arm specific limitations.
Why is this needed?
- These APIs are generic and should not have arch specific dependency.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Added CONFIG_AMBIQ_COMPONENT_USE_BT and CONFIG_SOC_AMBIQ_BT_SUPPORTED
to fix empty zephyr_library() warning when BLE is not needed for compile.
Added CMake message if BT related Ambiq specific Kconfig is overriden for
not supported SoC.
Signed-off-by: Swift Tian <swift.tian@ambiq.com>
if saving buf to another variable, usually the ref/unref
needs to be used. change to pass the buf as one parameter
of callback
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
memset already clean the `buf`, don't need to set as NULL.
`avdtp_set_status` already set `req->status` based on `msg_type`,
don't need to check `msg_type` again.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
bt_a2dp_ep_info is used in bt_a2dp_discover, and the max
discovered endpoints' info are already given in seps_info
of bt_a2dp_discover_param, so use pointer to point to the
seps_info of bt_a2dp_discover_param.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
use two handler array to process cmd and response separately,
make the functions shorter and codes more readable.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Enable RNG for nucleo_l476rg and sensortile_box boards as well as changing
the clock source for RNG peripheral to avoid using MSI.
Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
Currently, RISC-V's architecture-specific relocations assume that
all relocations of type R_RISCV_PCREL_LO12_I and _S are processed
immediately after the R_RISCV_PCREL_HI20 relocation that they
share a relocation target with. While this is the case most of
the time, the RISC-V PSABI specification does not guarantee that.
This commit corrects this by determining the R_RISCV_PCREL_HI20
relocation based on the symbol value of the R_RISCV_PCREL_LO12
relocation, as specified in the PSABI.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
The RISC-V port of llext requires additional parameters for
handling non-adjacent HI20/LO12 relocations in arch_elf_relocate():
the current extension (struct llext), the current extension loader
(struct llext_loader), the current section header (elf_shdr_t) and
the current symbol (elf_sym_t).
This changes the signature of arch_elf_relocate accordingly.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
Tests an edge case in the RISC-V PSABI: In the medany and the medlow code
models, the compiler emits auipc/lui (U-type) and ld/sw (I-type/S-type)
instruction pairs for accessing a non-local symbol.
The U-type instruction sets the upper 20 bits, the I/S-type the lower 12.
The U-type and I-type/S-type instruction pairs are often adjacent in code.
This is also what the current llext architecture-specific relocations
expect.
However, this need not be the case - compilers can re-use the upper 20
bits set by the U-type instruction with multiple I/S-type instructions,
which is a useful optimization for multiple loads/stores of or within
the same symbol.
This commit adds a unit test for this behavior, which currently fails
for RISC-V.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
This commit refactors logic in llext_link.c that resolves
a symbol to be imported by an llext into a utility function.
Thereby, the logic can be re-used in other functions if
needed, e.g., when resolving symbols for indirect relocations.
Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
Examine the FP and LR values of each frame to prevent nested
exceptions caused by data aborts. Sometimes, abnormal FP and LR
values are not mapped by the MMU. If we access memory addresses
based on FP or LR values, a CPU data abort will occur. This issue
often accompanies stack overflow occurrences.
Based on this, it is safe to check the validity of memory mapping
with FP and LR values before accessing them.
Signed-off-by: Jungo Lin <jungolin.tw@gmail.com>
Add initial support for the AXP2101 power management IC from X-powers.
Remark: only DC/DC1 and ALDO have been tested on real hardware.
Co-authored-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Co-authored-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
include the use of callback registration to handle descriptor
whenever `FragSessionSetupReq` is sent from fuota server.
Signed-off-by: Kiara Navarro <sophiekovalevsky@fedoraproject.org>
allow the application to decide whether to keep going with the fuota
process by setting a callback that exposes the descriptor field
whenever `FragSessionSetupReq` is sent to the device.
Signed-off-by: Kiara Navarro <sophiekovalevsky@fedoraproject.org>
Access to this region must be requested through UICR by a local
domain that want to use the Execute In Place (XIP) feature of
the EXMIF peripheral.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Extend several flash samples and tests so that they can also be used
with "jedec,mspi-nor" devices.
Add configurations needed for the nrf54h20dk/nrf54h20/cpuapp target.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
This is a follow-up to commit cdf45cb234.
Adjust the DTS node for the nRF EXMIF peripheral so that it is possible
to handle the peripheral with the generic MSPI driver for DW SSI based
controllers and use all its data lines in communication.
Also adjust the related board files accordingly.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
This is a follow-up to commit 45d827a51a.
Although routing for those pins is configured via UICR, pinctrl still
needs to be involved so that it is possible to set desired drive mode
for them etc.
Add also the missing RWDS pin.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Add a flash driver intended to handle various flash devices
connected over MSPI bus as long as they support JEDEC SFDP.
This is an initial commit providing only basic operations
in Octal I/O mode with some hard-coded values for Macronix
MX25Ux series chips.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Add a generic driver for MSPI controllers based on the DesignWare
SSI core. With small vendor-specific adaptations covering integration
details, it should be possible to use the driver for various devices.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
The i.MX RT700 has an ultra-low power Sense Subsystem
which includes an ARM Cortex-M33 and
Cadence Tensilica HiFi 1 DSP.
Here, we add support for the HiFi1 core.
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
The i.MX RT700 has a compute subsystem which includes
a primary ARM Cortex-M33 running at 325 MHz and
Cadence Tensilica HiFi4 DSP.
Here, we add support for the HiFi4 core.
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
With introduction of OSAL wrapper for memory allocation, usage of
zephyr's native malloc calls need to be removed. When NRF70 driver
is not enabled, OSAL needs to be built explicitly.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
Create dedicated memory pools for Wi-Fi management and
data operations (defaults: 20KB for management and 130KB for data).
Setting Data pool to 110KB for non-Nordic SOCs to resolve
RAM overflows seen in twister runs.
Remove the `HEAP_MEM_POOL_ADD_SIZE_NRF70` hint since we are
creating separate heaps for driver and not allocating from
system heap.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
No reason for this sample to be build_only, it can run and be verified
just fine on the right platforms.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Correct the reference in the comment to native posix.
This header is here to stay providing the API for registering
arguments.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix has been removed from the tree. So there is no
need to support it anymore in this sample code.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is being removed as it has reached its end of life in 4.2,
after being deprecated since 4.0.
So these overlays will not serve any purpose anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is being removed as it has reached its end of life in 4.2,
after being deprecated since 4.0.
So these overlays will not serve any purpose anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is being removed as it has reached its end of life in 4.2,
after being deprecated since 4.0.
So these overlays will not serve any purpose anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is being removed as it has reached its end of life in 4.2,
after being deprecated since 4.0.
So these overlays will not serve any purpose anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is being removed as it has reached its end of life in 4.2,
after being deprecated since 4.0.
So this overlay will not serve any purpose anymore.
Note native_sim did not have an overlay of its own.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is being removed as it has reached its end of life in 4.2,
after being deprecated since 4.0.
So these overlays will not server any purpose anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is being removed as it has reached its end of life in 4.2,
after being deprecated since 4.0.
So this overlays will not serve any purpose anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is being removed as it has reached its end of life in 4.2,
after being deprecated since 4.0.
So these overlays will not serve any purpose anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is being removed as it has reached its end of life in 4.2,
after being deprecated since 4.0.
So these overlays will not serve any purpose anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is being removed as it has reached its end of life in 4.2,
after being deprecated since 4.0.
So these overlays will not serve any purpose anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is being removed as it has reached its end of life in 4.2,
after being deprecated since 4.0.
Let's remove this board docs.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The native_posix pages are going to be removed from the tree, let's
remove references to them.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
native_posix is being removed as it has reached its end of life in 4.2,
after being deprecated since 4.0.
Remove the twister support for native_posix[//64] and therefore all
references to them from the testcases and samples yamls, so twister
does not error out.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Provide it from native_sim instead of native_posix as native_posix
is going to be removed.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
These tests kept supporting native_posix thanks to the native_sim
compatibility mode. But now native_posix is being removed. So let's
just switch them to run only on native_sim.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
description:Nominate a GitHub user for the Contributor role with triage permissions
labels:[Role Nomination]
assignees:['nashif']
body:
- type:markdown
attributes:
value:|
## Background
The [TSC Project Roles](https://docs.zephyrproject.org/latest/project/project_roles.html) defines the main roles for the Zephyr Project, including Maintainer, Collaborator, and Contributor.
By default, anyone who contributes code or documentation is a Contributor, but with the lowest [GitHub Permission Level](https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization) of **Read**.
Use this form to nominate a user for the **Contributor** role with **Triage** permission, which allows the user to:
- Add reviewers to pull requests
- Be added as a reviewer by others
- type:input
id:full-name
attributes:
label:Full Name
description:Full name of the nominated contributor.
placeholder:e.g., Jane Doe
validations:
required:true
- type:input
id:github-username
attributes:
label:GitHub Username
description:GitHub handle of the nominated contributor.
placeholder:e.g., @janedoe
validations:
required:true
- type:input
id:organization
attributes:
label:Organization
description:Organization the nominee is affiliated with (optional).
placeholder:e.g., Acme Corp
validations:
required:false
- type:textarea
id:supporting-documents
attributes:
label:Supporting Documents
description:Provide links to 3–5 pull requests authored or reviewed by the nominee that demonstrate their dedication to the Zephyr project.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.