Rather than disabling -Wunused-value for the entire file, explicitly
mark variables that are unused.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Instead of disabling the -Wunused-variable warning for the entire file,
we can explicitly mark the variables that are unused with __unused.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
What is the change?
- Use a macro that search for "zephyr, memory-attr" in only
those nodes that have the property "zephyr, memory-regions".
- Fixes#83448.
Why is this needed?
- Using `DT_REG_ADDR` inside `DT_FOREACH_STATUS_OKAY_NODE_VARGS` can
lead to compiler warnings if a devicetree node has an addresses
larger than 64bits. An example of such node is wm8904 i3c with 92
bit encoding addresses `audio_codec: wm8904@1a0000000000000000`.
We can avoid this warning since this is not applicable for nodes
that have the attribute "zephyr,memory-regions".
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Reorganize for easy reference from other boards.
- Reorganized PIO documentation, creating a dedicated
"PIO Based Features" section
- Updated "Debug Probe and Host Tools" to list supported
debug interfaces.
- Simplified and standardized flashing and debugging instructions.
- Removed redundant J-Link debugging commands in favor of `west debug`
usage.
- Ensured consistent use of OpenOCD and UF2 flashing descriptions.
- Added `:ref:` links for key components such as RP2040 SoC and
Infineon CYW43439.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
The property descriptions contain a lot of unneeded and driver-
specific information. As such, make them shorter while removing
driver-specific information.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
The socket service restarts whenever a new socket is registered.
This is triggered via zvfs_eventfd_write(ctx.events[0].fd, 1),
but the restart flag (ctx.events[0].revents) is not properly cleared,
causing unintended repeated restarts and skipped socket processing.
Detecting socket restart is done after the socket fd has processed its
data, so the socket doesn't lose its data. Ensure the socket service
clears its restart flag (ctx.events[0].revents = 0) immediately after
detecting a restart event, preventing unnecessary restarts.
Fixes#81813
Signed-off-by: Dominic Moffat <dom@illysky.com>
The current DNS caching logic is not aware of the IP address version.
If there is a cached address for a query, the caller of
dns_get_addr_info() will receive that address, even if it is not the
same version as the caller requested. For example:
- dns_get_addr_info() is called to resolve an IPv4 address
- the DNS client caches the IPv4 address that was received
- dns_get_addr_info() is called to resolve an IPv6 address
- the DNS client sees that there is a cached IPv4 address for the
given query
- the DNS client does not check that the cached address is of the
requested version (IPv6)
- the cached IPv4 address is returned from dns_get_addr_info()
This changes the DNS client to check IP address version when searching
cached addresses.
Signed-off-by: Noah Olson <noah@wavelynx.com>
The offset in post-write callback is incorrect for TLV format as
the first data block contain TLV header. This fix is replacing
reamaning for offset in opaque context struct and passing it to
post-write and validation callback.
The fix also corrects the offset in pull context as it was pointing
at the end of the block processed data and not on the block context
prior to processing.
Signed-off-by: Dave Lacerte <lacerte.dave@hydroquebec.com>
The ADC pin assignments for the Arduino Zero, MKR Zero and Nano 33 IoT
boards were missing in the device tree files, even though the boards
advertise ADC functionality. This was highlighted recently by commit
162f728 which made it a build error.
This patch fixes the issue by adding the detailed pinout assignments
for the analog pins on these boards.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Boards used for testing need to specify the available ram and
flash to be effectively filtered. If the entries are missing,
they default to 0, so any test which specifies minimum
ram or flash excludes them. This is especially an issue if
a board is specified as an integration platform.
Added entries for:
- qemu_cortex_a53
- qemu_xtensa_dc233c
- mps2_an385
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The LLEXT test suites are quite large, and should not be built
for "small" SoCs. Filter the tests based on RAM and ROM/flash
size. The following test sizes built for nrf52840 where used
to determine min sizes:
Name: Flash: RAM:
llext.loader_build 105 80
llext.readonly 105 79
llext.readonly_mpu 140 95
llext.readonly_mmu 106 145
llext.writable 123 125
llext.writable_relocatable 117 129
llext.writable_slid_linking 108 125
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The test case drivers.eeprom.emul.build requires around 48-58kB of
RAM and 95-119kB of ROM/flash, increase and add these requirenments
to the test case. Similarly add min flash requirenment to
drivers.eeprom.build
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The stepper driver test cases only specify integration
platforms, which whitelists every other board in tree
for full CI runs. This is not intended as some platforms
are too small to run the test cases.
Whitelist target platforms using platform_allow instead.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Several advertising data function could return -1 in case of
errors, which could mess up the advertising data since they are
intended to increment a counter.
Instead of returning an error we use bt_shell_error to inform
the user and then just return with no data changes, so that if
any of them fails, the failing data is just omitted rather
than causing major issues.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This acts in a similar way to nrfjprog's --qspiini parameter introduced
in 7eb364b, but works slightly differently in nrfutil: it requires a
config file in JSON format instead of .ini, and it is passed along to
the `execute-batch` command instead of providing it together with the
`program` command.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Both backends supported as runners for nRF ICs, nrfjprog and nrfutil,
support erasing external memory as part of the programming operation.
Before this patch, and when the firmware was detected to be partially or
fully placed in external flash by inspecting the .hex address range, the
runner would instruct the backend tool to fully erase the external
flash (but the nrfjprog runner would ignore that, always erasing only
the sectors required). Instead, correctly default to erasing only the
sectors that are required to program the new firmware image in both tools,
and erase it completely only when the --erase flag is provided by the user.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Previously, the Kconfig option CONFIG_STMEMSC_I3C_I2C_WRITE_BUFFER_SIZE
has been introduced to replace i2c_burst_write with i2c_write using a
buffer combining the address and data.
See commit 5f8da77ad3eaf0593107fd99253c1c13b3a98de0
Add missing buffer size config to stmemsc_i2c_write_incr to replace
fixed buffer size.
Signed-off-by: Jonas Spinner <jonas.spinner@burkert.com>
Fix a runtime bug when both CONFIG_LIS3MDL_TRIGGER and CONFIG_ASSERT
are set. The correct assertion should verify that sensor channel is
either SENSOR_CHAN_ALL or SENSOR_CHAN_MAGN_XYZ.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Enforces bitness match of ARC compilers and linkers invoked
building LLEXT apps by inheriting -mcpu flag from Zephyr.
The ARC toolchain becomes confused without the -mcpu flag.
On qemu_hs5x we see GCC select elf32-littlearc64 for
linking an object previously compiled as elf64-littlearc64.
Fixes#80949
Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
The TSL2591 driver fails to initialize because the sensor responds with a
NACK on the initial RESET. Although the datasheet from Adafruit claims that
this is operation should be valid (RESET is part of the CONTROL register),
other sample non-Zephyr drivers provided by Arduino don't explicitly reset
the sensor on initialization (see
https://github.com/adafruit/Adafruit_TSL2591_Library/blob/master/Adafruit_TSL2591.cpp).
Thus, the assumption is that when the sensor is reset via software, it
doesn't respond to an ACK.
After removing the check for this initial RESET, the driver initializes
successfully.
Signed-off-by: Mohammed Billoo <mab@mab-labs.com>
Fix incorrect event_count use in CIG events when the next
CIG interval's prepare overlaps with the current CIG event.
Use separate event_count_prepare variable in ULL and copy
the value in LLL event.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix incorrect elapsed events value when event prepare are
aborted in the pipeline. This can caused premature
supervision timeouts.
Relates to commit 247037bd3e ("Bluetooth: Controller: Fix
incorrect elapsed events value").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Remove ESP heap from the sources. System heap is default heap.
Use heap adapter layer to configure used heap.
Use MEM_POOL memory request config to Wi-Fi and Bluetooth drivers.
Update the Wi-Fi and BLE memory needs.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Change the condition so that ESP32 SoCs are using `_heap_sentry` to
get actual run-time heap size.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Adds a check for Kconfig settings that are disallowed from being
used in defconfig files (because it is the complete wrong place
for them), with the default entry being PINCTRL
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Co-authored-by: Benjamin Cabé <benjamin@zephyrproject.org>
The Zaamo and Zalrsc Extension (Version v1.0.0, 2024-04-25; Ratified) split
the standard A extension into two subextensions. As of date, the `_zaamo`
and `_zlrsc` extension specifications are accepted by the upstream
in-development GCC through the `march` argument. This means that those
subextensions are not yet supported by GCC shipped with Zephyr SDK.
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
For Nuclei ECLIC, the interrupt level (mintstatus.MIL) is restored from
the previous interrupt level (mcause.MPIL) only if mcause.interrupt is set.
This behavior is not defined in the RISC-V CLIC spec.
If an ISR causes a context switch and mcause.interrupt is not set in the
next context (e.g. the next context is yielded from ecall), interrupts will
be masked after MRET because the interrupt level is not restored.
Use SOC-specific context to set mcause.interrupt to ensure the interrupt
level is restored correctly.
Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
CLIC supports mintstatus.MIL (RO) and mcause.MPIL (RW) for the current
interrupt level and the previous interrut level before a trap. Each ISR
must execute MRET to set mcause.MPIL back to mintstatus.MIL.
This commit introduces CONFIG_CLIC_SUPPORT_INTERRUPT_LEVEL to handle
mcause.MPIL for interrupt preemption in nested ISR, and uses
CONFIG_RISCV_ALWAYS_SWITCH_THROUGH_ECALL to ensure ISR always switch out
with MRET.
e.g.
With CONFIG_RISCV_ALWAYS_SWITCH_THROUGH_ECALL=n, a context-switch in
ISR may skip MRET in this flow:
IRQ -> _isr_wrapper -> z_riscv_switch() -> retrun to arch_switch()
Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>