Change the GCC toolchain configuration to make use of the Cortex-R82
target. When Cortex-R82 was added as a GCC toolchain option, the GCC
version of the Zephyr SDK did not support Cortex-R82 tuning. Zephyr was
therefore compiled compiled for the Armv8.4-A architecture. Since Zephyr
SDK 0.15.0 (which updated GCC from 10.3.0 to 12.1.0) coupled with Zephyr
3.2, the Cortex-R82 target is supported.
The Armv8-R AArch64 architecture does not support the EL3 exception level.
EL3 support is therefore made conditional on Armv8-R vs Armv8-A.
Signed-off-by: Debbie Martin <Debbie.Martin@arm.com>
This sets the number of arguments for SMF_CREATE_STATE() to always
be the same, independent of the selected Kconfig options.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Currently, .ARM.exidx input sections are only handled when building with
ld. When building with lld (and depending on the orphan section handling
policy configured), a few issues can arise:
1. lld may produce warnings about the orphan section
2. lld may place the input .ARM.exidx sections in unexpected ways--it
seems lld does place the .ARM.exidx input sections in the expected
.ARM.exidx output section, but it places them at the end of the
section (after '__exidx_end').
To resolve the possible warning and unexpected placement, explicitly
handle .ARM.exidx sections when lld is used.
Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
Added EXMIP pinctrl definitions, which allow selecting pin functions by
name in DTS. The definitions are added, but not used in pinctrl_nrf.c.
The nrf-regtool reads the pinctrl configuration and applies the settings
using different mechanisms.
Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
Add the CAP commander reception start procedure which starts reception
on one or more CAP acceptors
With the implementation of broadcast reception start procedure we also need
some mockups for unit testing
Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
Add support for IPv6 Source Address Selection defined in RFC 5014.
This commit does not add any address selection support to getaddrinfo()
as described in the RFC. The AI_EXTFLAGS symbol and also the ai_eflags
to hints is added but they are not used by the code.
The public/temporary address selection is only done internally by
the net_if_ipv6_select_src_addr_hint() according to flags set by
setsockopt().
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add reference counting to network interface address (for both
IPv4 and IPv6) so that the address is not removed if there are
sockets using it. If the interface address is removed while there
are sockets using it, the connectivity will fail for the said
socket.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add events to be generated when privacy extension is enabled
or disabled, or when allow/deny filter is added or deleted.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If IPv6 privacy extension is enabled, then we need to select
proper public or temporary IPv6 source address when sending the
packet.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
This creates support for IPv6 privacy extensions which is described
in RFC 8981. This will also add API that can be used to add IPv6
prefixes to a allow or deny list privacy extension filter.
The code will create temporary IPv6 addresses from prefixes that
are advertised by Router Advertisement messages. The temporary
IPv6 addresses are then expired according to lifetime and removed.
Fixes#9349
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If IPv6 address expires and moves to deprecated state, then
send a mgmt event so that listeners can act on it.
One such action is to close a socket bound to that source address
so that the address can be released.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The coap_client lib only handled "one-shot" requests properly. This
patch allows it to keep listening for additional responses to a request,
if the request was made with the CoAP OBSERVE option appended.
An API for canceling such requests is also added.
Signed-off-by: Benjamin Lindqvist <benjamin@eub.se>
Add support for the MSI clock on the STM32WL family. This is needed for
instance to set the RNG clock domain to MSI in the device tree when not
using the PLL.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Spell checking tools do not recognize "iff", replace with "if and only if".
See https://en.wikipedia.org/wiki/If_and_only_if
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
The bcdUSB value 0x0210 defined in USB 3.2 Specification indicates USB
3.2 device operating in one of the USB 2.0 modes. USB 2.0 Link Power
Management Addendum defines bcdUSB value 0x0201 to indicate that USB 2.0
device supports the request to read the BOS Descriptor.
The main difference between bcdUSB 0x0210 and 0x0201 is that the USB 3.2
device must support LPM, while USB 2.0 devices can (but are not required
to) support LPM.
The difference is respected by USB 3 Gen X Command Verifier (2.3.0.0)
Chapter 9 Tests [USB 2 devices], where the test behaves as follows:
* For bcdUSB 0x0200:
Checking Device Under Test for LPM L1 Compatibility...
USB version of device is 2.00.
DUT is NOT compatible with LPM.
LPM is NOT required for DUT
LPM is only supported in USB version 2.01 and above.
* For bcdUSB 0x0201:
Checking Device Under Test for LPM L1 Compatibility...
USB version of device is 2.01.
DUT IS compatible with LPM.
LPM is NOT required for DUT
USB 2.0 Extension Descriptor bmAttributes:
LPM Capable = 0
BESL and Alternate HIRD Supported = 0
Baseline BESL Valid = 0
Deep BESL Valid = 0
Baseline BESL: 0d
Deep BESL: 0d
LPM is not supported
* For bcdUSB 0x0210:
Checking Device Under Test for LPM L1 Compatibility...
USB version of device is 2.10.
DUT IS compatible with LPM.
LPM IS required for DUT
USB 2.0 Extension Descriptor bmAttributes:
LPM Capable = 0
BESL and Alternate HIRD Supported = 0
Baseline BESL Valid = 0
Deep BESL Valid = 0
Baseline BESL: 0d
Deep BESL: 0d
(USB: 9.6.2.1.6) Bit 1 in Attributes field of a USB 2.0 Extension
descriptor returned in response to a GetDescriptor(BOS) request
must be 1 for LS/FS/HS devices that support LPM L1.
The test fails when LPM bit is not set in USB 2.0 Extension Descriptor
only when bcdUSB is 0x0210. The test failure was incorrectly fixed in
commit 312429be3c ("usb: samples: Add Extension descriptor to webUSB
sample."). Properly fix the issue by changing bcdUSB to 0x0201 and
removing the false LPM support claim.
The false LPM claim was leading to device ceasing to work after some
time if there was no traffic from host to device (when the host is
likely to have executed the LPM L1 transition that was not properly
handled by the device).
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Convert the ht16k33 to use the input subsystem. This can still be used
with the kscan API with the zephyr,kscan-input driver, or use the
input-keymap one to generate input codes instead.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
update kernel timeout logic based on retrieve system timer clock
frequency at runtime or static way based on Kconfig
TIMER_READS_ITS_FREQUENCY_AT_RUNTIME
Signed-off-by: Najumon B.A <najumon.ba@intel.com>
Close parentheses and braces in the reverse order they are opened.
Fixes commit f91d4731af ("pm: use braces for .pm_base inside anonymous
union initializer")
I have no idea how no compiler caught this!?
I tested very carefully with two different gcc versions and one clang
version and generated binaries are strictly identical before and after
this commit. Fix the code anyway because C macros are painful enough to
debug already, so no need to add more confusion.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Add an asterisk to make the comment for `k_poll_signal_reset()` appear
in documentation and move an @brief down by one line.
Signed-off-by: Glenn Andrews <glenn.andrews.42@gmail.com>
Add a generated macro for the number of child nodes of a given node.
Add a generated macro for the number of child nodes of a given node which
children's status are "okay".
Signed-off-by: Swift Tian <swift.tian@ambiq.com>
Add channels mask configuration for LoRaWAN, creating a request for
LoRaMAC. This change is needed because using LoRaWAN with ABP
activation without configuring channels mask will provide no acceptable
channels on data transmit, causing data loss.
Signed-off-by: Jeferson Fernando <jeferson.santos@edge.ufal.br>
1) Replace master/slave in API for new terms in eSPI spec 1.5
2) Reflect eSPI VW change and macro changes across eSPI drivers
3) Update terms in eSPI driver sample and eSPI test driver
Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
This service receives fragmented data (usually firmware images) and
stores them in the slot1_partition in the flash.
Also update CMakeLists.txt in loramac-node module to be able to use
FragDecoder.c
Signed-off-by: Martin Jäger <martin@libre.solar>
When running multiple subsystems or applications on a MCU, the usual
strategy is to use different settings subtrees.
The API provides a way to load or commit a subtree, to avoid adding
dependencies between subsystems or applications, but lacks the way to
save a subtree only. Fix that by adding a settings_save_subtree()
function.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Notes that `NUM_VA_ARGS_LESS_1` support up to 64 arguments,
and added test for it in `tests/lib/sys_util`.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
This macro count the number of arguments in the variable
arguments list.
Added test for it in `tests/lib/sys_util`.
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Room for flag bits is function of the struct sfnode alignment.
Define the flag mask accordingly. This gives 2 available bits on 32-bit
architectures and 3 bits on 64-bit architectures.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Drops "non-negative" from a few stray kernel API timeout descriptions
as a negative timeout is actually valid and represents an absolute
timeout.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
This commit updates models metadata API to simplify the usage and
removes the metadata pointer in health server model context.
Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
Introduced a unified definition for HCI packet type indicators in
'bluetooth/hci_types.h. This change streamlines the code in
'drivers/bluetooth/hci/', reducing redundancy.
Enhances maintainability and consistency across all HCI drivers.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Add a shell_device_filter variant of the shell device lookup helper that
takes a callback as an argument. This allows more complex filtering on
the device than the existing name prefix.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Some devices, mostly with radio support, have an EUI64 ID (unique and
attributed by IEEE), in addition to the standard device ID.
Add support for reading it through the hwinfo API. As the size is always
the same (8 bytes), there is no need to pass the size in the function,
nor return the number of bytes copied.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>