Move z_shell_backend_rx_buffer_flush() before state_set() in
shell_start() to prevent a race condition where incoming shell
commands could be lost.
Previously, the sequence was:
1. state_set() - prints the prompt
2. z_shell_backend_rx_buffer_flush() - flushes RX buffer
If the shell thread was preempted after printing the prompt,
the host could see the prompt and send commands. When the
thread resumed, z_shell_backend_rx_buffer_flush() would discard
those commands.
By flushing the RX buffer before printing the prompt, any
commands received after the prompt is visible will not be
affected by the flush operation.
Fixes#99674
Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@verkada.com>
This commit removes the OPENTHREAD_REFERENCE_DEVICE flag for NXP RW612
samples, as these are not meant to be included in a test setup.
Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
- Fixes an inconsistency in the board list
of the MCUx-VSCode extension. No functional change.
- Adjusts names in yaml files to follow the currently used approach
"NXP <board_name> [(cpu)] [(type)]".
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
The function was casting a char* help pointer to struct shell_cmd_help*
and reading its 4-byte magic field. When the help string was shorter
than 4 bytes, this caused a read past the end of the buffer.
The fix replaces the struct cast with a byte-by-byte comparison of the
magic number.
Fixeszephyrproject-rtos/zephyr#102598
Co-authored-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The DTB file was previously listed as bcm2712-rpi-5.dtb, which was
inaccurate, as the hyperlink referenced the `bcm2712-rpi-5-b.dtb`
file. To ensure documentation precision and avoid potential
confusion, update the file name to the correct
`bcm2712-rpi-5-b.dtb`.
Signed-off-by: Svitlana Drozd <svitlana_drozd@epam.com>
The ARM cores in BCM2712 are incapable of running the kernel in 32-bit
mode. The option `arm_64bit=1` is unnecessary and can be confusing, as
Raspberry Pi 5 runs in 64-bit mode by default.
Removed the `arm_64bit=1` configuration from documentation for Raspberry
Pi 5 (BCM2712).
Signed-off-by: Svitlana Drozd <svitlana_drozd@epam.com>
In order to compile the demo application for a secure MQTT connection,
several networking API functions are used, which is properly defined by
some of the POSIX libraries already integrated onto Zephyr project. By
adding the missing libraries, compilation to the reference board
adi_eval_adin1110ebz passes.
As a minor change, reordered the sequence of included libraries to be
in alphabetical order.
Fixes#102372.
Signed-off-by: Cesar Santos <dev.cmsantos@gmail.com>
The new node is called "npu_cache".
This way a possibility is offered to choose - thru an overlay - if to
enable the NPU cache or not.
This new node has a dependency with node "npu", so the NPU cache's
status is taken into account only in case node "npu" has status "okay".
Default status value of "npu_cache" is "okay"
(i.e. enable the NPU cache).
Signed-off-by: Wolfgang Betz <wolfgang.betz@st.com>
Add a model of LDREX/STREX/CLREX, that although simple may be correct
enough to cover the needs of SW using these instructions.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Actually, the parameter is the number of bytes to read, not the number
of double words.
Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
The parsing of the number of bytes to read in the read command was being
done in hexadecimal, causing unexpected behavior.
Now the number can be interpreted in decimal or hexadecimal if prefixed
with 0x.
Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
This patch runs clang-format on the shell_flash_test.c file
before the real patch gets applied, otherwise the changes
would be hard to read.
Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
This patch runs clang-format on the flash_shell.c file before the
real patch gets applied, otherwise the changes would be hard to
read.
Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
Fix spelling and wording issues in comments for phytec
phyboard_atlas xip FlexSPI NOR configuration headers.
No functional change.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Remove inclusion of files already included by the arch linker script from
the SoC-specific linker script.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
STM32MP1 series used a custom SOC_LINKER_SCRIPT, but all it did was
include the main Cortex-M script, unnecessarily re-include headers already
included by the main script(!) and add a custom section.
Get rid of the custom SOC_LINKER_SCRIPT but keep the custom section by
moving it to a linker script snippet file, added to the build system using
CMake directives.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Fix the panel pixel format enum in the X-NUCLEO-GFX01M2 shield overlay
by using PANEL_PIXEL_FORMAT_RGB_565 as defined in panel dt-bindings.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Fix Devicetree compilation errors caused by incorrect enum macro
names used in DTS overlay files.
Replace LSM6DSV16X_DT_ODR_AT_120Hz with the correct Devicetree enum
LSM6DSVXXX_DT_ODR_AT_120Hz in the stream_drdy sample boards overlay.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
This option already depends on BT_PER_ADV_RSP being enabled, so we should
have a more reasonable default for it. This way e.g. the existing PAwR
sample app should work without additional changes.
Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
During configuration the base->ICR1 or base->ICR2 register is written
without an IRQ lock. This can result in unwanted side-effects if the status
bit isn't cleared, or the edge select still needs to be updated.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Check the return value of adxl372_set_op_mode() in
adxl372_submit_stream() and abort on error.
Fix CID: 516239
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Add a 'U' suffix to the interrupt status mask passed to
lan9250_write_sys_reg() to make the constant explicitly unsigned.
This avoids signed/unsigned ambiguity and addresses a SonarQube
static analysis warning.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
The lan9250_thread() function declares a local variable that may be
used without being initialized, triggering a -Wmaybe-uninitialized
warning when building with -Werror.
Initialize the variable at declaration to ensure deterministic
behavior and avoid build failures.
No functional change intended.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Several LAN9250 helper functions ignored return values from register
access and wait routines, potentially hiding SPI or timeout
failures.
Propagate error codes from read/write/wait helpers throughout the
driver so failures are detected and handled by callers.
This improves robustness and makes error conditions visible during
initialization, PHY access, RX/TX paths, and MAC configuration.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Do direct resource path comparison on all registered resources before
falling back to fnmatch() so that exact path matches get always
preference.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add a test case verifying that if there's a static resource defined
which overlaps a FS resource pointing to a directory, it takes
preference on exact URI match.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Release camera frame immediately after video encoding.
Doing so, the frame could be reused by camera for next capture
without waiting for the end of network transmission.
Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
Fix missing input buffer encoder dequeue, this was corrupting camera
device fifo because of same buffer queued into two different fifo.
Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
Set multiline on pixel pipes to 128 lines to limit slave IP hardware
handshakes and so reduce the number of interrupts received by slave IP.
Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
Log number of interrupts, including fuse interrupts at each
key frame and at the end of encoding.
Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
Fix wait of hardware encoding completion by using
interrupt signaling instead of polling on irq status.
Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
Introduce the missing flag to compile code with Zbkb extension,
which has already been supported by the GCC 12 in current SDK.
Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
This adds optional clock control support to the spi_dw driver. The
support currently assumes that the clock control binding uses clkid for
the clock cell name.
Signed-off-by: Łukasz Kędziora <lkedziora@antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
Signed-off-by: Andreas Weissel <andreas.weissel@synaptics.com>
The ethernet DMA driver code was causing the silent dropping of packets
with length 125, 126 and 127. The root cause of the problem is that the
DMA engine performs an extra four bytes transfer corresponding to the
Receive Status Word. For those particular packet lengths, the previous
code incorrectly calculated the last fragment size.
The new code avoids that pitfall by decrementing the total frame size as
the fragments are being collected, while avoiding the creation of an
extra fragment on the extracted network packet.
Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
Make USBD_HWINFO_DEVID_LENGTH prompt optional so that the code compiles
even if HWINFO is disabled.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Both cases use a large static buffer, we can optimize here and use a
single mutex-protected buffer for both.
sendmsg() test case needed adjustments, as it was also testing a buffer
overflow scenario. This can only be properly tested however if CID
feature is disabled, as otherwise the common helper buffer size is
increased for the CID use case, preventing the overflow from taking
place.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
For options that return the handshake status, make sure they work in
multi-client DTLS server case, by returning the status for the session
that completed handshake most recently. For TLS and DTLS client cases
that should make no difference, as there should only be one session per
context.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
With support for multiple client sessions for DTLS server socket, the
session timeout can no longer rely on built-in mbed TLS timing out
mechanism, as this only works for the session that is currently active.
Background sessions would never time out if the client just went silent.
Therefore, allocate a per-session timestamp, that keeps track of the
last activity on the session. Then, whenever poll() or recv() is called
loop over all sessions to identify those that timed and should be
released.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case a client address changes, but a session uses Connection ID
extension, the server should verify if the packet belongs to any of the
established sessions based on the CID value.
Therefore, before attempting to allocate a new session in such case,
loop over sessions and try to match the packet to one of the existing
sessions based on CID. In case of success, update the corresponding peer
address.
If no session is found based on CID, only then try to allocate a new
one.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case of errors on an active session (in most cases peer closing the
session), the session should be freed. Note, that as mbed TLS needs some
session context to work with, the last session on a socket is not freed,
but only reset instead.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
For TX, the DTLS server needs to check the peer address before passing
the packet to mbed TLS. In case the peer address doesn't match the
active session, it needs to switch sessions.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Refactor RX side for DTLS server to allow session switching when a
datagram from a peer that does not match current session. The server
needs to loop over established sessions, and in case no session is
found allocate a new one.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Split DTLS BIO RX functions for client and server case, given the
functionality will differ heavily. DTLS server needs to peek packet
before passing it to mbed TLS to allow to switch DTLS sessions in case
peer address doesn't match.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Separate TLS session context from the TLS socket context so that a
single DTLS server socket can support multiple client sessions.
Other socket types will only have a single session per TLS socket.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Transition markers ("----") require blank lines before and after, so
this ensures that is always the case.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Mark unused pinctrl and wuc nodes in it8xxx2 with /omit-if-no-ref/,
so that they are omitted from the final devicetree when not referenced.
After this change, test: "west build -p always -b it8xxx2_evb" shows a
reduction in devicetree size:
Before:
build/zephyr/zephyr.dts 164,449 bytes
build/zephyr/include/generated/zephyr/devicetree_generated.h
3,125,359 bytes
After:
build/zephyr/zephyr.dts 124,108 bytes
build/zephyr/include/generated/zephyr/devicetree_generated.h
1,892,313 bytes
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
This commit prefixes pre-generated nodes with
`/omit-if-no-ref/` to keep the generated devicetree
C headers minimal.
Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
Reference audio clock frequencies are supposed to be integer multiplies
of sampling frequency (44100 * 256 = 11289600, 48000 * 256 = 12288000)
and not some arbitrary numbers.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Upgrade wifi driver version to r53.p2.
Support static ipv4 address connection for STA interface.
Improved throughput value for SDIO case.
Support event based FW dump for IW61x.
Fix several bugs.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
dai_dmic_probe() and dai_dmic_probe_wrapper() never reports errors
and always returns 0.
The error check at the call site is therefore dead code.
Make functions void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Modbus is failing to turn on RX when using serial ASYNC mode. This
causes modbus to never receive inbound requests, leaving it inoperable.
Additionally, modbus also enables RX when in client mode, leading to
issues when running as a client. These have been fixed by enabling rx
only when serial init is successful and modbus is in server mode during
initialisation.
Signed-off-by: Ryan Wiebe <ryan.wiebe@analog.com>
We've to ensure nothing blocks the watchdog init on startup,
otherwise we'll get into bootloop. Hence increase the piority.
Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
Under RTIO SPI behaves differently and thus FS26 didn't work and
would reset the board. This changes to add 8-bit transfer support
and doesn't lock the irq anymore since the SPI driver got changed.
Which would yield an assertion, best it ensure feed callee priority
is high enough.
Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
SYSTEM_WORKQUEUE_STACK_SIZE KConfig is setting to 1024 in case of
BT_TX_PROCESSOR_THREAD is enabled, else 2048.
BT_TX_PROCESSOR_STACK_SIZE KConfig is setting to 2048 in case of
BT_TX_PROCESSOR_THREAD is enabled.
Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
Add explicit clock configuration and enable calls during driver
initialization. The driver now attempts to configure the clock
subsystem before enabling it.
Note: -ENOSYS is temporarily ignored as not all clock control
drivers currently implement the configure API. This handling
should be removed once all clock drivers support configure.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
EVDMA register access has been cleaned up to remove redundant macros.
EVDMA_PLAIN_DATA enum has also been added of value 0x3F which previously
had been assumed to be a masking of all the other values but isn't, it's
its own distinct value. Other enums still exist for future use.
Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
Correct the minimum MTU calculation for GOEP over L2CAP to account
for the L2CAP I-frame overhead.
- Update BT_BUF_ACL_RX_SIZE default from 264 to 265 bytes for GOEP
- Update BT_GOEP_L2CAP_MTU minimum range from 259 to 265 bytes
- Add detailed comment explaining L2CAP I-frame field length (6 bytes):
* 4 bytes for extended control field
* 2 bytes for FCS field
The previous calculation only accounted for the L2CAP header (4 bytes)
but missed the 6-byte L2CAP I-frame overhead (extended control field
and FCS), resulting in an incorrect minimum of 264 bytes instead
of the correct 265 bytes. And it causes the minimum MTU of L2CAP
to be incorrectly set to 254. The MTU cannot meet the minimum
requirement of GOEP MOPL.
The correct calculation for GOEP over L2CAP is:
255 bytes (GOEP minimum MTU) + 4 bytes (L2CAP header) + 6 bytes
(L2CAP I-frame) = 265 bytes total.
Set the default value of CONFIG_BT_BUF_ACL_RX_SIZE to 265 if GOEP is
enabled.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Enable wdt_basic_api watchdog only for cm7. For cr52,
because the SoC set the cores in Thumb mode after reset,
so a debugger is always needed to switch the core to Arm
state before loading zephyr application.
wdt_basic_reset_none test can be enabled for both.
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
Only enable watchdog sample for cm7. For cr52, because the
SoC set the cores in Thumb mode after reset, so a debugger
is always needed to switch the core to Arm state before
loading zephyr application.
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
- add SDHC driver code to support both SDMMC and SDIO fucntion
- add SDHC dts node and Kconfig
- add clock configuration for SDHC
Signed-off-by: Kevin Chan <kevin.chan3@infineon.com>
Due to multiple customer requests we are deprecating the MEC5 HAL.
Customers prefer all code to be in the main Zephyr tree. They do
not want a dependency on an outside SoC HAL. These changes remove
the MEC5_HAL select from MEC165xB, MEC174x, and MEC175x. The SoC
code calling the HAL for debug configuration was replaced with
a small amount of code common to all SoC's. We also moved all
the common header includes into a common SoC header to prevent
changing multiple files if new common headers are added.
Note: the in-tree drivers: kernel timer, GPIO, PINCTRL, and UART
are all non-HAL.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
In sensor_shell_stream.c, cmd_sensor_stream() checks for valid trigger
types, but it is missing SENSOR_TRIG_TIMER option.
Signed-off-by: Brandon Edmonds <bedmonds91@gmail.com>
The K_TIMEOUT_SUM() macro is intended as a means to add two
k_timeout_t values together. This may be useful for a developer
applying an exponential backoff algorithm.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
- Add SPI driver for Microchip SERCOM g1
- Add and update Kconfig files to support the driver
- Update CMakeLists.txt to include the new driver
Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
Modifies sample application to use error callback mechanism added to
haptics API instead of device-specific API extension.
Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
Modifies the CS40L5x driver to use the error callback mechanism
added to the haptics API instead of a device-specific API
extension.
Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
Haptics devices provide protection features to prevent damage during
operation. Adds an error callback mechanism to the haptics API to
enable haptics device drivers to raise these conditions to the
application layer. Enumerates a subset of errors that are common
to modern haptics devices across major vendors.
Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
This patch just formats the uart_xmc4xxx.c file before the real
patch, otherwise the changes would be hard to read.
Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
The current PMS7003 sensor driver in Zephyr only supports reading the
basic PM1.0, PM2.5, and PM10 concentration values.
This update extends the driver to support additional data provided by the
PMS7003 sensor, including:
- Standard particle concentration values (CF=1) for PM1.0, PM2.5, and PM10
- Particle counts for particles greater than or equal to 0.3 µm, 0.5 µm,
1.0 µm, 2.5 µm, 5.0 µm, and 10.0 µm per 0.1 liter of air
Adding support for these readings allows applications to access more
detailed particulate data, improving the sensor’s usability in air quality
monitoring and analysis scenarios.
Signed-off-by: Hanan Arshad <hananarshad619@gmail.com>
When the USB Bus is reset, the USBD stack will disable and re-enable
all Classes. If this occurs while streaming audio with UAC2, the
terminals remain active when re-enabled, yet the endpoints have
yet to be enabled (resulting in -ENODEV logspam). This change
disables all active terminals when the class is disabled.
Signed-off-by: Victor Brzeski <vbrzeski@gmail.com>
Add test and sample overlays for CY8CKIT-041S-MAX board:
- GPIO basic API test using P1.2 and P1.3 pins
- Button sample using P11.5 with pull-up configuration
Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
Add support for Infineon CY8CKIT-041S-MAX development kit
based on CY8C4149AZI-S598 (PSoC 4100S Max).
Board features:
- 100-pin TQFP PSOC 4100S Max MCU (384KB Flash, 32KB SRAM)
- User LED and button
- KitProg3 for programming/debugging
- Common dtsi structure for peripheral configuration
Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
Add clock control and UART support for PSOC 4 family:
- Clock control drivers with PSOC 4 compatibility
- PSOC4xx clock source bindings and definitions
- HF clock divider configuration support
- UART FIFO trigger level configuration for PSOC 4100S Max
series with 8-deep FIFO (RX trigger=7, TX trigger=0)
Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
Add devicetree support for PSOC 4100S Max series including:
- Base SoC dtsi with GPIO, UART, HSIOM peripherals
- 100-TQFP package dtsi for pin multiplexing
- CY8C4149AZI-S598 MPN-specific devicetree include
- Updated compatible strings for PSOC 4 support
- Clock structure with clk_hf and clk_pump nodes
- Simplified peripheral clock naming (peri_clk_div)
- PSOC4xx clock source definitions and bindings
Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
Add initial support for the PSOC 4100S Max series, starting
with the CY8C4149AZI-S598 (100-TQFP package) used on the
CY8CKIT-041S-MAX development board.
The infrastructure supports adding additional part numbers
in the future as needed.
Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
Add early len check, remove use of strcpy, strncpy and
strncmp.
Co-authored-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix truncation detection after strncpy, as strlen cannot be
used if the src was truncated due to insufficient size of
dst.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Rework settings implementation for not reusing the OS
snprintk implementation with CONFIG_PRINTK=n and to return
error if path buffer is insufficient.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Rework settings implementation for not reusing the OS
snprintk implementation with CONFIG_PRINTK=n.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Update settings implementation for not reusing the OS
snprintk implementation with CONFIG_PRINTK=n.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
- Add a new test configuration file enabling RTC calibration and alarm
features for the nucleo_u385rg_q board
- Add the nucleo_u385rg_q device tree overlay defining the RTC alias
Signed-off-by: Antoine Pradoux <antoine.pradoux@st.com>
- Activate the RTC node in the device tree by enabling its clocks and
setting its status to okay
- Add 'rtc' to the supported features in the board YAML configuration
Signed-off-by: Antoine Pradoux <antoine.pradoux@st.com>
Extend RTC driver to handle STM32U3 series specifics:
- Include STM32U3X in condition where RTC Alarm event is not routed to EXTI
- Use LL_RCC_RTC_ClockEnable call for STM32U3 instead of LL_RCC_EnableRTC
- Adapt counter_stm32_rtc driver for STM32U3 clock and EXTI handling
Signed-off-by: Antoine Pradoux <antoine.pradoux@st.com>
- Add the rtc node for the stm32u3
- This enables RTC support for STM32U3 platforms once enabled
Signed-off-by: Antoine Pradoux <antoine.pradoux@st.com>
Change the toolchain version resolution order to check for
board-specific TOOLCHAIN_VER_${NORMALIZED_BOARD_TARGET} first,
falling back to the generic TOOLCHAIN_VER if not defined.
Now if we want to use various boards lots of them uses same version
but fewer ones differ. We won't have to define TOOLCHAIN_VER for
every board.
Signed-off-by: Anil Ozrenk <anil.ozrenk@analog.com>
The JEDEC ID for the Winbond W25Q64JV flash on the MCX NX4X EVK board
was incorrectly specified as [ef 40 17]. According to the W25Q64JV
datasheet, the correct JEDEC ID is [ef 60 17], where:
- ef: Winbond manufacturer ID
- 60: Memory type (W25Q series)
- 17: Capacity (64 Mbit)
Update the jedec-id property to match the actual flash device.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
The JESD216_DW15_QER_VAL_S2B1v5 case had incorrect status register
read/write logic. It was reading only SR2 but writing both SR1 and SR2,
which could corrupt SR1 if not read first.
Merge the S2B1v5 case with S2B1v1/v4 cases since they all set bit 1 of
SR2. Update the common path to properly handle both single-byte (SR2 only)
and two-byte (SR1+SR2) read/write operations by:
- Reading SR1 first when rd_size is 2, saving it temporarily
- Reading SR2 using the scratch command
- Combining both bytes with SR2 in the upper byte when needed
- Writing the combined value with the QE bit set
Remove the now-redundant S2B1v5-specific case and simplify the LUT
sequence to read SR2 directly instead of reading SR1 first.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
The remain_on_channel callback triggers cookie_event, which checks
pending_remain_on_channel before giving drv_resp_sem. Previously,
pending_remain_on_channel was set after calling
dev_ops->remain_on_channel, causing drv_resp_sem to timeout.
Move the pending_remain_on_channel assignment before invoking
dev_ops->remain_on_channel to ensure proper synchronization.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Remove local Tx buffer allocated in the
bt_hci_stm32wba_send() function.
Get Event buffer resource to store data returned
by lower layer and provide it to Host in case of
Tx packet is an HCI Command type.
Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
- There was a mistake with the CM33 core. It does
not have ITCM/DTCM. Only the CM55 core does.
- Also enabled ITCM/DTCM in the cm55 board file.
Signed-off-by: Bill Waters <bill.waters@infineon.com>
Document that TLS version passed to a zsock_socket() function is no
longer ignored and is now enforced as the minimum TLS version for the
TLS session.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Document explicitly that the TLS version passed in the protocol
parameter matters and specifies the minimum TLS version to use for the
socket.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Enforce the minimum TLS version on mbed TLS, based on the protocol
version provided by the application when creating socket. This ensures
that when application creates a TLS 1.3 socket, mbed TLS won't downgrade
the session to TLS 1.2 for instance.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
When uart_rx_disable is called, or rx gets otherwise disabled,
UART_RX_DISABLED event should be emitted.
Signed-off-by: Miika Karanki <miika.karanki@vaisala.com>
Lukasz Fundakowski is a python expert with an interest in
testing frameworks and coding standards. He is a valuable
reviewer with attention to details. He had a major impact on
design and implementation of the pytest plugin for twister.
Signed-off-by: Maciej Perkowski <maciej.perkowski@nordicsemi.no>
Microchip MEC1653B has 416KB of SRAM. ARM ICCM SRAM is 356KB
starting at 0xC0000. ARM DCCM SRAM is 64KB starting at 0x118000.
Chip DTS file had incorrect ICCM starting address.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
uart_bcm2711_poll_in() incorrectly returned the received byte
instead of writing it to the provided buffer.
Update the implementation to store the character in *c and
return 0 on success, matching the UART poll_in API.
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
In pm_system_suspend there is a possible invalid type promotion
in sys_clock_set_timeout(MAX(0, ticks - exit_latency_ticks), true);
ticks is int32_t and exit_latency_ticks is uint32_t consequently
ticks is promoted to uint32_t resulting in a possible underflow and
setting a wrong value in sys_clock_set_timeout().
Fixes#100005
Coverity CID: 535628
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
Fixes an issue whereby a variant of the slot 1 image is built...
which would occupy the same slot that the test is building for,
therefore disable using the new experimental variant image Kconfig
in this configuration
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This is technically a workaround for a limitation in the Pygments DTS
lexer causing the highlighting to break when rendering this example
in the documentation, but this is also an excuse to plug the label that
is used in the official auxdisplay sample.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The plus signs in version strings need to be escaped with double
backslashes when used in regex patterns for the test harness.
This ensures proper pattern matching during test execution.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Instead of reading calibration data (device-unique, but never changing!)
as part of each conversion, perform the read once and cache the value.
This notably avoids frequently an ICACHE disable/enable cycle on STM32H5,
which is a somewhat slow operation.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Using a union enables accessing the calibration data using member names
instead of an array index, which makes the code more readable.
As long as the layout of struct { T m1; ... T mN; } and array A[N] is the
same (implementation-specific?), usage of the union type as done should
be Standard-compliant: accessing through either member of the union will
use an lvalue with compatible type to the same underlying object, which
is one of the allowed aliasing situations listed in §6.5.7 of N1548.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Various fields were stored in the instance data despite being initialized
at compile-time to a constant value.
Move these fields to the instance configuration instead.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
The raw "12" constant was used in a place where the "CAL_RES" define should
have been used instead.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Provide some information on how to find the command that is used for
generating the UICR hex file so that its easier for users to
know what command to use.
Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
In NVS, allocation table entries (ATEs) are written backwards within
each sector. Under delete-only or delete-heavy workloads, a sector may
contain only delete ATEs, causing the ATE write pointer to approach the
sector boundary.
Without an explicit boundary check, ATE writes may occur at offset 0 of
the current sector, allowing the write pointer to underflow into the
previous sector and corrupt unrelated data or metadata.
Fix this by disallowing ATE writes when the write pointer is at the
sector boundary. This ensures that ATE writes remain confined to the
current sector and prevents pointer underflow across sectors.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
Introduce Kconfig option to enfore LLL prepare at margin
irrespective of whether there is an overlapping state/role.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Use PPI/DPPI to start s/w switch timer to reduce current
consumption.
Explicitly starting the s/w switch timer at prepare meant
current being consumed in the prepare margin duration. Use
of PPI/DPPI ensure s/w switch timer is start when event
timer is started after the prepare margin.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix the missing use of remainder value in the sync_offset_us
calculations. Also, Periodic Sync reception is relative to
Peripheral event hence ticks_anchor does not require the
ticker margin and event jitter to be subtracted.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
When no trigger was chosen case statement fell through to
default which causes the return code to -ENOTSUPP
Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
Local variables are initialized but always overwritten before being
read or return.
Drop the redundant initialization.
No functional change intended.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
litex_clk_dts_clkouts_read() never reports errors and always returns
0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
On STM32N6x SoCs, secrets and persistent information such as Ethernet
MAC addresses are stored in the BSEC OTP fuses. Therefore, default enable
OTP support if NET_L2_ETHERNET and NVMEM are enabled so that the MAC
address can be read from the BSEC OTP fuses through the NVMEM API.
Use the "mac_address0" NVMEM cell to be able to read the ethernet MAC
address from the OTP fuses.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
The STM32N6 has a BSEC peripheral for the OTP management, add it to the
SoC device tree file. Moreover, there are 4 OTP words dedicated for
Ethernet MAC addresses, describe them in the NVMEM layout.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
This new API handles if the MAC address should be fetched from NVMEM,
is static or be randomly generated. Use it so that the driver can
fetch the MAC address from the OTP fuses, when possible.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Introduce the Boot and SECurity(BSEC) control driver. The BSEC
peripheral manages the accesses to an embedded one time
programmable(OTP) array of fuses. Those fuses are used to store
on-chip, non-volatile data like boot and security parameters (e.g:
secret keys, non-volatile counters, etc...).
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
This is the version of the tool that Zephyr infrastructure uses,
and the configuration needs to be adjusted accordingly.
Setting *_ALIASES variables is not necessary anymore.
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Add notes about changes in flash_map's Kconfig for what concerns the
crypto libraries used for integrity check.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Since now there is a single backend for crypto, i.e. the PSA Crypto API
one, it's better to rename corresponding test case and related
configuration file so that instead of mentioning "psa" they mention
"integrity-check".
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Following the removal of legacy Mbed TLS crypto for SHA-256 in the
subsys, this commit updates the related sample. "overlay-mbedtls.conf" is
removed as no more necessary and the corresponding test case is removed
from "testcase.yaml". "overlay-psa.conf" is updated removing unnecessary
Kconfig selections.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Remove Kconfig and code related to legacy Mbed TLS crypto for SHA-256.
This was used for the integrity check functionality as alternative to
PSA Crypto API. This support was already deprecated and now it's removed
in order to prepare for the next Mbed TLS 4.0 release where legacy crypto
won't be available anymore.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Remove the NPU power domain enabling inside ethos_u code due to it
has already been done by soc_reset_hooks()
Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
Remove power domain on for GLCDC controller inside driver code
due to it has already been done by soc_reset_hooks()
Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
Remove the root clock control early initialization because it has
already been done in the soc_reset_hooks()
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
This commit updates the source files for Renesas RA initialization:
- The SoC reset/init now uses generic hooks from the
"soc/renesas/ra/common" instead of SoC-specific initialization hooks.
- Add soc_reset_hooks() to perform the early reset code.
- Battery-backup domain initialization has been removed from
soc_early_init() and reallocated to soc_reset_hooks().
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
The DSA tag protocol driver should be native for packet
tagging and untagging. There is possibility other vendors/IPs
use it. So, just defined DSA tag structures in header file
instead of using hal header file.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Renamed DSA_NXP_NETC_GCL_LEN to DSA_NXP_IMX_NETC_GCL_LEN for
naming consistency, and wrapped it in DSA_DRIVERS condition.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Moved dsa_tag.h to include folder as common header file.
And we will support iterable section for vendor dsa tag
protocol drivers registering.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
ierb_init() never reports an error and cannot fail in practice.
Returning an int led to a dead error.
Convert ierb_init() to a void function, drop the unused return value
checks, and provide a no-op implementation for SoCs that do not
require IERB initialization.
This simplifies the control flow and removes an unnecessary error
condition.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Handle the return value of am_hal_adc_power_control() during ADC
initialization.
The previous code overwrote the return value before it was checked,
which could silently ignore failures when powering on the ADC.
Fix this by validating the return code and propagating an error if
the operation fails.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Upgrades the thread user_options to 16 bits from an 8-bit value to
provide more space for future values.
Also, as the size of this field has changed, the values for the
existing architecture specific thread options have also shifted
from the upper end of the old 8-bit field, to the upper end of
the new 16-bit field.
Fixes#101034
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
1. When the timeout is K_NO_WAIT, the thread should not be added
to the wait queue as that would otherwise cause to the thread
to wait until the next tick (which is not a no-wait situation).
2. Threads that were added to the wait queue AND did not receive
a signal before timing out should not lock the supplied mutex.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
If there are not enough free L2 tables to map all predefined
memory regions at boot, halt the system in case assertion is
not enabled. Without all the needed memory regions mapped,
it is very unlikely that anything will run properly.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Adds some debug logs when we are allocating page tables.
This provides a more visible way of seeing whether
we need to have more free tables.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Add an assertions to halt the system if L2 table allocation
fails when we need to duplicate an existing L2 table, as it is
a must-have and must-success operation.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Add support for the Infineon PSoC4 family to the infineon watchdog driver.
PSoC4 specific ILO frequency and tick period definitions.
Initialization and configuration logic specific to PSoC4.
Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Enable the watchdog0 node and add an alias for it on the
CY8CPROTO-041TP board.
Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Add the watchdog controller node to the PSoC4 SoC definition.
Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Add error code parameter to all A2DP shell error messages to provide
more detailed diagnostic information when operations fail. This applies
to configure, establish, release, start, suspend, delay report, and
abort response handlers.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Replace bt_shell_print() calls with bt_shell_error() for all error
conditions and failure cases in the A2DP shell implementation to
properly distinguish error messages from informational output.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Replace all shell_print() and shell_error() calls with bt_shell_print()
and bt_shell_error() respectively to use the common Bluetooth shell
printing functions throughout the A2DP shell implementation.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
add abort req and rsp callbacks, improve register_ep cmd to support delay
report, check buf tailroom for sending media, add get_conn cmd to test
bt_a2dp_get_conn.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Currently, I2C transfer implementation does not have a mutex to
prevent multiple users from sending data at the same time, this could
lead to devices malfunction due to mixing I2C transaction data.
This patch adds mutex into transfer implementation to allow only one
user to send data at the time.
Signed-off-by: Bernardo Perez Priego <bernardo.perez.priego@intel.com>
Add device Self Test procedure. It is required to enable the
per device self-test DT property as well as the LSM6DSV16X_SELF_TEST
configuration.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
The backoff timeout calculation in z_log_msg_claim_oldest() was
incorrectly using K_TICK macro. Changed to K_CYC to properly convert
cycle-based timing differences to kernel timeouts for accurate backoff
in multi-domain message processing.
Signed-off-by: Supper Thomas <78900636@qq.com>
INA3221 performs measurements sequentially for all enabled channels (see
datasheet chapter 7.3.1), but the driver was not accounting for this
when calculating the wait time. Additionally, when measuring both bus
and shunt voltages, conversion times should be summed rather than taking
greater value.
Fix by counting enabled channels and multiplying them with per-channel
conversion time. For combined measurement, sum both conversion times
instead of using MAX().
Signed-off-by: Karol Werner <karol@ppkt.eu>
Added a `supported` flag to battery status query so if the
charger does not support the query (returns -ENOTSUP) the
command still returns any other supported queries and
doesn't error out without reporting anything. Any other
errors than -ENOTSUP still cause the request to return
immediately, as was the case before the changes. Tested
on nordic npm 13xx.
Signed-off-by: Jimmy Johnson <catch22@fastmail.net>
Add clock configuration step before UART initialization to ensure
proper clock setup. The clock is first disabled, then configured
if supported by the clock controller.
If clock configuration is not supported (ENOTSUP/ENOSYS), the driver
continues with default settings. Other errors are treated as failures
and propagated to the caller.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
As per Zephyr guidelines re: inclusive language, the term
"master" is replaced with "primary".
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The existing documentation link pointed to a non-existent page.
Update the link to use the current documentation URL.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
One might see this compile error depending on what order the
POSIX headers are included
include/zephyr/net/net_compat.h:143: error: "IFNAMSIZ" redefined
.../zephyr/include/zephyr/net/net_compat.h:143:
error: "IFNAMSIZ" redefined [-Werror]
143 | #define IFNAMSIZ NET_IFNAMSIZ
|
In file included from ...
.../zephyr/include/zephyr/posix/net/if.h:16:
note: this is the location of the previous definition
16 | #define IFNAMSIZ IF_NAMESIZE
|
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The SenML-JSON specification mentions base64-encoded data with the
URL-safe alphabet and padding omitted.
For sending data, zephyr used normal base64 with padding. Change the
base64 data to use the URL-safe format without padding when sending opaque
data via SenML-JSON.
Fixes#102390
Signed-off-by: Jeroen Broersen <jeroen.broersen@wioniq.com>
There was a Kconfig option defined to limit the number of additional DNS
queries sent for aliases received in CNAME records (to avoid potential
query loops), however it was not implemented. This commit implements the
feature - the resolver will now only send up to
CONFIG_DNS_RESOLVER_ADDITIONAL_QUERIES follow-up queries after
receiving CNAME record with an alias w/o any IP addresses.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case CNAME record is received with no IP addresses, DNS resolver will
attempt to re-send the query for the name indicated by the CNAME record.
The logic for scheduling the new query was inconsistent though:
dispatcher_cb() assumes that it'll reuse the query context with the same
query id, while dns_read() cancelled the query, which shouldn't really
happen, as that would cause an error to be reported to the application
via callback.
Fix that by skipping the query cancel in case of DNS_EAI_AGAIN result.
The query context will be properly reused then, and freed either when
reply for another query arrives, or the query times out.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Don't report CNAME records via application callback (as it used to be
done). They don't carry any data in the info struct and are only used
internally to redirect DNS queries.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Disable HW acceleration to fix CI failures caused by -Werror triggered
by prototype mismatches in the crypto accelerator path between TF-M and
Mbed TLS.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
TF-M documentation states that code sharing on Musca-B1 is only
supported with software crypto and requires crypto hardware acceleration
to be disabled. So, force CRYPTO_HW_ACCELERATOR=OFF for the Musca-B1
non-secure TF-M build to match this requirement.
This also fixes CI failures caused by -Werror triggered by prototype
mismatches in the crypto accelerator path between TF-M and Mbed TLS.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Flash layout of musca_b1 and musca_s1 is updated as recommended by
mcuboot. This also fixes the below cmake build failures reported in
Zephyr ci.
```
CMake Error at
zephyrproject/zephyr/cmake/modules/extensions.cmake:3877
(message):
required nodelabel not found: slot0_partition
Call Stack (most recent call first):
zephyrproject/zephyr/modules/trusted-firmware-m/CMakeLists.txt:489
(dt_nodelabel)
```
Note that the flash address of musca_b1 board is fixed from 0x0A07_0000
to 0x0A08_0000 as this was missed after the layout was changed in TF-M
in e1570bd143ef4843a531b57f77f0c2814b075dd9
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Added ifdef guard (CONFIG_GETOPT_LONG) around the functions in
getopt_shim.c that requires getopt_long implementation.
Signed-off-by: Magne Værnes <magne.varnes@nordicsemi.no>
When frame_clk_freq is set to 0, the I2S API specifies that the
stream should transition to NOT_READY state (i.e., unconfigure).
In this case, other config fields like mem_slab and block_size
are not used by the driver.
Skip the mem_slab and block_size validation in the syscall handler
when frame_clk_freq is 0 to match the driver behavior and avoid
rejecting valid unconfigure requests due to uninitialized fields.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Initialize the i2s_config struct to zero before use in the
test_i2s_state_not_ready_neg test case.
When frame_clk_freq is set to 0 to unconfigure a stream, other
fields in the struct were left uninitialized. On platforms with
userspace support, the syscall handler validates block_size against
the mem_slab block size before calling the driver.
Uninitialized garbage values could cause this validation to
fail unexpectedly.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Add clock_control_configure() call during initialization to properly
configure the LPSPI clock. The implementation gracefully handles
platforms that don't support clock configuration by checking for
-ENOTSUP and -ENOSYS return codes and continuing with default
settings. Real configuration errors are logged and propagated.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
Convert the DUT class from a traditional class to a dataclass to enable
proper serialization and support for future multi-device testing with
pytest-harness.
Key changes:
- Migrated DUT class to use `dataclass` decorator with proper type hints
- Renamed `baud` property to `serial_baud` for consistency
- Updated hardware map schema to support both `baud` (legacy) and
`serial_baud` fields for backward compatibility
- Updated tests
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
The ina2xx channel get helpers assume that channel descriptors are
valid when the driver exposes a given sensor channel.
Checking for NULL channel pointers after they are already
dereferenced does not provide any real safety and can hide
configuration errors.
Drop the late NULL checks and rely on the driver contract that
supported channels must be properly defined.
No functional change intended.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
The INA2xx fetch path assumes valid channel descriptors for all
supported sensor channels.
NULL checks performed after channel data is accessed are ineffective
and misleading, as invalid channel definitions indicate a
configuration error rather than a runtime condition.
Remove the redundant checks and keep the channel handling consistent
with the driver expectations.
No functional change intended.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Select KERNEL_NO_LTO only when LTO is enabled. This ensures proper
handling when kernel code is placed in RAM.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Some SoCs require kernel code to be placed in RAM, which makes
link-time optimization (LTO) unsuitable for these files.
Disabling LTO allows the affected code to be linked as separate
objects and placed in specific memory regions.
Running kernel code from RAM can improve execution performance,
especially for timing-critical routines or context switch paths.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Do not add this folder to the include path when this component is not
enabled. As that creates noise and slows down builds.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In case DPP reconfiguration test, if the dpp_akm has psk,
it will set WPA_KEY_MGMT_PSK | WPA_KEY_MGMT_PSK_SHA256 |
WPA_KEY_MGMT_FT_PSK to key_mgmt, then wifi status shows
security as "Unknown".
Signed-off-by: Gang Li <gang.li_1@nxp.com>
Change to use DT_HAS_NXP_SIM_UUID_ENABLED/DT_HAS_NXP_RCM_HWINFO_ENABLED
as the dependency condition for HWINFO_MCUX_SIM/HWINFO_MCUX_RCM to
enable the driver when the nxp,sim-uuid/nxp,rcm-hwinfo compatible
is present in the devicetree.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Add vendor-specific compatible strings to RCM and SIM nodes:
- "nxp,rcm-hwinfo" for Reset Control Module (hwinfo-reset functionality)
- "nxp,sim-uuid" for System Integration Module (hwinfo-UUID functionality)
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
These DTS uses absolute GPIO numbers for some
pins where relative pin numbers are required.
This causes crash on booth when these pins
are enabled. Follow on PR to #101857.
Signed-off-by: Peter Hoddie <peter@moddable.com>
When removing TOOLCHAIN_DISABLE_CLANG_WARNING, building the
settings.mgmt test with clang fails with:
tests/subsys/mgmt/mcumgr/settings_mgmt/src/main.c:87:22: error:
variable 'test_response_read_data_start' is not needed and will not be
emitted [-Werror,-Wunneeded-internal-declaration]
87 | static const uint8_t test_response_read_data_start[5] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tests/subsys/mgmt/mcumgr/settings_mgmt/src/main.c:91:22: error:
variable 'test_response_read_data_end' is not needed and will not be
emitted [-Werror,-Wunneeded-internal-declaration]
91 | static const uint8_t test_response_read_data_end[1] = {
Add additional asserts to use these variables in the test.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Warning as error was:
.../drivers/display/display_rm67162.c: In function ‘rm67162_write_fb’:
.../drivers/display/display_rm67162.c:383:9: error: ‘wlen’ may be used
uninitialized in this function [-Werror=maybe-uninitialized]
383 | return wlen;
| ^~~~
cc1: all warnings being treated as errors
Signed-off-by: Stephan Linz <linz@li-pro.net>
The original implementation used a single global parameter structure for
GATT operations, preventing concurrent operations on different bearers. By
introducing a per-bearer context pool, each bearer can maintain its own
operation state, enabling simultaneous GATT operations.
Signed-off-by: Evgenii Kosenko <Evgenii.Kosenko@silabs.com>
Modify the description format of all SCMI-related bindings such that the
SCMI/SHMEM acronym is spelled out in between parentheses and not the other
way around. This will make the generated documentation more compact.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Update board YAML files to use 'pinctrl' instead of 'pin_ctrl'
in the supported features list for consistency with Zephyr
naming conventions.
Affected boards:
- cy8cproto_041tp
- kit_pse84_ai
- kit_pse84_eval
Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
The debug code for dumping resolved addresses was modifying the addrinfo
res pointer (effectively setting it to NULL), causing crash later in the
sample. Fix this, by using a temporary pointer copy for iterating over
resolved addresses.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Sort ble radio feature properties alphabetically according to
the coding standard.
Certain features on xg22 and xg28 depend on the specific SoC
selected, move the properties from the generic .dtsi file to
the SoC specific one.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
Propagate the HAL error otherwise it may return success even
when it fails causing invalid entropy and compromising security.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
With -Hccm, the linker automatically moves stuff in RODATA
section into DATA section. Our current kobject related
scripts cannot accommodate this, resulting in space not
being reserved correctly. So for now, disable -Hccm
compiler option if userspace is enabled.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
As the board now supports TF-M with bl2, spport
from sample.tfm_ipc.no_bl2 is removed and
added in sample.tfm_ipc test.
Signed-off-by: Waqar Tahir <waqar.tahir@nxp.com>
- Updated partitions in non-secure device tree
files as tfm now supports Bl2.
- Flash_base address updated for ns-app as
tfm apps are now using bl2 by default.
Signed-off-by: Waqar Tahir <waqar.tahir@nxp.com>
Add new APIs to set operating mode 11n, 11ac and 11ax for SoftAP.
Currently, the 11n, 11ac and 11ax are enabled by default. Theses APIs
can be used to configure operating modes enable/disable for SoftAP.
Signed-off-by: Hui Bai <hui.bai@nxp.com>
Preserve EXCCAUSE and EXCVADDR values on entry to _Level1Vector.
Restore EXCCAUSE when exiting TLB miss exception handling in the double
exception handler.
During first-level exception handling, a LoadStoreTLBMissException may
occur during the initial register dump to BSA. It modifies EXCCAUSE and
EXCVADDR registers before they are saved in BSA. Therefore, these values
must be captured as early as possible.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Remove saving EXCCAUSE register in BSA through the _Level1Vector handler.
These value are later overwritten by the ODD_REG_SAVE macro called by
EXCINT_HANDLER, so saving it here is pointless.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
The negative flash write and fill tests assumed that unaligned
offsets are always invalid.
This is not true for flash drivers reporting a write_block_size of
1, where all offsets and sizes are naturally aligned.
Condition the unaligned offset and size tests on the actual
write_block_size reported by the driver to avoid false failures and
ensure the tests follow the flash API contract.
No functional change for drivers with write_block_size > 1.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Currently the PHY for 2.5G SGMII is not enabled, so could only use 100M
PHY for two switch ports on the board.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Changes CONFIG_MCUMGR_TRANSPORT_UART from selecting
CONFIG_UART_MCUMGR to instead of depending upon it, as it should
never have selected a driver Kconfig and instead always depended
upon it, and is needed for supporting different UART transports
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Document the board rename from ek_ra8t2/r7ka8t2lfecac/cm85 to
ek_ra8t2/r7ka8t2lflcac/cm85 in the Zephyr v4.4.0 migration guide.
Signed-off-by: Khai Cao <khai.cao.xk@renesas.com>
Sometimes, the size of a message coming from a target is not known in
advance. In those cases, we must rely on the T-bit to get the end of
message, which is signaled as the `COMPLETE` bit of `MSTATUS`.
This patch verifies the COMPLETE bit before starting to wait for data,
and if set, simply returns what was read so far.
As a bonus, this simplifies the handling of IBI bytes: no need to rely
on timeouts, if it's reading from IBI, etc.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
Return value for `mcux_i3c_do_one_xfer` was being lost due reuse
of `ret` variable. Use another variable for timeout check.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
The previous implementation incorrectly calculated the source pointer
advancement when pitch differs from width. The calculation was using
`total_bytes_sent` which accumulated across iterations, leading to
incorrect pointer arithmetic.
Replace `total_bytes_sent` with `line_each_sent` to track lines written
per iteration. Simplify the pointer advancement by:
- Calculating complete lines written from bytes_written
- Advancing by full pitch-sized lines
- Adding any remaining partial line bytes
This fixes the source pointer calculation when the buffer pitch is
greater than the display width.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
In commit 1f9e39752a ("drivers: watchdog: wdog32: add delay before
init") a reference to k_msleep was added to
drivers/watchdog/wdt_mcux_wdog32.c without including the necessary
header. At least for the board frdm_mcxw71/mcxw716c, this causes a
compile failure in this file as soon as CONFIG_WATCHDOG is enabled.
Add the missing include to zephyr/kernel.h to fix the issue.
Signed-off-by: Matthias Blankertz <matthias.blankertz@inovex.de>
The I2C bus of the lpi2c1 I2C controller is connected to the Arduino
Shield header on the usual pins. Label it with "arduino_i2c" in the
board device tree so that the frdm_mcxw71 board can be used with I2C
shields.
Signed-off-by: Matthias Blankertz <matthias.blankertz@inovex.de>
Remove oob-gpios property from nxp_m2_1xk_wifi_bt.overlay. There is no
binding for this property at bindings\wifi\nxp,wifi.yaml. Therefore,
builds using this shield will fail.
Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
Add board-specific configuration and overlay files for
running DAC API tests on the SAM E54 Xplained Pro board.
- Add sam_e54_xpro.conf
- Add sam_e54_xpro.overlay
- Update DAC API test to support the board
Signed-off-by: farsin NASAR V A <farsin.nasarva@microchip.com>
Add DAC pinctrl definitions and update the board metadata
to list DAC as a supported feature on the SAM E54 Xplained Pro board.
Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
Due to the hardware limitation, the time between the CPU wake-up IRQ fire
(IRQ 23) and the next call of LL_RADIO_TIMER_SetCPUWakeupTime should not
be less than 16 MTU (Machine Time Unit), i.e. approximately 30us.
otherwise, the next CPU wake-up doesn't happen unless the timer wraps.
Lock IRQs while sys_clock_set_timeout is being executed.
Remove HAL_RADIO_TIMER_WakeUpCallback and it will be implemented
differently in the future.
Remove HAL_RADIO_TIMER_TimeoutCallback as it is not needed anymore.
Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
Change the initialization priority. According to the documentation, kernel
services should not be used during device configuration with PRE_KERNEL_1.
In "entropy_stm32_rng_init", there is "start_pool_filling" which calls
"k_work_schedule". Moreover, "k_work_schedule" requires system timer which
is initialized within PRE_KERNEL_2. Therefore, the SoC gets stuck.
Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
Enable automatic runtime power management for all LPI2C instances
to support interrupt-driven when suspend and resume device
by scmi firmware interface.
On i.MX943 with System Manager firmware, clock operations require
SCMI communication which needs interrupts. The system-managed PM
approach locks interrupts during device suspend/resume, preventing
SCMI from completing.
Although lpi2c mcux driver have enabled pm runtime in driver init,
set lpi2c auto runtime in dts to record this issue that only
device runtime can be supported now.
Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
Add PM device support for the LPI2C peripheral.
Implement PM device callback to gate and ungate the device clock
during suspend and resume. No attach register save and restore as
it's preserved by hardware
Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
The condition `!spi_context_rx_buf_on(ctx) && spi_context_rx_on(ctx)`
only returns early when RX is active with a NOP buffer.
However, when `rx_len == 0`, `spi_context_rx_on(ctx)` returns false,
causing the early return to be skipped.
This leaves `ctx->rx_buf` (which can be NULL) to be dereferenced.
Since `lpspi_handle_rx_irq()` already guarantees `spi_context_rx_on(ctx)`
is true before calling this function, only check
`!spi_context_rx_buf_on(ctx)` to safely handle NOP buffers.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Refactor `lpspi_rx_buf_write_words()` to compute `words_read` upfront
using `MIN(rx_len, max_read)`, simplifying control flow and making
the read limit explicit without changing behavior.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Allows a mixture of IRQ-enabled and IRQ-disabled nodes.
Enabled nodes are identified by the presence or absence of
the interrupt-names property.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add explicit clock configuration and enable calls during driver
initialization.
Note: -ENOSYS is temporarily ignored as not all clock control
drivers currently implement the configure API. This handling
should be removed once all clock drivers support configure.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
Add clock_control_configure() call during initialization to properly
configure the TPM clock. The driver now attempts to configure the
clock and handles cases where configuration is not supported by the
platform (-ENOTSUP/-ENOSYS) by continuing with default settings.
Real configuration errors are logged and cause initialization to fail.
Note: -ENOSYS is temporarily ignored as not all clock control
drivers currently implement the configure API. This handling
should be removed once all clock drivers support configure.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
Add edersondisouza as a collaborator to PMCI - it should've been done
when edersondisouza was added as libmctp West module collaborator, but
it was missed.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
It is important to include license and terms of use information
in the documentation for external modules. This helps users
understand their rights and obligations when using these modules
within the Zephyr project.
Signed-off-by: Gillian Minnehan <gillian.minnehan@nordicsemi.no>
When building the bluetooth.general.tester_le_audio test with clang and
-Winitializer-overrides, it warns:
subsys/bluetooth/audio/mpl.c:318:2: error: initializer overrides prior
initialization of this subobject [-Werror,-Winitializer-overrides]
318 | .add_group = NULL,
| ^~~~~~~~~~~~~~~~~
subsys/bluetooth/audio/mpl.c:317:15: note: previous initialization is here
317 | .add_track = NULL,
| ^~~~
Remove redundant initializer for add_group which overlaps with add_track
in an anonymous union.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
When building with clang we get the following warning when building the
sample.net.midi2.host_auth_user test:
samples/net/midi2/src/main.c:122:54: error: initializer element is not a
compile-time constant
122 | NETMIDI2_EP_DEFINE_WITH_USERS(midi_server, ump_ep_dt.name, NULL, 0,
| ~~~~~~~~~~^~~~
include/zephyr/net/midi2.h:99:12: note: expanded from macro
'NETMIDI2_EP_DEFINE_WITH_USERS'
99 | .name = (_ep_name), \
| ^~~~~~~~
Instead of using ump_ep_dt.name for initialization, we use the
equivalent expression that UMP_ENDPOINT_DT_SPEC_GET(DT_NODELABEL(midi2))
initializes the ".name" member with.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules and save quite a bit of flash.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The return value of gpio_pin_set_dt() and
gpio_pin_interrupt_configure_dt() was not stored before being
checked, causing the error condition to always evaluate to false.
Store the return value and properly handle potential GPIO errors
during PHY reset.
No functional change intended.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
The ls0xx driver VCOM inversion thread has a hardcoded priority of 3,
while in some applications this may be considered lower priority than
time sensitive tasks, maintaining close to an even polarity balance is
best, but this change allows developers to determine the approach.
Signed-off-by: Eden Uhde <eden@rainbowtree.house>
Use docname instead of source from get_source_and_line() because
source can be a relative path to an included file (e.g., .rst.inc),
while docname is always the main document being processed.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fix dead links by replacing them to normal strings. This is in
preparation for a fix in zephyr_file role link check that will make the
checks more strict and fail on these even if they hadn't been flagged
until now.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
TwisterEnv already parses west modules during initialization, but TestPlan
was parsing them again via zephyr_module.parse_modules(), duplicating work.
Store the parsed module objects on TwisterEnv (self.modules) and have
TestPlan derive its module name list from env.modules instead. This drops
the redundant parse in TestPlan by removing handle_modules() and its call
site.
Each call to parse_modules() takes around 250-300ms on my end.
Update twister unit tests
Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
For devices like MCXE247, the FTM peripheral instance
has multiple interrupts. In this patch, add FTM_CONFIG_FUNC
macro to support single or multiple interrupts based on irq
number.
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
Support usb for NXP frdm_mcxa1366 and frdm_mcxa266 board.
Test it using samples/subsys/usb/console and tests/drivers/udc
Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
Added arduino_header node labels to FRDM-MCXA366,FRDM-MCXA346 and
FRDM-MCXA266 device tree board definition, allowing compatible
shield boards to be used. Also extend the board YAML file with
related support tags arduino_gpio.
Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
Add the TMA525B touch controller driver to the input build_all test.
This includes:
- Device tree overlay entry for the TMA525B device
- Test configuration enabling interrupt mode
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Adds the zc143ac72mipi shield configuration for the mimxrt700_evk
platform to the LVGL demos sample test platforms.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Move MIPI_DSI_MCUX_2L_SWAP16 and LV_COLOR_16_SWAP configuration from
the shield's Kconfig.defconfig to board-specific configuration files.
This allows for better board-level customization and removes the
conditional logic from the shield defaults.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
- Add support for the TMA525B touch controller to the
zc143ac72mipi shield
- Add Kconfig.defconfig with LVGL configuration defaults
- Update board specific configuration
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
This commit adds support for the Parade Tech TMA525B capacitive touch
controller. The driver supports both interrupt-driven and polling modes,
and can handle up to 4 simultaneous touch points.
Key features:
- I2C communication interface
- Multi-touch support (up to 4 touch points)
- Interrupt mode with GPIO callback support
- Polling mode with timer
- Power management support with PM notifier
- Reset and power control via GPIO
- Touch event tracking (down, contact, up)
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
- The RX Message Descriptor in CANXL on newer SoC such as
the S32K5 supports receiving both classic and FD frames,
so enable the RX FIFO only for S32ZE SoC.
- The CANXL bare-metal driver has significant changes, the
current codebase for S32ZE need to be guarded and modified
to support newer SoC
- Expand the peripheral region to 1G to include the CANXL
area.
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
Add support for named clocks in the WDOG32 driver to properly handle
different clock sources. The driver now uses clock-names property to
identify which clock source is being used, based on the clk-source
property.
This change enables proper clock configuration and control for platforms
where the clock frequency is not statically defined in the device tree.
The driver will now configure and enable the appropriate clock during
initialization.
Updated all affected device tree files to include the clock-names
property aligned with their clk-source configuration.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
cy8ckit_062_wifi_bt board requires NMI handler to point to
the prefefined address 0x0000000D in order to correctly run
system calls. This can be achieved by specifying the runtime
nmi configuration and hardcoding the address in soc.c.
With the introduction of this change the system calls can
correctly be executed correctly thus resolving open
issue #99642 .
Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
Use a single os.scandir() pass per board directory to load twister.yaml
and collect legacy *.yaml files, replacing Path checks and globbing.
On my end this reduces execution time by ~50ms on Ubuntu 24.04 and
eliminates ~80k Python function calls.
Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
The post-script was being called multiple times and during the
initialization phase when it should only run after the reader
thread has started and the device testing is complete.
Fixes#102386
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Replace zephyr_compile_definitions_ifdef with
zephyr_library_compile_definitions_ifdef to avoid setting options globally.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Fix pm_policy_event_register() and pm_policy_event_update signatures
when CONFIG_PM is disabled.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
While the tty_* api already has functions
to set the rx and the tx timeout, the console_*
api didn't had one.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
use k_timeout_t internally, that way
the timeout has only to be calculated, when setting it and not
every time when it is used.
Also use the ys_timepoint* api instead of
counting the ms.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Use a proper branch instead of an assert to check if the device
is ready. It can potentialy lead to improper random
value that can compromise security.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
When Ethernet management is not enabled, the respective calls should
also be compiled out. In case there are no callers the toolchain will
remove this, hence it worked till date.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
When using shell the users input raw header as big-endian, so, add
support for both formats for the magic number.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
This helps in benchamrking raw socket (packet socket) performance in the
lines of UDP/TCP.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
When sysbuild is enabled globally and running west build with a
selected test scenario, the sysbuild setting was being overwritten
with False when sysbuild was not explicitly set in the test YAML file.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Split DMA status error from busy state handling. Use LOG_DBG for
busy state and LOG_ERR for status query failures. Return -EBUSY
as required by async UART API when transfer is in progress.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
`edma_reload_loop` doesn't take into account the DMA possible channel
gap. This is an issue for S32K3 series leading to system crashes when
higher DMA channels are used.
Signed-off-by: Razvan Heghedus <razvan.heghedus@protonmail.com>
Fix spelling and wording issues in comments across NXP board FlexSPI
NOR configuration headers.
No functional change.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
This test has been changed in d7a8f29ce7 to drop all the steps that
were running on the other platforms, change it to just instantiate the
Linux instance and drop the conditional.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Move the multicore middleware to the new mcux-sdk-ng integration from
hal_nxp, instead of using the legacy integration method.
This will allow for easier integration of future releases.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Adds names to these libraries to prevent using auto-generated
names of the paths, which can be longer than the maximum supported
length on the current version of gcc for windows
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fixes various issues in the Kconfigs including not properly having
abbreviations in the correct case, line lengths, duplicating other
Kconfigs, etc.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a new on the newly introduced sysbuild variant image feature
and a new slot1-partition snippet
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds details about the ``ExternalZephyrVariantProject_Add`` sysbuild
function which has been newly added, that allows for creating
variant images
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a test which checks that the sysbuild slot1 variant image is
generated, and ensures that it boots properly when both images are
present or when only the second image is present
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a new experimental Kconfig option to sysbuild which allows
generating a variant image to use with MCUboot in direct-xip mode.
It also includes base sysbuild infrastructure for creating
additional variant images in future (including out-of-tree),
whereby they use the base configuration of an existing image but
modify it, without creating the default zephyr extra targets for
images (e.g. menuconfig) to prevent changing configuration that
should not be changed.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a snippet which sets the chosen code partition to
slot1_partition, which can be used with things like MCUboot
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This fixes the issue where --list-tests and --test-tree commands
showed duplicated testsuite IDs in the output,
simplifies testcase name handling in harness and runner modules.
Removed feature to extend behaviour of --no-detailed-test-id to shorten
test case names - feature was introduced in #82302.
This makes the twister output more predictable and the codebase easier
to maintain.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
The default SMP board variant runs SMP Zephyr on four A55 Cores, it
could be changed by disabling some CPU core nodes in dts and change
CONFIG_MP_MAX_NUM_CPUS accordingly.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Seemingly partitions (fixed-partitions) have no properties when
the edt file is loaded, work around this issue by outputting
compatibles for nodes that have them but have no properties, also
fixes some other outputs for misc. devices
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Initialize mclk_control_base,
mclk_pin_mask, mclk_pin_offset as 0
and skip mclk settings when
there is no property pinmuxes.
Signed-off-by: Biwen Li <biwen.li@nxp.com>
Add board specific configuration and overlay for enabling the
st_b_cams_omv_mb1683 shield on the stm32h7s78_dk board.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Describe the camera related pins of the 30pins connectors of the
stm32h7s78 as well as DCMIPP pin assignments for the stm32h7s78
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
On this board the chip select is connected to GPIO E10
and must be controlled via GPIO since SPI4 CS is accessible
via either E4 or E11 which are both already used by other
functions on this board.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The STM32H7RS series embeds a parallel interface based DCMIPP
block allowing to capture data from sensors and store them into
memory.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Only st,stm32-dcmipp is described and only st,stm32n6-dcmipp
was used within the driver to decide if CSI / PIXEL_PIPES
are available. Instead of this, look at HAL provided macros
to know if the selected soc has the functionalities or not.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
This change accommodates support for next-generation
soc(it51600).
Tested with:
west build -p always -b it51xxx_evb/it51526aw samples/hello_world/
Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
Add invisible RENESAS_PN config to reflect the SoC hardware
information and provide input for hal_renesas
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Create infrastructure for shared USB common code on STM32 family, and move
the Power Controller configuration logic to common code. This removes some
midly unrelated code from the UDC driver while enabling reuse by a future
UHC driver implementation for STM32.
While at it, clean up the migrated code.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
-Change base register for TCPWM to 0x40200000
which controls the entire IP block.
- enabling/disabling counters and handling
global interrupts.
Signed-off-by: Deepika R <deepika@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
- Add an overlay to enable TCPWM Counter sample.
- Contains configurations for Counter and Clock
Signed-off-by: Deepika R <deepika@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Add implementation of the Infineon PSoC4 TCPWM-based counter driver.
- Provides basic counter operations
including start, stop, read, and set alarm.
- Supports configuration and initialization through Device Tree.
- Enables alarm callback handling for
precise time-based event generation.
Signed-off-by: Deepika R <deepika@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
- Decouple interrupt settings from gpio drivers, making them configured
and handled independently by tint and ext_irq drivers.
- Remove device-specific hardware definitions in gpio_renesas_rz.h and
take advantage of pinctrl data type and dtsi for certain series.
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
- Replaced the previous struct layout with a union
type. This change exposes all register fields that were hidden
for pinctrl, but now they are useful for gpio to reuse.
- Remove `_t` suffix from struct tag to avoid duplication with
typedef alias.
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Remove required tag from `req` and `reg-names` as the pinctrl node is
changed into a dummy node to avoid cycle in devicetree between irq,
gpio and pinctrl so these properties are not required for Renesas
RZ/A,G,V series.
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Added `#irq-cells` to `renesas,rz-ext-irq` nodes to reflect the update
of `renesas,rz-ext-irq` binding.
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Added a condition to check trigger type as high-level detection is not
supported by Renesas RZ external interrupt.
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Enable power management using LPTMR0 as the idle timer.
- Set zephyr,cortex-m-idle-timer to lptmr0
- Remove redundant stop state DTS overrides
- Add power_mgmt_soc test configuration and overlay
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Implement power management with IDLE, STOP, PSTOP1, and PSTOP2 modes.
- Add power state definitions with timing parameters
- Implement pm_state_set() with proper SLEEPDEEP handling
- Add XIP-safe WFI execution from RAM
- Enable SMC driver and power mode protection
- Remove forced timer Kconfig defaults
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Deprecate the CONFIG_XOPEN_STREAMS Kconfig option in favour of
CONFIG_XSI_STREAMS, which matches the naming conventions of other XSI
Kconfig options and the actual Option Group name in the specification.
Please use CONFIG_XSI_STREAMS instead.
Note: this option was originally deprecated prior to 4.3.
Signed-off-by: Chris Friedt <chris@fr4.co>
CONFIG_XOPEN_STREAMS does not follow the pattern of other XSI Option
Groups, where the Option Group name is not the same as the feature
test macro that indicates it is supported by the implementation.
Deprecate CONFIG_XOPEN_STREAMS and rename it to CONFIG_XSI_STREAMS.
For more information, please see
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/\
V1_chap02.html#tag_02_01_05_09
Signed-off-by: Chris Friedt <chris@fr4.co>
Fix issue with re-registering CSIS where it relied on
a stack allocated value during the service unregistering
and reset. To fix this properly, and to allow for further
optimization, the register function was refactored to dynamically
create the service, rather than relying on a static allocation
and dynamically remove unwanted characteristics.
Additionally this new approach also allow us to rely on
IS_ENABLED and remove some #if defined, as well as reducing
both ROM and RAM memory usage.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
In current implementation, the Classic L2CAP server list will be
cleared when the function `bt_enable()` called. It causes the
registered Classic L2CAP servers are unregistered. However, the
higher-ups were completely unaware of this behavior. It causes the
Classic L2CAP server cannot work after executing the sequence
`bt_enable()`, `bt_disable()`, and `bt_enable()`. Also this behavior
is inconsistent with LE L2CAP server.
Remove the initialization of Classic L2CAP server list from function
`bt_l2cap_br_init()` to fix the issue.
Make Bluetooth Classic profile initialization functions idempotent
by adding static initialized flags to prevent re-initialization.
Change return type from int to void since errors are now logged
but not propagated.
Changes include:
- Add initialized flag to prevent multiple initialization
- Change return type to void for init functions
- Mark err variables as __maybe_unused where appropriate
- Improve error logging with error codes
- Handle -EEXIST and -EALREADY errors for re-registration
- Initialize connection pools before checking initialized flag
in AVRCP to support re-initialization scenarios
- Remove unnecessary sys_slist_init in bt_l2cap_br_init
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Fix incorrect error code formatting in Bluetooth BR/EDR shell commands.
Error codes are already negative values, so remove the redundant negation
when printing error messages. Also update PSM registration message to
print the PSM value in hexadecimal format for consistency.
Changes:
- Remove negation of error codes in shell_error() calls
- Change PSM format specifier from %u to %04x for hex display
- Affects l2cap_disconnect, l2cap_send, l2cap_credits, l2cap_echo_reg,
l2cap_echo_unreg, l2cap_echo_req, and l2cap_echo_rsp commands
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Adds a new property which outputs the absolute address of a dts
device (if it is available) which will take the parent nodes into
consideration without a user having to manually trawl through
devices (which is error prone depending upon how they are layered)
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
- Adds pic32cx_sg41_cult.overlay for wdt test projects.
- Adds pic32cx_sg41_cult platform allow in testcase.yaml.
- Adds wdt board specific configuration in main.c
Signed-off-by: Farsin Nasar V A <farsin.nasarva@microchip.com>
- Adds the overlay file for pic32cx_sg61_cult board for supporting
watchdog sample application
Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
- Add watchdog tag in the board yaml file section to allow
CI run watchdog tests on this board.
Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
- Adds the overlay file for pic32cx_sg41_cult board for supporting
watchdog sample application
Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
- Add watchdog tag in the board yaml file section to allow
CI run watchdog tests on this board.
Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
Adds a flag `cfg_flags` to the `bt_keys` struct and a version field
`cfg_version` in order to be able to detect configuration changes
between firmware updates. This is needed because the `bt_keys` struct
has fields which are compiled in depending on which Kconfig options are
enabled, enabling the possibility of stored data being intepreted
wrongly if the struct changes.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Register Space Cubics on-board computer platforms in MAINTAINERS.yml.
Mark the area as maintained, set yashi as maintainer, and scope it to
boards/sc/. Add a short description for the platform group.
Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
This is to start the process of fixing the issue of the SoC series
not matching the value in the soc.yml file, which is needed to
support future build system features for automatically creating
SoC Kconfigs by the build system.
This also fixes some oddities with how the Kconfigs were set out,
which included duplicated Kconfigs and duplicate selections and
having them in the wrong (or differing) files, to actually follow
how HWMv2 should define these Kconfigs.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
While the tx processor thread is needed to prevent deadlocks and is as
such always enabled, its stack size may be adjusted based on need.
What is needed is dependent on which features are enabled in the
zephyr host as well as other project configurations impacting the
zephyr host.
Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
Add a dependency for UTF8 for LE Audio. Since (nearly?) all
string in LE Audio are UTF8 and that the stack wants to be
able to check and validate strings coming both from remove
deviecs and from the application, it will depend on the utf8
API that is guarded by CONFIG_UTF8.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Fixes the Kconfig name of this so that it matches the value from
soc.yml, this has not been deprecated because this SoC is a virtual
SoC used only with the boards in zephyr meaning it should not cause
any breakage of out-of-tree boards
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fixes the Kconfig name of this so that it matches the value from
soc.yml, this has not been deprecated because this SoC is a virtual
SoC used only with the boards in zephyr meaning it should not cause
any breakage of out-of-tree boards
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fixes the Kconfig name of this so that it matches the value from
soc.yml, this has not been deprecated because this SoC is a virtual
SoC used only with the boards in zephyr meaning it should not cause
any breakage of out-of-tree boards
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fixes the Kconfig name of this so that it matches the value from
soc.yml, this has not been deprecated because this SoC is a virtual
SoC used only with the 2 boards in zephyr meaning it should not
cause any breakage of out-of-tree boards
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
It is not recommended to disable the tx processor thread as otherwise
deadlocks may occur, but it has been observed that some boards and
configurations may have too little RAM to accommodate the TX processor
thread stack.
As such BT_TX_PROCESSOR_THREAD gets a prompt.
Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
In pm_device_runtime_get, when resume fails after the domain as claimed,
the flag PM_DEVICE_FLAG_PD_CLAIMED is not cleared (but the domain is
released). This leaves this flag in a consistent state and in a further
resume this device won't resume its domain leading to bigger problems.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
Enable and configure essential peripherals that are typically required
for meaningful use of the XIAO nRF54L15 board, especially for wireless
and sensing applications:
- Configure HFXO with internal load capacitors (16 pF) for better
RF performance/stability
- Enable IEEE 802.15.4 radio support
- Enable temperature sensor
- Enable radio core
- Enable NFCT (NFC tag)
- Enable clock controller
These changes make the board usable out-of-the-box for Bluetooth LE,
Thread, Matter, NFC and basic temperature monitoring use cases.
Signed-off-by: Jingxing Lai <starsphere@foxmail.com>
phy_tja11xx_get_link_state() always returns 0, making callers' error
checks ineffective.
Remove the unused return variable and drop the dead conditional in
invoke_link_cb() to silence static analysis warnings and simplify
the code.
No functional change.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Fix a spelling mistake in the board openocd cfg file for arduino
boards.
No functional change.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
It seems there is currently no impact except a warning displayed when
building: "unit address and first address in 'reg' (0x40113000) don't
match for /soc/peripheral@50000000/opamp@113000"
Signed-off-by: Joel Guittet <joelguittet@gmail.com>
coap_client_schedule_poll() never reports errors and always returns
0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Handle both multicast packets and promiscuous mode in the driver. This
will allow the lan9250 to be added to a bridge as well as process
multicast packets being received.
Signed-off-by: Charles Hardin <ckhardin@gmail.com>
Update the NXP HAL with a change where PWM_Setup can return an error value
instead of asserting.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
The bus recovery implementation did not reset the I2C block. If
a glitch on the bus looks like a start condition, the I2C block
will be stuck forever waiting for the associated stop. This adds
reset to the I2C block to address this type of error.
Signed-off-by: Tim Knodel <tbk@google.com>
Alarms are not supported due to RTC interrupt not triggered
in Run mode erratum.
Delete the overlay since RTC node already defined in the
board dts.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Usage or not of the input subsystem is an application decision hence
boards or shields defconfig should not force it, even if there might
be a touchpanel available on the board.
This commit remove enabling of CONFIG_INPUT in ST shields / boards.
This shouldn't have impact on in-tree application since LVGL samples
already enable CONFIG_INPUT.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Always enable the CONFIG_INPUT in the project since it is trying
to use inputs, and let inside the application figure out if there
is really an input device available or not to either simply
draw a label or a button with a label.
This also allow avoid need to have board specific conf file just
to enable CONFIG_INPUT as well has allow to use shields which
embed touchpanels.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
CONFIG_INPUT=y is already part of the demos sample prj.conf file so
it is not necessary to have it enabled in the st25dv_mb1283_disco
board specific conf file.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
This commit adds cache handling for Hifi4 core on RT600.
Enable CACHE_MANAGEMENT and HAS_DCACHE.
This is required for proper data coherency when the DSP shares memory
with other cores (e.g., Cortex-M33) or DMA peripherals.
With this change, applications can now use sys_cache_data_flush_range()
and sys_cache_data_invd_range() to ensure cache coherency in shared
memory scenarios.
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
For STM32F446, F469, F479 and F7x, add the clk48 node in the dtsi.
This allows configuring the clock source of the CLK48 clock.
It is necessary to add it for the SDIO peripheral that can have either
SYSCLK or CLK48 as clock source.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
On STM32F446, F469, F479 and on STM32F7x, the CK48M mux can have either
PLL Q or PLLSAI P as input. Adds the support for the PLLSAI P input in
the driver.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Move get_ck48_frequency function outside of the #if STM32_PLL_ENABLED
because it should be usable even if the main PLL is not used. The mux
can indeed be used with PLLI2S.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
With the new PLL bindings, fixes a few board dts and overlays
that are missing some properties.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
This commit updates the STM32Fx clock driver to add complete support for
all PLLs for all SoCs.
Supports all outputs and additional divisors:
- PLL-DIV-R
- PLLI2S-P
- PLLI2S-DIV-Q
- PLLI2S-DIV-R
Adds global checks to make sure that all:
- All PLLs share the same source clocks
- All PLLs share the same M-Divisor (on applicable SoCs)
- Both div-X and div-divX are defined (on applicable SoCs)
Functions get_plli2s_source and get_plli2ssrc_frequency are added to make
sure that PLLI2S can be used even if PLL is not defined.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Add some missing clock sources and reorganize them to class the PLL outputs
together for STM32F4 and F7.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
For all STM32F2, F4 and F7, use the new binding instead of the various ones
previously defined.
For F411 and F446, this removes the need to define the PLLI2S since it is
already included in F401.
For F7, this commit also adds the PLLI2S that was missing.
Also update post-div-x properties for some boards and overlays.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
STM32F2, F4 and F7 have up to 3 PLLs: PLL, PLLI2S and PLLSAI. These PLLs
are very similar, the principal differences are which outputs are available
for which PLL of each SoC.
Instead of having a large number of files to describe all the possible
very similar variants, use one single binding to rule them all.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
The Pico SDK expects a transfer count (items), not a byte count. The
driver incorrectly passed the byte size, causing buffer overflows on
16-bit and 32-bit transfers.Fix this by storing the transfer width in
the channel configuration and dividing the block size by that width
to calculate the correct transfer count.
Fixes#99435
Signed-off-by: Ashirwad Paswan <ashi06712@gmail.com>
Moving the reset of ltpim hw ip at the beginning of
sys_clock_driver_init to improve the reliability of lptim hw
configuration sequence.
Signed-off-by: Alessandro Manganaro <alessandro.manganaro@st.com>
Add ewm dts node for mimxrt1170.
Enable ewm clock for frdm_mcxe247.
Enable wdog for frdm_mcxe247 and frdm_ke15z.
Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
Set the background color to 0xFF (white) in case of ARGB_8888
framebuffer format so that it is same for all formats except
AL88 and MONO.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Switch SDL buffers from SDL_PIXELFORMAT_ARGB8888 to
SDL_PIXELFORMAT_BGRA32. BGRA32 is platform endianness independent
description, defined as below:
Byte 0 Byte 1 Byte 2 Byte 3
7......0 15.....8 23....16 31....24
Bbbbbbbb Gggggggg Rrrrrrrr Aaaaaaaa
The driver is then updated in order to ensure that all buffers,
given via a PIXEL_FORMAT_ described format are properly converted
into the SDL_PIXELFORMAT_BGRA32. At the same time endianness
conversion code is also added in order to avoid taking assumption
that the running platform is little-endian and ensure that data
are properly read as expected.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The RGB888 colors generated leads to having
byte0 - R
byte1 - G
byte2 - B
while the RGB888 is usually described as B - G - R
going from byte0 to byte2.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The format currently expected by devices and sample display
application for BGR_565 is actually RGB_565 format with bytes
swapped (not B / R swapped). That is:
PIXEL_FORMAT_RGB_565:
* @code{.unparsed}
* 7......0 15.....8
* | gggBbbbb RrrrrGgg | ...
* @endcode
current PIXEL_FORMAT_BGR_565:
* @code{.unparsed}
* 7......0 15.....8
* | RrrrrGgg gggBbbbb | ...
* @endcode
This is explained in both st7796s display driver but also is
what is generated by the sample display application. As a video
format (ex: V4L2), such format is not mentioned as BGR (for
which R and B are swapped) but RGB_565X.
Within the whole Zephyr tree, rename the curremt BGR_565 format
into RGB_565X in order to emphasis that this is a byte swapped
format rather than a B/G component swapped format.
This also correct the description of the format in display.h
file, which wasn't correct based on what was being used by
display driver or sample display app.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
This commit adds the MikroE MCP251xFD Click shields under the same
assignees as other of the CAN driver based shields.
Signed-off-by: Stephan Linz <linz@li-pro.net>
The documentation now contains an introductory section covering
the possible variants of this shield. Furthermore, the existing
documentation for the MikroElektronika MCP2518FD click shield
has been enhanced with additional WEB references and the missing
picture.
Signed-off-by: Stephan Linz <linz@li-pro.net>
MikroElektronica offers various click shields, all based on the MCP251xFD
chip family. These include, for example, the MCP2517FD and MCP251863. All
of these chips are software compatible, meaning they can be used with the
same driver.
This preparation makes it possible to introduce additional click shields,
each with their own name. These do not differ in terms of functionality
and handling, so a separate directory for each additional "similar"
module is not necessary. Only an additional DTS overlay and documentation
need to be added.
In addition, missing copyright strings have been added or their labeling
has been adapted to the current guidelines.
Signed-off-by: Stephan Linz <linz@li-pro.net>
cmd_blob_target() always returned 0 even when the target list was
full, making error checks at call sites unreachable.
Return a proper error code when no more targets can be added so
callers can correctly detect and handle the failure.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Update the HW models module to:
4d11a73d62bf999205f16de21a0ef675501f5b21
Including the following:
4d11a73 makefile: Check for more types of build warnings
e53f8db hal: Disable unused-parameter warning when building hal files
5dfba9f RADIO: Avoid 2 shadow redefinition warnings
4a4f979 nrf_hack: Avoid a shadowed redefinition warning
4b9e63b misc: Fix a couple of signedness comparison warnings
d46094f CRACEN: Fix an unused parameter warning
1cf2b04 CLOCK: Fix prototype and one warning
2dab612 nrf_clock: Select header based on symbol instead of platform
0b45a30 54 CRACEN: Make it clear that fallthrough is intentional
7945bf8 GRTC: Add PASTCC model
0a997e5 nrf_hack: Trivial refactoring to remove duplicate code
f328e9b cmake: Add build defines to nrfx library
3824f9c hal: nrf_common: Add repl. for nrf_address_{bus,slave}_get()
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This workflow used to host the "empty" description check and had to
rerun on PR title edit, but that has been moved to into the (faster) dnm
workflow in db18e4c507. Drop the "edited" trigger from this one as it's
not needed anymore.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
On the it51xxx soc, the psa/its twister test was failing because
there is no storage partition defined. This change ensures the
flash erase function in the psa/its test only runs if fixed
partition labeled 'storage_partition' exists.
Tested with:
- west twister -p it51xxx_evb/it51526aw \
-s secure_storage.psa.its.secure_storage.custom.both
- west twister -p it51xxx_evb/it51526aw \
-s secure_storage.psa.its.secure_storage.custom.store
Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
This renames the dtsi files in the dts/vendor/nordic
to include the cpuapp in the filename.
At the same time it updates the inclusion of these files
to include the vendor in the path because the same filenames
exists in both:
dts/vendor/nordic
dts/arm/nordic
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Rename all dtsi files for Nordic boards for non secure builds
to have a _ prefix before "ns" to increase readiblity.
At the same time, change the path to include the arm
folder in order to be able to differentiate with the
vendor folder which has similar files.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Refactor the SRAM partitioning for TF-M builds for the Nordic
nRF54L devices. Instead of using the reserved-memory node this
just partitions the normal SRAM node. This aligns the design with
the rest of the Nordic devices.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Update the memory layout of nrf54l10 for TF-M builds so that
it does not reserve any memory for FLPR since it is not supported
with TF-M.
This affects both the SRAM and the RRAM partitioning.
I moved the SRAM partitioning to the nrf54l10_ns_partition.dtsi
and removed it from individual board files so it can be updated
for all the platforms in one place.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Update the memory layout of nrf54lm20a for TF-M builds so that
it does not reserve any memory for FLPR since it is not supported
with TF-M.
This affects both the SRAM and the RRAM partitioning.
I moved the SRAM partitioning to the nrf54lm20a_ns_partition.dtsi
and removed it from individual board files so it can be updated
for all the platforms in one place.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Update the memory layout of nrf54l15 for TF-M builds so that
it does not reserve any memory for FLPR since it is not supported
with TF-M.
This affects both the SRAM and the RRAM partitioning.
To do that I refactored the dts files, specifically:
1) I created new files for the _ns targets since they have
different available RRAM/SRAM sizes now.
2) I moved the SRAM partitioning to the nrf54l15_ns_partition.dtsi
and removed it from individual board files so it can be updated
for all the platforms in one place.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
Update the memory layout of the Nordic nRF54L devices to avoid
reserving volatile and non-volatile memory for FLPR since it is
not yet supported with TF-M.
Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
If a second UART was not configured in the hardware map, then skip
the testcase instead of failing.
Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
Commit removes selection secure storage for tfm
crypto provider. The secure storage is under
the secure image management. Non-secure image
is not required in the secure storage subsystem.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Fixes using a dt function which suffered from firstly trying to
take the value from a variable that isn't defined, and which if is
ignored, was entirely invalid due to supplying a chosen node, not
a path as the dt function explicitly requires
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fix formatting of the __ASSERT message in
mcux_ctimer_pwm_get_cycles_per_sec to properly concatenate the
string across multiple lines.
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
Add zephyr,entropy and sets to TRNG0. This is needed by
the random subsys when using entropy device.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
entropy_gd32_recover() had not return type defined causing the
following issue when building:
drivers/entropy/entropy_gd32.c:61:8: error: return type defaults to
'int' [-Werror=implicit-int]
Fix it and change the function to void since it was returning a
constant 0 that is never checked or used.
Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
Fixes Kconfig naming to be properly set as required by HWMv2, to
allow for future build system features to work
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fixes a wrongly added SoC feature which should not have been
accepted in the original way it was added, by correctly adding a
Kconfig to select an optional build configuration for this SoC
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
process_advertise() never reports errors and always returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
process_search() never reports errors and always returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Read the idle timer counter value after getting interrupt status and
top value to ensure more accurate timing measurements when exiting
low-power mode.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Clear pending SysTick interrupt before entering low-power mode when
CONFIG_CORTEX_M_SYSTICK_RESET_BY_LPM is enabled. A pending interrupt
can inhibit LPM entry or cause immediate wakeup. This is safe since
cycle_count was already updated.
Also improve RESET_BY_LPM Kconfig help text.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Add documentation for the setpath flags parameter by defining a new
enum bt_obex_setpath_flags that describes the available flags:
- BT_OBEX_SETPATH_FLAG_BACKUP: backup a level before applying name
- BT_OBEX_SETPATH_FLAG_NO_CREATE: don't create folder if it doesn't exist
Update the documentation for bt_obex_setpath() and the setpath callback
in bt_obex_server_ops to reference the new enum, improving clarity for
users of the OBEX setpath operation.
Signed-off-by: Can Wang <can.wang@nxp.com>
The function obex_transport_disconn() was always returning -EINVAL
regardless of the actual error code returned by the transport
disconnect operation.
Fix this by returning the actual error code from the transport
disconnect call instead of the hardcoded -EINVAL value.
Signed-off-by: Can Wang <can.wang@nxp.com>
According to OBEX Version 1.5, section 2.2.9, it is legal to send a
zero-length End-of-Body header when object body data is generated on
the fly and the end cannot be anticipated.
Update parameter validation in bt_obex_add_header_body_or_end_body()
and bt_obex_add_header_end_body() to allow NULL body pointer when
length is zero, while still rejecting NULL body with non-zero length.
This enables proper support for zero-length End-of-Body headers as
specified in the OBEX specification.
Signed-off-by: Can Wang <can.wang@nxp.com>
Add a new helper function bt_obex_has_app_param() to check whether
a specific application parameter tag exists in the OBEX buffer.
The function uses the existing bt_obex_get_header_app_param() to
retrieve the application parameters, then parses them using
bt_obex_tlv_parse() with a callback to search for the specified tag ID.
This simplifies checking for the presence of application parameters
without needing to manually parse the TLV structure.
Signed-off-by: Can Wang <can.wang@nxp.com>
Move the descriptor storage into the per-instance data structure rather
than being global, as they should not be shared between instances.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
The way the driver was storing IRQ numbers for later use in the various
locking modes was not correct, causing the wrong IRQs to potentially be
disabled/enabled in some modes. Refactor the way this is done to be
cleaner, and also the way the different locking modes are implemented in
order to ensure that all modes receive compile test coverage.
Also, ensure that the IRQ for the RX or TX channel is always disabled
during the execution of the corresponding ISR, to prevent it from being
preempted by itself if the DMA core raises another interrupt during the
ISR execution.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
This driver has a config option
DMA_XILINX_AXI_DMA_DISABLE_CACHE_WHEN_ACCESSING_SG_DESCRIPTORS to allow
it to be used on platforms where DMA memory access is not automatically
cache coherent. However, fully disabling the dcache when accessing DMA
buffers/descriptors is not necessary and is potentially problematic.
This can be handled more selectively by doing explicit cache invalidate
and/or flush operations on the buffers involved as required.
Note that this does introduce a requirement that RX DMA buffers provided
to the driver are cache line aligned, as otherwise the required cache
invalidate operation could potentially corrupt unrelated data. This is
explicitly checked when a DMA RX operation is started.
Tested on Cortex-R5 with data cache enabled.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
The driver previously had a timer to periodically check for completed
TX/RX transfers in case an interrupt notification was missed. With
previous changes to the driver to avoid lost interrupt wakeups, this
workaround should no longer be required, so remove it.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Fix some issues in the driver's DMA interrupt handling:
-Ensure that interrupts are cleared prior to handling interrupt events,
so that events raised during interrupt processing will cause the
hardware to raise a new interrupt
-Ensure that we do not overwrite existing DMA descriptors which are
incomplete (such as by trying to execute more transfers than there are
slots in the descriptor ring)
-Ensure that error events reported by the DMA engine are reported
-Rename some of the variables to track pending and completed ring
locations for better clarity
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Doing a reset of the DMA engine during the dma_configure operation is
problematic when using the DMA core in combination with the Xilinx AXI
Ethernet core, since the DMA core's reset signals are normally
propagated into the Ethernet core. This means that after the Ethernet
core initializes and starts a DMA operation for the first time, the DMA
core is reset, wiping out all of the register settings that the Ethernet
core has made.
To avoid this, move the DMA core reset and other initialization which
only needs to be done once into the init function, so this is done
during initial driver load and not deferred until later.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Instead of using a packed structure to define the register map, just
create an enum for the registers and use that to refer to them. This
avoids the need for repeatedly disabling GCC warnings for taking the
address of packed structure members.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
The DMA_XILINX_AXI_DMA_DISABLE_CACHE_WHEN_ACCESSING_SG_DESCRIPTORS
option is not meaningful to enable unless the platform/configuration
actually supports the corresponding cache maintenance operations. Add
dependencies accordingly.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
When building for ARMv9-A platforms with CONFIG_ARM64_SVE disabled,
compilers still emit SVE instructions because ARMv9-A includes SVE
by default in the architecture specification.
Add explicit +nosve flag to -march when CONFIG_ARMV9_A=y but
CONFIG_ARM64_SVE=n to prevent SVE instruction emission. This ensures
the compiler respects the SVE configuration and only emits SVE
instructions when explicitly enabled.
Applied to both GCC and Clang/LLVM toolchains.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
There's a standardized way to set a public Bluetooth address in the
core, and this hardware has a vendor specific command to do just that.
Tell the core we support the operation and implement the command. This
allows applications to set a MAC by calling bt_id_create() prior to
bt_enable().
Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
If the vendor driver knows how to set a public MAC, it can select
CONFIG_BT_HCI_SET_PUBLIC_ADDR and set the address in this argument,
allowing applications to set a public address with bt_id_create().
Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
Without this, the parent CMake and the sub-processes may use different
Python environment.
Co-authored-by: Torsten Tejlmand Rasmussen <torsten.rasmussen@nordicsemi.no>
Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
Introduce bt_le_per_adv_sync_cb_unregister to allow
unregistering of the periodic sync callbacks.
Signed-off-by: Antoni Duda <antoni.duda@programmer.net>
- Remove ztest_test_skip in sub testcase because it will skip all
following code in the testcase.
- Print sub testcase name at the case begining.
- Wrap bad window and wait mode test with macros.
- For nxp,cop, need disable it when the testcase ends.
Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
Add an overlay and conf file for the phyBOARD-Atlas. Those
files are copies from NXP's RT1176 board, because the phyBOARD-Atlas
is using the same MCU.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Add initial support for PHYTEC phyBOARD-Atlas i.MX RT1170 based on the
PHYTEC phyCORE-i.MX RT1170 SOM. SOM uses dual-core NXP i.MX RT1170 SoC
as a basis, with Cortex-M7 core running at 1 GHz and Cortex-M4 core at
400 MHz.
Supported features:
* Accelerometer
* Audio codec
* CAN
* DAC
* EEPROM
* Ethernet
* External display
* I2C
* RS-232
* SD-Card
* SPI
* UART
* USB
Signed-off-by: John Ma <jma@phytec.com>
Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Add phyCORE-1170 SOM dtsi for streamlined inclusion on carrier
boards and uses a dual-core NXP i.MX RT1170 SoC as a basis.
Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
mctp_i3c_controller_start() contains a conditional check on a return
code that is never updated, making the error handling path
unreachable.
Remove the dead code to avoid misleading logic and make the current
controller startup behavior explicit.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
The Versal RPU uses Arm Cortex-R5F cores, which implement VFPv3-D16
(single and double precision with 16 double-word registers):.
Select VFP_DP_D16 to describe the available VFP configuration for this SoC.
Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
set_sensor_state() never reports errors and always returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
init_sensor() never reports errors and always returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
When MOPL exceeds MTU, adjust it to match MTU instead of sending the
error code. This handles the common case where mainstream mobile
operating systems (iPhone and Android) negotiate
MOPL values greater than the RFCOMM or L2CAP MTU.
Signed-off-by: Can Wang <can.wang@nxp.com>
Added a note to the USB CDC_ACM building scenario.
The note reminds the user to connect to the correct USB port
when programming. NCSIDB-1733.
Signed-off-by: Grzegorz Ferenc <Grzegorz.Ferenc@nordicsemi.no>
clock_control_bl60x_set_root_clock_dividers() never reports errors
and always returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
clock_control_bl70x_set_root_clock_dividers() never reports errors
and always returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
CAR characteristic read process was incomplete, CAR status was not
actually stored.
Added a new BTP_GAP_EV_PEER_CAR_RECEIVED to tester. This is to
prevent disconnect events before IUT successfully reads CAR from
central.
Updated start_directed_advertising() so that if the central has
no CAR support we must not send directed advertisements. IUT
might enter another connectable mode according to specification,
thus IUT starts sending connectable undirected advertisements with
resovable address.
Signed-off-by: alperen sener <alperen.sener@nordicsemi.no>
commit bf61a47887 ("drivers: sdhc: imx_usdhc: extend reset timeout
duration") extended the timeout from 100 iterations to 1000 iterations
for the USDHC_Reset() call in imx_usdhc_reset() but not in the other
places it's called. I have observed a "usdhc: Failed to reset command
line" error from imx_usdhc_error_recovery() on an i.MX RT1061, which
goes away if I extend the timeout. Do so there and also at other call
sites for good measure.
Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
Factorize STM32 interface clocks configuration in a single array.
This change eases later integration of other SoCs with different
clocks names while the driver only has to enable (possibly disable)
the clocks on a single sequence.
Suggested-by: Fin Maaß <f.maass@vogl-electronic.com>
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Remove helper macro used to transition from MAC clocks defined
by the MAC node to definition in the controller (parent) node.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Move the ethernet controller clocks from mac node to controller node.
This change simplifies how clocks are gathered and handled in STM32
ethernet drivers.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Prepare move of STM23 ethernet MAC clocks to the controller node (parent
node). For sake of simplicity, define a filed for all possible clocks in
struct eth_stm32_hal_dev_cfg, a later change will replace the whole
with a single STM32 clock instance (struct stm32_pclken) array pointer.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Update STM32 ethernet driver to use STM32_DT_INST_CLOCK_INFO_BY_NAME()
helper macro to always get all clock information, not only the bus ID
and bit position.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Add board overlay file for pic32cx_sg41_cult to enable comparator
test cases to run on this board.
Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
Add a new sleep-mode-enable property for the Cirque Pinnacle input driver,
to enable the sleep-mode for those peripherals, which will go into a lower
power state after 5 seconds with no fingers detected.
Signed-off-by: Peter Johanson <peter@peterjohanson.com>
Don't rely on power-on-reset for the connected device, issue a software
reset on init to be sure we're reset before continuing.
Signed-off-by: Peter Johanson <peter@peterjohanson.com>
The System clock was changed to LPFLL by commit 68937acbb8.
Updated the clock source and frequency description in board documentation.
Regarding boards: frdm_ke15z, frdm_ke17z, frdm_ke17z512
Signed-off-by: Chay Guo <changyi.guo@nxp.com>
Configure the reference buffers when using external reference voltage for a
channel. For the internal reference the datasheet[1] recommends that the
buffers are disabled and for external references they should be disabled if
REFPx/REFNx is close to AVDD/AVSS. After reset the positive reference
buffer is enabled and the negative is disabled. The default values
correspond to the example circuit for a two-wire and four-wire PT100 RTD
measurement with low-side reference.[2][3]
The values configured by the driver are maybe a little opinionated, but the
current behaviour is kept to avoid surprises for people that are happy with
the drivers defaults.
The change applies to both ads11xs0x and ads124xs0x series.
Link: [1]: https://www.ti.com/lit/ds/symlink/ads124s08.pdf
Link: [2]: https://www.ti.com/lit/an/sbaa329b/sbaa329b.pdf
Link: [3]: https://www.ti.com/lit/an/sbaa336b/sbaa336b.pdf
Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
Add boolean properties to control whether the reference voltage buffers are
enabled or not. After reset the positive reference buffer is enabled and
the negative is disabled.
Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
The following examples build and work as expected:
> west build -p -b framework_ledmatrix samples/basic/button
> west build -p -b framework_ledmatrix samples/basic/minimal
> west build -p -b framework_ledmatrix samples/subsys/usb/console
> west build -p -b framework_ledmatrix samples/subsys/usb/cdc_acm
> west build -p -b framework_ledmatrix samples/subsys/input/input_dump
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Implement PWM input capture functionality for the NXP SCTimer
driver with support for both pulse width and period measurement
in single-shot and continuous modes.
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
Add input-channels and inputmux-connections properties to the
nxp,sctimer-pwm device tree binding to support SCTimer input
capture configuration.
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
1.Add mcux_sctimer_pwm_update_polarity() function to properly
reconfigure PWM output polarity when duty cycle is updated.
2.Update Match Reload Value register when Match register is
set.
3.Stop timer before update to prevent bus error
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
Add device tree overlay to enable PWM API testing on the frdm_mcxa153
board using ctimer0. The overlay configures:
- PWM test alias pointing to ctimer0
- Pin P2_12 (J2_12) as PWM output
- ctimer0 in PWM mode with prescaler set to 1
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
The prescaler divides the clock by (prescaler + 1), not by the prescaler
value directly. Update the calculation to correctly account for this.
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
Clarify that the prescaler value divides the clock by (prescaler + 1),
not by the prescaler value directly. This helps users understand the
actual clock division behavior.
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
Add device tree overlay for PWM loopback testing on the
MIMXRT1180EVK board using FlexPWM1 module.
Configuration includes:
- Pin configuration for PWM output (gpio_ad_00/J69-3) and input
capture (gpio_ad_06/J70-1) using FlexPWM1 channels
- PWM loopback test node with output on channel 0 and input on
channel 2
- Input filter settings with minimal count and period for testing
- Physical connection requirement between J69-3 and J70-1
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
Add support for PWM input capture functionality to the NXP MCUX PWM
driver. This enables measurement of pulse width and period of external
PWM signals.
Key features added:
- PWM capture configuration and control APIs
- Interrupt-driven capture with overflow handling
- Support for both pulse width and period measurement
- Configurable input filtering
- Support for continuous and one-shot capture modes
The implementation uses FlexPWM channel X as the dedicated input
capture channel, while channels 0 and 1 remain available for PWM
output. Capture functionality is conditionally compiled based on
CONFIG_PWM_CAPTURE configuration option.
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
Add device tree binding properties for PWM input capture filtering
functionality to the NXP i.MX PWM driver binding.
New properties added:
- input-filter-count: Configure number of consecutive samples
required before accepting input transitions
- input-filter-period: Set sampling period in IPBus clock cycles
for input capture filtering
These properties enable configuration of input filtering to reduce
noise and improve signal integrity for PWM capture operations.
Setting filter period to 0 bypasses the input filter entirely.
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
In PWM_SetupPwm implementation, there is a check:
temp = pwmClock / pwmFreq_Hz;
assert(temp <= 0xFFFFU);
Currently pwmFreq_Hz is 1, makes assert failed with
high frequency pwmClock. Since VALx values is set
directly for edge aligned PWM, the pwmFreq_Hz here is
a dummy value, set pwmFreq_Hz equal to pwmClock
frequency to pass assert check.
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
Adding support for running Zephyr OS as a guest virtual machine
in the QNX Hypervisor environment.
This change introduces a new board configuration for ARM64-based
QNX Hypervisor VM.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
The STMicroelectronics ST87M01 modem is an ultra-compact low-power
NB-IoT industrial module.
The ST87M01 is a high-performance, fully programmable, ultra-compact,
and low-power LTE Cat NB2 NB-IoT industrial module series,
offering comprehensive worldwide band coverage and advanced
security features.
Supporting a wide range of IoT protocols, the ST87M01 module includes
PDU SMS services and internet protocols such as TCP/IP, TLS/DTLS, CoAP,
LwM2M, MQTT, and HTTP/HTTPS, enabling versatile connectivity and
application scenarios.
This driver introduces support for AT commands to query modem
information and socket offloading for TCP/UDP transfers.
Signed-off-by: Isabelle OGER <isabelle.oger@st.com>
Add workaround for MCUXSDK FTFX driver when FTFx_DRIVER_IS_FLASH_RESIDENT
is enabled.
The SDK places the run command function in data section which
is not executable when Zephyr configures memory permissions.
Implement a RAM function to replace the FTFX driver's run command function
Fixes: #98560
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
Fix a spelling mistake in the board name description for ADI
evaluation boards.
No functional change.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Specific fixes include:
- Add missing space after period in the disk space warning.
- Fix mismatched quotes in the --install-base example (usage of `...').
- Removed a typo double quote in the installation description.
This addresses the CLI help message issues reported.
Fixes#95609
Signed-off-by: Malon Tian <a3205153416@gmail.com>
Instead of processing loopback packets from the TX thread directly,
queue them for further processing by RX thread (if possible), just as
regular packets. It's now possible as the information regarding the
packet is a loopback one or not is stored directly in the net_pkt
structure.
This allows to avoid unexpected stack consumption increases if packets
are sent for loopback destinations.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
If CONFIG_SDMMC_STM32_CLOCK_CHECK=y but the SDMMC node lacked domain clock,
the driver would perform an out-of-bounds access to priv->pclken[1] and
provide garbage as the "subsystem" in the call to clock_control_get_rate().
Detect this situation and error out with an explicit message instead to
prevent UB and help users.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
STM32H5, STM32L5, STM32U5, and STM32WBAX series MCUs have external
ICACHE/DCACHE with a cache line size of 16 bytes. The previous
configuration incorrectly set the cache line size to 32 bytes (the
default cache line size for Cortex-M cores).
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Removed revision from the MIMXRT1170-EVK documentation title,
to be consistent with all other MIMXRT boards.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Use NRF_DT_INST_IRQ_ macros which support building with and without
SW ISR table for all nordic socs.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Use NRF_DT_INST_IRQ_ macros which support building with and without
SW ISR table for all nordic socs.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Use NRF_DT_INST_IRQ_ macros which support building with and without
SW ISR table for all nordic socs.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Introduce the NRF_DT_IRQ_DIRECT_DEFINE and NRF_DT_IRQ_CONNECT macros
which reduce provide a common way for nordic drivers to adapt to the
presence of the SW ISR table which is commonly excluded as it is not
required for nordic socs. Also adds device driver inst variants of
the macros.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
- Fixes NXP FRDM names in yaml files.
- The '-' was missed for some NXP FRDM boards.
- It caused an inconsistent board list in MCUx-VSCode extension.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Add tests to ensure 'west build' arguments are correctly forwarded to
CMake in the correct order.
Signed-off-by: Thorsten Klein <thorsten.klein@bshg.com>
Support cmake options specified via argument --cmake-opt, in order to
avoid `--` in alias commands.
Signed-off-by: Thorsten Klein <thorsten.klein@bshg.com>
Enable the full range of CAN timing tests on the NXP FRDM-MCXA366,
FRDM-MCXA346 and FRDM-MCXA266 boards.
Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
Add myself as a collaborator for the Display drivers subsystem.
I have been actively contributing to display driver implementations
and will continue developing and reviewing patches.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Add myslef as a collaborator for the MIPI DBI and MIPI DSI subsystems.
I have been actively contributing to MIPI DBI/DSI implementations
and will continue developing and reviewing patches.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Document the scope changes for NXP compile flags that were
moved from global to local scope in PR #100252. Applications
that depended on these flags being globally available may need
to be updated.
The following flags have been moved to use
zephyr_library_compile_definitions():
- BOARD_FLASH_SIZE: moved to SoC layer CMake for RT10xx and RT11xx
- XIP_BOOT_HEADER_ENABLE: scoped to boards CMake or SoC layer as needed
- BOOT_HEADER_ENABLE: scoped to boards CMake, removed from RW61x boards
- XIP_BOOT_HEADER_DCD_ENABLE: scoped to boards CMake or SoC layer as needed
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
'BOOT_HEADER_ENABLE' is not used in RW61x build tree,
so should remove it from RW61x board CMakeLists.txt.
Note: if out-of-tree files still need to use this flag,
please add it in your own CMakeLists.txt.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. This commit converts the 'XIP_BOOT_HEADER_DCD_ENABLE' preprocessor
define to Kconfig options across NXP i.MX RTxxxx evaluation boards.
The changes enable flexible boot header configuration through the
Kconfig build system instead of compile-time defines, improving
configurability and maintainability.
2. Now 'XIP_BOOT_HEADER_DCD_ENABLE' flag is only used in
hal_nxp/rtxxxx/fsl_flexspi_nor_boot.h which is included by soc.c,
therefore, this flag should be passed in the rtxxxx/SoC layer CMake
using zephyr_library_compile_definitions(). and can be removed from
each board CMakeLists.txt.
Note: if out-of-tree files still need to use this flag, please add
it in your own CMakeLists.txt.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. This commit converts the 'BOOT_HEADER_ENABLE' preprocessor
define to Kconfig options across NXP i.MX RTxxx evaluation boards.
The changes enable flexible boot header configuration through the
Kconfig build system instead of compile-time defines, improving
configurability and maintainability.
2. Now this flag is not used in Zephyr tree, so removed
'zephyr_compile_definitions(BOOT_HEADER_ENABLE=1)' from the
CMakeLists.txt files of the following boards:
- mimxrt595_evk
- mimxrt685_evk
- mimxrt700_evk
Note: for out-of-tree projects that still require this flag,
users can define it in their own CMakeLists.txt or prj.conf files.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. This commit converts the 'XIP_BOOT_HEADER_ENABLE' preprocessor
define to Kconfig options across NXP i.MX RTxxxx evaluation boards.
The changes enable flexible boot header configuration through the
Kconfig build system instead of compile-time defines, improving
configurability and maintainability.
2. Now 'XIP_BOOT_HEADER_ENABLE' flag is only used in
hal_nxp/rt11xx/fsl_flexspi_nor_boot.h which is included by soc.c,
therefore, this flag should be passed in the rt11xx/SoC layer CMake
using zephyr_library_compile_definitions(). and can be removed from
each board CMakeLists.txt.
Note: if out-of-tree files still need to use this flag, please add
it in your own CMakeLists.txt.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
For RT10xx and RT11xx, flag 'BOARD_FLASH_SIZE' is only used
in hal_nxp fsl_flexspi_nor_boot.h which is included by soc.c,
therefore, this flag should be passed in the SoC layer CMake
using zephyr_library_compile_definitions() to limit its scope.
Normally, 'BOARD_FLASH_SIZE' should not be used elsewhere.
If an out-of-tree user uses this flag elsewhere, please define
the flag yourself.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Flag 'BOARD_FLASH_SIZE' is not used for RTxxx, so remove it
from mimxrt595_evk, mimxrt685_evk, and mimxrt700_evk board
CMakeLists.txt files.
Normally, 'BOARD_FLASH_SIZE' should not be used elsewhere.
If an out-of-tree user uses this flag elsewhere, please define
the flag yourself.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Create a dedicated Zephyr library for the imxrt11xx and
imxrt10xx SoC in CMakeLists.txt and move soc.c into it
(zephyr_library() + zephyr_library_sources(soc.c)).
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
nxp_ewm_install_timeout() accesses cfg fields before checking for
NULL, making the later NULL check ineffective.
Remove the redundant check.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Create a section for the OTP subsystem. NVMEM is referenced in the test
category as the OTP subsystem is tested using the NVMEM API.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Add an OTP memory emulator node to the board native_sim board device
tree file.
Additions of a node to the native sim device tree shifts the device
index, hence making the check_init_priorities test fail. Update the
index in the reference data of the test.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
In order to make some basic tests on the OTP API, add an OTP memory
emulator driver. It implements the .program() and .read() APIs.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
OTP drivers are the interface to One Time Programmable memory, which
is NVMEM. Add the interface with the OTP API to the NVMEM one.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Introduce a new OTP subsystem to be able to interact with One Time
Programmable(OTP) memory. For now, add basic read()/program() APIs.
Program() API is default disabled due to its sensitivity.
File drivers/otp.h is inspired by drivers/eeprom.h as the basic
features are similar.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Add stub implementations for all remaining smtc_modem_hal functions
required by LoRa Basics Modem. These functions are not yet implemented
but provide the necessary symbols for linking.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Add the initial smtc_modem_hal implementation for Zephyr that provides the
hardware abstraction layer required by LoRa Basics Modem.
To fully port the LoRa Basic Modem library to Zephyr we need to port and
adapt three parts (see [0]):
1. Radio Driver HAL
2. RAL BSP
3. LoRa Basics Modem HAL
Right now the Radio Driver HAL and the RAL BSP are correctly implemented by
the lbm_sx126x drivers, this patchset is taking care of the initial work of
porting and adapting also the LoRa Basics Modem HAL.
The LBM library provides a porting tool [1] that (quoting from [2]) "[...]
provides a automatic suite of tests that will help user ensures that lora
basics modem mcu and radio HAL functions are implemented in a good way
(SPI, radio_irq, time, timer, random, radio config, sleep and low power)"
This patchset is taking care of making the porting tool a first class test
suite for Zephyr implementing the needed HAL functions.
[0] https://github.com/Lora-net/SWL2001/blob/master/lbm_lib/PORTING_GUIDE.md
[1] https://github.com/Lora-net/SWL2001/blob/master/lbm_examples/main_examples/main_porting_tests.c
[2] https://github.com/Lora-net/SWL2001/blob/master/lbm_examples/README.md
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
A set of preliminary (but harmless) changes to prepare for adding the HAL
implementation.
- Rename CMake variables for clarity and consistency, adding an 'LBM_LIB_'
prefix when the path is a library / module path.
- Change zephyr_library_include_directories to zephyr_include_directories
for the RAL/RALF includes, since these headers may be needed outside the
library itself.
- Make lbm_common.h available to code outside the driver directory.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
To add support for LTR553, we will migrate device-tree
properties to new ones and mark the old ones as deprecated.
We will also refactor variable names accordingly.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
The LTR329 is a functional subset of the LTR55X series,
lacking the proximity sensor functionality.
To maintain symbol consistency, we will use LTR55X as the base name.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Enable WDOG4 for A55 on imx943_evk board. It could be verified by
building application by:
west build -p always -b imx943_evk/mimx94398/a55 samples/drivers/watchdog
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
This is a workaround to fix a bug that failed
to access registers of display irqsteer when
display mix is in power off state.
- Display irqsteer is in display mix, need to
power on display mix firstly.
Signed-off-by: Biwen Li <biwen.li@nxp.com>
Some NXP SAR ADC variants don't implement the MCR[ADCLKSEL] field.
Add conditional compilation guards to define compatibility macros
that evaluate to 0 when ADCLKSEL is not available, allowing the
driver to compile across different NXP SoCs.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Move and rename the region Kconfig symbols from LORAMAC_REGION_* to
LORAWAN_REGION_* to make them backend-agnostic.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Move the LoRaWAN emulator from the loramac-node backend directory to its
own directory because the emulator currently still depends on loramac-node
for some types and functions.
Once these dependencies are removed in a follow-up, the emulator can become
a fully standalone backend.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Remove loramac-node specific references (LORAMAC_NVM_NOTIFY_FLAG_*)
from the NVM interface documentation, making it suitable for any
LoRaWAN backend implementation.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Refactor the LoRaWAN subsystem to support multiple backends by moving
the loramac-node specific implementation into a dedicated subdirectory.
This change prepares the subsystem for adding lora-basics-modem support
as an alternative backend.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Move west sdk documentation to the Zephyr-specific west commands page
and clarify listing, interactive install behavior, and toolchain
selection.
Signed-off-by: Ritesh Kudkelwar <ritesh.kumar0793@gmail.com>
Modify Microchip mec_assy6941 boards to use the new, common
UART driver. We also added chose "zephyr,shell-uart" to all
MEC boards allowing building of the "echo_bot" sample application.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
We updates all the UART hardware nodes for all MEC parts with
properties used by the new, common UART driver.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
We modified the Microchip MEC UART driver to be HAL
independent and be usuable on all MEC SoCs. The only
hardware difference is an extra register in the MEC174x/5x
family providing TX FIFO full and current byte count.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
Mention that the NXP FlexCAN devicetree property "clk-source" now
automatically selects between named input clocks.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Add proper support for the 1-bit CAN protocol engine clock multiplexer
present in some NXP FlexCAN instances.
Both possible input clocks are now represented as named clocks in the
devicetree nodes ("clksrc0" and "clksrc1") and the existing devicetree
property "clk-source" now selects the correct clock in addition to setting
the multiplexer bit (CLKSRC) in the FlexCAN CTRL1 register.
Fixes: #94517
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Make the clk-source property of the NXP FlexCAN devicetree nodes optional
as not all FlexCAN instances have an internal clock multiplexer.
Remove the clk-source property from the SoCs where the internal clock
multiplexer is not present, limit the values this property can be assigned,
and default the clock selection bit to 0 in the driver.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
add stm32h573i_dk to the list of excluded platforms for
test_upgrade_ble scenario since it's not supported.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
vq_teardown() never reports errors and always returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
The has_arg_concat check checks for ## and UTIL_CAT, but is missing
the CONCAT macro. This is causing spurious occurances of
MACRO_WITH_FLOW_CONTROL warnings for functions defined with macros
if they use the CONCAT() macro (its like UTIL_CAT but supports up
to 10 concatenations).
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The explicit, and internal, _CONCAT_\d macros are used in a few
files instead of the public CONCAT() macro which automatically
expands to the correct _CONCAT_\d macro based on number of args
passed to it. Update files to use CONCAT().
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The AM62L evaluation module (TMDS62LEVM) is designed for low-cost and
performance optimized AM62L family of application processors. More
information here:
https://www.ti.com/tool/TMDS62LEVM
Add base board support here.
Signed-off-by: Andrew Davis <afd@ti.com>
The TI AM62L is a low-power ARM Cortex-A53 based SoC with display for
IOT, HMI and general purpose applications. More information here:
https://www.ti.com/product/AM62L
Add initial SoC and DTS support here.
Signed-off-by: Andrew Davis <afd@ti.com>
Renames the UDP DTLS Kconfig fragment file, due to wrongly using an
underscore instead of a dash like the other Kconfig fragments, and
also documents how to use it in the readme
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Only install arm, riscv and x86 toolchains for the twister blackbox
workflow, save some space.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Fix incorrect LED polarity definitions for the SiWx917 DK.
The user LEDs on the SiWx917 DK are wired as active-low according
to the board schematic, but were previously defined as
GPIO_ACTIVE_HIGH. Update the devicetree LED gpio definitions to
GPIO_ACTIVE_LOW so LED behavior matches the hardware and sample
applications behave as expected.
Signed-off-by: Christopher Hofmeister <chofmeister@gopresto.com>
Found when building with clang with -Winitializer-overrides:
drivers/gpio/gpio_max14906.c:495:29: error: initializer overrides prior
initialization of this subobject [-Werror,-Winitializer-overrides]
495 | DT_INST_FOREACH_STATUS_OKAY(GPIO_MAX14906_DEVICE)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Updated pins for the gpio basic tests for cy8cproto_063_ble to pins not
used by other tests so that a single board can be wired for all tests
without overlaps.
Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
- The vendor of the hexiwear board is mikroe (not nxp)
https://www.mikroe.com/hexiwear.
- Move the board files from 'nxp' to 'mikroe'.
- Delete hexiwear from the nxp maintained board list.
- Update paths in the documentation.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
So far using recvfrom() and send() from two different threads was not
possible, since thread attempting send() was blocked by the thread
executing recvfrom(). All other APIs were also blocking each other, while
it was not necessary. One example use case in Zephyr tree is MCUMGR SMP
over UDP implementation, which resuled in communication timeouts.
Release socket lock while actively polling, so other APIs executed from
other threads can safely progress. Do this using k_condvar_wait() API with
socket mutex, so that mutex is safely released and reaquired during wait.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
When ESP32 operates in AP-only mode the network interface is
initialized with the STA MAC address, but the Wi-Fi hardware operates
with the AP MAC address (typically STA MAC + 1).
Some Wi-Fi clients correctly address frames to the AP MAC, causing them
to be dropped by the ethernet L2 layer with "Dropping frame, not for me"
because the interface link address doesn't match.
Fix this by updating the interface link address to the AP MAC when
enabling AP mode, and restoring the STA MAC when disabling AP mode.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Move the connectivity framework to the new mcux-sdk-ng integration from
hal_nxp, instead of using the legacy integration method.
This will allow for easier integration of future releases.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Rework the button sample to use the input subsystem for the button and
LED subsystem for the LED. This is a better representation of how a
button and LED should be controlled in Zephyr.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Section names may contain paths to files with special characters.
For example, a valid file path might contain '@'. Then using
CONFIG_CODE_DATA_RELOCATION to relocate section, macro
__in_section_unique() will generate section name like this:
KEEP(*file.c.obj(.noinit.WEST_TOPDIR/path_with@char/file.c.0))
Such section names cannot be processed by ld because '@'
is a special character for ld.
This fix wraps section names in double quotes to escape
special characters for ld.
Signed-off-by: Nikita Divakov <grommerin@gmail.com>
Macros __in_section_unique() and __in_section_unique_named() use
___in_section with __FILE__ argument to create a unique section name.
Since __FILE__ is a string, calling Z_STRINGIFY(__FILE__) in
___in_section() causes double quotes in __FILE__ value to be masked.
This prevents ld from matching section names output by this script.
For example, when using CONFIG_CODE_DATA_RELOCATION to relocate
a noinit section, __in_section_unique() generates the following
section name:
KEEP(*file.c.obj(.noinit."WEST_TOPDIR/path/file.c".symbol))
Besides, __FILE__ is used to create unique sections in two macros,
so why not unify this approach.
This fix adds ___in_section_unique() macro, which substitutes __FILE__
string into section name without additional stringification. Thus,
resulting section is correctly matched by ld.
Signed-off-by: Nikita Divakov <grommerin@gmail.com>
This patch adds a new Kconfig option that allows read-only data sections
without relocations to be mapped directly (remain in flash) instead of
being copied to RAM during extension loading. This helps extensions that
have large constant data, such as certificates, lookup tables etc.. to
save saving significant RAM, especially with MPU is enabled.
This feature requires the extension to place rodata sections without
relocations in LLEXT_RODATA_NO_RELOC section.
Note that we chose to disable this optimization when MMU or USERSPACE is
enabled because the NO_RELOC section may not be aligned to the MPU/MMU
requirements on some architectures. If we leave it in place, llext will
attempt to create an MPU region for it using a misaligned address, and
if we allow it to be copied to RAM, it defeats the purpose of this feature.
Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
Fix issue where changing an existing syscall API does not result in
regeneration of syscalls. This causes a build break on incremental
builds. The issue comes from an incorrect assumption that file
modifications result in updates to folder timestamps on Linux. The fix
is to use the same mechanism Windows is using to track file changes,
making explicit deps on header files that have syscalls.
Signed-off-by: Mark Inderhees <markind@meta.com>
Change init procedure of regulator_fixed and regulator_gpio to not rely
on reading the state of the enable pin as it might not be available.
Initialize the enable pin to the appropriate state based on the
REGULATOR_INIT_ENABLED flag.
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
Since input buffer may not always be connected when a GPIO is configured
as an OUTPUT, setting its state based on what is returned by
gpio_pin_get_dt can lead to faulty behavior. Remove this check as
redundant.
Fixes#93012
Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
Increase the maximum allowed repeat count for flash speed tests from
10 to 10000. This allows for more accurate measurements over
longer test durations.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
lwm2m_setup() never reports errors and always returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
This commit fixes an issue reported by LLVM Clang compiler
when building with -Wunaligned-access:
```
bluetooth/hci_types.h:4044:2: error: field within
'struct bt_hci_le_cs_step_data_mode_1'
is less aligned than 'union bt_hci_le_cs_step_data_mode_1::
(include/zephyr/bluetooth/hci_types.h:4044:2)' and is usually due to
'struct bt_hci_le_cs_step_data_mode_1' being packed, which can lead
to unaligned accesses [-Werror,-Wunaligned-access]
```
and similar issues for other CS-specific types containing
unions
Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
Update hal_nordic to get a fix in the definition of
nrf_cache_data_unit_validity_check()
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The pin mapping documented for I2C0 and I2C1 did not match actual
pinctrl definitions. Update the documentation to reflect correct pins
and add missing SPI and RGB LED mappings.
Signed-off-by: Karol Werner <karol@ppkt.eu>
- add some necessary static parameter for pit instances
- Enable counter_basic_api case by using pit0 instance
- Test counter_basic_api passed
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
correct flash_config.c file for different flash varient
fix spelling error across board files
update boards/deprecated.cmake to help older release support
Signed-off-by: Tarang Patel <tarang3399.patel@gmail.com>
In order to comply to NIST SP800-90B, the STM32 RNG should set its
registers as documented in Application Note AN4230 (Rev12, Table 3) [1].
To that effect, some values have been modified to match the table, and some
have been added.
For STM32H7R/S and WBA, configure the RNG as per configuration C of the
Reference Manual since the NSCR register is not available yet (internal
issues 221082 and 221083).
[1]: https://www.st.com/resource/en/application_note/dm00073853.pdf
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Set the content of the noise source control register if the corresponding
property is set in device tree.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
STM32L4 was using different LL functions from the other series.
With the latest HAL update, the usual functions are now defined, so
the L4-specific code can now be removed.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Some STM32 series need to configure the RNG source noise control register
for NIST SP800-90B compliance.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Remove the explicit setting of `CONFIG_HEAP_MEM_POOL_SIZE` from NSOS
samples, letting the build system construct the heap size from Kconfig
options.
Signed-off-by: Jordan Yates <jordan@embeint.com>
DNS queries using native posix can return multiple results. Add a
relatively large default to pre-empt failures due to the query being
too successful.
Extra RAM usage can be ignored since NSOS sockets can only exist on
native posix, which has essentially infinite RAM.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Fix inconsistencies in the QBV (IEEE 802.1Qbv Time-Aware Shaper) shell
command documentation and help messages:
1. Add missing "net qbv" command documentation to net_shell.rst
2. Correct command examples in help text - add missing "net" prefix
to "qbv set_gc" commands
3. Fix command usage descriptions for set_config and set_gc to match
actual command names
This ensures users see correct command syntax in both documentation
and interactive help.
Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
mbox_msg::data is a const pointer, but ipm_callback_t expects a
volatile void * payload. Passing the mailbox payload through the
IPM callback was triggering compiler warnings about discarded
qualifiers.
Convert the mailbox payload pointer to the IPM callback payload
type via a uintptr_t round-trip to avoid -Wdiscarded-qualifiers
or -Wcast-qual noise without changing the runtime behavior.
fix:https://github.com/zephyrproject-rtos/zephyr/issues/102057
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
When building with clang it warns about self-assignment in the
bluetooth.classic.sdp_s test:
tests/bluetooth/classic/sdp_s/src/sdp_server.c:258:5: error: explicitly
assigning value of variable of type 'const struct shell *' to itself
[-Werror,-Wself-assign]
258 | sh = sh;
| ~~ ^ ~~
tests/bluetooth/classic/sdp_s/src/sdp_server.c:277:5: error: explicitly
assigning value of variable of type 'const struct shell *' to itself
[-Werror,-Wself-assign]
277 | sh = sh;
| ~~ ^ ~~
tests/bluetooth/classic/sdp_s/src/sdp_server.c:290:5: error: explicitly
assigning value of variable of type 'const struct shell *' to itself
[-Werror,-Wself-assign]
290 | sh = sh;
| ~~ ^ ~~
tests/bluetooth/classic/sdp_s/src/sdp_server.c:368:5: error: explicitly
assigning value of variable of type 'const struct shell *' to itself
[-Werror,-Wself-assign]
368 | sh = sh;
| ~~ ^ ~~
4 errors generated.
The "sh" variable is used later in the functions.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
When building with clang it warns about self-assignment in these tests:
* net.icmpv6
* net.shell
* net.arp
* net.tcp
* net.ip_addr
* net.6lo
* net.icmpv4
* net.udp
Example:
error: explicitly assigning value of variable of type
'struct net_udp_context *' to itself [-Werror,-Wself-assign]
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Since the latest hal_renesas has updated the I2C Controller config
to build the IIC Controller source. Without this update, many
current PRs on mainstream which has the update for hal_renesas
revision will fail.
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
numaker_usbd_ep_fifo_copy_to_user() never reports errors and always
returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
numaker_usbd_ep_fifo_copy_from_user() never reports errors and
always returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Avoid calling vcp_vol_ctlr_discover_complete() with a NULL
controller pointer when lookup fails during AICS discovery.
The vcp_vol_ctlr_discover_complete() helper dereferences the
controller unconditionally, which could otherwise lead to a NULL
pointer dereference.
Fix by returning early if the controller lookup fails.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Avoid calling micp_mic_ctlr_discover_complete() with a NULL
controller pointer when lookup fails during AICS discovery.
The micp_mic_ctlr_discover_complete() helper dereferences the
controller unconditionally, which could otherwise lead to a NULL
pointer dereference.
Fix by returning early if the controller lookup fails.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Enable TRNG node and select it as zephyr,entropy for the API test.
Configure CK48M source via RCU DT properties.
Signed-off-by: Aleksandr Senin <al@meshium.net>
Add DT properties to select CK48M source for GD32 RCU.
Apply CK48M source selection during early SoC init.
Signed-off-by: Aleksandr Senin <al@meshium.net>
Make global variables static in the HFP AG sample to improve
encapsulation and avoid potential symbol conflicts.
Change the following variables from global to static scope:
- hfp_ag
- hfp_ag_call
- discover_work
- call_connect_work
- call_disconnect_work
- call_remote_ringing_work
- call_remote_accept_work
These variables are only used within main.c and do not need to be
externally visible.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add PCM and CODEC support for voice streaming in the HFP AG sample.
Implement PCM interface to handle voice data transmission between the
Bluetooth controller and the application using I2S driver.
Implement CODEC interface to handle voice playback and capture using
I2S and audio codec drivers.
Add bidirectional voice streaming: capture voice from CODEC and
transmit through PCM when SCO connection is established, and receive
voice from PCM and playback through CODEC.
Initialize PCM and CODEC interfaces based on the SCO air mode (CVSD or
mSBC) when SCO connection is established.
Add codec negotiation callbacks to support codec selection.
Enable codec negotiation and mSBC codec support for mimxrt1170_evk
board.
Add configuration options for audio transfer interval, buffer counts,
and thread priorities for both PCM and CODEC RX threads.
Update documentation with voice streaming topology diagram and running
instructions.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add the MAX31331 RTC device to the build_all RTC test suite. This ensures
it compiles on all supported platforms without requiring actual hardware.
Signed-off-by: Francis Roi Manabat <francisroi.manabat@analog.com>
Add MAX31331 RTC driver, an ultra-low-power real-time clock (RTC)
that provides timekeeping with
extremely low current consumption (65 nA).
Signed-off-by: Francis Roi Manabat <francisroi.manabat@analog.com>
Added documentation for doc/releases/migration-guide-4.4.rst
in reference with the changes on ili9xxx and ili9341
controllers
Signed-off-by: Nicolas Moreno <niko722795@gmail.com>
Replaced display-controller.yaml with lcd-controller.yaml
Deleted pixel format property, replacing it with the
property on lcd-controller.yaml. Replace ILI9XXX RGB macro
with PANEL RGB macro. Also, added condition to verify pixel
format is RGB565, BRG565 or RGB888, otherwise it will show error
Replaced <zephyr/dt-bindings/display/ili9xxx.h> with
<zephyr/dt-bindings/display/panel.h> and
ILI9XXX_PIXEL with PANEL_PIXEL in some Devicetrees
and files that contained both elements. Fixed some
script sintax. Deleted drivers/display/display_ili9xxx.c
Signed-off-by: Nicolas Moreno <niko722795@gmail.com>
ILI9341 is not deploying correctly the display sample.
The screen looks mirrored vertically and the color
doesn't match with the sequence expected. To fix it,
change the Memory Access Control configuration data.
Signed-off-by: Nicolas Moreno <niko722795@gmail.com>
Add Doxygen guidelines to help maintain code documentation consistency
across the project in particular for constructs or commands that are Zephyr
specific, such as properly documenting API symbols that are gated by
Kconfig.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Espressif RISC-V chips (ESP32-C3, ESP32-C6, etc.) with PMP enabled
use dynamic PMP mode (CONFIG_PMP_NO_LOCK_GLOBAL). In this mode,
null pointer dereference to address 0 causes a bus hang instead
of generating a clean exception, since address 0 is outside any
valid memory region and there's no PMP entry protecting it.
Use k_panic() instead, which reliably triggers the coredump path
on all Espressif chips.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
The Twister netif:eth was missing on the STM32F207ZG board,
and hence it was not built against net tests/samples
Additionally,sort the supported peripherals in alphabetical order.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
If peer lowered its receive window and advertised zero-window length,
TCP stack would pause the retransmission timer until non-empty window is
advertised again. This however could trigger an assertion, that verified
that the retransmission timer is running whenever there is data to
transmit. Add an exception to the assertion for the zero-window case.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add _openocd_cmd() helper method to reduce code duplication when
building openocd command lists. Consolidate do_flash, do_flash_elf,
and do_flash_bin into a single do_flash method using match statement
on image_type parameter.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Configure ESP32 boards to use OpenOCD for flashing with BIN files.
The --flash-address argument is combined with its value to avoid
YAML parsing issues where hex values like 0x0 are parsed as integers.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Add --use-bin and --flash-address arguments to allow flashing BIN
files at a specific address. This is needed for targets like ESP32
where HEX files contain virtual addresses (due to MMU mapping)
rather than physical flash addresses.
The new do_flash_bin() method uses the load command with the BIN
file path and flash address, similar to how ELF flashing works.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Enable HCI_NXP_SET_CAL_DATA and HCI_NXP_SET_CAL_DATA_ANNEX100 by
default for NW612 and IW416 modules to ensure proper calibration
during HCI initialization.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Repalce the native_posix by native_sim in tests and reformat platform
list to allow twister to correct recognize the platforms.
Fixes#101300
Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
Initial porting of nRF7120 to zephyr requires support for a number of
tests that are run as part of the CI. This commit adds the support.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
This commit adds initial support for non secure nRF7120 targets in
zephyr.
There are important limitations, such as:
- The hardware Crypto accelerator is not supported and thus the non
secure target is NOT secure for production applications in upstream
Zephyr.
- The BL2 is not supported, so no DFU is supported with this support
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
Rename nRF7120PDK to nRF7120DK to align with upstream zephyr
Align to nrf4.0
Add tfm_platform_user_memory_ranges.h files
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
Generate an rst document with an `Examples` section
from the sample nodes written in the examples of the
binding.
Signed-off-by: James Roy <rruuaanng@outlook.com>
Introduce a `language` parameter in `to_code_block()` for syntax
highlighting support (default: None).
Signed-off-by: James Roy <rruuaanng@outlook.com>
When qer is S2B1v1 or S2B1v4, reading Status Register
1 and Status Register 2 requires different opcodes,
and writing Status Register 1/2 requires two bytes in a
single write. Add the Read Status Register 2 command
sequence to the LUT used by the quad-enable function,
and ensure the write operation sends two bytes (SR1|SR2)
when setting the QE bit.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
Update EDMA device tree nodes for NXP MCXE31B platforms to align
with the unified EDMA driver implementation.
Signed-off-by: Qiang Zhang <qiang.zhang_6@nxp.com>
The DMA_MCUX_EDMA_V5 configuration option has been removed and replaced
with DMA_MCUX_EDMA_V4, as both versions share the same register layout
and can use the same driver implementation.
Key changes:
- Remove CONFIG_DMA_MCUX_EDMA_V5 Kconfig option
- Replace DMA_MCUX_EDMA_V5 conditionals with DMA_MCUX_EDMA_V4
- Remove DMAx_Type typedef, use DMA_Type directly
- Update EDMA_HW_TCD macros for V4 to use HAL-provided accessor macros
- Add DMA_MCUX_EDMA_DMAMUX Kconfig option to control DMAMUX support
based on device tree property
- Update device tree binding to add has-dmamux property
- Update HAL driver selection to use DMA_MCUX_EDMA_DMAMUX instead of
DMA_MCUX_EDMA for DMAMUX component
- Add SOC_SERIES_MCXE31X to DMA_MCUX_TEST_SLOT_START configuration
- Calculate DMA_TCD_ALIGN_SIZE from edma_tcd_t structure size
Signed-off-by: Qiang Zhang <qiang.zhang_6@nxp.com>
Add support for boards to specify flash_before in their board YAML files,
which is then used by pytest and shell harnesses. This is needed for
Synopsys ARC development boards (hsdk, hsdk/arc_hsdk/2cores, hsdk4xd
and iotdk) where the USB serial port disconnects during flashing.
Signed-off-by: Mohamed Moawad <moawad@synopsys.com>
The ARC IoT SoC (used on iotdk board) has a hardware limitation where
entering CPU sleep mode causes some peripherals (e.g., UART) to lose
power, preventing the board from waking up via peripheral interrupts.
Add a configurable custom CPU idle option (CONFIG_ARC_IOT_CUSTOM_CPU_IDLE)
that enables interrupts without executing the sleep instruction. This
allows the system to remain responsive while keeping peripherals powered.
The option defaults to disabled (n) to preserve normal CPU sleep behavior
for most use cases. Tests that require continuous UART operation during
idle (pytest/shell harnesses) can enable it via platform-specific
extra_configs.
This approach allows timer-based idle to work correctly by default while
providing a workaround for tests that need UART retention.
Signed-off-by: Mohamed Moawad <moawad@synopsys.com>
As described in RFC5227 ch. 2.1.1 ARP Probes are broadcasted.
ARP requests not being broadcasted should not be detected as
ARP Probes.
Signed-off-by: Andreas Huber <andreas.huber@sautergroup.com>
Make sure that if the connection is closed but we still received
a SYN packet, we do not try to access already closed connection.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
When building for several cores of the same system it can be hard to
identify which build is currently running.
This addition helps disambiguate the logs.
Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
The domain name was always set to NULL. This adds a Kconfig
that will enable setting the domain name and sets the domain
name if the config is enabled.
Signed-off-by: Tim Knodel <tbk@google.com>
A new error code FS_MGMT_ERR_FILE_CLOSE_FAILED is returned when
closing a file fails. This is done on write or close operations - read
operations remain unchecked.
Signed-off-by: Samuel Kleiser <s.kleiser@vega.com>
The SSI core requires special handling of packets that are supposed
to contain only data (no instruction and data phases):
- for TX packets, the first data frame needs to be sent as the address
(the instruction and address cannot be both set to zero length for TX,
otherwise the transfer will not be performed correctly)
- for RX packets, a dummy write to the data register (DR) is needed to
start the transfer.
Implement the above in the function that starts a packet transfer.
Rename also the `packet_frames` variable there to `data_frames` to avoid
confusion.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
FIFO handling functions in the driver are supplied with a `packet`
parameter that is in fact not used anymore. Remove it to simplify
matters.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Some flash negative tests were validating multiple error conditions
in a single API call, such as combining unaligned offsets with
oversized operations.
This makes it unclear which condition is actually being tested and
can lead to fragile tests if drivers change the order of validation.
Split these cases so that each call checks a single expected error
condition, improving test clarity and robustness.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Correct set_frmival in order to avoid having un-optimized
frmival selection due to rounded values.
Computation has been done in usec, leading to incorrect
frmival selection due to value being rounded internally.
As an example, code was selecting 1/60 from sensor then 4 time
frame drop by DCMI instead of selecting directly 1/15 from
sensor.
Use msec instead to hide those rounding issue and avoid
as well 64bit variables.
This also put the first video_frmival_nsec outside of the
loop to avoid having to do the processing everytime.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Current version as a fix for something that is currently causing
problems in CI and dependabot is failing too, update this one manually
for now.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Update MAINTAINERS.yml to reflect the reorganization of Bluetooth
Classic documentation into subdirectories. Replace specific file
references with directory paths to cover all files within the
classic/ subdirectories for both shell and API documentation.
Changes include:
- Replace specific a2dp.rst file reference with classic/ directory
in Bluetooth Classic section
- Add doc/connectivity/bluetooth/api/classic/ to Bluetooth Classic
- Add doc/connectivity/bluetooth/api/classic/ to Bluetooth Host
- Replace specific a2dp.rst with classic/ directory in Bluetooth Host
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Reorganize Bluetooth Classic API documentation by moving existing files
(SDP, RFCOMM, A2DP, HFP) into a new `classic/` subdirectory and adding
new documentation files for L2CAP BR/EDR, AVRCP, GOEP, and BIP.
Changes include:
- Move existing Classic API docs to subdirectory `classic/`
- Add new L2CAP BR/EDR documentation
- Add AVRCP, GOEP, and BIP API reference documentation
- Update HFP documentation to include both HFP Unit and HFP-AG sections
- Update index.rst to reflect new directory structure
- Add Doxygen group documentation to AVRCP header
- Update AVRCP Cover Art to be a subgroup of AVRCP
- Fix L2CAP BR/EDR Doxygen group name and description
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
drivers: sensor: bosch: bma4xx: Update RTIO callbacks with result argument
Commit bc8d66d538 introduced
a result argument to some RTIO callback handlers.
Update for the BMA4XX sensor.
Signed-off-by: Matin Lotfaliei <matinlotfali@gmail.com>
Avoid accessing request fields before validating input arguments in
coap_client_req().
The request path length is now checked only after validating the
request pointer, preventing a potential NULL pointer dereference.
No functional change intended.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Add a new API to look up a memory region's index using its DeviceTree
node name. This allows callers to identify specific regions within the
internal regions array.
Includes unit tests for successful lookups and error handling for
non-existent names.
Signed-off-by: Firas Sammoura <fsammoura@google.com>
Some tests depend on the ram board property to determine whether or not
to run, like LLEXT tests. Set the ram property for this board.
Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
Some tests depend on the ram board property to determine whether or not
to run, like LLEXT tests. Set the ram property for this board.
Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
Ensure pointers are validated before dereferencing them in
set_arbitrate_interval() and set_interval().
This avoids accessing sensor or connection fields prior to
validation and makes the code safe even when assertions are
disabled.
No functional change intended.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Rename the lora_basics_modem backend directory to lora-basics-modem
for consistency with the module naming convention.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Rename drivers/lora/loramac_node to drivers/lora/loramac-node to align
with the module naming convention (modules/loramac-node).
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Multiple individual Kconfig files for NXP clock control drivers are
consolidated into a single Kconfig.nxp file. This improves
maintainability by grouping all NXP-related clock control
configurations in one location.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
This DTS uses absolute GPIO numbers for pins on
gpio1 rather than relative pin numbers. This causes
an abort on boot when led1, neopixel_pwr, or mipi_dbi
is enabled.
Signed-off-by: Peter Hoddie <peter@moddable.com>
npcx_i3c_do_ccc() dereferences the device pointer before checking it
against NULL, making the defensive check ineffective.
Remove the redundant check.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
- Add an overlay to enable mpu6050 sensor sample.
- Contains configurations for I2C bus and Clock
Signed-off-by: Manojkumar Konisetty <manoj@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
- Add an overlay to enable bme280 sensor sample.
- Contains configurations for I2C bus and Clock
Signed-off-by: Manojkumar Konisetty <manoj@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
De-initialize the SCB when switching between I2C master
and slave modes
Signed-off-by: Manojkumar Konisetty <manoj@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
- Add pin control definitions with proper open-drain drive mode
for SCL/SDA in cy8cproto_041tp-pinctrl.dtsi.
- Add I2C node and clock configuration to cy8cproto_041tp.dts.
Signed-off-by: Manojkumar Konisetty <manoj@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Include package-level I/O mapping for I2C pins
in psoc4100tp.64-tqfp.dtsi
Signed-off-by: Manojkumar Konisetty <manoj@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Implement I2C configure() handling in the driver
to apply speed settings and default hardware options.
Signed-off-by: Manojkumar Konisetty <manoj@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
boards: vicharak: shrike_lite: Add full name to the board.yml
Add the missing `full_name` field for the shrike_lite board added in
3f3b528997
Signed-off-by: Matin Lotfaliei <matinlotfali@gmail.com>
Verify that the EEPROM is large enough to hold the test write buffer
before executing the test.
This makes the test assumptions explicit and avoids unused variable
in API test.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Trim the sdk list down to arm and riscv64, should be good enough for
testing the buildsystem and saves some disk space.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Remove the unused variable tid_int and lock. Also, match the other drivers
by dropping the back reference to the device structure and just pass
in the dev for the thread and dereference the context from there.
Signed-off-by: Charles Hardin <ckhardin@gmail.com>
This is a leftover from the past that is no more required and that should
be removed in order to prepare for the next Mbed TLS release.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
The group display names don't work with dnf5.
As displaynames can depend on the locale and are not unique
dnf5 only supports the group identifiers.
Distributions with dnf4 like RHEL<=10, Fedora<41, and CentOS stream
shouldn't have any issues with the group id, but have not been tested.
Alternatives considered: use the @-sytax for groups introduced in dnf5,
but using the group command makes it more clear that package groups are
installed.
Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
Add include/zephyr/bluetooth/sbc.h and subsys/bluetooth/lib/sbc.c to
the libsbc module maintainer entry to ensure proper coverage of SBC
codec related files.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Use PSA Crypto API for SHA-1 computation instead of legacy Mbed TLS crypto.
The latter is going to be removed soon.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Remove optional use of legacy Mbed TLS crypto in favor of the already
existing PSA Crypto API alternative. This is required in order to jump
to the next version of Mbed TLS (i.e. 4.0) where all this legacy crypto
support is no more available.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
If we have more than one IP on an interface we should choose the IP
corresponding to the same network as the target IP.
Signed-off-by: Andreas Huber <andreas.huber@sautergroup.com>
The k_timer API requires CONFIG_SYS_CLOCK_EXISTS to be enabled,
as timer.c is only compiled when this config is set. Guard the
timer-based k_sleep() implementation and fall back to the previous
busy-wait approach when no system clock exists.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
The reg property on the NPU node indicated a base address of 0x580C0000 and
size of 4 KiB, neither of which are correct (in fact, this base address is
the one of the OTGPHYC2).
Set the reg property to the correct values: the NPU instance is mapped at
0x580E0000 and occupies 128 KiB of address space.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Add test for PMP_SOC_REGION_DEFINE macro that allows SoCs to define
custom PMP regions via iterable sections.
The test verifies:
- Regions defined with PMP_SOC_REGION_DEFINE are programmed into PMP
registers during z_riscv_pmp_init()
- SoC regions are placed in global PMP slots (first half of entries)
- STRUCT_SECTION_FOREACH correctly iterates over defined regions
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Add linker script support for CONFIG_USERSPACE:
- MPU alignment macros for PMP granularity
- User stacks section in noinit area
- Application shared memory partitions
- Kernel object sections (text, rom, data, priv-stacks)
- ROM region size symbol for PMP configuration
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Add device tree node for ESP32-C6 SoC ROM at 0x40000000.
This 320KB ROM contains libc and utility functions used by
the application. PMP protection is configured separately
via PMP_SOC_REGION_DEFINE in pmp_regions.c.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Add infrastructure for SoCs to define additional PMP regions
that need protection beyond the standard ROM region. This uses
iterable sections to collect region definitions at link time.
The PMP_SOC_REGION_DEFINE macro allows SoCs to register memory
regions with specific permissions. These regions become global
PMP entries shared between M-mode and U-mode.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
llext aligns and rounds up memory regions to satisfy MPU requirements,
which can waste significant memory by relocating read-only regions,
with power-of-two alignment on some architectures. However, these
MPU-aligned regions are never actually used by the MPU unless
userspace (CONFIG_USERSPACE) is enabled.
Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
rework litex gpio driver.
It is now also supported to change direction.
now uses the reg names to detect if what modes the gpio
controller supports.
use the reg names directly from litex.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
add test for DT_ANY_INST_REG_HAS_NAME_STATUS_OKAY
and DT_ALL_INST_REG_HAS_NAME_STATUS_OKAY macros.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
add DT_ANY_INST_REG_HAS_NAME_STATUS_OKAY
and DT_ALL_INST_REG_HAS_NAME_STATUS_OKAY
to check if any instance has a register with a specific
name.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Add PWM shell command for getting the number of cycles per second for a
given PWM controller/channel.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
As reported in #101190, running adc_sequence sample on stm32f103c8 with 8
ADC channels causes all subsequent conversions after the first to be one
channel shifted. This is because writing to CR2 with ADON=1 and no other
changes triggers a conversion (which is why the bug happens on all
but the first sequence). Adding this check will ensure that CR2 is only
written when the DMA bit changes.
Signed-off-by: Benedek Kupper <kupper.benedek@gmail.com>
This commit provides information regarding building and executing stress
tests for LAN8651 based 10BASE T1S ethernet connection.
The LAN8651 is connected to nucleo_g474re board.
Signed-off-by: Lukasz Majewski <lukma@nabladev.com>
This commit provides device tree description of the LAN8651 T1S
device to work with echo_server sample program.
Signed-off-by: Lukasz Majewski <lukma@nabladev.com>
This commit provides device tree description of the LAN8651
T1S device to work with zperf performance test program.
Signed-off-by: Lukasz Majewski <lukma@nabladev.com>
Add ethernet driver compatibles to the migration guide that have support
for MAC address configuration.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Replace file references with compatibles, for users to refer to the
migration guide if it has any impact on out-of-tree boards.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Follow coding guidelines rule 78:
A full expression containing an increment (++) or decrement (–) operator
should have no other potential side effects other than that caused by the
increment or decrement operator
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Upcoming MDK will make nrf52 errata check functions exist only for
nRF52 and therefore the code will no longer compile for nRF5340. Replace
nrf52 errata checks with new NRF_ERRATA_DYNAMIC_CHECK().
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Fix regression introduced in commit ddaeb13 which removed the
'buffer' function parameter from the dynamic endpoint callback
function signature but did not update the http_server sample
accordingly.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Fix a typo in several filesystem sample board overlay files where
'parition' was used instead of 'partition'.
This is a spelling-only change with no functional impact.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
The mdns_responder sample has a simple TCP echo server running, however
the accept() function errors were ignored, making the server defunct in
case server socket started to report errors (for example when network
went down).
Update the sample to restart the echo server in case of accept() errors
to make the sample more reliable.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
If the underlying listening TCP context reported an error, it's no
longer usable, therefore accept() call for such a socket should report
an error as well, otherwise it may block indefinitely.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
In case network interface goes down, all underlying TCP contexts are
being dereferenced, however they are not released until application
dereferences them as well (i.e. closed the socket). If the application
does not do so however timely, and network interface goes down again,
the TCP context would still be present on the active contexts list and
could've been dereferenced for the second time.
Fix this by checking the context state before dereferencing it on the
stack behalf. Non-listening TCP context are being set to CLOSED state
upon dereferencing. For the listening contexts, the TCP context has
only one ref from the application side, so use the `accept_cb` pointer
value as an indicator that the accept callback, indicating an error,
has already been called for the context.
Additionally, add a mutex lock when releasing listening context on
network down even, to avoid potential races with yet unprocessed
incoming packets.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
75ef6392 removed the only call to coap_client_init_request() where
reconstruct==true. All remaining calls have reconstruct==false.
This commit removes the parameter.
Signed-off-by: Sam Friedman <sam@golioth.io>
Remove unused IW612 part.
update IW610 FW version to 5.p86
update RW612 FW version to 6.p50
update IW61x FW version to p27.8
update IW416 FW version to p153.8
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Make a in-kernel copy of 'cfg' parameter before passing the struct
to kernel z_impl_dai_config_set() implementation. This ensures
user-space will not have access to the object when kernel part
of the syscall is running.
Also add separate handling for the case where bespoke configuration
object is NULL. While no current driver works without a bespoke
configuration, this is not forbidden in the API and the generic syscall
handler should not assume a bespoke object is passed.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
dai_ssp_get_properties() can return NULL if there are no properties
defined for the device. Handle this case correctly in ssp driver's
dai_ssp_get_properties_copy() by returning -ENOENT in this case.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Handle the case if driver is not implementing get_properties_copy().
Document the behaviour and add a note that the method is optional and
users need to be handle the case that not all drivers will have this
method defined.
Also add documentation on error codes. Drivers should use -ENOENT if
no properties are defined for the device. This matches behaviour of
dai_get_properties() returning NULL if there are no properties.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
The lfclk is required for bluetooth, so enable it by default for the
radio core. Applications are only affected if they enable
CLOCK_CONTROL, in which case either only the lfclk or all clocks are
enabled, so enabling lfclk alone is the lowest common denominator.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Replace some manually-defined DT_COMPAT_<> Kconfig macro variables with
their automatically generated counterparts. In most cases, this is
straightforward as the manually defined macro is named identically to the
one generated by the build system.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Adds a check that snippets are correctly applied to named boards
with the correct board revision
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
For non-STA mode the vif level authorized flag is unused, simply allow
all group traffic and for unicast traffic check respective peer status.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Test automation framework fails if there are any error prints, and we
had seen issues with networking that sends packets to the driver before
the assocation is up (either not checking dormant status or in a window
where dormant status is being updated).
Add a workaround to suppress the print till the issue root cause is
fixed.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Fix pointer dereferencing by accessing the pointer only
after initialization, preventing fault exceptions.
Signed-off-by: Triveni Danda <triveni.danda@nordicsemi.no>
Add an identifier to P2P scan request. RPU can use this to
differentiate it from regular scan requests and suppress
11b rates.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
Add cookie event callbacks to track RoC and cancel-RoC
requests and its responses from firmware.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
Add per-peer authorized parameter. Port authorization command
from supplicant will set this flag and will be used by driver
to allow or nor allow data traffic.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
We now support a single MbedTLS shim for hostap, so, this extra check is
not needed, we can always use DH5 groups from Mbedtls.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Increase required heap and stack size for P2P. More stack was required
during WPS negotiation.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
For frames like Probe Requests, there is no match criterion.
Re-arrange the checks to support registering of frames without
providing any matching info.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
For frames sent down by supplicant in station mode, inform RPU
to allow off-channel transmission. This is needed for sending
P2P probe responses.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
Use `ssids` instead of `filter_ssids` to set the SSID in probe
requests. `filter_ssids` are to filter scan results to include
only the specified SSIDs.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
Align with native_simulator's upstream main
215ee859eee5e49dc09eda8f17a956ee7318caf2
Which includes:
215ee85: native timer_model: Fix printf format specifier warnings w
debug logs
Signed-off-by: Nakul Chauhan <nakulchauhan111@gmail.com>
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The can_nrf driver uses defines from soc.h which happened to be
included by some other header when building for cpuapp, but not
when building for cpuflpr. Include soc.h explicitly.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The hfxo and lfxo should only be enabled for the cpuapp and cpurad
as these cores are the only ones which have access to the clock.
Leaving it enabled will break cpuppr and cpuflpr builds if
CONFIG_CLOCK_CONTROL is enabled as the drivers are not compatible.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
rtc_ds3231_alarm_set_callback() takes an unsigned alarm id, making
the negative value check impossible.
The id < 0 condition is therefore dead code and can never be true.
Remove it and keep only the upper bound check.
No functional change intended.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Preemptable and preemptible are both commonly used spellings. Infineon
had chosen preemptable as the spelling and lead to CI failures when
using struct members in the PDL. Removing the check in Zephyr allows
for flexibility in spellings of this word.
Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
Hardware map file generation should at least get you part way now with
Infineon boards with the Cypress derived KitProg3.
Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
- Update clk-source to 1 for all flexcan instances because
we need to use sysclk as PE clock source and reduce customer's
confused when configuring flexcan clock
If user use a fast external osc and want to choose another choice,
user can change it in overlay files
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Document the breaking change in the NXP i.MX GPT counter driver that
introduces a devicetree "run-mode" property and changes the default
from hardcoded free-run to restart mode.
Out-of-tree boards must add `run-mode = "free-run";` to their GPT
devicetree nodes to preserve previous behavior.
This change aligns GPT configuration with the LPTMR driver, providing
consistency across NXP counter drivers in using devicetree properties
for hardware behavior control.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Add a "run-mode" devicetree property to the NXP i.MX GPT counter
driver to control counter behavior on compare events.
The property supports two modes:
- "restart": Counter resets to 0 when reaching Compare Channel 1 value
- "free-run": Counter continues counting without reset
This change makes the GPT run mode configurable per device instance
instead of being hardcoded. The driver now derives the enableFreeRun
setting from devicetree, defaulting to "restart" mode.
This update aligns the GPT driver configuration approach with the
NXP LPTMR counter driver, which also uses devicetree properties
for runtime behavior configuration.
This provides consistency across NXP counter drivers in how hardware
behavior is controlled through devicetree.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Add "can dump <device>" subcommand for dumping all CAN RX frames of a given
CAN controller.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
xt-clang seems to generate some memory access patterns which
result in the simulator accessing incorrect memory and/or
messing with cached TLB entries when spinlock validation
is enabled. Not exactly sure what's going on here due to
the core of the simulator is built on top of pre-built
binaries provided by the toolchain without any sources so
debugging would be nearly impossible. But at least we have
an easy workaround by disabling spin lock validation.
Fixes#100885
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Although we have the three layers, SWDP driver API, DAP stack, and USB
backend, to implement a debug probe, there is no way for the user to
instantiate the DAP context, which would allow it to be used with
different backends or to change the configuration at runtime.
The Debug Access Port (DAP) is an implementation of the ARM Debug
Interface (ADI) that is typically integrated into SoC.
With all three layers, we implement a link to the DAP on the SoC.
Let's call it Zephyr DAP Link and use the dap_link prefix. There is also
a MBED DAPLink project that implements similar functionality, but using
a different name would likely cause more confusion.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Move the LUT to convert from simplified format to request packet
expected by the target, and the helper to calculate parity bits to
common header, so that they could be used by other drivers.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Although the DAP subsystem is the only user in the tree, yet, we may have
other subsystems, libraries, or simple samples that could use this API
in the future.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Added arduino_serial and arduino_header node labels to EK-RA4L1 device
tree board definition, allowing compatible shield boards to be used.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
If a second UART was not configured in the hardware map, then skip
the testcase instead of failing.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
add me to the i2c collaborators, that we are going to
have at least 2 reviewers for that area.
I wrote the drivers/i2c/i2c_litex_litei2c.c driver and
the acording i2c core https://github.com/litex-hub/litei2c
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
print_voltage() always returned success even when sensor operations
failed, making the error check in main() dead code.
Return the actual error codes so failures are correctly propagated
to the caller.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
ETHERNET_CONFIG_TYPE_FILTER is not supported
in the set_config, therefore remove
ETHERNET_HW_FILTERING from the
ethernet_hw_caps of this driver.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
the enum ethernet_config_type for the
multicast filter is ETHERNET_CONFIG_TYPE_FILTER.
ETHERNET_HW_FILTERING is only the according
ethernet_hw_caps.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Set extended advertising setting in ipm_stm32wb.c with
stm32wb_set_stack_options function call for the BLE stack
Options flags initialization according to the
zephyr Kconfig options.
Signed-off-by: Eric Mechin <eric.mechin@st.com>
Add CRD40L50 board support to the CS40L5x sample application and update
documentation accordingly.
Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
Add support for the Cirrus Logic CRD40L50 demonstration board, which
features a CS40L5x haptics driver, AT25 SPI flash memory, status LEDs,
and a push button.
Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
Co-authored-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
intel_sha_set_resume_length_dw1() never reports errors
and always returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
intel_sha_set_ctl_enable() never reports errors
and always returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Change at_get_raw_string() return type from 'char *' to 'const char *'
to match at_get_string() and improve const-correctness. This function
returns read-only AT command response data that should not be modified.
- Update at_get_raw_string() signature in at.h and at.c
- Update return statement cast from 'char *' to 'const char *'
- Update local variables in hfp_hf.c to use 'const char *':
* bvra_handle: 'id' variable
* chld_handle: 'value' variable
* cnum_handle: 'alpha' and 'speed' variables
- Mark unused 'alpha' and 'speed' in cnum_handle with __maybe_unused
- Change NULL check style from '!id' to 'id == NULL' for consistency
This completes the const-correctness improvements started in the
previous commit for HFP HF AT command string handling.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add documentation for the Edge Impulse SDK Zephyr module to the external
modules section, including:
- Module overview describing the Edge Impulse ML development platform
- Integration instructions with west.yml manifest configuration
- West extension commands (ei-build, ei-deploy) for model deployment
- License information (BSD-3-Clause-Clear)
- References to official Edge Impulse documentation and tutorials
The Edge Impulse SDK module enables machine learning inference on Zephyr
devices by packaging the Edge Impulse SDK as a reusable Zephyr module
with west integration for streamlined ML model deployment workflows.
Signed-off-by: Eoin Jordan <eoin@edgeimpulse.com>
Remove CONFIG_BT_CTLR_ADVANCED_FEATURES from prj.conf. This option
only controls visibility of advanced features in menuconfig and is
not required by the sample. It also depends on BT_LL_SW_SPLIT which
is not available on all platforms (e.g., ESP32 uses a closed-source
controller blob).
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Set default values for BLE HCI buffer configuration that match
the ESP32 controller requirements:
- BT_BUF_ACL_RX_COUNT=24: Match controller's ACL buffer count
- BT_BUF_EVT_RX_COUNT=30: Match controller's event buffer count
Enable BT HCI node in device tree for all ESP32 SoCs that
support BLE.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Implement VS HCI commands for ESP32 BLE controllers:
- Read/Write TX power level with per-handle support
- Read version info (platform, variant, firmware version)
- Read supported commands and features
- Read static addresses from eFuse (C2/C6/H2)
- Read build info (controller version string)
For original ESP32, use the legacy esp_ble_tx_power_set/get API.
For newer variants (ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C6, ESP32-H2),
use the enhanced API that supports per-connection power control.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Add Espressif platform and variant IDs to hci_vs.h for ESP32 family
SoCs (ESP32, ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C6, ESP32-H2).
Add Espressif Systems to vs_hw_platform() and vs_hw_variant()
functions in hci_core.c for proper vendor identification.
Use CONFIG_SOC_FAMILY guards in vs_hw_variant() to reduce flash
usage by only compiling variant strings for the active SoC family.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
The target event handler i2c_mcux_target_transfer_cb() had a too high
cognitive complexity. Create a function for each event type to reduce
the complexity score.
Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
Add i2c target support to the i2c_mcux driver.
Add the frdm_mcxc242 board to i2c_target_api tests.
Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
Protect scmi_send_message_polling() with channel mutex to prevent
concurrent access with interrupt-driven transfers.
Without this fix, PM subsystem could send polling-mode messages
while an interrupt-mode transfer was in progress, corrupting the
shared channel state.
Fixes hang on i.MX943 during I2C initialization when PM attempted
to send power state notifications concurrently.
Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
Enables hardware RX timestamping for the STM32 FDCAN driver by
leveraging the M_CAN timestamping interface.
Introduces a new `timestamp-counter` property in the device tree binding.
If `CONFIG_CAN_RX_TIMESTAMP` is enabled and this property is defined,
the driver configures the M_CAN Timestamp Select to use the
external timestamp counter value.
This allows linking a Zephyr Counter device to the FDCAN instance to
provide precise packet timing.
Signed-off-by: Igor Knippenberg <knippenberg@filics.eu>
Fix validation of AD length handling in the Bluetooth shell.
Reject zero-length AD fields before subtracting the AD type size.
The previous implementation compared an unsigned length
against zero after subtraction, making the error path
unreachable.
Signed-off-by: Om Srivastava <srivastavaom97714@gmail.com>
Document the OpenOCD version required for Zephyr thread
awareness and how to use CONFIG_DEBUG_THREAD_INFO.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
ESP32 OpenOCD uses $_TARGETNAME_0 instead of $_TARGETNAME.
Set the correct target handle to enable RTOS awareness.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Change ESP_RTOS from none to Zephyr in all ESP32 board
openocd.cfg files to enable thread awareness during debug.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Remove the --no-init flag to fix west debugserver on boards
with built-in USB JTAG (ESP32-C6, ESP32-H2).
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
1. Fixes an issue in UMAC where valid P2P devices were filtered
during a connect scan due to strict SSID length matching.
2. P2P NOA Bug Fix.
3. Linker issue fix in Raw modes.
4. LMAC BIMG offset change.
5. RPU Version update from 1.2.14.6 to 1.2.14.7.
6. Display scan fix for WPA3 HNP and H2E.
Signed-off-by: Karun Kumar Eagalapati <karun.kumar@nordicsemi.no>
stm32h7rsxx bumps to STM32CubeH7RS version 1.3.0.
stm32l4xx bumps to STM32CubeL4 version 1.18.2.
stm32l5xx bumps to STM32CubeL5 version 1.6.0.
stm32n6xx bumps to STM32CubeN6 version 1.3.0.
Update dma_stm32.h to sync with HAL new function prototype for
LL_DMA_IsActiveFlag_HT*() functions that now expect a const pointer
on STM32L4X series. While at it, also update the STM32MP13X series
that expects the same prototypes.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
I2C controller on rpi_pico2 boards were getting misconfigured due to
`CONFIG_I2C_DW_CLOCK_SPEED` not getting set properly. This change fixes
the value for this Kconfig symbol to the correct clock speed (clk_peri)
that is used by I2C controller.
Signed-off-by: Dev Joshi <devbhave@qti.qualcomm.com>
Some libraries like libcoap make use of mbedtls_version_get_number
which is enabled by MBEDTLS_VERSION_C.
We add a config option to be able to selectively enable it.
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
This commit adds the MikroE CAN FD 6 Click shield under the same
assignees as other of the CAN driver based shields.
Signed-off-by: Stephan Linz <linz@li-pro.net>
Add shield definition for the MikroElektronika CAN FD 6 Click shield,
an mikroBUS compatible evaluation module for the TI TCAN4x5x CAN
controller series.
Signed-off-by: Stephan Linz <linz@li-pro.net>
Add support for High-g data in FIFO. The HG data wiil be marked in
FIFO with LSM6DSV80X_XL_HG_TAG.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
This driver is currently only supporting the polling-mode read_and_decode
APIs (both blocking and non-blocking).
The driver implements a chip_api structure which has to be used to
provide device specific callbacks. The only lsm6dsvxxx family device
currently supported is lsm6dsv320x.
More information about LSM6DSV16X:
https://www.st.com/resource/en/datasheet/lsm6dsv320x.pdf
Signed-off-by: Armando Visconti <armando.visconti@st.com>
The Device Tree property names that are common to lsm6dsv16x and
lsm6dsv32x drivers are now prefixed with LSM6DSVXXX_ (and not
LSM6DSV16X_) just for the sake of clarity.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
drivers/sensor/adi/max30210/max30210_trigger.c:144:3: error: label followed
by a declaration is a C23 extension [-Werror,-Wc23-extensions]
144 | uint8_t temp_hi_setup[2];
| ^
drivers/sensor/adi/max30210/max30210_trigger.c:175:3: error: label followed
by a declaration is a C23 extension [-Werror,-Wc23-extensions]
175 | uint8_t temp_inc_fast_thresh;
| ^
drivers/sensor/adi/max30210/max30210_trigger.c:196:3: error: label followed
by a declaration is a C23 extension [-Werror,-Wc23-extensions]
196 | uint8_t temp_dec_fast_thresh;
| ^
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Add -Wno-unique_unit_address_if_enabled for all boards,
as bflb SoCs contains a lot of overlapping peripheral nodes.
Signed-off-by: Camille BAUD <mail@massdriver.space>
Remove whitespace between parentheses and value. This seems to be the only
place in tree where such a pattern is found, and it violates the rules of
the Devicetree linter executed by CI.
Replace ARM-specific MPU attributes with their plain variant, also removing
the unnecessary parentheses in the process.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Remove unnecessary parentheses and switch to the plain variant of the
RAM_NOCACHE "attribute".
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
The documentation currently indicates that Cortex-M0 and Cortex-M1 have
programmable fault priorities which is not true. Fix this error.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Added additional LEDs and an alias so that examples such
basic/threads will build/run on this board.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
Added pwm-led0 alias so that basic/blinky_pwm and basic/fade_led
samples can be built/run on the ek_ra6m4.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
For clarity and compactness, use
`spi_context_max_continuous_chunk()` instead of open-coding
the same tx/rx length selection logic.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
There is a corner case that the ACL_Data_Packet_Length is less than
the MPS of the L2CAP BR channel connection. Then the partial data
will be sent and the remaining data will be sent in sequence in the
function `l2cap_br_data_pull()`. The issue occurs when sending the
continuing fragment HCI ACL packet, due to the reference counting of
sending buffer is 0. Therefore, the application will be asserted in
the function `send_buf()`.
Fix the issue by managing the reference count of the sending buffer.
Use the function `net_buf_ref()` to increment the reference count of
the sending buffer.
If the sending buffer is the last fragment, use `net_buf_unref()` to
decrement the reference count of the sending buffer to ensure that
the send buffer can be properly released when the data is sent out.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Device continued receiving multicast data after leaving IGMP group
because the driver did not configure the SiWx917 firmware to stop
filtering for the multicast MAC address.
Register a Zephyr multicast monitor callback (net_if_mcast_mon_register)
that calls sl_wifi_configure_multicast_filter() to add or remove
multicast MAC filters in the firmware when groups are joined or left.
Signed-off-by: Devika Raju <Devika.Raju@silabs.com>
- Adds sam_e54_xpro.overlay files for wdt test projects.
- Adds sam_e54_xpro platform allow in testcase.yaml.
- Adds wdt board specific configuration in main.c
Signed-off-by: farsin NASAR V A <farsin.nasarva@microchip.com>
- Updates the board yaml file with watchdog entry for enabling CI
to include watchdog for testing
Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
- Adds devicetree node of watchdog in same5xd5x family
- Adds the binding yaml for g1 driver of watchdog
Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
The radio driver updates the filters but never submit
the new ones to the radio core.
The filters was only applied later thanks, probably during
a channel selection that was happening often.
Update the driver stop RX operation and restart it using
the new filters.
Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
When using OpenThread, set_channel operation may be called often
with the same channel number.
Everytime, even if the channel has not changed, the driver stop all
the radio operations, restart the synthesizer and then restart RX
operations.
This behavior prevents OpenThread joiner to work correcly.
This updates the driver to only stop radio operations if this is really
required.
Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
Add Support for MAX30210, a low-power,
high-accuracy digital temperature sensor
operating from a 1.7 V to 2.0 V supply.
Signed-off-by: Francis Roi Manabat <francisroi.manabat@analog.com>
Adds support for generated merged hex file output, one hex file
per unique board target. This feature can be enabled with
SB_CONFIG_MERGED_HEX_FILES
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Add docs (wiring, build etc.) for the stm32n6570_dk board with the
st_b_cams_imx_mb1854 camera shield (based on an IMX335).
Signed-off-by: Anton Puppe <anton-noel-flynn.puppe@zeiss.com>
Add Kconfig option VIDEO_SHELL_AND_CAPTURE to allow the capture to run
even if the video shell is enabled. Also, add delta time between frames
to log output. This enables testing of on-the-fly framerate changes.
Signed-off-by: Anton Puppe <anton-noel-flynn.puppe@zeiss.com>
Adds support for video_set_frmival for the IMX335 sensor driver.
The available framerates depend on whether the binning mode is enabled.
Currently, 25Hz and 30Hz are always available and 50Hz/60Hz only with
binning.
Signed-off-by: Anton Puppe <anton-noel-flynn.puppe@zeiss.com>
Adds support for switching the sensor resolution between all-pixel scan
(2592x1944) and 2x2 binning (1296x972). This reduces the bandwidth
and processing power requirements for applications that do not need the
full resolution. It also paves the way for higher frame rates.
Note that while the imx335 driver now supports dynamic resolution
changes, some downstream components may not. The binning mode is enabled
automatically if the correct format is selected.
Signed-off-by: Anton Puppe <anton-noel-flynn.puppe@zeiss.com>
When the response has been sent completely to the client, the server
reports the new `HTTP_SERVER_TRANSACTION_COMPLETE` status. Together with
the existing `HTTP_SERVER_TRANSACTION_ABORTED` status, the application
can now also for successful completions of requests clean up any
resources allocated for handling the request.
This especially allows to dynamically allocate the response buffer
passed to the server in the request callback and free it when the
request is done.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Rename enum http_data_status to enum http_transaction_status
to better reflect its purpose, which is to indicate the status of the
overall HTTP transaction, not just data transfer.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Add a build-only scenario that enables UART runtime configure and
builds on selected GD32 boards to ensure the driver compiles.
Signed-off-by: Aleksandr Senin <al@meshium.net>
Add uart_configure()/uart_config_get() support to usart_gd32.
Store runtime config in driver data and init it from DT defaults.
Signed-off-by: Aleksandr Senin <al@meshium.net>
Enable servo port GP12. Add commented-out entries for the other ports,
as is done for the other overlay files.
Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
Make Zephyr 4.4 release engineers maintainers of release notes and
migration guide for the time being.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fix build failures when compiling for 64-bit native_sim,
and add native_sim/native/64 to the platform allow list for
the coap client tests.
Signed-off-by: Sam Friedman <sam@golioth.io>
Properly report size info for the ADXL362 decoder for streaming data
properly from that sensor.
Signed-off-by: Pete Johanson <pete.johanson@analog.com>
Some mailbox backends may deliver notifications without an associated
data payload. This can occur when the mailbox is used as a signal-only
mechanism, where struct mbox_msg is NULL, data is NULL, or size is zero.
The IPM mailbox callback currently assumes a valid data payload and
unconditionally dereferences data->data, which can lead to a NULL
pointer dereference for such mailbox implementations.
Update the IPM mailbox callback to tolerate empty mailbox messages and
invoke the IPM callback with a NULL payload pointer when no data is
present. This preserves notification semantics while preventing
runtime faults.
Signed-off-by: Ben Levinsky <ben.levinsky@amd.com>
When the transfer timeout and driver set user abort,
we need go recovery flow to make sure bus recovery and reg recovery.
Signed-off-by: Elmo Lan <elmo_lan@realtek.com>
The csr_*() macros and Smcsrind indirect CSR access helpers in csr.h
are C-only constructs using GNU C statement expressions, but csr.h is
also included from assembly sources when building with -D_ASMLANGUAGE.
Guard all C-only macros and functions so they are not seen by the
assembler, leaving only the numeric CSR definitions in the common
(ASM+C) section.
Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
When support for old "Library model" was removed, support for the new
Secure Function (SFN) model - the FF-M 1.1 spec that succeded the "Library
model" - wasn't implemented. This patch adds it.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
Adds RAM tags to select Intel ADSP platforms with the
primary goal of getting LLEXT subsys tests to run.
Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
Add a Kconfig option for the test to put extensions in .text.
This is useful for platforms for which the linker places .data
in memory unsuitable for instruction execution, such as
Intel ADSP's uncached memory.
The theoretical alternative to support Intel ADSP is to add a
platform-specific INSTR_FETCHABLE macro and platform-specific
heap definition (placing the heap into .rodata) into llext so
that the llext loader can copy text into an executable heap, but
per a comment at llext_link's llext_link_plt, Xtensa llext's PLT
linking is not valid when not performed inline in the ELF buffer.
This is because it uses offsets from the text in the ELF buffer
and assumes the text section's position relative to the other
sections has not changed during loading. If one or more sections,
particularly text, are loaded onto the heap, the relocation
addresses calculated by the linker will not land in the correct
memory region.
Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
Adds board overlays for Intel ADSP platforms to use
CONFIG_LLEXT_TYPE_ELF_RELOCATABLE instead of SHAREDLIB
as xt-clang cannot link shared libs for Xtensa, exports
symbols used by Intel ADSP with Xtensa toolchain, and
adds XTENSA MPU / MMU to "no memory protection" config file.
Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
Consolidate lower and upper bounds checking of `filter_id`
at `can_mcan_remove_rx_filter` function entry to avoid checking
upper bounds while holding the mutex.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Refactor IRQ handler to set status variable in each branch and invoke
the callback once at the end, reducing code duplication.
Add null check for `dma_callback` in dma_stm32u5.c to match with
dma_stm32.c pattern.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Refactor IRQ handler to set status variable in each branch and invoke
the callback once at the end, reducing code duplication.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
The data is updated by both local domains (cpuapp/cpuapp) and
IronSide SE (cpusec), so disable caching to avoid coherency issues.
Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
The TRNG needs to be enabled at boards level by default for tests. It will
not actually be used unless the ENTROPY_GENERATOR subsystem is enabled.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
"/chosen/zephyr,entropy" is already set at root DTSI level, and the RNG is
already enabled at board DTS level.
Remove the now unneeded overlays for these boards.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
All series set the "zephyr,entropy" chosen to the internal TRNG by default
inside their root DTSI except STM32N6 and STM32WB0.
Align these two series with others by declaring "/chosen/zephyr,entropy" in
their root DTSI as well.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
This configure MPU region over OTP area like ID region.
OTP can be directly read and need to use flash HAL API for writing.
Signed-off-by: Gaétan Froissard <gaetan.froissard@marshmallow.kids>
Fixes this define leaking into all application source files when
the feature is not even enabled
Co-authored-by: Chris Friedt <cfriedt@tenstorrent.com>
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
The extra_conf_files arg in testcase.yaml was being improperly
assigned to the CONF_FILE CMake arg, which caused
configuration_files.cmake to ignore soc and board Kconfig overlays.
Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
This patch updates the intel_adsp smoke tests to use the new host IPC
backend data model and APIs.
The host IPC smoke test now treats messages as a fixed two-word uint32_t
payload instead of using struct intel_adsp_ipc_msg and the
INTEL_ADSP_IPC_CB_* message types. The receive callback validates the
payload length and pointer, checks the header/payload values against the
expected RETURN_MSG_* constants, and sets msg_flag on receipt. The
test-specific intel_adsp_ipc_send_message() and
intel_adsp_ipc_send_message_sync() helpers are rewritten to send a
two-word payload via ipc_service_send(), and the synchronous helper
waits on the backend semaphore only when the send succeeds. A dedicated
done callback is registered via intel_adsp_ipc_set_done_handler() to
drive done_flag, and intel_adsp_ipc_complete() now completes RX by
calling ipc_service_release_rx_buffer() and asserting on failure.
Completion polling is aligned with the backend by using
ipc_service_get_tx_buffer_size().
The clock calibration smoke test is adapted in the same way. It now
includes the ipc_service and intel_adsp host IPC backend headers when
using the new interface, interprets incoming data as a two-word uint32_t
payload, validates the length and pointer, and stores the returned
timestamp from the extended payload word into the endpoint private data.
The rest of the test flow, including endpoint registration, timestamp
requests and clock rate checks, remains unchanged but runs on top of the
new IPC backend representation.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch refreshes the documentation in the Intel Audio DSP host IPC
service backend to match the current data model and backend API
contracts.
The updated comments clarify that ipc_ept_cfg::priv must point to
intel_adsp_ipc_ept_priv_data so that the backend can carry state between
the ISR and the application callbacks. They also describe that both the
send and receive paths operate on a fixed two-word uint32_t IPC payload
(header and extended payload) rather than a generic byte buffer, and
that len must always be sizeof(uint32_t) * 2.
The documentation for intel_adsp_ipc_send() is rewritten to explain the
expected payload format, the length and NULL checks performed by the
backend, and how the function programs the IPC registers while relying
on ipc_send_message() for BUSY and TX acknowledgment handling. The
parameter semantics and error returns are aligned with the generic
ipc_service send() hook contract to make the backend behaviour easier to
understand and reuse.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Rework the Intel Audio DSP host IPC service backend to use the generic
ipc_service data/len conventions and the new critical send and buffer
management APIs.
Replace the backend-specific intel_adsp_ipc_msg and related enums with a
simple two-word payload passed through the standard ipc_service_send()
and ipc_service_send_critical() interfaces, and adapt the ISR and
receive callback to operate on this representation.
Use ipc_service_get_tx_buffer_size() as a readiness check for the host
channel and provide hold_rx_buffer() / release_rx_buffer()
implementations so ipc_service_release_rx_buffer() can be used to signal
when the channel becomes available again.
Wire the emergency send path through send_critical() to route urgent
messages via the backend's emergency fast path while keeping the normal
IPC flow unchanged.
Move the synchronous IPC wait logic out of the Intel Audio DSP host IPC
backend and into the common intel_adsp_ipc helper used by tests.
Update intel_adsp_ipc_send_message_sync() to both send the IPC message
through ipc_service_send() and wait on the backend semaphore, and remove
the now redundant ipc_send_message_sync() helper from the host IPC
backend.
Document that intel_adsp_ipc_send_message_sync() is a test-only helper,
not used by SOF firmware, and that it is a candidate for future removal
or for replacement by an explicit synchronous send primitive in the
generic IPC service API or in application code.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Add ipc_service_send_critical() as a dedicated API for sending critical
high-priority messages over an IPC endpoint.
Introduce an optional send_critical() callback in struct
ipc_service_backend so backends can implement a special fast path that
bypasses normal state and busy checks for critical notifications such as
crash reports or fatal errors.
The ipc_service_send_critical() wrapper mirrors ipc_service_send() on
the service side and delegates the actual behavior to the
backend-specific send_critical() implementation.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
The pointer to the clock device can be const, as it does never change at
runtime. This moves the const struct device *clock from data to config
struct and initializes it inside the init macro. The __uart_stm32_get_clock
function is no longer needed and removed.
Signed-off-by: Thomas Decker <decker@jb-lighting.de>
When initially introduced, the property was kept optional in an attempt
to not risk disrupting downstream users by introducing a required property
they wouldn't necessarily care about. In practice, this is causing
boards contributed upstream to sometimes miss this propery which is
important for boards to show up nicely in the boards catalog, and it is
therefore being made required.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
5 years ago LiteX switched to 32 bit csr data width,
while the option is still available in litex, it doesn't really
work there, even if it can be build, the bios f.e. won't boot.
already described in https://github.com/enjoy-digital/litex/issues/1062
So it is currently only here for designs, that are older than
5 years and for fpgas, where also the fpga bitstream can be updated
it is time to remove the support and require the users, when they wan't
to update zephyr, that they also have to update their fpga bitstream.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
The sector erase tests previously asserted for a specific -EINVAL return
code when attempting to erase past the end of the disk. This is too strict
for drivers that report a generic I/O error (-EIO) in such situations,
e.g. the STM32 SDMMC driver, which maps HAL failures to -EIO without
inspecting the precise root cause.
We can also note that the same logic was used in test_sector_write() and
test_sector_read().
This change avoids spurious test failures with targets that legitimately
return non-zero errors other than -EINVAL.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
RTT need to use RAM which is not cacheable as RTT does not support
data cache. Using cpuapp TCM RAM memory section for RTT.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The dt binding file requires the reset pin to be configured
as `GPIO_ACTIVE_LOW`, but the driver uses the
logic of `GPIO_ACTIVE_HIGH`.
Therefore, modify the logic in the driver and add a
migration guide.
Signed-off-by: Yunjie Ye <yun_small@163.com>
Remove empty files from the Raspberry Pi 4 Model B board
directory. These files does not contain any configuration
or build logic.
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
The error code returned when nrfx_pdm_start() fails is supposed to
be propagated to the caller.
This was broken by commit 16b9f60, which overwrote the original
error with the result of release_clock(), potentially returning
success even though the PDM start failed.
Restore the correct error propagation.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
After commit 02770ad963 ("debug: EXCEPTION_STACK_TRACE should depend
on arch Kconfigs"), the ARM64_EXCEPTION_STACK_TRACE isn't used any more,
remove it.
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Add detailed documentation for the HL78xx auto-baudrate feature,
including:
- auto_baudrate_detailed_readme.md: full description, use cases,
configuration options, and troubleshooting
- auto_baudrate_quick_reference.md: concise reference for presets, Kconfig
options, and supported baud rates
Covers:
- Feature overview and implementation details
- Supported baud rates and Kconfig options
- State machine integration
- Troubleshooting guidance
- Performance and optimization tips
- Integration examples
This improves usability and provides a quick reference for developers
working with the HL78xx modem in Zephyr projects.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
Enable HL78XX modem auto-baudrate detection and switching in the sample
application. Set 921600 bps as the target baudrate with fallback options
(9600, 115200, 57600, 38400, 19200). Also read and log the current baudrate
from the modem during startup.
This helps verify and debug communication speed mismatches between the
modem and the device UART.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
The sample previously always queried RSRP, which is not valid when the
HL78xx operates in GSM mode. Use RSSI when GSM RAT is active and RSRP
for other RATs. Update the log output and rename the variable for
clarity.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
Add support for handling AirVantage WDSI indications in the sample
application. FOTA update progress, download requests, and completion
events are processed and coordinated using a new semaphore. The sample
can restart its connection workflow after a successful firmware update.
Additional updates include:
- add serial number retrieval and logging
- add fota_complete_rerun semaphore and status tracking
- simplify debug logging in event listener and OK handler
- reorganize main loop to support FOTA-triggered reruns
This aligns the sample with the modem driver's expanded AirVantage and
WDSI support.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
The sample no longer requires the POSIX API layer, so the
CONFIG_POSIX_API option is removed from prj.conf. The code is updated to
use the native zsock_* APIs instead of the POSIX getaddrinfo(),
inet_ntop(), and freeaddrinfo() variants.
This aligns the sample with Zephyr’s preferred socket API and avoids
pulling in unnecessary POSIX compatibility layers.
No functional behavior is changed.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
Reorganize the sample configuration files for clarity and easier
maintenance. This introduces grouped sections with descriptive comments
and improves consistency between prj.conf and the verbose-logging
overlay.
Main updates:
* Add structured headers for system, UART, networking, modem, RAT,
AirVantage, shell, and logging settings
* Expand verbose overlay with clearer purpose, build notes, and grouped
modem logging options
* Improve readability by aligning comments and collecting related
options
* No functional behavior is changed; this is a documentation and
structure improvement
These changes make the sample configuration easier to understand and
simplify future maintenance.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
This adds an optional auto-baudrate mechanism that improves robustness
when the modem boots with an unknown or changed UART speed.
Key additions:
* New Kconfig option MODEM_HL78XX_AUTO_BAUDRATE and related settings:
- selectable target baud rate
- detection baudrate list
- detection timeout and retry count
- option to persist AT+IPR updates
- option to start diagnostics or boot directly with auto-baud logic
* UART status tracking added to hl78xx_data, including current and target
baud rates
* New HL78XX_MODEM_INFO_CURRENT_BAUD_RATE info field
* New MODEM_HL78XX_STATE_SET_BAUDRATE state with detection and switching
logic
* Chat, init, and diagnostic handlers updated to route failures into the
auto-baudrate logic when enabled
* New helpers: hl78xx_get_uart_config(), hl78xx_try_baudrate(),
hl78xx_detect_current_baudrate(), hl78xx_switch_baudrate()
* Startup delay increased when auto-baudrate-at-boot is enabled
These changes allow the driver to recover from unexpected modem UART rate
changes and keep the UART configuration synchronized with the modem.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
Add MODEM_HL78XX_EVENT_AT_CMD_TIMEOUT event to distinguish chat scripts
timeouts from other script failures. The chat callback now maps
MODEM_CHAT_SCRIPT_RESULT_TIMEOUT to this new event.
Update state handlers so AT command timeouts trigger the init fail
diagnostic script during startup, and fall back to the power-on pulse in
the init-fail state, similar to existing timeout handling.
This improves error classification and enables more accurate recovery
logic for long-running or stalled AT command exchanges.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
Extend modem_dynamic_cmd_send() with a response_timeout parameter to allow
callers to specify the overall script timeout per command. The previously
hardcoded 1000 ms timeout is removed (set to 0 in params) and the script
timeout is now driven by the passed-in value.
Update all internal call sites to provide MDM_CMD_TIMEOUT (in seconds) and
increase the default command timeout from 10 s to 40 s. Several chat
scripts and configuration paths are updated accordingly.
This improves reliability for long-running HL78xx operations and ensures
consistent timeout handling across sockets, RAT/band configuration, APN
setup, PDP activation, AirVantage DM session control, and TLS/TCP/UDP
socket management.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
Extend socket-related chat match tables to handle generic "ERROR" responses
for both CONNECT and +KUDP_IND URCs, improving detection of failed socket
creation and connection attempts.
While updating match handling, unify all modem commands to use the standard
OK match set by adding hl78xx_get_ok_match_size(). All remaining users of
the former sockets-specific OK match are switched to the unified helpers.
Additionally, all dynamic command send paths now provide an explicit match
count and use MDM_CMD_TIMEOUT instead of the previous hard-coded `1` for
script timeout, improving consistency and reliability across:
* RAT configuration
* band configuration
* APN setup
* GSM PDP activation
* AirVantage DM session control
* socket send and TLS configuration paths
This brings all command execution onto the same match/timeout model and
ensures ERROR responses are handled correctly during socket operations.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
Avoid overwriting cached input state while ISR-deferred work is pending.
Previously, port_get_raw() updated pins_state.input via
update_input_regs(), which could corrupt previous_state used for
transition detection.
Fix by reading input registers directly without updating the global cache.
Signed-off-by: Woobin Song <woobin.song@assaabloy.com>
Add Ethernet configuration for mac and mdio nodes in
stm32h78_dk-common.dtsi.
Disable mac node in .overlay files for tests/drivers/memc/ram
since ethernet drivers that get enabled by it consume sram1
node and thus fail the test.
Update the .yaml files to include Ethernet tag and
update documentation to explain Ethernet usage.
Signed-off-by: Benjamin Klaric <benjamin.klaric01@gmail.com>
Instead of performing a linear search to determine if a given
thread is running on another CPU, or if it is marked as being
preempted by a metaIRQ on any CPU do this in O(1) time.
On SMP systems, Zephyr already tracks the CPU on which a thread
executes (or lasted executed). This information is leveraged to
do the search in O(1) time.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
The current implementation of k_sleep(), when multi-threading
is disabled, busy waits using k_busy_wait() until the sleep timeout
has expired.
This patch aims to improve power efficiency of k_sleep() for
single-threaded applications by starting a timer (k_timer) and idling
the CPU until the timer interrupt wakes it up, thus avoiding
busy-looping.
Signed-off-by: Emanuele Di Santo <emdi@nordicsemi.no>
In z_vrfy_k_poll, there is a memory access check
K_SYSCALL_MEMORY_WRITE which is wrapped in a spinlock, the same
spinlock used in z_handle_obj_poll_events which is called from
k_sem_give() for example.
The K_SYSCALL_MEMORY_WRITE() macro conditionally calls LOG_ERR()
which may call the UART console, which may call an API like
k_sem_give(). This will cause a deadlock since the locked spinlock
will be relocked, and a recursive lock if SPINLOCK_VALIDATE and
ASSERTS are enabled as the validation will fail, causing a LOG_ERR,
causing a k_sem_give() causing a relock... until stack overflows.
To solve the issue, only protect the copy of events to events_copy
with the spinlock, the content of events is not actually checked, and
bound is not shared, so there is no need to do this validation in a
critical section. The contents of events is shared so that must be
copied in atomically.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Reneamed photograph of Renesas US159 DA14531EVZ board to match
convention documented in the Board Porting Guide (resolving issue
with old image not appearing in list of supported boards on Zephyr
website).
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
Disable all interrupts when the VIM interrupt controller is initialized so
that it doesn't encounter any stray interrupts that were not enabled on
Zephyr.
Signed-off-by: Amneesh Singh <amneesh@ti.com>
BIT_MASK(32) cannot do (1 << 32) - 1 without causing integer overflow.
Hence, for these macros BIT64_MASK(32) is required.
Additionally, remove the unnecessary (and presently unused) macros for the
register space. All of these can be reliably derived from the present
register masks.
Signed-off-by: Amneesh Singh <amneesh@ti.com>
Fix macro parameter typo (##inst → ##index) in CAN_RENESAS_RA_INIT
to ensure unique IRQ configure function names per instance.
Signed-off-by: Khai Cao <khai.cao.xk@renesas.com>
Add MCUX_OS_TIMER configuration with CPU_FREQ-based default selection.
Update CORTEX_M_SYSTICK to be disabled when either LPTMR or OSTIMER
is selected as the system timer, ensuring only one timer is active.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
The MCXN236 can use ostimer as the kernel timer.
We enable it in the dts, and which specific timer
to use as the system timer can be controlled through
Kconfig option based on application requirements.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Add initial board support for the Xunlong Orange Pi Zero,
single-board computer based on the Allwinner H2+/H3 SoC.
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
Add initial support for the Allwinner H3 SoC, commonly
found in development boards like the Orange Pi series.
This commit introduces the intial SoC support files:
- Basic Kconfig configuration and SoC definition
- MMU region setup for memory management
- SoC-specific headers and device tree source include
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
Enable support for configuring and enabling the external timestamp counter
of the NXP LPC MCAN.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Add support for configuring and enabling the internal timestamp counter of
the Bosch M_CAN IP core.
Frontend drivers can overwrite this configuration for using a SoC-specific,
external timestamp counter.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Clear the hold flag during the final data interrupt; otherwise the
Transfer Complete interrupt is never asserted.
Signed-off-by: Simon Maurer <mail@maurer.systems>
Switch the Cadence I2C device driver over to the use of the
DEVICE_MMIO_... macros instead of just using the physical base
address from the device tree.
Signed-off-by: Simon Maurer <mail@maurer.systems>
Tune quantum parameter for selected kernel tests
targeting mpfs_icicle platform.
Those tests require higher fidelity of the virtual
time flow which is achievable on multi-core platforms
in Renode by reducing the quantum.
Increase time resolution to 10us (default is 100us).
It is a maximum drift of the virtual time between
simulated processors in SMP configuration.
Signed-off-by: Marek Slowinski <mslowinski@antmicro.com>
The device is not able to place the entropy into stack or heap allocated
buffers. This uses a bounce buffer to be able to use any buffer with
virtio entropy.
Signed-off-by: Juliusz Sosinowicz <juliusz@wolfssl.com>
This disables the kconfigs to build the reset vector and crt1
startup code from the architecture layer as ACE has its own
rom_entry() as entry point.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
When an eventfd is closed, while we are blocked in a read() call, the
close() call should succeed and read should return error.
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
k_condvar_broadcast does not error. It returns the number of
woken threads on success. We should not assert any value.
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
When eventfd is used through read(2) and write(2), the mutex is
already locked from the fdtable implementation. So we remove the
usage of the mutex from the zvfs_eventfd_*_op functions, as it is
already managed by fdtable.
However, when zvfs_eventfd_{read,write} are used, no fdtable layer
is used and we shuld call the _op function with the mutex locked
(the same behavior as with fdtable), so these functions should
manage the mutex. We add it there.
Fixes#99234
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
The eventfd API should work with the standard POSIX read/write
functions with the same behavior as the non-standard
eventfd_read/write API.
We add the tests for these interfaces.
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
The default SDHC 'power-delay-ms' is 500 ms, which is unnecessarily long
and causes the boot time to increase by over 5 seconds on H7 boards with
the Murata Wi-Fi card (GIGA R1, Nicla Vision, Portenta H7).
Shortening this delay to 50 ms greatly improves boot time while keeping
compatibility with the controller spec.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Add missing TOOLCHAIN_WARNING_* definitions for the IAR toolchain:
- subsys/testsuite/include/zephyr/test_toolchain.h
- subsys/testsuite/include/zephyr/test_toolchain/iar.h
Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
IAR compiler may emit Error[Go004]: Could not inline function
when handling functions marked as always_inline or inline=forced,
especially in complex kernel code
Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
Add a minimal implementation of test_asm_inline_other.h to support
non-GNUC toolchains (e.g. IAR) during kernel benchmark tests
Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
Fix IAR compiler error Pe1153 caused by mismatched alias type between
_kernel_openocd_offsets and _kernel_thread_info_offsets.
The alias now uses [] to match the array type. No functional change.
Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
The commit c42c8a4da4 (do not invalidate bet at end of loop")
correctly restored the best erase type (bet) selection logic
based on SFDP/JESD216 erase types.
However, this caused a regression
in Octal OPI mode: when bet != NULL, the driver started using bet->cmd
(a standard SPI 1-byte opcode) directly, which is not valid in OPI mode
where the controller expects OPI opcodes (2-byte OCMD).
When bet != NULL:
- In OPI mode, ignore bet->cmd and use the OPI sector erase
opcode SPI_NOR_OCMD_SE.
- In SPI/QPI modes, keep using bet->cmd as intended.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Per RFC9112 (REF #1), HTTP/1.1 server is expected to be backward
compatible with HTTP1.0 request. Mainly HTTP/1.0 does
not support
1) Transfer Encoding : chunked
2) KeepAlives
So, this change will identify the HTTP protocol
version in the request and respond accordingly.
REF#
1) https://httpwg.org/specs/rfc9112.html
Tested:
1) Verified that HTTP/1.1 requests are served as usual
i.e. with chunked transfer encoding and the connection
is a Keep Alive connection
Query exits after 10s, indicating that the client connection to
the HTTP server is a Keep Alive.
```
time printf "GET /telem HTTP/1.1\r\nHost: 192.0.3.11\r\n\r\n" |
nc 192.0.3.11 80
real 0m10.185s <- Indicates connection was kept active for 10s
user 0m0.023s
sys 0m0.023s
```
`Transfer Encoding : chunked` header and chunked encoding
metadata (chunk size hex bytes, crlf, termination byte 0)
are present in the response.
```
HTTP/1.1 200 OK
Transfer-Encoding: chunked <- Chunked encoding header
Content-Type: text/html
3e8 <- Chunk size hex bytes
:
/health/secondsdevice_ae:9a:22:48:0f:70"seconds0
+
/health/locatedevice_ae:9a:22:48:0f:70"0
/
/network/mac-addressdevice_ae:9a:22:48:0f:70"
.
.
.
3e8 <- Chunk size hex byte
_PLUS_rawdevice_ae:9a:22:48:0f:70"0
6
/dev/ISHARE_CBU_MINUS_rawdevice_ae:9a:22:48:0f:70"0
.
.
.
/dev/part_iddevice_ae:9a:22:48:0f:70"0���������
,
/dev/part_typedevice_ae:9a:22:48:0f:70"0
7
/dev/part_telemetry_disabledevice_ae:9a:22:48:0f:70"0
0 <- Termination Byte 0
```
2) Verfied that HTTP/1.0 requests are served with
response without chunked transfer encoding and the
connection is closed immediately.
Query exits immediately indicating the connection is closed immediately
```
time printf "GET /telem HTTP/1.0\r\nHost: 192.0.3.11\r\n\r\n" |
nc 192.0.3.11 80
real 0m0.186s <- Indicates connection was terminated immediately.
user 0m0.018s
sys 0m0.030s
```
`Transfer Encoding : chunked` header and chunked encoding
metadata (chunk size hex bytes, crlf) not present in the
response
```
HTTP/1.1 200 OK
Content-Type: text/html
:
/health/uptimedevice_ae:9a:22:48:0f:70"seconds0
+
/health/locatedevice_ae:9a:22:48:0f:70"0
/
/network/mac-addressdevice_ae:9a:22:48:0f:70"
.
.
.
3
/dev/part_iddevice_ae:9a:22:48:0f:70"0���������
,
/dev/part_typedevice_ae:9a:22:48:0f:70"0
7
/dev/can_telemetry_disabledevice_ae:9a:22:48:0f:70"0
```
Signed-off-by: Nikhil Namjoshi <nikhilnamjoshi@google.com>
Commit adds `bt_mesh_` prefix to `struct app_key`
to make it compatible with other internal API.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Commit adds option description to keep keys in sync
between mesh core and cdb implementations.
Option changes default behavior so it should be added to
the release notes.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Commit disables key synchronization for mesh provisioner sample
to not refactor it according to key synchronization implementation.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Commit adds bsim tests those check key synchronization
between core implementation and cdb. Tests check both
network and application key synchronization.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
bsim persistent test does not require cdb subnetwork update
for not primary network keys anymore.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Commit adds functionality that synchronizes network and
application keys between mesh core and cdb.
Additionally, subnetwork bridge bsim tests were fixed since
cdb cannot allocate subnetwork if it exists.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Event about application key changes has been refactored.
Event provides access to the corresponding applicarion key
structure instead just key indexes.
The related code has been moved from mesh.h to app_keys.h.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
eswifi_off_enable_dhcp() ignored the return value of eswifi_at_cmd()
and always reported success, making the error check at the call site
always false.
Return the command result to properly propagate failures.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Add migration guide documentation about the impact of the new
st,adc-resolutions property.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Some internal _CONCAT* macros were used throughout the file. Replace them
with the simple CONCAT macro.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Now that the STM32 ADC resolution property do not use special macros
anymore, these include files can be removed.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Remove old resolutions property from the st,stm32-adc binding and from all
ADC nodes of all STM32 dtsi since it is no longer used.
Also remove some now unnecessary includes from the dtsi.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Rework the way to set the STM32 ADC resolution.
Instead of using special macros in device tree, supported resolutions are
now simply listed as an array.
From this array, the driver defines two tables. The first contains the same
values as the array, the second contains the LL macros for each resolution.
When setting the resolution, the driver checks the value with the first
table, then sets it with the second table.
The two tables are defined for each enabled ADC instance so there are no
conflicts if different ADC have different resolutions.
For STM32H7, this changes the internal values used for 14 and 12-bit
resolutions, from 0b101/110 to 0b001/010 respectively, i.e. it uses the
so-called "legacy" resolutions instead of the "power-optimized" ones.
Note that AN5354 indicates: "The optimized modes have better power
consumption figures. The standard modes have better parameters, but
power consumption is not optimized and is comparable to 16-bit mode."
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Add a new st,adc-resolutions property for STM32 ADC. This property takes
a simple array of the supported resolutions. Goal is to replace to previous
resolutions property.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
The esp_data pointer is no longer used after removing the premature
_sock_connect() call. Drop the unused variable.
_sock_connect() call was removed by c368c33.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Fix typos in property descriptions in the NRFS SWEXT power domain
binding.
No functional change.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Align Kconfig USE_STDC_LSM6DS3TR with hal_st
Fixes zephyrproject-rtos/zephyr#53546
See also hal_st PR #22
Signed-off-by: Douglas Holtsinger <doug.holtsinger@gmail.com>
This code was deprecated and removed from the documentation many
releases ago, remove the feature from the code
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Add the config to support that warning message time
interval can be set.
We also find that printing all the warning messages
takes about 50ms on Chromebook. Therefore, we increase
the default time to 100ms to leave some time for EC to run
non-print instructions.
Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
__eswifi_listen() ignored errors from eswifi_at_cmd() and always
reported success, leaving the local error variable unused.
Return an error when setting the listen backlog fails and avoid
marking the socket as a server in that case.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Adds bindings for communicating with the MCTP protocol over I3C with IBI
for signaling.
Notably I3C currently requires devices on the bus be struct device's the
way the Nuvoton driver is written and the API is written. So we create a
little glue driver (mctp_i3c_endpoint) to allow us to later bind a aptly
named mctp_i3c_controller MCTP binding.
On the target side the only usable driver for target mode is Nuvoton's.
Nuvoton's driver only implements the optional buffer read/write
callbacks rather than the read/write byte at a time callbacks. This is
actually probably for the better but it does mean this binding requires
those optional target mode functions.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
so that time-consuming I/O takes place in the background. This is
especially important when writing to multiple long LED strips.
This commit mostly mirrors what was done in the pl022 driver and the
rpi_pico_pio_spi driver, including the needed DT configuration. DMA will be
used if `CONFIG_DMA` is enabled and proper `tx` channel is defined in the
DT.
The DT overlay I used when testing:
```
&pio0 {
status = "okay";
pio-ws2812 {
compatible = "worldsemi,ws2812-rpi_pico-pio";
status = "okay";
pinctrl-0 = <&ws2812_pio0_default>;
pinctrl-names = "default";
bit-waveform = <3>, <3>, <4>;
/* This device has no tx channel configured so DMA will NOT
* be used. */
ws2812_1: ws2812_1 {
status = "okay";
gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
chain-length = <1>;
color-mapping = <LED_COLOR_ID_GREEN
LED_COLOR_ID_RED
LED_COLOR_ID_BLUE>;
reset-delay = <280>;
frequency = <800000>;
};
/* This device has proper tx channel configured so DMA will
* be used. */
ws2812_2: ws2812_2 {
status = "okay";
gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>;
chain-length = <64>;
color-mapping = <LED_COLOR_ID_RED
LED_COLOR_ID_GREEN
LED_COLOR_ID_BLUE>;
reset-delay = <280>;
frequency = <800000>;
dmas = <&dma 1 0 0>;
/* DMA slot will be
* determined by the driver so what's in here
* doesn't matter. */
dma-names = "tx";
};
};
};
&dma {
status = "okay";
};
```
Signed-off-by: Terry Geng <terry@terriex.com>
to guarantee two updates to ws2812 happen not faster than the required
reset time of ws2812. Using `k_usleep` forces a context switching, which
might be unnecessary if two time between update calls are not as frequent
as the reset time (which should be the most of the case anyways).
Signed-off-by: Terry Geng <terry@terriex.com>
Add a board overlay for the qemu_cortex_a9 board to build the
Synopsys DesignWare MAC driver for MMU platforms.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Add a test case to build the Synopsys DesignWare MAC driver for STM32H7
series SoCs. This drivers is an alternative to the existing ETH_STM32_HAL
driver. As such both drivers cannot be enabled at the same time.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
DWMAC driver was no longer selectable for stm32h7
series because of CONFIG_ETH_DWMAC dependency on
DT_HAS_SNPS_DESIGNWARE_ETHERNET_MMU_ENABLED, which
is only used for MMU based platforms.
Restructure Kconfig to have user-selectable options
for the platform-specific DWMAC drivers and select
the common DWMAC driver accordingly. This way
platform-specific dependencies can be tracked on
these options, simplifying the logic.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Introduces a GPIO driver that provides generic interfaces
for both interrupt-driven inputs and controllable outputs.
Signed-off-by: Manojkumar Konisetty <manoj@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
- Add LED0 and SW0 support to CY8CPROTO-041TP board
- This enables applications to use led0 and sw0 through
standard Zephyr subsystems without additional board-specific
configuration.
Signed-off-by: Manojkumar Konisetty <manoj@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Refactor the CY8CPROTO-041TP board definition by extracting common
configurations into \`cy8cproto_041tp_common.dtsi\`. This improves
reusability and structure.
Additionally, refactored the nodes accordingly and configure necessary
system clocks:
- Configure 16-bit peripheral dividers.
- Enable clock paths.
Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Update the Infineon clock control drivers to support PSoC4 and
enhance error handling.
- Add support for ILO, WCO, and EXT clocks in fixed clock driver.
- Update fixed factor clock driver to handle PSoC4 specific HF
clock source setting and add error checking.
- Update peripheral clock driver to support fractional dividers
- Improve error handling across all updated drivers.
Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Update the system clock device tree definitions for the Infineon
PSoC4100TP series.
Refactor the peripheral divider nodes in `system_clocks.dtsi` to
align with the hardware specifications. This includes renaming nodes
and updating group associations for correct clock configuration.
Update `infineon,peri-div.yaml` binding to support the changes.
Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Update all Infineon PSoC4100TP device tree nodes to use current
binding naming convention by removing the 'cat1-' prefix
Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Add clock source definitions for the Infineon PSoC4 series.
This introduces the \`ifx_clock_source_psoc4xx.h\` header with
HFCLK divider macros and integrates it into the board clock
source selection.
Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
Reintroduce the assert on put_idx being within the limit in can_mcan_send()
but move it to just after the value was determined and add a comment on its
purpose.
With the current code, this will never get triggered due to the tx_sem
being acquired before (meaning a free TX slot was acquired).
Avoid assigning a signed initial literal to an unassigned type.
Fixes: 8dc4dea112
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
The idle enter was being traced but idle exit was not.
This change adds the missing call to sys_trace_idle_exit()
to the idle exit path for the it51xxx and it8xxx2 SoCs.
Signed-off-by: Rob Barnes <robbarnes@google.com>
RSR handling is already implemented in pl011_err_check(), which is the
appropriate place to detect, and report receive error conditions.
This also aligns poll_in() behavior with pl011_fifo_read(), which reads
and delivers characters without returning RSR status to the caller.
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
Make Domain's class constructor accept python object to avoid redundant
YAML serialize and unserialize which may introduce potential yaml type
errors.
Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
Add input validation to single-pin GPIO APIs (e.g., gpio_pin_configure)
and emulator-specific helpers to return -EINVAL for invalid pins. This
ensures tests correctly fail when targeting non-existent pins.
For standard port-wide APIs (e.g., gpio_port_set_bits_raw), align behavior
with hardware drivers by masking out invalid pins instead of returning an
error. This mimics hardware behavior where writing to unimplemented bits
is ignored, and ensures compatibility with generic tests that use full
32-bit masks (e.g., 0xFFFFFFFF).
Signed-off-by: Jayvik Desai <jayvik@google.com>
Add a documentation section about the KeepSorted compliance check and
which options it provides.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
i3c_bus_mode() is duplicated across several drivers. Move it into
i3c_common.c to eliminate that.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
soc_per_core_init_hook() is usually called from arch_kernel_init() and
arch_secondary_cpu_init() which are C functions. As such, there is no need
to check for CONFIG_SOC_PER_CORE_INIT_HOOK since platform/hooks.h provides
a no-op function-like macro implementation if the Kconfig option is not
enabled.
Remove the Kconfig option check from all files.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
- Replace CONFIG_ESP32_WIFI_AP_STA_MODE with CONFIG_WIFI_USAGE_MODE_STA_AP
- Move AP-STA mode enable/disable control to prj.conf
- Update documentation to reflect new configuration option
- Remove redundant Wi-Fi NM and SoftAP options from RW612 board configs
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
Take PLL fractional part into account when computing PLL output rate
for stm32h7xx and stm32h7rs based targets.
Co-authored-by: Tim Pambor <tim.pambor@codewrights.de>
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Add the memory-regions property to mac in stm32h7rs.dtsi,
same as in stm32h7.dtsi, and set sram2 as default. Also add
the #memory-region-cells to sram2 and sram1 nodes.
Override the sram2 as default with sram1 in stm32h7s3.dtsi and
stm32h7s3.dtsi since sram2 is disabled per default.
Add the same checks as for h7 series to mpu_regions.c and sections.c.
Signed-off-by: Benjamin Klaric <benjamin.klaric01@gmail.com>
Use the memory-regions property in stm32h7.dtsi to explicitly locate
ethernet buffer and descriptor to an sram region. Set sram2 as default
and override with sram3 when available, in soc level .dtsi files.
Add #memory-region-cells to sram2 and sram3 nodes in specific .dtsi
files in dts/arm/st/h7, since it is needed by the memory-regions
property.
Add a check for memory-regions before the check and definition of the
sram_eth_node in mpu_regions.c and sections.ld.
Signed-off-by: Benjamin Klaric <benjamin.klaric01@gmail.com>
Add the compatible for h5 series for ethernet. The h5 series needs
it own because the memory-regions property isn't currently supported
by the implementation.
Add the h5 compatible to stm32h563.dtsi, in mac node.
Adjust the description in h7 compatible to remove the mention of h5
series, as now h5 series has it's own.
Signed-off-by: Benjamin Klaric <benjamin.klaric01@gmail.com>
When output from ruff check subprocess is not in JSON format
compliance script raises an exception without any useful information
about the error. This commit improves that by printing output from
subprocess in case of error.
Signed-off-by: Lukasz Fundakowski <lukasz.fundakowski@nordicsemi.no>
i2c_burst_write is not portable,
as it is not supported by some drivers,
replace its use with i2c_write.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
i2c_burst_write is not portable,
as it is not supported by some drivers,
replace its use with i2c_write.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
i2c_burst_write is not portable,
as it is not supported by some drivers,
replace its use with i2c_write.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
i2c_burst_write is not portable,
as it is not supported by some drivers,
replace its use with i2c_write.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
i2c_burst_write is not portable,
as it is not supported by some drivers,
replace its use with i2c_write.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
i2c_burst_write is not portable,
as it is not supported by some drivers,
replace its use with i2c_write.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
i2c_burst_write is not portable,
as it is not supported by some drivers,
replace its use with i2c_write.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
i2c_burst_write is not portable,
as it is not supported by some drivers,
replace its use with i2c_write.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
The binary-info feature that introduced in #54290 causing trouble
with some rp2xxx variant boards.
Turning off this feature defaultly to solve these problems.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
This commit aims to declare and call NAT64 functions used by Border
Router application only if corresponding flag is also set.
Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
Make use of CONFIG_OPENTHREAD_ZEPHYR_BORDER_ROUTER_NAT64_TRANSLATOR flag in
platform code.
Fixed some compile warnings in `mdns_socket.c` when IPV4 is not enabled,
by moving some variables under `CONFIG_NET_IPV4` define
Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
This config flag sets all the requirements and dependencies for NAT64
translator enablement. By default, NAT64 translator is enabled in an
OpenThread Border Router application.
Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
Those were needed when uoscore-uedhoc was using "mbedtls_pk_ec()" function
to uncompress EC points. The library has been updated since then and
this legacy function is no more required. As a consequence also legacy
Kconfigs can be removed as well.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Remove dependency on legacy Mbed TLS legacy crypto functions which have
been removed in the latest Mbed TLS/TF-PSA-Crypto release.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Implement pm device runtime to resume PWM devices before they are
used, and put them after, for platforms which use and enable pm
device runtime.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The ipv4 code now filters for multicast packets for non joined groups,
make sure the test join the group before trying to create traffic on
that address.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add a check to drop ipv4 multicast packets that are not matching any
currently registered multicast group for the interface that received
them.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The CMake extensions module depends on the yaml module, but extensions did
not explicitly include yaml.
When using find_package(Zephyr ...) with no components specified this
issue is not seen as zephyr_default is included which includes many other
modules, including yaml and extensions.
However, when find_package(Zephyr ... COMPONENTS ...) is used only the
components specified are included, which can result in a build error. For
example, using find_package(Zephyr ... COMPONENTS FindHostTools ...)
includes FindHostTools, which includes extensions, which depends on yaml
but doesn't include it.
This issue is fixed by including yaml in extensions.
Signed-off-by: Ben Marsh <ben.marsh@helvar.com>
The existing sram node wiring is incorrect as it starts from 0x0, where the
TCM is mapped. The TCM size is 128 KB (with TCM A having 64 KB, TCM B 32
KB, and TCM C 32 KB). While TCM and DDR are mapped contiguously, to avoid
having TCM addresses in sram region to prevent potential DMA failures. The
address view of TCM for the RPU differs from that of other DMA masters,
which can cause DMA failures if DMA buffers are allocated in the TCM
region. Therefore, start sram region from 0x30000 (192 KB) to prevent DMA
buffer allocation within the TCM region.
Note: Although the TCM size is 128 KB, the SRAM region base address set to
192 KB to align with the QEMU models, where additional 64 KB memories are
mapped beyond the TCM.
Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
This patch modifies k_timer_status_sync() to idle the CPU when MT
is disabled, instead of busy-looping. For this purpose, the spinlock
in the MULTITHREADING=n case has been reduced to a irq_lock(),
which works in pair with k_cpu_atomic_idle() to ensure the atomicity
of enabling the IRQs and idling the CPU.
Signed-off-by: Emanuele Di Santo <emdi@nordicsemi.no>
Since this file is not built with the documentation system,
some of the references didn't work. References to tools, boards,
etc. have been encapsulated by the appropriate ticks.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Move the assignment of the callback function and user data within the mutex
lock when adding CAN RX filters to prevent race conditions.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Remove useless asserts. These indexes are determined via a for loop which
already uses the asserted value as its maximum.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Add support for configuring the SysTick clock source via devicetree
using a new `clock-source` property. This allows selecting between
the external reference clock (0) and the processor clock (1).
Previously, the driver always set the CLKSOURCE bit, forcing the use
of the processor clock. This change introduces a helper function
`systick_ctrl_clksource_flag_from_dt()` that reads the devicetree
property and returns the appropriate CTRL register flag.
The CTRL register is now programmed deterministically using direct
assignment instead of `|=` to ensure the CLKSOURCE bit is properly
cleared when switching to external clock, preventing potential
interrupt storms when CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC reflects
the external clock rate.
If the property is absent, the driver defaults to legacy behavior
(processor clock).
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Without removing this line, I would get a warning (promoted to error) that
the symbol was being redefined in either `net_ip.h` or
`posix/net/if_arp.h`. Actually, `posix/net/if_arp.h` probably should not
exist, but that is part of a separate PR.
Signed-off-by: Chris Friedt <chris@fr4.co>
Use zsock APIs rather than POSIX APIs in net subsys tests.
The primary last remaining API call was `fcntl()` and related
constants, strings, etc.
It's convention to use native zephyr APIs in the testsuites and
POSIX APIs in samples.
Signed-off-by: Chris Friedt <chris@fr4.co>
After iface was link up, the IPv4 multicast address was added to iface
repeatly. This patch is to fix this.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Add support for handling a gpio connectd to the device enable pin, this
has to be driven high to enable the device, and can be pulsed low to
reset the registers to the default configuration.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The LCD_CAM peripheral is a parallel I/O controller integrated in the ESP32
series. It consists of an LCD output module and a DVP camera input module.
The camera side is already supported in Zephyr as a video driver.
This commit adds support for the LCD module by implementing it as a
MIPI-DBI backend. The LCD_CAM supports multiple output formats, and the
initial implementation provides I8080 mode.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
The former `&lcd_cam` node has been split into an `&lcd_cam` controller
and an `&lcd_cam_dvp` subdevice. Update the board DTS accordingly.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
The former `&lcd_cam` node has been split into an `&lcd_cam` controller
and an `&lcd_cam_dvp` subdevice. Update the board DTS accordingly.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
Move the shared pinctrl and clock initialization for the LCD_CAM peripheral
from the ESP32 DVP driver into a new SoC-level implementation.
Update the ESP32-S3 DTS to reflect the new structure by introducing an
`lcd_cam_dvp` child node under the common `lcd_cam` parent node.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
Rename the ESP32 LCD_CAM DVP driver and its DT binding from
`espressif,esp32-lcd-cam` to `espressif,esp32-lcd-cam-dvp` to clearly
identify it as the DVP (camera) input block of the LCD_CAM peripheral.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
C99 § 7.19.6.5 defines `snprintf`. According to ¶ 2:
> If `n` is zero, nothing is written, and `s` may be a null pointer.
And according to § 7.19.6.12 ¶ 2:
> The `vsnprintf` function is equivalent to `snprintf` (...)
However, prior to this change, `vsnprintfcb` (and indirectly, `snprintfcb`)
unconditionally null-terminates the output buffer.
This fixes#48394, which was auto-closed without actually being fixed.
Co-authored-by: Adrien Lessard <adrien.lessard@rbr-global.com>
Signed-off-by: Samuel Coleman <samuel.coleman@rbr-global.com>
The goal is to slowly convert all Microchip MEC to in-tree drivers
and support code (no HAL). We had partial HAL support for MEC172x
as the mech172x folder. We are removing HAL based mech172x since HAL
will be deprecated in the future and it has no board support.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
In-progress add Microchip MEC to PINCTRL test.
Note: This test only checks the pinmux value created by
device tree. It does not check the pin configuration.
We enhanced the tests by checking GPIO control register field(s)
match the device tree properities.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
As part of the long term HAL deprecation goal, we add PINCTRL
files for MEC174x, MEC175x, and MEC1653B.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
GPIO hardware in Microchip MEC parts is the same except for the MUX
field (number of alternate functions). We modify the old XEC PINCTRL
driver to work on all MEC parts and also be independent of HAL and
CMSIS register structures. During development we found a DT issue
with DT_ENUM_IDX_OR always inserting the default value. Worked around
by converting slew rate and drive strength to YAML integer type and
created defines for the values in the dt-bindings header.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
Enabled async read function for NXP SAR ADC driver by implementing
nxp_sar_adc_read_async() and modifying nxp_sar_adc_read() to call it
with a NULL signal for synchronous operation.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. enable adc_sequence test for frdm_mcxa156
2. use DMA to transfer ADC conversion data in this sample
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Allow alarm_cfg->ticks to be 0 for immediate callback execution.
When ticks equals 0, set the interrupt pending instead of returning
-EINVAL, causing the ISR to fire immediately.
Implementation:
- Add irq_set_pending()/irq_is_pending() helpers for NVIC and GIC
- Store IRQ number in device config for pending operations
- Refactor timer state handling to eliminate duplication
- Update get_pending_int() to check both HW flags and NVIC/GIC state
This supports idle timer use cases where sleep duration may be zero
and eliminates the need for special-case handling in application code.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Add device tree property to configure LPTMR free-running mode instead
of hardcoding it to disabled.
The freerunning property controls counter reset behavior:
- If false (default): Counter resets after compare match
- If true: Counter resets only on overflow, continues after compare
This allows per-instance configuration of the LPTMR timer mode based
on application requirements without code changes.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Added mikrobus_serial and mikrobus_header node labels to EK-RA4L1
device tree board definition, allowing compatible shield boards to
be used.
Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
Disable the automatic handling of the `NET_EVENT_IF_UP` event when the
WPA supplicant is enabled, as the supplicant already explicitly calls
`net_dhcpv4_restart` when the interface is ready for use. This fixes
the DHCP binding process being restarted before the interface is ready
(after `NET_EVENT_IF_UP`, before authorization), which always fails.
Signed-off-by: Jordan Yates <jordan@embeint.com>
set_sequencer() never reports errors and always returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
csr_write(), csr_set(), and csr_clear() use GNU C statement expressions,
which triggers SonarQube/clang warnings like:
use of GNU statement expression extension from macro expansion
Rewrite these write-only macros as do { ... } while (0) statement macros.
No functional change expected.
Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
Correct the description in the "What Cannot be Expected to Work" section
to state that the listed functionality fails when CONFIG_MULTITHREADING
is **disabled**, as the previous wording implied the opposite.
Fixeszephyrproject-rtos/zephyr#101718
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fixes a small typo in the example which, if copied, would result
in a error in the python file
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
gpio_pin_set_dt() return value was not assigned when pulling the
reset GPIO high, making the subsequent error check always false.
Store the return value to properly detect and report failures.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
This commit replaces in the documentation of uart_tx_abort()
function, the generated event type `UART_TX_DONE` with the
correct one: `UART_TX_ABORTED`.
Signed-off-by: Sebastian Panceac <spanceac@gmail.com>
frdm_mcxaxx6: frdm_mcxa266, frdm_mcxa346, frdm_mcxa366
1. enable power_mgmt_soc test for NXP frdm_mcxaxx6 board.
2. enable systick and disable ostimer, this enabled systick
as system timer.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
mcxaxx6: mcxa266, mcxa346, mcxa366.
1. Add power state nodes for mcxaxx6, including
sleep, deepsleep and powerdown.
2. Add power management related peripheral nodes
for mcxaxx6, including spc, cmc, vbat and wuu.
3. Add 'zephyr,cortex-m-idle-timer' node in frdm_mcxaxx6.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. enable power_mgmt_soc test for NXP frdm_mcxa153 board.
2. enable systick and disable ostimer, this enabled systick
as system timer.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. Add power state nodes for mcxa153, including
sleep, deepsleep and powerdown.
2. Add power management related peripheral nodes
for mcxa153, including spc, cmc, vbat and wuu.
3. Add 'zephyr,cortex-m-idle-timer' node in frdm_mcxa153.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. enable power_mgmt_soc test for NXP frdm_mcxa156 board.
2. enable systick and disable ostimer, this enabled systick
as system timer.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. Add power state nodes for mcxa156, including
sleep, deepsleep and powerdown.
2. Add power management related peripheral nodes
for mcxa156, including spc, cmc, vbat and wuu.
3. Add 'zephyr,cortex-m-idle-timer' node in frdm_mcxa156.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
- Moves nxp,imx-gpt.yaml from the timer to the counter folder,
as this is the binding for the counter driver
drivers/counter/counter_mcux_gpt.c
- Fixes: #100947
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
this commit enables building and running the sample on
stm32h573i_dk board,stm32h735g_disco board, arduino_giga_r1
board, and b_u585i_iot02a board by providing the required overlay
and configuration updates.
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
Signed-off-by: Sarah Younis <zephyr@exalt.ps>
Signed-off-by: Mohammad Odeh <zephyr@exalt.ps>
This commit introduces support for the mspi and ospi drivers on STM32,
enabling functionality APIs for MSPI/OSPI/QSPI host controllers..
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
Signed-off-by: Sarah Younis <zephyr@exalt.ps>
Signed-off-by: Mohammad Odeh <zephyr@exalt.ps>
This commit adds the main DTS configurations required
to enable MSPI/OSPI/QSPI support on STM32.
Signed-off-by: Sara Touqan <zephyr@exalt.ps>
Signed-off-by: Sarah Younis <zephyr@exalt.ps>
Signed-off-by: Mohammad Odeh <zephyr@exalt.ps>
Raspberry pi based boards are now using binary info by default
(96b9b0f2df), and that limits pinctrl groups to 4 or 6 nodes. Split
this node in multiple groups.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
set_iir_config() dereferences the device pointer before checking it
against NULL, making the defensive check ineffective.
Remove the redundant check.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
This patch adds support for the QSPI memory controller (for the
SiWG917 SoC) in order to enable PSRAM testing. It also adds board
overlays for this family that include PSRAM.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Previously, eventfd file descriptors were not being counted against the
required size for the global file descriptor table, which would result
in the function `eventfd()` (and `zvfs_eventfd()`) failing due to
insufficient resources.
Signed-off-by: Chris Friedt <chris@fr4.co>
This driver uses math functions that require the math.h header. If not
included a lot of implicit declaration warnings are generated during
build.
Signed-off-by: Tanguy Raufflet <tanguy.raufflet@savoirfairelinux.com>
Add the node I3C4 in non-secure context to dtsi. Others I3C nodes cannot
be added as they rely on EXTI1 interrupt lines that is not supported yet
for the STM32MP2.
Co-authored-by: Charles Wenger <charles.wenger@savoirfairelinux.com>
Signed-off-by: Tanguy Raufflet <tanguy.raufflet@savoirfairelinux.com>
Since the STM32MP2 I3C controller uses a combined interrupt line for I3C
events and errors, add the support for handling this type of interrupt
in the I3C driver.
Signed-off-by: Tanguy Raufflet <tanguy.raufflet@savoirfairelinux.com>
This adds a test case to the access BSIM tests to check that vendor
models can specify a handler for and receive messages using a
SIG-defined 1-byte opcode.
Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
This fixes a limitation where the stack assumed that vendor models could
not specify handlers for SIG-defined (1- or 2-byte) opcodes. This
assumption does not exist in the specification. In fact, the
specification expects this very use-case to be possible, in MeshPRT 1.1,
section 3.8.3:
> To exchange messages with a Bluetooth SIG adopted model, a Vendor Model
> shall use the Access message defined for the Bluetooth SIG model.
Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
This deprecates CONFIG_BT_MESH_MODEL_VND_MSG_CID_FORCE. This option was
added to allow an optimization that a) only can apply in edge case
networks that use multiple vendor models with different CIDs, b) doesn't
really have much potential gains even in this case unless there is a
large number of opcodes in these vendor models, and c) makes it
impractical to implement support for vendor models handling SIG opcodes.
Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
Since the entire cid checking function is conditionally included based
on KConfig, the usage site also needs to use #if instead of IS_ENABLED,
otherwise you get the following warning during compilation when the
option is disabled:
`error: implicit declaration of function
‘bt_mesh_vnd_mod_msg_cid_check’`
Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
Implement eeprom_target_program() using eeprom_target_write_data() and
eeprom_target_read() using eeprom_target_read_data() to limit redundant
code.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
eeprom_target_program() is about to become deprecated as it does not take
an offset argument, so switch to eeprom_target_write_data() instead.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The current functions to access the EEPROM data are not ideal, E.G.:
- eeprom_target_program() is hard coded to write to the beginning of the
EEPROM data
- eeprom_target_read() reads a single byte, so large overhead to read all
data
So as an alternative, add an interface similar to what is provided by
zephyr/drivers/eeprom.h, E.G. functions taking an offset and and length.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
For some use cases it can be interesting to know when the eeprom has been
written to by the I2C host (E.G. once a stop has been received after a
write transaction), so add a "changed" callback.
Multiple EEPROM instances are supported, so pass the device and user data
as arguments to the callback.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Updated the MMU region entries for the GIC device to use
MT_DEFAULT_SECURE_STATE instead of MT_NS,
aligning the security attribute with the default secure sate macro.
Signed-off-by: Niu Zhihong <zhihong@nzhnb.com>
use the allow-list generated by --keep-artifacts whenever
cleanup_artifacts() is called. This resolves an issue where this allow-list
was not being honored when using the --prep-artifacts-for-testing flag.
Signed-off-by: Mike Szczys <mike@golioth.io>
Reduce the test time by ~300 seconds by mocking the listed serial port
Result from running:
pytest --durations=0 ./scripts/tests/twister/test_handlers.py
Before:
60.12s test_devicehandler_handle[valid pty]
60.12s test_devicehandler_handle[communicate timeout]
60.06s test_devicehandler_handle[popen called process error]
60.05s test_devicehandler_handle[valid dev]
60.03s test_devicehandler_handle[nonzero returncode]
0.01s test_devicehandler_handle[create serial failure]
After:
0.01s test_devicehandler_handle[valid dev]
0.01s test_devicehandler_handle[valid pty]
0.01s test_devicehandler_handle[nonzero returncode]
0.01s test_devicehandler_handle[create serial failure]
0.01s test_devicehandler_handle[communicate timeout]
0.01s test_devicehandler_handle[popen called process error]
Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
Binary Info embeds program meta information in flash,
which can be viewed with RaspberryPi Pico's `picotool`.
Metadata is automatically collected from pinctrl.
It can be override by the Kconfig configurations, such as
```
CONFIG_RPI_PICO_BINARY_INFO_OVERRIDE_PROGRAM_NAME="my program name"
```
When this feature is enabled, pinctrl groups are restricted to
consisting of pins with a single rpi_pico function.
In other words, SPI's MISO and MOSI can be in the same group,
but I2C's SDA cannot be included in this group.
This is rarely an issue in normal use,
and can be resolved by dividing them into separate groups.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
The binary info feature references `boot_stage2` and `pico_binary_info`.
Add these to include dirs.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
When transceive is called on a chip without CONFIG_SPI_STM32_INTERRUPT,
spi_stm32_shift_frames was called even if there was no transfer ongoing.
This lead to an unwanted SPI transfer shifting the whole connection,
causing drivers to malfunction.
Fix it by replacing the do-while loop with a while loop.
Signed-off-by: Robyn Milas <robyn.milas@valotec.com>
The following examples build and work as expected.
Blink backlight using PWM on white backlight keyboard or numpad:
> west build -p -b framework_laptop16_keyboard samples/basic/blinky_pwm
Blink capslock on keyboard (not numpad or macropad):
> west build -p -b framework_laptop16_keyboard samples/basic/blinky_pwm
> west build -p -b framework_laptop16_keyboard samples/subsys/usb/console
> west build -p -b framework_laptop16_keyboard samples/subsys/usb/cdc_acm
> west build -p -b framework_laptop16_keyboard samples/drivers/adc/adc_dt
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Enabled servo port GP0. Added commented-out entries for the other ports,
as is done for the other overlay files.
Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
Add a trailing space to the Ruff error message string in the compliance
checking script. Previously, the error message concatenated the URL and
the description with a colon (e.g., ".../unsorted-imports:Import").
This caused the terminal to interpret the description as part of the URL,
resulting in a 404 error when clicked.
Signed-off-by: Thamaraimanalan M <devthamaraimanalan.m@gmail.com>
The debug/stack.h header uses k_thread types and APIs such as
struct k_thread, k_thread_stack_space_get(), and k_thread_name_get(),
but does not include <zephyr/kernel.h>.
This makes the header rely on transitive includes, which can lead to
build failures depending on include order.
Add an explicit include of <zephyr/kernel.h> to make the header
self-contained.
Signed-off-by: Michele Sardo <msmttchr@gmail.com>
Since e150ffb92c, Zephyr only really
supports native_simulator based targets when building native/posix
arch based targets.
So this comment is not relevant anymore. Let's remove it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Until now transmission FIFO was not used.
With this chamge the FIFO will be filled up, until it is full.
Signed-off-by: Daniel Fladerer <d.fladerer@gmx.de>
Updates the time slicing image in the associated documentation to ...
1. Show the resetting of a time slice after scheduling a new thread
2. Indicate that it is specific for UP scheduler
It also adds a note to the documentation describing how the ordering
of the threads would change with the SMP scheduler.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Commit e7f222a fixed the bug where a data size mismatch produces unexpected
behavior with the DMA on V1 devices. However, this limitation is only valid
for the STM32 series with V1 DMA, V2 doesn't have this. The STM32CubeMX
configuration tool correctly implements this limitation in the UI,
it is a good way to cross-check.
Signed-off-by: Benedek Kupper <kupper.benedek@gmail.com>
Add property to enable eMIOS instances to reference a global timebase
provider, either from itself or another eMIOS instance, enabling
synchronized timing operations across multiple instances.
Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
The setup.sh script of the Zephyr SDK runs "which cmake"
to find out whether CMake and wget are installed:
71df6c27da/scripts/template_setup_posix (L43)
"which" is not installed by default on Arch Linux,
so the check will fail and the script will yield:
Zephyr SDK setup requires 'cmake' to be installed
and available in the PATH.
Please install 'cmake and run this script again.
Although CMake is already installed.
Fix this by adding "which" to the list of dependencies.
Signed-off-by: Stefan Gloor <code@stefan-gloor.ch>
Replace legacy hand-mantained tables with the new directive that generates
a table automatically based on platform device tree.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Change at_get_string() return type to 'const char *'. Correspondingly,
change string parameters in HFP HF callbacks and related functions
from 'char *' to 'const char *' to reflect that these strings are
read-only data returned from AT command parsing.
- Update bt_hfp_hf_cb callback signatures for clip, operator,
call_waiting, and textual_representation
- Update at_get_string() return type to 'const char *'
- Update local variables in hfp_hf.c handlers to use 'const char *'
- Update shell callback implementations to match new signatures
- Change NULL check style from '!text' to 'text == NULL' for consistency
- Remove unnecessary initialization of 'number' variable in clcc_handle
This improves const-correctness and prevents accidental modification
of AT command response strings.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
1. Add power state nodes for mcxnx4x soc dtsi, including
sleep, deepsleep and powerdown.
2. Add power management related peripheral nodes
for mcxnx4x soc dtsi, including spc, cmc, vbat and wuu.
3. Add 'zephyr,cortex-m-idle-timer' node in mcx_nx4x_evk_cpu0.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
This commit enables mcx_nx4x_evk LPUART pin internal pullup resistor.
For MCXN547, during LPUAR initialization, the RX pin is pulled down
internally and STAT[RAF] is set to one. In this state, attempting to
enter low power mode will trigger LPACK reset and therefore cannot
truly enter low power mode. The correct setting should be to enable
LPUART pin internal pullup resistor.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Include files should be named .dtsi and not .dts
This PR renames the .dts files that are:
- Not board files
- Included by other dts/dtsi files
- Aligns the #include to use the .dtsi
This PR also deletes `boards/mediatek/mt8186/afe-mt8186.dts` as this is
not included by any file and is clearly not a board file.
Signed-off-by: Kyle Bonnici <kylebonnici@hotmail.com>
Fix the Kconfig dependency for CYW20829 so that enabling the
low-power system timer automatically disables the Cortext-M SysTick
Signed-off-by: Merin George <merin.george@infineon.com>
- Flash configuration was previously done in the driver selected by
Kconfig. Instead move flash configuration to the board removing
the need for ifdefs in the driver. This will allow boards to
configure specifics related to the on board (not part of the SoC)
flash.
Signed-off-by: Merin George <merin.george@infineon.com>
The current "drop" command stops i2s asynchronously as the peripheral
produces/consumes up to MAXCNT. When complete, the IRQ STOPPED event
will free memory and disable the peripheral. However, when triggering
a "start" command before this completes, the internal state variables
are cleared and we leak application memory.
Signed-off-by: Victor Brzeski <vbrzeski@gmail.com>
The nRF TDM Driver has a bitfield containing the TDM events it has
already processed. This variable is unused, delete it.
Signed-off-by: Victor Brzeski <vbrzeski@gmail.com>
Now that the west_commands directory has a pyproject.toml configuration
file, it should consider local packages for first party imports.
Make sure the top-level ruff config is extended, and fix some import
sorting.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Add a new function, bt_bap_ep_get_conn, which returns
the ACL connection for the endpoint. This works because
endpoints are specific to an ACL in BAP. The function
returns a pointer with a new reference similar to the
lookup functions from conn.h
The conn pointer was not added to the bt_bap_ep_info
struct, as doing so would be more likely to cause
reference leaks if the caller did not care about the
conn pointer when using bt_bap_ep_get_info. It can be
added later if that is requested.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
When using PAST, it is best not to use an ACL that is a multiple
of the PA or ISO interval to avoid overlaps.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Once the BASS has been discovered, the sample will now attempt
to read all the receive states on the remote device.
The receive states will only be logged, and the sample will
not (yet) perform any logic on them (to e.g. determiner whether
it needs to perform a remove source operation before the add
source, or perform a modify source). That behavior is postponed
to a future commit, as the purpose of this is to showcase
reading the receive states.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Refactor the bt_bap_broadcast_assistant_discover function
to not read receives at the end of discovery.
This makes the function more true to what it is supposed to
do, and significantly reduces the complexity of the
procedure and the read callback.
Users will be required to, if wanted, to read the
receive state themselves with the existing
bt_bap_broadcast_assistant_read_recv_state.
The start_offset had to be modified to avoid issues with
PA sync.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add support for getting the UCI.
For now the UCI will be duplicated by the TBS
implementation, but will be optimizied in the future
so only one copy of the UCI exists.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The existing documentation was not explicit on how qualifiers should be
combined with board revisions. This commit makes it explicit and adds a
concrete example.
Signed-off-by: Nick Brook <nrbrook@gmail.com>
- Update dts to ext-ram since section allocation is updated
in the display driver
- Move the Display, LVGL config definitions from board layer
to shield layer
- Update the LVGL config value to match the new SDRAM allocation
- Remove sdram.ld in the board layer for all Renesas boards
- Update .conf overlay for Renesas devices in display_read_write
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Adds a sample application for the CS40L5x haptics driver. This PR
provides a custom shell interface to expose most of the CS40L5x-specific
API functions; basic demonstrations of other functions are provided.
Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
CS40L5x is a family (CS40L50/51/52/53) of haptics drivers designed
for trackpads, tablets, and automotive applications.
This PR provides basic functionality for ROM features and serves
as a starting point for the upstream driver. Notably, RAM firmware,
SPI, and certain CS40L51/52 features (e.g., diagnostics,
closed-loop algorithms) are excluded from this PR.
Tested with internal/external boost configurations. Tested I2C.
Tested all ROM features with each device variant (50/51/52/53),
including ROM playback, "buzz" playback and configuration, custom
haptics playback and configuration, trigger playback and configuration,
runtime haptics logging, and gain configuration.
Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
The Raspberry Pi 5 product line has expanded since launch. The current
documentation only lists the original 4GB and 8GB models. This commit
updates the board documentation to include the missing variants.
Signed-off-by: Thamaraimanalan M <devthamaraimanalan.m@gmail.com>
stm32h523/33Xe devices have different addresses than stm32h562/72/73xx
(RM0481 fig. 21).
Tested on a custom board with stm32h523cet6 where the board crashed when
accessing sram3.
Signed-off-by: Cezar Burlacu <cezar@embeddedp.ro>
A few fixes to the PSOC Edge 84 Eval kit documentation by re-using
Zephyr sphinx commands.
Adds a very critical note that a switch hidden under and LCD needs to
be flipped before you can successfully program the board.
Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
Check for errors on eth_bridge_iface_add, these can add if, for example,
an interface does not support promisc mode.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
PR #93198 introduced the support for the timer kernel
clock for most STM32 series.
it was missing for STM32WB0 serie.
These changes are required for the related timer tests/samples
to pass.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
For STM32WB0x series, LL_GetFlashSize returns the flash size in words,
not bytes. The previous implementation incorrectly interpreted this
value, leading to a large discrepancy between the expected size (512 KB)
and the computed size (64 MB) in the test_get_size ztest.
This change updates the logic to correctly compute the flash size in
bytes, ensuring accurate results in size-related operations.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
- update board dts flash0 node to match the layout required
for the SWAP USING OFFSET algorithm.
- Update related test/sample yaml files to enable CI testing
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
When HAL_SDIO_WriteExtended_DMA or HAL_SDIO_ReadExtended_DMA returns
an error, interrupts are not enabled so the semaphore would never be
given, and it will always timeout.
Some drivers expect certain functions to fail during normal operation.
For example, WHD calls whd_kso_enable during sleep/wakeup cycles which
can fail. This would waste 200ms (CONFIG_SD_CMD_TIMEOUT default) on
every such failure.
Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
Changed the parameter description for _observers in ZBUS_CHAN_DEFINE and
ZBUS_CHAN_DEFINE_WITH_ID. The original description was hard to interpret
and appeared to be split by "@see struct zbus_channel".
Fixed several spelling and grammar issues.
Signed-off-by: Christoffer Gjedsted Brask <cgb@develco.dk>
hl78xx_set_apn_internal() was calling strlen(apn) before checking
the APN pointer against NULL, making the defensive check
ineffective.
Reorder the code so the NULL check is performed before dereferencing
the APN pointer.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Simplified the LPCMP driver migration notes by removing outdated
information about the devicetree compatible renaming. The compatible
nxp,lpcmp is now shared between both the sensor API-based and
comparator API-based LPCMP drivers, so the previous note about
renaming to nxp,sensor-lpcmp is no longer accurate.
Moved the comparator API-based LPCMP driver information to the
'New Drivers' directory.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. Removed nxp,sensor-lpcmp.yaml and merged its
properties into nxp,lpcmp.yaml. Now a single
dt-binding (compatible: nxp,lpcmp) is shared
by two drivers: the sensor API-based LPCMP
driver and the comparator API-based LPCMP driver.
2. Updated the driver and samples accordingly.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Ensure callee registers included in coredump.
Push callee registers onto stack for
CONFIG_ARMV6_M_ARMV8_M_BASELINE as well
when CONFIG_EXTRA_EXCEPTION_INFO enabled.
Effectively a complement to df6b8c3 by mholden.
Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
Add missing documentation for the required Wi-Fi firmware blob download
step when building for the Pico 2W variant (rpi_pico2/rp2350a/m33/w).
The Infineon CYW43439 Wi-Fi chip requires proprietary firmware files
that must be fetched before building. Without this step, users
encounter CMake errors about missing firmware files.
Added a new section explaining:
- The requirement to run 'west blobs fetch hal_infineon'
- What files are downloaded (43439A0.bin and 43439A0.clm_blob)
- That this only needs to be done once per workspace
This resolves a common issue where new users following the
documentation cannot build Wi-Fi applications successfully.
Signed-off-by: Florian Mahon <florian.mahon@gmail.com>
Swap using offset requires that slot1 has one extra sector
size compared to slot0.
These changes are necessary to execute MCUboot tests and fix
issues detected in common flash test drivers.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Similar to how it's done for other driver classes, create a new doxygen
group to put all device-specific DAC API extensions under.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Added a test suite for the RPI Pico PIT driver that tests both
functionality and erroneus inputs.
Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
Added a counter driver for the RPI Pico/RP2040 that implements
programmable interval timer (PIT) functionality using the PWM HAL.
Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
This will delay non security dependabot updates to packages,
giving automated tools and researchers more time to catch updates
with malicious intent, thus reducing the supply chain security risks.
Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
Add devicetree binding for the NXP LPC CRC controller
(compatible "nxp,lpc-crc") with required reg property.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Minimal board definition for the Elan em32f967 SOC:
- Includes DTS, YAML, and Kconfig files
- Provides board.cmake with misc-flasher for CI/build
- Actual flashing is not included in this PR
Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
Add initial support for the Elan em32f967 SoC based on ARM Cortex-M4.
Minimal SoC definition for upstream:
- soc.h, Kconfig, and CMakeLists.txt provided for completeness
- This PR does not implement drivers or UART functionality
Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
Add minimal DT binding headers and matching YAML files for the
Elan em32f967 SoC. The new definitions are required to build the
sample board and follow the upstream style.
Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
Minor improvements in this cmake:
Add a comment to clarify why we set one option, and move an if
into an else with a comment of what is doing.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This variable is not set to anything.
This line has always been just bogus.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Fix unsafe handling of the clock control subsystem pointer.
The subsystem argument was cast before being validated, which could
lead to invalid memory access when NULL is passed.
Rework the on/off callbacks to validate the subsystem pointer before
casting it, drop unnecessary device checks, and mark the device
argument as unused.
Also simplify get_rate() validation by checking only the rate
pointer.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Remove a NULL check on the device pointer that occurs after the
pointer has already been dereferenced.
This check can never be true and is therefore misleading.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
NO_POSIX_CHEATS was a macro used to avoid including the content of a
header (`posix_cheats.h`) which allowed building applications in the
POSIX architecture without the native simulator, avoiding collisions
between some embedded symbols and those from the host C library.
Support for this way of building, and this header and macro were
removed in e150ffb92c, but these users
were forgotten. This was harmless, but let's just clean it up now.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add newlib to ignore_tags so twister will no longer run newlib
tests. These platforms have memory mappings that are not quite
what newlib is expecting so malloc may sometimes fail or even
returns invalid addresses. Fixing it is not worth the effort
because:
() Zephyr SDK provides picolibc now and not newlib, and malloc
works fine with picolibc.
() Downstream projects uses xcc/xt-clang as toolchains where
their provided newlib are not multi-thread safe, and cannot
be safely used under SMP environment.
So simply ignore any newlib tests as they are not really
providing any values on these platforms.
Fixes#100895
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Instead of directly calling the current thread-specific time slice
handler in z_time_slice(), we must call a saved copy of the handler
that was made when _sched_spinlock was still held. Otherwise there
is a small window of time where another CPU could change the handler
to NULL just before we call it.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
When k_sched_time_slice_set() is called, the current time slice
should not be reset if the current thread is using thread-grained
time slicing. This is to maintain consistency with the already
established idea that thread-grained time slicing takes precedence
over the system-wide time slice size `slice_ticks`.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
This fixes several minor items related to the priority or importance
of checks in determining whether the thread can be time sliced.
A thread that is prevented from running can not be time sliced
regardless of whether it was configured for thread-grained
time slicing or not. Nor can the idle thread be time sliced.
If the thread is configured for thread-grained time slicing, then
do not bother with the preemptible or priority threshhold checks.
This maintains the same behavior, and just optimizes the checks.
If the thread is sliceable, we may as well return the size of the
tick slice since we are checking that information anyway. Thus, a
return value of zero (0) means that the thread is not sliceable,
and a value greater than zero (0) means that it is sliceable.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Within z_sched_ipi() there is no need for the thread_is_sliceable()
test as z_time_slice() performs that check. Since as a result of this
thread_is_sliceable() is now only used within timeslicing.c, the
'static' keyword is applied to it.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
When a driver requires the usage of a low level driver subsystem
(like SPI, I2C, DMA...), it shall enable it instead of depending on it.
Also, make DMA usage depend on its DT properties being defined.
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
When a driver requires the usage of a low level driver subsystem
(like SPI, I2C, DMA...), it shall enable it instead of depending on it.
Also, make DMA usage depend on its DT properties being defined.
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
Update broadcaster_multiple sample to start multiple
advertising sets of type legacy and extended advertising.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Tune the aux offset calculation overhead assertion to use
EVENT_OVERHEAD_START_US; this is the correct maximum
overhead causing ISR latency for start of a radio event that
occurs thereafter.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Enable similar Controller Kconfig features between nRF52 and
nRF5340 BabbleSIM LE Audio testing.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Disables the shell serial backend in this Kconfig fragment to
prevent conflicting with the serial one
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Remove a redundant NULL check on the device pointer in the GPIO
interrupt handler.
The device pointer is dereferenced unconditionally before the check
and cannot be NULL in this context.
No functional change intended.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
There are cases where the device can operate by polling
without using interrupts, so `interrupts` are not mark as required.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
- Adds sam_e54_xpro.overlay files for tcc.
- Adds sam_e54_xpro platform allow in testcase.yaml.
Signed-off-by: Farsin NASAR V A <Farsin.NASARVA@microchip.com>
- Add counter tag in the board yaml file seciton to allow CI run TCC
G1 counter tests on this board
Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
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>
Add explicit casts from 'uint8_t *' to 'char *' in at_get_string()
and at_get_raw_string() return statements to resolve implicit cast
warnings. The data.start field is uint8_t *, but the functions
return char *.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add macro definitions to map generic ADC instance names to hardware
specific SARADC base addresses, enabling driver portability.
Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
Add two new definitions, ADC_SAR_IP_HW_REG_SIZE and
ADC_SAR_IP_CHAN_2_BIT, to eliminate the inclusion of
Adc_Sar_Ip_HwAccess.h, since this header file does not
exist for the S32K5 platform.
Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
When one generated .pb.h file includes another generated .pb.h file,
the build can fail because compilation may start before all headers
are generated.
The nanopb_generated_headers target collects all proto generation
targets as dependencies, but the calling target was not depending on
it. This can cause a race condition where the compiler fails with
"No such file or directory" for included headers.
Make the calling target depend on nanopb_generated_headers to ensure
all protobuf headers are generated before source compilation begins.
Signed-off-by: Nick Brook <nrbrook@gmail.com>
icm45686_encoded_fifo_payload is defined as packed struct,
while the nested structures are not. It causes an issue of
potential unaligned access to accel and gyro members.
The issue was detected by clang compiling with
-Wunaligned-access flag:
```
icm45686.h:52:6: error: field accel within 'struct icm45686.h:46:3)'
is less aligned than 'struct icm45686.h:48:4)' and is usually due
to 'struct icm45686.h:46:3)' being packed,
which can lead to unaligned accesses [-Werror,-Wunaligned-access]
icm45686.h:57:6: error: field gyro within 'struct icm45686.h:46:3)'
is less aligned than 'struct icm45686.h:53:4)' and is usually due
to 'struct icm45686.h:46:3)' being packed,
which can lead to unaligned accesses [-Werror,-Wunaligned-access]
```
Small C code snippet to demonstrate the reported issue:
```
struct icm45686_encoded_fifo_payload icm45686;
// prints 1:
printf("%lu\n", __alignof__(icm45686));
// prints 1:
printf("%lu\n", __alignof__(icm45686.accel));
// prints 2:
printf("%lu\n", __alignof__(typeof(icm45686.accel)));
```
This commit resolves the following Zephyr issue:
https://github.com/zephyrproject-rtos/zephyr/issues/101142
by adding `packed` attribute to accel and gyro members.
Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
bmi08x_accel_frame is defined as packed struct,
while the nested structures are not. It causes an issue of
potential unaligned access to accel member.
The issue was detected by clang compiling with
-Wunaligned-access flag:
```
bmi08x.h:605:2: error: field within 'struct bmi08x_accel_frame'
is less aligned than 'union bmi08x.h:605:2)' and is usually due
to 'struct bmi08x_accel_frame' being packed,
which can lead to unaligned accesses [-Werror,-Wunaligned-access]
```
This commit resolves the following Zephyr issue:
https://github.com/zephyrproject-rtos/zephyr/issues/101142
by adding `packed` attribute to accel member.
Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
In case of native build, the CONFIG_architecture
cannot currently be resolved with Kconfig, so we
must fall back to resolving it during compilation
using compiler definitions.
Signed-off-by: Jaagup Averin <jaagup.averin@gmail.com>
Add adxl345_attr_set_range() to allow runtime config.
of the accelerometer's measurement range via the
SENSOR_ATTR_FULL_SCALE attribute.
The function maps the requested range to the nearest supported
ADXL345 range (±2g, ±4g, ±8g, or ±16g) and updates the device
configuration accordingly.
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
Add SPDX-License-Identifier and copyright headers to Infineon
board overlay files in flash_shell, uart async_api, and
nvs samples for cy8cproto_062_4343w and cy8cproto_063_ble boards.
Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
A alignment of 1 is also called 'unaligned'.
This default causes exceptions on CPUs that use different paths
for unaligned and aligned access.
Use a sane default that doesnt guarantee a store/access exception.
Signed-off-by: Camille BAUD <mail@massdriver.space>
Update hostap cleanup intervals to 120 seconds for NXP wifi chips.
CONFIG_WIFI_NM_WPA_SUPPLICANT_CLEANUP_INTERVAL for wpa_supplicant.
CONFIG_WIFI_NM_HOSTAPD_CLEANUP_INTERVAL for hostapd.
Signed-off-by: Hui Bai <hui.bai@nxp.com>
Both wpa_supplicant and hostapd register cleanup interval to eloop and
the intervals are all 10 seconds by default and this can cause device to
be woken up twice from sleep every 10 seconds. In order to reduce power
consumption, add below new items in Kconfig so that users can update the
cleanup intervals based on their requirements.
CONFIG_WIFI_NM_WPA_SUPPLICANT_CLEANUP_INTERVAL
CONFIG_WIFI_NM_HOSTAPD_CLEANUP_INTERVAL
Signed-off-by: Hui Bai <hui.bai@nxp.com>
Enable clock for tempsense module in NXP MC CGM driver to
support temperature sensing functionality.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Add a new driver for the NXP TempSense temperature
sensor found in various NXP MCUs, such as the MCX
family. The driver reads temperature data from the
TempSense peripheral and provides it via the Zephyr
sensor API.
The TempSense peripheral details can be found in the
NXP MCXE31x reference manual chapter 78.
reference manual can be found at:
https://www.nxp.com/webapp/Download?colCode=MCXE31XRM
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
This commit enhances the SAR ADC driver by adding
support for clock frequency selection. The clock
frequency can now be configured via the devicetree,
allowing for better optimization of ADC performance
based on application requirements.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Since RPI_PICO_PIO_GET_PROGRAM returns const variable, so changed
`pio_program_t *` variables in data to `const pio_program_t *`.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
This PR combines node content in the same file spread over multiple
node definitions.
This PR has not funtional changes to the boards
Signed-off-by: Kyle Bonnici <kylebonnici@hotmail.com>
Fix adc_dt run issue on NXP MCXN boards, the default
mode of vref is standby mode, the BUF21 is not enabled,
so the LPADC can not work normally. Need to set the vref
mode to 'NXP_VREF_MODE_LOW_POWER' or 'NXP_VREF_MODE_HIGH_POWER'
to enable the BUF21.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Move the NULL checks for the protection configuration parameters
before dereferencing them to avoid potential NULL pointer
dereferences.
The device pointer is assumed to be valid.
No functional change intended.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
uint64_t is not in general unsigned long long int, and therefore
its format specifier is not llu in general.
The macro PRIu64 resolves to whatever it is.
For 64bit targets, uint64_t is relatively normal to just be
unsigned long.
Providing the wrong format specifier results in the build warning
```
format %llu expects argument of type long long unsigned int, but
argument <x> has type long [unsigned] int
```
The issue can be reproduced by building this test with
native_sim/native/64.
Issue introduced in da6cd1a474
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Segger Systemview calls k_current_get() in sys_trace_k_thread_switched_in.
During early boot, this hook is triggered while k_is_pre_kernel() is true.
This triggers an assertion failure when CONFIG_ASSERT is enabled.
Add a guard to ignore the thread switch event if it is called pre-kernel.
Signed-off-by: Igor Knippenberg <knippenberg@filics.eu>
The nrfs audiopll is automatically started if freq fraction or
prescaler is requested. The initial state of the clock should be
off, so send a disable request after setting initial freq fraction
and prescaler.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Ensure the MAIN power domain is on before triggering
NRF_LRCCONF_TASK_CLKSTART_0 task.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Add board shield definition for the Semtech SX1261MB2BAS LoRa module. This
is mostly copied over from semtech_sx1262mb2das.
Signed-off-by: Carlo Caione <carlo.caione@gmail.com>
Use API for registering synchronous interrupts. It reduced interrupt
latency due to NVM memory wake up.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add API for indicating that a deterministic interrupt will occur at
certain point in time in the future. Implementation is ensuring that
there will be no latency due to NVM memory waking up. There are 2
ways of ensuring that:
- setting low latency power mode in RRAMC (higher power consumption
in idle (not available in non-secure build)
- using PPI and GRTC to trigger the RRAMC wake up task right before
an expected interrupt
Module has a pool of GRTC channels and dynamically allocates and
frees those channels when events are registered and unregistered.
If GRTC channel is not available then algorithm falls back to power
mode setting (in secure build).
API offers registering an event using relative and absolute timing.
API can be used from Zero Latency interrupts.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add support for testing AMD-Xilinx Inter-Processor-Interrupt(IPI) on
Versal Gen2 RPU.
Add an overlay configuration to enable IPI-1 as the default
inter-processor interrupt for RPU0 in Versal Gen2. While IPI-1 is the
preset, it can be adjusted based on design requirements.
rpu0_rpu0_mailbox is set up in loopback mode for testing.
Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Add support for testing AMD-Xilinx Inter-Processor-Interrupt(IPI) on
Versal-NET RPU.
Add an overlay configuration to assign IPI-5 as the default
inter-processor interrupt for RPU0 in Versal-NET. While IPI-5 is preset,
it can be adjusted based on design requirements.
rpu0_rpu0_mailbox is set up in loopback mode for testing.
Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Add the inter-processor interrupt (IPI) nodes to the device tree for the
Versal Gen2 platform, as per Versal Gen2 Technical Ref Manual (AM026)
Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Add the inter-processor interrupt (IPI) nodes to the device tree for the
Versal-NET platform, as per Versal-NET Technical Reference Manual (TRM).
Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Add a new MBOX driver for the AMD-Xilinx IPI Mailbox, providing support
for the Versal-NET and Versal Gen 2 platforms
Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Add device tree bindings for the AMD-Xilinx Inter Processor Interrupts
(IPI) mailbox.
The IPI architecture allows the passing of messages across the system
without the complications of autonomous read-write transactions and
polling inefficiency. The notification of the interrupt is also
possible without message buffers on some platforms. Some IPI channels
are hard-wired to particular core while others can be configured to
assign to any core on AMD-Xilinx heterogenous multiprocessor platform.
Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
1. Update the CRC sample’s Twister console regex to match the current
log output.
2. Add an integration_platforms entry (ek_ra8m1) so the sample runs
in PR CI.
3. Make CRC verification unconditional so the expected
“verification succeeded” log is always emitted and mismatches fail
the test.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Release the buffer with net_buf_unref(rsp) once the reading default link
policy settings response has been parsed.
Signed-off-by: zhenwei fang <fangzhenwei@bytedance.com>
Enable GP14 for this sample. Use commented-out entries for the
other servo outputs, as is done in the other overlay files.
Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
Update FlexCAN clock configuration across NXP MCXN family boards to use
PLL0 as clock source with a divider of 3 instead of FRO_HF with divider
of 1.
The new configuration provides FlexCAN peripherals by using the PLL0
output (150MHz) divided by 3 to achieve 50MHz, replace previous 48MHz
FRO_HF.
Signed-off-by: William Tang <william.tang@nxp.com>
Add CAN FD support for MCXN SOC family, including mcxn23x, mcxn94x
and mcxn54x.
Tested with tests/drivers/can.
Fixes#91138
Signed-off-by: William Tang <william.tang@nxp.com>
Add support for the DFRobot Beetle ESP32-C3 board. This is a small IoT
development board based on the Espressif ESP32-C3 RISC-V SoC.
Board features:
- ESP32-C3 (32-bit RISC-V at 160MHz)
- 400KB SRAM, 4MB Flash
- 2.4GHz WiFi and BLE
- 13x IO ports
- Integrated lithium battery charging management
The board has been tested with the following Zephyr samples:
- samples/basic/blinky
- samples/hello_world
- samples/net/wifi/shell
Signed-off-by: Mikołaj Rosowski <m.rosowski1@wp.pl>
Update the NXP FlexCAN migration guide entry to take the latest Kconfig to
devicetree change into account.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Rename the Aesc Silicon platform label used on GitHub to match the rest of
the platform labels.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Document breaking changes in prescale-glitch-filter configuration
and the new prescale-glitch-filter-bypass property. Provide migration
example for out-of-tree device trees.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Fix incorrect LPTMR prescaler/glitch filter mapping that led to wrong
frequency calculation and wrong hardware configuration.
- Calculate effective counter frequency correctly:
* Time Counter mode: divide by 2^(value + 1)
* Pulse Counter mode: divide by 2^value
- Map prescale-glitch-filter directly to the HAL enum (no offset math)
- Add prescale-glitch-filter-bypass DT boolean (default false)
- Restrict prescale-glitch-filter to 0..15 and update bindings/DTS users
- Add build-time validation for Pulse mode (value 0 requires bypass)
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Adjust the pin function bitfield to 4 bits to fit all RZ/V SoCs
(RZ/V2L, V2H, V2N). PFC bitfield of RZ/VH, V2N have 4 bits, so
the current 3-bit width does not fit them.
Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
If api->trylock(dev, id) fails (typically because a cross-core
HW lock is held by another core and returns -EBUSY, or returns
-EINVAL, etc.), the function will immediately return the error
code, but the local ctx->lock is not released, and interrupts
also remain in the locked state from the trylock. This may cause
IRQ lock state leakage. If there's no opportunity in the call path
to reach k_spin_unlock(), the system may exhibit unpredictable
"freeze-like" behavior.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
The macro names sys_port_trace_k_fifo_put_slist_enter/exit in
tracing.h were incorrectly named and did not match the corresponding
definitions in backend implementations.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Remove the CONFIG_CAN_MCUX_FLEXCAN_MAX_MB configuration option from
the documentation notes, as the message buffer count information has
been moved to the devicetree and no longer needs to be described in
Kconfig.
Update the constraint for CONFIG_CAN_MCUX_FLEXCAN_MAX_FILTERS to
reflect that it must be less than the maximum number of message
buffers supported by the FlexCAN instance, as shown in the table
below the note. This keeps same behavior as driver.
Signed-off-by: William Tang <william.tang@nxp.com>
This change refactors the FlexCAN driver to use per-instance message
buffer configuration instead of global Kconfig options. The driver now
calculates message buffer allocation at compile time based on device
tree properties for each FlexCAN instance.
Key changes:
- Remove global CAN_MAX_MB Kconfig option and associated range constraint
- Add number_of_mb, rx_mb, and tx_mb fields to mcux_flexcan_config
structure
- Move callback arrays and atomic allocation bitmaps from static global
arrays to per-instance static arrays generated by macros
- Update data structure to use pointers to per-instance arrays instead
of fixed-size embedded arrays
- Add compile-time validation to ensure sufficient message buffers are
available for required RX filters and RX filters greater than 0
This approach allows different FlexCAN instances to have different
message buffer configurations based on their hardware capabilities
and device tree settings, improving memory efficiency and flexibility.
The change maintains backward compatibility while enabling better
resource utilization across different SoC variants.
Fixes#92798
Signed-off-by: William Tang <william.tang@nxp.com>
Add the `number-of-mb` and `number-of-mb-fd` device tree property to
all the NXP FlexCAN controller nodes across various SoC families to
specify the maximum number of 8-byte and 64-byte payload message
buffers supported by each FlexCAN instance.
This change updates device tree source files for multiple NXP SoC
families including Kinetis K6x, RT10xx, RT11xx, RT118x, MCX, S32K,
S32Z, and i.MX8MP/i.MX93 series. The property values are set based
on hardware specifications for each specific FlexCAN instance.
This property addition ensures proper resource allocation and
prevents buffer overflow issues in FlexCAN driver implementations.
Signed-off-by: William Tang <william.tang@nxp.com>
Removing the esp32s3_devkitm as deprecated and redundant.
The esp32s3_devkitc has essentially the same functionality.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
Introduce the I2C_CODE_IN_RAM option to place selected critical
functions into the RAM code section.
This allows latency-sensitive I2C paths to execute from RAM when
required, while keeping the default behavior unchanged.
NOTE1: Enable I2C_CODE_IN_RAM on it81202bx: RAM size +2272B.
NOTE2: With kernel in RAM, enabling I2C_CODE_IN_RAM saves ~558ms
over 1,000 transfers (W/R/W2R), tested on it81202bx.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Fix WWDT warning interrupt by configuring ITRC to not intercept WWDT
timeout events.
ROM may configure ITRC OUT3_SEL0/OUT4_SEL0 to route WWDT0-2 to ITRC,
causing ITRC to reset the system faster than WWDT, preventing the
warning interrupt from functioning. Reconfigure these registers to
0xAAAAAA0A to allow RSTCTL to properly handle WWDT reset events.
Also enable WWDT warning interrupt in the board configuration to ensure
proper watchdog interrupt handling during tests.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
The WWDT callback is only invoked from the warning interrupt path.
If CONFIG_WDT_MCUX_WWDT_WARNING_INTERRUPT_CFG is 0, the warning
interrupt is effectively disabled, so a configured callback would
never fire.
Return -ENOTSUP and log an error when a callback is provided
without enabling the warning interrupt, to avoid a silent no-op.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Correct the WWDT window value calculation and add proper
range validation.
The window value was incorrectly set to the minimum timeout value.
Per hardware specification, it should be calculated as:
windowValue = timeoutValue - min_window_ticks
Also add:
- MAX_TIMEOUT boundary checks
- Validation before value assignment
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Move pinctrl_apply_state() from configure to init to ensure pinctrl
is applied once at boot rather than on every transaction.
When cs-gpios is defined, spi_context_cs_configure_all() runs after
pinctrl and reconfigures the CS pin as GPIO, properly overriding
any CS routing set by pinctrl.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Implement read_c45 and write_c45 functions to support clause 45
register access. This enhancement allows to access C45 registers
even when the MDIO controller does not natively support clause 45.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Use clause 45 MDIO access by default and only fallback to the phy
internal clause 45 bridge if the MDIO controller does not support
clause 45 transactions.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
DAT3-based card detection may fail for the first attempt on RT1060evkc
+ NXP_IW610x_v1 card, caused by transient signal states during
initialization. Set IMX_USDHC_DAT3_DETECT_RETRY as 10 can fix this issue.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
DAT3-based card detection can return a false negative on the first read
due to transient signal states after enabling detection. Add a bounded
retry loop (limited by IMX_USDHC_DAT3_DETECT_RETRY) with a short delay
between attempts to improve robustness.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
The /soc node is a simple-bus node and not an interrupt provider. Leaving
the #interrupt-cells property produces misleading Device Tree build
warnings:
Warning (interrupt_provider): /soc: '#interrupt-cells' found, but node is
not an interrupt provider <stdout>: Warning (interrupt_map): Failed
prerequisite 'interrupt_provider'.
Signed-off-by: Dong Wang <dong.d.wang@intel.com>
Add the SOC_IT8XXX2_RAM_CODE_NOINLINE Kconfig option to prevent
functions marked with __soc_ram_code from being inlined when LTO
is enabled.
This ensures RAM code functions remain in the RAM section instead of
being merged into callers by the compiler.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Adds doxygen documentation for the extended API of the Texas Instruments
TLC5971 LED strip controller driver.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Similar to how it's done for other driver classes, create a new doxygen
group to put all device-specific LED strip API extensions under.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The current driver implementation only support pooling and
synchronous operations. By adding DMA support the driver will
be able to operate in asynchronous mode which helps to improve
CPU usage and save power.
Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
Add ADC0 and ADC1 pinctrl definitions and update the board metadata
to list ADC as a supported feature on the SAM E54 Xplained Pro board.
Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
Add a Zephyr ADC driver for the Microchip G1 ADC peripheral
with support for differential mode, multi-channel sequencing,
oversampling, and NVM-based factory calibration.
Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
This commit enables tests/driver/uart/async_api demo
for m33 in NETCMIX of imx943_evk.
- build command as follows,
west build -p always -b imx943_evk/mimx94398/m33
tests/drivers/uart/uart_async_api
Signed-off-by: Biwen Li <biwen.li@nxp.com>
Exclude imx943,
- multi level interrupts feature is enabled defaultly,
so irqsteer1 driver is enabled, then the test case
report the build issue:
multiple definition of z_soc_irq_enable,
tests/arch/arm/arm_custom_interrupt/src/arm_custom_interrupt.c:47
first defined here.
Signed-off-by: Biwen Li <biwen.li@nxp.com>
This commit enables multi level interrupts:
- Enable multi level interrupts
imx943 is a two level interrupts system and
some interrupts(eg. edma interrupts) depend on irqsteer.
- Increase irq number from 405 to 790
Actually there are 407(IRQ 0 ~ IRQ 406) interrupts
from nvic(first level interrupts),
The second level interrupts are extended by irqsteer,
it extends 32 x 12 = 384 interrupts,
So first level interrupts + second level interrupts
= 407 + 384 = 791(IRQ 0 ~ IRQ 790) interrupts
Signed-off-by: Biwen Li <biwen.li@nxp.com>
Supporting irqsteer using NXP HAL becomes increasingly harder with new
SoCs.
For example now there are two incompatible HAL drivers for IRQ steer
(mcux-sdk-ng/drivers/irqsteer and mcux-sdk-ng/drivers/irqsteer_1).
In order to avoid overcomplicating code and better scaling code for
newer SoCs just drop using the NXP HAL and implement an IRQ Steer native
Zephyr driver
Use irqsteer node of imx943 as example.
New features:
- Support multiple irqsteer instances.
- Indroduce new properties(nxp,irq-offset, nxp,num-irqs).
Signed-off-by: Biwen Li <biwen.li@nxp.com>
This adds priority attribute to irqsteer in order to
support multi level interrupts.
We need to make this change atomic so that we don't break
the build.
So, we introduce a new property named 'priority' to
`interrupt-cells` and we increase the number of cells.
Then we update all instances of interrupts
using irqsteer (for imx95, imx8m, imx8qm, imx8qxp and also
update the overlay(imx8mp_evk_mimx8ml8_adsp) for tests.
Signed-off-by: Biwen Li <biwen.li@nxp.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>
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>
1. Enable SAR ADC support for nxp mcxe31x platform.
2. Enable SAR ADC support for nxp frdm_mcxe31b board.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Zephyr's current ADC API only supports 32 logical channels,
which is inadequate for SAR ADCs on certain SoCs. For instance,
the ADC on the MCXE31B has 64 hardware channels. The previous
implementation used a one-to-one mapping between logical and
hardware channels. In the new SAR ADC driver version, we bind
hardware channels to logical channels via the zephyr,input-positive
property, enabling us to access any channel.
Currently, only imx93 uses this ADC. To maintain the bisectability
of Zephyr commits, in this commit we will also modify the imx93-related
files, inlcuding:
1. Update the clock_control_mcux_ccm_rev2.c to use the new Kconfig
option 'CONFIG_ADC_NXP_SAR_ADC'.
2. Add properties to the imx93_evk_mimx9352_m33.overlay of the adc_api
testcase.
Now the sar adc is native driver, so, remove
CONFIG_MCUX_COMPONENT_driver.sar_adc from the glue cmake.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Add migration guide entry for compile definitions 'XIP_EXTERNAL_FLASH',
'USE_HYPERRAM' and 'XIP_BOOT_HEADER_XMCD_ENABLE' that were changed from
global to local scope in NXP board CMakeLists.txt files.
Applications that depended on these definitions being globally available
may need to be updated.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1.'XIP_EXTERNAL_FLASH' and 'USE_HYPERRAM' are only used in
zephyr/boards/nxp/mimxrt1180_evk/xip/evkmimxrt1180_flexspi_nor_config.c,
so just change them to local scope.
2.'XIP_BOOT_HEADER_XMCD_ENABLE' is only used in
zephyr/boards/nxp/mimxrt1170_evk/xmcd/xmcd.c,
so just change it to local scope.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Replace K_SYSCALL_OBJ() with K_SYSCALL_DRIVER_AUXDISPLAY() in syscall
handlers to validate that the requested driver operation is actually
implemented before invoking it.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add missing K_SYSCALL_MEMORY_WRITE and K_SYSCALL_MEMORY_READ
verifications in syscall handlers for pointer parameters.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fixed the sys_clock_announce to be outside of spinlock context to
resolve the issues related to invalid spinlock when CONFIG_PM is
enabled
Signed-off-by: Merin George <merin.george@infineon.com>
move depends on to only apply to default case, remove 'example' case,
remove unnecessary display tag on ai_m62_12f_kit
Signed-off-by: Camille BAUD <mail@massdriver.space>
Add the adc exemple configuration in boards dtsi an pinctrl.
Additionally, the SiWx917_rb4338a overlay file has been removed as
its contents have been integrated into the main device tree files.
Also, only siwg917_rb4342a is now tested in CI for adc_dt and
adc_sequence (even thought other boards can run the sample).
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
This patch moves the definition of the pinctrl for both siwg917_rb4338a
and siwg917_rb4342a boards from the board dtsi to a dedicated file.
It allows better maintenance and consistency with other boards.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
This patch introduces a new header file regarding ADC binding with
SiWx91x SoC. It allows a more friendly definition of ADC channel input.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
- Include the enable, m0, and m1 microstep to the common init config.
- Refactor drivers that manually init these pins to use the pins
from the common config.
Signed-off-by: Hong Nguyen <hong.nguyen.k54@gmail.com>
Some PSA configs were missing for DTLS to work in LwM2M interop tests.
CONFIG_MBEDTLS_SSL_DTLS_CONNECTION_ID was defined twice, so remove
redundant entry.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
This test itself (not the code under test) needs to be build with the
host C library as it calls into its open/close/read/write APIs.
So let's ensure we build it with it, independently of what the
default C library may be.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Ensure we call into the host C library open/close/read/write
independently of which embedded C library the code is built with.
We do this by:
a) Using the native simulator nsi_host* trampolines when we just want
to call straight into the host libC.
b) Building in the native_simulator runner context (and therefore with
the host C library) two functions which we call from the embedded
side.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
VIDEO_BUFFER_POOL_NUM_MAX default value is 2 so remove it from
samples conf files setting it to that default value.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Now that VIDEO_BUFFER_POOL_HEAP_SIZE is available is used
in all projects, VIDEO_BUFFER_POOL_SZ_MAX can be removed.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Update video common code and applications to rely on the
CONFIG_VIDEO_BUFFER_POOL_HEAP_SIZE instead of
CONFIG_VIDEO_BUFFER_POOL_SZ_MAX.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
In preparation to the renaming of CONFIG_VIDEO_BUFFER_POOL_SZ_MAX
into CONFIG_VIDEO_BUFFER_POOL_HEAP_SIZE, add the new CONFIG
in all conf files equal to POOL_SZ_MAX multiply by POOL_NUM_MAX.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Clarify the size of the video buffer pool by having a
dedicated CONFIG for it. Until now the size of the
video buffer pool was equal to VIDEO_BUFFER_POOL_SZ_MAX
multiply by VIDEO_BUFFER_POOL_NUM_MAX.
This commit only add the description, the config doesn't
have yet any effect. Change will be added after all configs
are updated to define it in order to avoid breaking
platforms between 2 commits.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Switch to usage of ext-sdram property (ZEPHYR_REGION) for display
buffers instead of usage via the Shared-Multi-Heap API.
The ZEPHYR_REGION mechanism offer more flexibility than the
shared-multi-heap which is allocated on the whole PSRAM.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Switch to usage of ZEPHYR_REGION for display and video
buffers instead of usage via the Shared-Multi-Heap API.
The ZEPHYR_REGION mechanism offer more flexibility than
the shared-multi-heap which is allocated on the whole
PSRAM.
If enabled, add allocation of the VENC internal buffers
from the PSRAM via the HEAP allocator.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The CONFIG_VIDEO_BUFFER_POOL_SZ_MAX represent the size of the
biggest buffer in the pool size and not the whole pool size.
For the stm32-venc this should be 1-000-000 and not 10-000-000.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Allow usage of either Shared-Multi-Heap based internal memory pool
allocation or allocation from a HEAP located optional in a
Zephyr region.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Addition of two options in order to select the Zephyr region
into which the video buffer pool should be placed.
CONFIG_VIDEO_BUFFER_POOL_ZEPHYR_REGION allows to indicate that the
video video pool should be placed in a specific ZEPHYR region which
name is CONFIG_VIDEO_BUFFER_POOL_ZEPHYR_REGION_NAME
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
There is no USB port or headers for lpuart on the cvb board,
thus introducing a shield for the mother board in order to
visualize serial output and expand I/O connectivity:
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
Add support for NXP S32K5XXCVB boards which features
S32K566 SoC.
Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
Co-authored-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
S32K566 is a member of the S32K5 family which expands
s32k3 series to higher performance and larger memory.
Zephyr port for S32K5 will support cortex-M7 and cortex-R52
After reset, swt_startup is enabled and starts running,
disable it using the watchdog hook.
Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
Co-authored-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
This adds support for clock_control_get_rate/clock_control_set_rate
API, so that module clock rate can fetch or modify via them in Hz.
Note only CANFD support is added as an reference example and other
module support will be added as-needed.
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
Fix the issue that occurs when building with GNU and
CONFIG_LINKER_GENERATOR=y.
Currently, the GROUP {region} directive does not function properly
with GNU. The input section cannot link to the memory group
defined by "zephyr,memory-region" in the final output linker
script.
This commit updates the GNU section name parser script, allowing
it to look up both group and region for output block generation
in the final output linker script.
Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
Previously, the pinctrl macro definitions on the sf32lb platform relied on
manual maintenance, which led to some errors.
We will now use scripts to
generate the metadata, ensuring accuracy
Signed-off-by: Haoran Jiang <halfsweet@halfsweet.cn>
Btp got support of EAD in f04d0196de, enabling config flag will enable
GAP/SCN/BV-01-C and GAP/ADV/BV-20-C to be executed
Signed-off-by: Evgenii Kosenko <Evgenii.Kosenko@silabs.com>
Similar to how it's done for other driver classes, create a new doxygen
group to put all device-specific ADC API extensions under.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Update the release-notes-4.4 to document:
1. The mcux_lpcmp driver will be deprecated.
2. The compatible 'nxp,lpcmp' for mcux_lpcmp
has now been changed to 'nxp,sensor-lpcmp'.
3. A new lpcmp driver based on the comparator
driver API has been created, and the 'nxp,lpcmp'
compatible is used for it.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Update the board overlay files for mcux_lpcmp sample to use
the sensor-lpcmp driver:
1. Delete the 'compatible' and 'clocks' properties from
the SoC-level lpcmp nodes.
2. Set the compatible to "nxp,sensor-lpcmp" to use the
sensor-based lpcmp driver.
3. Add '#io-channel-cells = <2>' property for sensor API.
4. Add pinctrl configuration for lpcmp0.
5. Ensure status is set to "okay".
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
We shall enable lpcmp in application level. Enabling lpcmp
at the board level doesn't make any sense, since the lpcmp
input is determined by the application.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. We shall set the proper clock source for lpcmp.
2. The property '#io-channel-cells' is currently
not needed for LPCMP.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. Enable MCXA/MCXN platforms' LPCMP clock control through
the clock driver (syscon).
2. Enable MCXE platform's LPCMP clock control through the
clock driver (mc_cgm).
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
We are planning to implement a new lpcmp driver based on the
comparator API and deprecate the current sensor-based driver.
We now mark the mcux_lpcmp as deprecated.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
We are planning to implement a new LPCMP driver based on the
comparator API and deprecate the current sensor-based driver.
We would like to use the nxp,lpcmp binding for the new
comparator-based driver implementation. To avoid naming conflicts,
we are renaming the current sensor binding to nxp,sensor-lpcmp.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Split device initialization into two phases across all LBM drivers:
1. Boot-time init: Minimal device initialization
2. First config: Radio hardware initialization
This deferred initialization approach provides full control over the
radio hardware, allowing applications to perform any necessary setup
before the radio is initialized. The radio init is automatically
triggered on the first call to lora_config().
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Add functions to register and unregister user GPIO callbacks for DIO1
interrupts on LBM lora radio devices. This allows external code (e.g., the
LoRa Basics Modem HAL) to receive notifications when DIO1 fires.
The driver configures the pin mask automatically based on the DIO1 pin
from devicetree.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
KeepSorted can fail on Windows when the active code page is
not UTF-8 (e.g. GBK), because text files in the Zephyr tree
are UTF-8. Detect file type via libmagic and only process
text/* files, avoiding attempts to decode binary content.
Open text files via GIT_TOP / <path> with encoding="utf-8"
(and errors="surrogateescape") to prevent UnicodeDecodeError
during local compliance runs without changing the KeepSorted
sorting rules.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Refactor the Infineon TCPWM counter driver to use the TCPWM block base
address instead of the counter instance base address. This change aligns
with the standard Infineon PDL API which requires the TCPWM block base
and counter index as separate parameters.
This modification maintains functional compatibility while providing
better alignment with the underlying hardware abstraction layer.
This also aligns with PR feedback to move the ifx_tcpwm.h header file
from the include folder (public APIs) to the drivers folder. Instead,
this refactoring prepares to remove that header file entirely.
Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
Spec - Section 2.3.8
> If the property is defined with an <empty> value, it specifies that
the parent and child address space is identical, and no address
translation is required.
Spec - Table 2.3
> <empty>: Value is empty. Used for conveying true-false information,
when the presence or absence of the property itself is sufficiently
descriptive.
`ranges = <>;` should be interpreted as `<prop-encoded-array>` with
empty array, when processing the child the ranges should be used and
given it is and empty array we will fail to map and behaviour
is undefined by the dts spec!
Hence IMO `ranges;` is the correct syntax here. This leaves no space
for uncertainty and undefined behaviour by tools and
user interpretation.
Signed-off-by: Kyle Bonnici <kylebonnici@hotmail.com>
Similar to how it's done for other driver classes, create a new doxygen
group to put all device-specific Disk Access extensions under.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This is a follow-up to commit 59d8fbc0a9.
Add missing brackets in mask definitions that use `COND_CODE_1()`.
Without those, the call to `__DEBRACKET()` that is done inside
`COND_CODE_1()` removes the outer brackets provided by `GENMASK()`,
what causes problems when the mask is directly used with another
operator like `~`.
Remove also no longer needed brackets added in `start_next_packet()`
by the commit mentioned above as a workaround for this problem,
the root cause of which was not identified at that time.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Add new configuration item color_coding in the structure
mipi_dbi_config and in mipi-dbi-device binding property.
The color coding is defined by MIPI Alliance Standard for
Display Bus Interface v2.0, which is required by some display
controllers and device.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Some diagrams on the file dt-bindings/mipi_dbi/mpi_dbi.h
doesn't deploy the correponsing pulse signal, many of them
the rising flag looks moved some spaces before or after
the rising/falling time. This is fixed by replacing
tasb with spaces
Signed-off-by: Nicolas Moreno <niko722795@gmail.com>
Add a `zephyr_i2c` node label pointing to `i2c0`, which is the bus used by
Units connected through Grove PORT.A. This follows the convention already
used on the Core2 and CoreS3 boards.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
According to the M5Stack Fire v2.7 documentation, the HY2.0-4P Grove PORT.C
is wired to GPIO16 and GPIO17.
Update the DTS pinctrl configuration to route the PORT.C UART to these pins
so that the Grove connector matches the official hardware documentation.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
Implement set_orientation api
Inverting segment_remap and com_invdir at the same time, rotates the
screen by 180 degrees.
Signed-off-by: Greter Raffael <rgreter@baumer.com>
Implement `disk_access_erase` by setting all bytes to 0x00, with the
same bounds checking as `disk_access_write`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add the `disk_access_erase` command to complement the read and write
commands.
As a backwards compatible new feature, this increments the API version
from `1.0.0` to `1.1.0`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add a function for erasing a chunk of blocks.
The SD Card Association Pt1 Simplified Physical Layer Specification
recommends to erase many blocks simultaneously in order to enhance data
throughput (4.3.5.1).
Signed-off-by: Jordan Yates <jordan@embeint.com>
Re-instate a z_is_thread_ready() check on the preempted metaIRQ
thread before selecting it as the preferred next thread to
schedule. This code exists because of a corner case where it is
possible for the thread that was recorded as being pre-empted
by a meta-IRQ thread can be marked as not 'ready to run' when
the meta-IRQ thread(s) complete.
Such a scenario may occur if an interrupt ...
1. suspends the interrupted thread, then
2. readies a meta-IRQ thread, then
3. exits
The resulting reschedule can result in the suspended interrupted
thread being recorded as being interrupted by a meta-IRQ thread.
There may be other scenarios too.
Fixes#101296
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
ZMS IDs are not necessarily 32 bit anymore, so the sample ought to
reflect that.
When the sample is built with CONFIG_ZMS_ID_64BIT=y, the KEY_VALUE_ID
will use a 64 bit value, chosen so that it would conflict with CNT_ID
only if 64 bit IDs were not handled properly.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
By request, add another loop to fill an extra sector with small data
entries only (4 bytes per entry in the 64 bit ID case).
This should cover ZMS' special case handling of different data sizes.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Previously, there was no proper test coverage of `zms_calc_free_space()`
or `zms_active_sector_free_space()`, so they had some undiscovered bugs.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
The initial implementation had a couple of flaws, including:
* Generally overcounting the free space by ATE_SIZE bytes per sector.
* Counting multiple ATEs of the same ID if placed in the same sector.
The correct behavior is to only count the most recent entry.
* When a sector was mostly or completely filled with small data sizes,
there was a correction term applied in the wrong location.
* The same correction term would be mistakenly applied when a sector
was filled with only delete ATEs, which resulted in undercounting
the free space in that sector.
This is addressed by rewriting the API according to a simple principle:
the total free space in a filesystem should equal the sum of free space
in every GC'd sector (minus 1 sector reserved for GC itself).
This should work because during garbage collection, ATEs are not moved
between sectors arbitrarily. Only one sector gets GC'd at a time and
every entry in sector N gets either removed or copied to sector N-1.
This means that any two valid entries that occupy a single sector would
still occupy a (different) single sector before and after the operation.
This property lets us simplify the total free space calculation by
considering one sector at a time and reapplying the calculation which
was just introduced for `zms_active_sector_free_space()`.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
The initial implementation had a flaw in it: when an active sector was
almost full, the naïve calculation could easily underflow and return a
negative value, which would be misinterpreted as an errno.
Rewrite this API to satisfy the following, reasonable expectations:
* Always return a non-negative value, provided ZMS is initialized.
* Always return 0 if no more data can be written into the sector
without triggering garbage collection.
* Never return a value less than the actual number of bytes that can
still be written into the sector.
This requires awareness of a few special cases in ZMS. These are now
captured in a helper function, which will be reused later.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Use the same function to parse all records. The main difference is that
answer record handling matches the answer with the initial query, i.e.
AAAA query will have AAAA answer record. Additional records do not have
any matching with the original query.
Also just warns if an additional record parsing fails. But answer record
parsing is an error.
Tested on BeagleConnect Freedom
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
As described in Section 12 of RFC 6763 [0], DNS-SD responses can contain
SRV, TXT and A/AAAA under additional records. This is done even in the
zephyr DNS service advertisement. So these additional records should be
passed to the user for handling.
Most of the code for additional records is taken from normal dns answer
unpacking. However, I have split the handling into a separate function
since I have only added additional records handling for DNS-SD. The same
code should be usable for answer record as well if required. The main
thing missing from additional record code is that we do not need to
match the query type to the response type.
Tested on BeagleConnect Freedom.
[0]: https://datatracker.ietf.org/doc/html/rfc6763.html#section-12
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
These SoCs don't have LL_PKA_IsEnabled() due to the PKA IP being different.
Since PKA can operate without RNG clock on entire STM32WB0 series, skip
the check on the entire series which avoids the call to non-existent
function on STM32WB06/07 and fixes build.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Adds doxygen documentation for the extended API of the Solomon SSD16XX
EPD display controller driver.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Similar to how it's done for other driver classes, create a new doxygen
group to put all device-specific Display API extensions under.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Perform call to LL_DBGMCU_{Dis,En}ableDBGStandbyMode() for STM32WBA series
in the common code, as done with other series. While at it, also add
missing call to LL_DBGMCU_{Dis,En}ableDBGStopMode().
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
The hard coded 2s timeout might be too small for LTE and Nb-IoT
networks.
Instead use already existing CONFIG_NET_SOCKETS_DNS_TIMEOUT
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
3GPP TS 27.010 defines default timeouts as follows:
* Acknowledgment Timer (T1), min 10ms, max 2.5s default 100ms
* Response Timer for multiplexer control channel (T2),
min 20ms, max 2.5s, default 300ms
* Add Kconfig for both T1 and T2 timers
The Response Timer for wake-up procedure(T3) is already a Kconfig
and its default match the specification.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Add retry counter for opening and closing CMUX as well as
opening and closing the DLCI channel.
Use same retry counter for both DLCI control messages as well as CMUX
control messages as there is very minimal room for race condition.
DLCI messages are only send when CMUX control channel is open.
Where relevant, use disconnect(cmux) for all closing calls.
So we have one entry point for cleaning.
Similarly refactor modem_cmux_on_dlci_frame_dm() to dlci_close() as
this is the single function to close and clean up a channel.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Changes the default page size to 4096 (4KiB) for SPI/QSPI NOR flash
devices if MCUboot is enabled to allow for swap updates to work by
default
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Restore the clock source and exception bits in the CTRL register after
waking from low-power modes that reset SysTick. Also reconfigure the
interrupt priority.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Aligned with changes in pytest plugin, where added support
of multiple connections from one device.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Changed 'harness: console' to 'harness: pytest' to verify output
from both application and network cores using the new multiple
UART connection support. The pytest test reads from connection_index=0
(application core) and connection_index=1 (network/remote core) to
validate IPC communication on both sides.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Replace manual serial port handling with the new multiple UART
connection support from pytest-twister-harness. The test now uses
connection_index=1 to read from the second core UART instead of
managing a separate serial connection fixture.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Document the new multiple UART connection support in pytest-twister-harness
plugin. Hardware devices can now access multiple connections using the
connection_index parameter (0=main UART, 1=second core UART).
Also update readlines_until() examples to use explicit regex= parameter
for improved API clarity.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Updated unit tests from pytest-twister-harness
with wupport of multiple connextions.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Add support for multiple connections (e.g. UART) from one device,
enabling communication with second core UARTs. Feature implemented
by extracting connection logic from DeviceAdapter to new
DeviceConnection class with specialized implementations:
- SerialConnection for hardware UART ports
- ProcessConnection for native simulation
- FifoConnection for QEMU communication
Each connection maintains separate log files (handler.log,
handler_1.log, etc.) and can be accessed via connection_index
parameter in device methods like readline() and write().
This enables testing multi-core applications where different
cores communicate through separate UART interfaces.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
The z_vrfy_uart_configure function was incorrectly checking for the
existence of the 'config_get' handler instead of 'configure'.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add a parameter to MQTT TLS configuration that allows to force native
TLS on a socket if offload dispatcher is used. This allows for MQTT to
use native TLS implementation with an offloaded TCP socket.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Adds a warning to `bt_l2cap_chan_send` that the user must not pass
buffers to this function whose pool has implemented a destroy callback
(net_buf_pool::destroy) that uses synchronization primitives. This is
due to the HCI driver interface not having defined rules for where a
buffer may be freed, leading to the possibility of the callback
being called from the ISR. This warning can be removed at a later point
if the HCI driver interface is redesigned to not pass the net_bufs
directly.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
The pio_rpi_pico_get_pio function was defined as 'inline' in the
header file. This caused 'undefined reference' linker errors when
building with CONFIG_NO_OPTIMIZATIONS=y (-O0), as the compiler
doesn't inline the function and no external symbol is provided.
This patch changes the definition to 'static inline' to ensure a
local copy is generated in each translation unit when not inlined,
consistent with other helper functions in Zephyr and the Linux kernel.
Fixes#101155
Signed-off-by: Vincent Liao <vincent932693@gmail.com>
Add implementations for the following SBC codec parameter getter functions:
bt_a2dp_sbc_get_channel_mode(): returns the channel mode (mono, dual,
stereo, joint stereo); bt_a2dp_sbc_get_subband_num(): returns the number of
subbands (4 or 8); bt_a2dp_sbc_get_block_length(): returns the block length
(4, 8, 12, or 16); bt_a2dp_sbc_get_allocation_method(): returns the
allocation method (SNR or loudness).
These functions parse the SBC codec configuration parameters and return
the corresponding values, completing the API defined in a2dp_codec_sbc.h.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
add initial version of devicetree for amebad SOC.
amebad devicetree file is main platform dtsi file, which should
be included from board dts (e.g rtl872xd_evb.dts)
Signed-off-by: zjian zhang <zjian_zhang@realsil.com.cn>
The documentation is generally using 'inst' consistently to refer to
instance numbers, but a few helper macros have gone their own way.
Clean this up to restore consistency.
This addresses changes introduced somewhere around the following
commits:
- 4c8ed7dd9a ("devicetree.h: Rework
DT_ANY_INST_HAS_PROP_STATUS_OKAY")
- ca6645d508 ("devicetree: shorten DT_ANY_INST_HAS_*_STATUS_OKAY")
- 75ab4d5507 ("devicetree: add DT_ALL_INST_HAS_PROP_STATUS_OKAY()
macro")
- 35a8e37ac2 ("devicetree: add DT_ALL_INST_HAS_BOOL_STATUS_OKAY()
macro")
Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
The `renesas,ra-adc` compatible was replaced by `renesas,ra-adc12`,
at #95710 but one ADC devicetree node was not updated accordingly.
This commit updates the missing node to use the correct
`renesas,ra-adc12` compatible.
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
To use the shell one does not need anymore to pull unistd.h,
if one uses sys_getopt, we need to include sys/sys_getopt.h
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
To use the shell one does not need anymore to pull unistd.h,
if one uses sys_getopt, we need to include sys/sys_getopt.h
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
None of these headers are needed by this file for anything.
Let's just remove them.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The test fails on 64bit targets running out of heap.
Let's just increase it.
Circumstantially it started failing after
d5982f0f89
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
According to the reference manual, 'When the BYPSHAD control bit is set
in the RTC_CR register [...] the value of one of the registers may be
incorrect if an RTCCLK edge occurs during the read operation'. We need
to read te subseconds register until two successive reads are equal.
Signed-off-by: Adrien Lessard <adrien.lessard.42@gmail.com>
According to the reference manual, 'When the BYPSHAD control bit is set
in the RTC_CR register [...] the value of one of the registers may be
incorrect if an RTCCLK edge occurs during the read operation'. We need
to read te subseconds register until two successive reads are equal.
Signed-off-by: Adrien Lessard <adrien.lessard.42@gmail.com>
Add USB host support for rw612_bga board:
- Update board YAML to include usb_host
- Add zephyr_uhc0 node in device tree with status "okay"
Signed-off-by: Aiden Hu <weiwei.hu@nxp.com>
Add the clock emablement in the LPUART driver to avoid
depending on the default enablement settings.
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
The PSA Crypto implementation in Mbed TLS requires some heap
to operate.
Provide a small malloc arena to ensure this test remains
compatible with MINIMAL_LIBC configurations
where the arena is disabled by default.
Signed-off-by: Mohamed Moawad <moawad@synopsys.com>
Update system clock related variables
otherwise Cy_SysLib_Delay or Cy_SysLib_DelayUs are incorrect
Signed-off-by: Kevin Chan <kevin.chan3@infineon.com>
Example DTS config comment is meant to help users of the
driver, with the PSRAM device tree configuration.
Signed-off-by: Nikhil Namjoshi <nikhilnamjoshi@google.com>
Tested:
Verified that reading and writing data to the PSRAM
with MCU's FlexSPI controller in Quad Mode, works as
expected.
Signed-off-by: Nikhil Namjoshi <nikhilnamjoshi@google.com>
It's not possible to add comments to a json file, so there's no option to
add license or copyright text.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Add mcxw23_evk and frdm_mcxw23 platforms to the power management
test suite to validate power management functionality on MCXW23
hardware.
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
Enabled modes:
idle: SLEEP
suspend: DEEP-SLEEP
standby: POWER-DOWN with CPU retention
OS Time Base: OSTIMER with 32K clock source
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
Clarify the different requirements for QEMU emulation versus real
hardware deployment in the versalnet_rpu board documentation.
For QEMU target:
- XSDB (Xilinx System Debugger) is not used
- PDI (Programmable Device Image) is not required
- QEMU provides direct emulation without hardware initialization files
For real hardware target:
- XSDB and PDI file are required
- PDI contains the hardware initialization and boot configuration
needed for the physical device
This documentation update helps users understand why PDI is optional
for QEMU testing but mandatory for physical board deployment.
Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
This reverts commit d11474ce64.
Follows the reversal of 1f69b91e90, as
this commit reflects changes made in there.
Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
This reverts commit 1f69b91e90.
Chose to revert it because its changes constitute a deviation from
the dmic API, resulting in failing tests on affected platforms
(mimxrt685s and mimxrt595s mainly).
Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
On non-Windows systems execute a new program, replacing the west packages
call, when trying to install packages using pip.
For Windows, update the documented way of installing python packages,
or using 'west packages pip --install' print a warning.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Update hal_stm32 revision to support ble and link layer
libraries selection thanks to KConfig
BT_STM32WBA_LIB_CONFIG
Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
Add new KConfig BT_STM32WBA_LIB_CONFIG specifying the configuration
of the stm32wba ble library (full or basic) depending to bluetooth
features.
Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
Select BT_CTLR_PHY_CODED_SUPPORT for ESP32 variants that support
Bluetooth 5.0 coded PHY (long range). The original ESP32 series
is excluded as it only supports Bluetooth 4.2.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
- support accel feature using lpi2c0 and enable accel cases:
accel_trig/accel_polling
- enable i2c_target_api case using lpi2c0 and lpi2c1
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Updates hal_infineon to remove stray includes of cyhal that broke the
build for folks using our wireless parts with non-Infineon
microcontrollers when building with Zephyr.
Wrap #include's of cyhal such that they are not included when building.
Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
Since d45cd6716b this code does not use
types defined in the POSIX_API and therefore we do not need to work
around header include issues.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The drivers section of migration guides has always been kept ordered using
a zephyr-keep-sorted block. However, due to the default sorting order, the
list elements are not always in alphabetical order: for example, 'STM32'
comes before 'Shell' because of the uppercase 'T'.
Turn on case-insensitive sorting to ensure the list is sorted in
alphabetical order and adjust the existing contents accordingly.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Use void * cleanly: avoid needless type-casts and use void * for
generic pointers instead of uint8_t *.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
CONFIG_WARN_DEPRECATED is 'y' by default.
When a user actively disables CONFIG_WARN_DEPRECATED, one would expect
that they would stop getting all deprecation warnings, not just the
ones from kconfig.
Otherwise users continue getting tons of these warnings when building
deprecated functionality.
So let's indeed disable them also for symbols and macros.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The combination of pytest's `-s` (--capture=no) option and
`--log-cli-level=DEBUG` was causing duplicate log output.
Fixed by replacing `--log-cli-level=DEBUG` with `--log-level=DEBUG`.
`--log-cli-format` removed as is not used.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
When using --only-failed with required applications, twister could enter
an infinite loop during application dependency resolution.
Fixes#100808
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
This test checks the functionality of the callbacks for erase and write
operations. The callbacks allows the modification of the simulated flash
behaviour during this operations.
Signed-off-by: Radosław Koppel <r.koppel@k-el.com>
Add the functionality that allows to register write and erase callbacks.
The callbacks can modify the behaviour of this operations.
It are meant to be used during testing of the situation when the memory
starts to generate errors or the data cannot be trusted anymore.
It expands the testing possibility, for a situation when the module
is tested that checks the data integrity and and we cannot just jump in
between its internal write and read operations to inject an error.
Signed-off-by: Radosław Koppel <r.koppel@k-el.com>
PWM driver clears its runtime state on each suspend event.
However, since nrfx 4.0 integration nrfx driver instance is part
of the runtime state structure, so clear action must be limited.
Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
struct net_val is a packed struct containing
`struct bt_mesh_key dev_key` member which contains uint32_t
variable inside.
Compiling this code with llvm clang produces the following
warning:
`
error: field dev_key within 'struct net_val' is less aligned
than 'struct bt_mesh_key' and is usually due to 'struct net_val'
being packed, which can lead to unaligned accesses
[-Werror,-Wunaligned-access]
`
However, the `struct bt_mesh_key dev_key` is handled in accordance
to its actual alignment. I.e., it is copied using memcpy() which
prevents any alignment issues.
This commit resolves the following Zephyr issue:
https://github.com/zephyrproject-rtos/zephyr/issues/101144
by suppressing -Wunaligned-access warning
on the `struct net_val` declaration.
Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
TOOLCHAIN_WARNING_UNALIGNED_ACCESS can be used to
suppress false-positive warnings generated
by llvm clang compiler caused by -Wunaligned-access option
Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
Add callback `codec_negotiate` if the `CONFIG_BT_HFP_HF_CODEC_NEG` is
set.
Calling the function `bt_hfp_hf_select_codec()` if the codec ID is
valid in the callback `codec_negotiate`.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Capture the voice from PCM and play voice through Codec if the SCO
connection has been established.
Capture the voice from Codec and send out through PCM if the SCO
connection has been established.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Send VS commands to configure the PCM pins before establishing SCO
connection.
Send VS commands to start the voice transferring when SCO connection
has been established.
Send VS commands to stop the voice transferring when SCO connection
has been broken.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
For some controllers, such as NXP IW612 Chipset, the PCM pins of
controller needs to be configured before the SCO connection is
established. And it requires to get the `air_coding_format` to
configure the PCM pins of controller.
So, it requires to known when the SCO connection will be established
and what the `air_coding_format` of the SCO connection.
Add the function `bt_sco_hci_cb_register()` to monitor the HCI
commands `setup_sco` and `accept_sco_req`.
Add the function `bt_sco_hci_cb_unregister()` to remove the monitor.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Fix the Video section heading underline to use the correct number
of equal signs to match the heading length.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
`rtio_executor_handle_multishot` releases the RX buffer in case of
cancellation or error. However, in case of an sqe that uses a mempool,
it reset the buffer before that, making the release a NOOP. Fix that by
moving the reset of the buffer to right before pushing the sqe back onto
the queue.
Signed-off-by: Wouter Horré <wouter@versasense.com>
The DNS-based Service Discovery has the following abstract:
This document specifies how DNS resource records are named and
structured to facilitate service discovery. Given a type of service
that a client is looking for, and a domain in which the client is
looking for that service, this mechanism allows clients to discover
a list of named instances of that desired service, using standard
DNS queries. This mechanism is referred to as DNS-based Service
Discovery, or DNS-SD.
As is stated here, DNS-based service discovery is designed to find all
instances implementing a service, not just the first one.
Currently, zephyr `dns_resolve_service` will call the callback for only
the first client instance found. It still does receive the responses
from other instances, but those are dropped since the query is already
marked as finished. The seems incorrect behavior.
With that said, the changes in this commit are API breaking, since even
the docs already state that only the first response is currently used.
So I am fine with creating a new function for discovering all instances
if that is more acceptable.
Since DNS-SD queries expect multiple responses, timeout or manual
cancellation are the only methods to stop an in-flight request. When a
timeout happens, the callback is called with one of the following
responses:
- `DNS_EAI_ALLDONE`: If at least one successful response was received.
- `DNS_EAI_CANCELED`: If no successful response was received.
Tested with 3 BeagleConnect Freedoms (2 running mdns_responder and 1
running dns_resolve sample).
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Adds CONFIG_ETH_NET_IF_NO_AUTO_START to allow
pre-configuration of Ethernet interfaces (e.g., filters, mac)
before they become operational. When enabled, net_if_up() must be
explicitly called by the application.
Signed-off-by: Jeremy Truttmann <jetstreeam.code@outlook.com>
arch reboot is not included in PM flow, so drop
the option CONFIG_PM_LOG_LEVEL to
fix build issue:
- error: CONFIG_PM_LOG_LEVEL undeclared here (not in a function)
Signed-off-by: Biwen Li <biwen.li@nxp.com>
The boot container was using a non-standard symbol name
`__rom_start_address` for the ROM start address. This symbol
is not defined when build with `-DCONFIG_CMAKE_LINKER_GENERATOR=y`.
This commit use the symbol `__rom_region_start` which is
available for both cases.
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
Update the hal_renesas rev to fix the USB device not sending ZLP
at the end of the DCP data stage
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
The arbitrary ordering of ILINK may cause the .last_section
to be placed between the gaps of consecutive sections in the ROMABLE
region.
This commit adds a workaround for Renesas RA devices, which have OFS
registers placed in FLASH. Adding a small .rom_padding section at
the beginning of the ROM_REGION stabilizes the placement order and
ensures that all ROM sections remain within the expected region.
Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
Switch OFS-related linker sections from GROUP FLASH to GROUP ROM_REGION
to avoid overlapiping placement with .text when build with GNU and
CONFIG_CMAKE_LINKER_GENERATOR=y of RA boards that have OFS in FLASH
Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
CONFIG_XLNX_PSTTC_TIMER_INDEX has been unused since commit 57784fb9d5
(v2.3 era), which switched to using the `DT_INST_` macro and defaulted to
the first instance via `DT_INST_REG_ADDR(0)`.
Remove the obsolete and broken CONFIG_XLNX_PSTTC_TIMER_INDEX.
Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
The existing ASCS test callback verification functions scale poorly and are
not easily reusable across different cases.
This change introduces a more generic approach to expectation checks by
adding `expect_bt_bap_unicast_server_cb_release_called(_expected_count,
_streams)` and similar functions, improving readability and maintainability
of ASCS unit tests.
Fixes#58034
Signed-off-by: Dima Kushchevskyi <d.kushchevskyi@sirinsoftware.com>
Skips updating files if the output already matches the file
contents, this prevents a random occurance whereby sysbuild
reconfigures itself after a reconfiguration for no known
discernable reason
Signed-off-by: Jamie McCrae <spam@helper3000.net>
- Only compile the mtb-hal-cat1 module's source when
CONFIG_USE_INFINEON_LEGACY_HAL is set.
- The serial-flash sub-module relies on the legacy hal.
It was getting added to all builds, including ones that
don't use the legacy hal.
Signed-off-by: Bill Waters <bill.waters@infineon.com>
Move reference labels within definitions so that they do not break the
flow of definition lists.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fixes documents where blocks where indented to the right of their parent
causing them to render as definition lists.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Definition lists are key for explaining terminology, and making them
visually cohesive can help the reader better scan information.
This change introduces a distinct visual hierarchy by:
- Adding a vertical border to group the list items.
- Highlighting terms (dt) with a background color and rounded corners.
- Adding decorative indicators (bullets) to separate entries clearly.
The new style is also intentionally more visually distinct so that
_incorrect_ usage of definition lists (usually due to bad
indentation) can be more easily detected as it won't look good
when not used for things meant to be "definition lists" :)
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Some tweaks to the CSS to have better contrast of the cards on the
homepage, and a few other places.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
"Touch targets with sufficient size and spacing help users who may have
difficulty targeting small controls to activate the targets", so move
the gear icon a bit to give it more air.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Call pm_policy_device_power_lock_put/pm_policy_device_power_lock_get
to coordinate with system level power modes.
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
When regulator-min-microvolt and regulator-max-microvolt properties are
provided in the devicetree node, a fixed regulator is never ready due to
failed initialization in regulator_common_init().
At at commit 9463d9a51d regulator_common.c
lines 68-71, if min or max voltages are set, then regulator_common_init()
attempts to get the regulator's current voltage setting so that it might
"Snap to closest interval value if out of range." However
regulator-fixed has not implemented the regulator_get_voltage() api, so
regulator_common_init() fails.
Adding an implementation for regulator_get_voltage() which returns
min voltage, just like regulator_fixed_list_voltage() does, resolves
this issue.
Fixeszephyrproject-rtos/zephyr#99339
Signed-off-by: Alex Hogen <alex@edt.com>
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In 55c49cdb8f wifi
drivers were changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In 55c49cdb8f wifi
drivers were changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In 55c49cdb8f wifi
drivers were changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In 55c49cdb8f wifi
drivers were changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In 55c49cdb8f wifi
drivers were changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Socket dispatcher should create a native TLS socket with a native
underlying socket even if the socket is only bound to a native interface,
it shouldn't be needed to call ZSOCK_TLS_NATIVE specifically. This works
just fine, so add a test case for this scenario to make sure it remains
that way.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Split the code for DMA setting to consider the tx and rx buffers
separately, this makes the driver work for use cases where tx only or rx
only is needed, such as when using this with the ws2812 driver.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
In b5588ed684, and after in
e19d78e607 the mayority of the
Zephyr modem drivers were changed to use the Zephyr native
net_ prefixed types, but a few were missing.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In b5588ed684, and after in
e19d78e607 the mayority of the
Zephyr modem drivers were changed to use the Zephyr native
net_ prefixed types, but a few were missing.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In b5588ed684, and after in
e19d78e607 the mayority of the
Zephyr modem drivers were changed to use the Zephyr native
net_ prefixed types, but a few were missing.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In b5588ed684, and after in
e19d78e607 the mayority of the
Zephyr modem drivers were changed to use the Zephyr native
net_ prefixed types, but a few were missing.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In e6daacf3c9 the mayority of the
ethernet drivers code was changed to use the Zephyr native net_
prefixed symbols, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
It seems no other test (or sample) was building this.
So let's enable them in this test, so we at least build test them
somewhere.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
- add an overlay file and enable i2c1 and i2c2 nodes.
- add stm32l562e_dk to testcase.yaml for CI testing.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
The disk_access test failed during 8‑sector writes with:
- sd write error 16
- Failed to write to sector zero (assert in
tests/drivers/disk/disk_access)
Enabling idma on &sdmmc1 allows proper multi‑block transfers
and eliminates the write failure.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
- Update the driver to support the PSE84 device
- Update to new peripheral clock allocation scheme
Signed-off-by: Bill Waters <bill.waters@infineon.com>
Allow making the zephyr-keep-sorted check ignore cases, for example:
// zephyr-keep-sorted-start ignorecase
....
// zephyr-keep-sorted-stop
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Since the shell (and its use of sys_getopt) does not have any dependency
on the POSIX_API anymore, we do not need to disable it when we disable
the POSIX_API compatibility layer.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This sample does not need it, and having it enabled masks uses of the
non native API by this code.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In c52c206e26 &
32059d7414 the USB code was changed to
use the Zephyr native net_ prefixed API, but some were forgotten
(nto[hn][ls]()). Let's change it now.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In 32059d7414 this code was changed to
use the Zephyr native net_ prefixed API, but some were forgotten
(ntohs()). Let's change it now.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In c52c206e26 this code was changed to use
the Zephyr native net_ prefixed API, but some were forgotten
(ntohs()). Let's change it now.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The vector_table_relocation.dtcm test assumes that the vector
table can be relocated to a DTCM region and executed from there.
However, on STM32F4 (Cortex-M4),this is not possible due to
architectural constraints.
The CCM RAM on STM32F4 series is connected via the D-bus,
not the ICode bus, and therefore cannot serve as an executable boot
space for the vector table.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
In the STM32F3 series, the CCM RAM can interface with
the Arm Cortex-M4 core via the I-BUS, which makes it
possible to run the vector table relocation test.
See Refman 0316 Page 50.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Replace inefficient string parsing loop with CMake list iteration for
processing list_hardware.py output. The previous implementation used
repeated string operations on the entire output string for each line,
which is increasingly slow as hardware list grows.
Local tests show hwmv2.cmake module loading in ~350 ms instead of
540 ms on my machine.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add parameter to the link_layer_register_isr() to force
or not the link layer isr registration in case of multiple
function calls.
This change fixes the interrupt service when resuming
from a PM standby state.
Update Bluetooth hci_stm32wba.c driver and
IEEE 802.15.4 ieee802154_stm32wba.c driver accordingly.
Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
Add support for the FocalTech FT9001 evaluation board:
- Board dts/dtsi and pinmux
- defconfig and board.cmake
- Basic documentation
The board has been tested with the following Zephyr sample:
– samples/hello_world
Signed-off-by: Robert Cheng <robert.cheng@focaltech-electronics.com>
Add initial support for the FocalTech FT9001 ARM Cortex-M SoC including:
- SoC Kconfig and dtsi integration points
- Early init and core setup
- Pinctrl base definitions
This prepares the tree for the FT9001 board and drivers.
Signed-off-by: Robert Cheng <robert.cheng@focaltech-electronics.com>
Add devicetree bindings for the FocalTech FT9001 SoC:
- Clock controller
- Reset controller
- UART
These bindings are required by the SoC and drivers added in subsequent
commits. Headers are placed under include/zephyr/dt-bindings/.
Signed-off-by: Robert Cheng <robert.cheng@focaltech-electronics.com>
Allocate one GPIOTE channel for coex grant GPIO pin. This fixes a nrfx
assert during MPSL init in CPURAD.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
This shield is a standalone coex shield without relying on the base
Wi-Fi shield (edge_connector).
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
According to the hashmap interface specification sys_hashmap_remove will
"Erase the entry associated with key `key`, if one exists"
If a rehash is performed OA/LP will return 1 and no old_value for
sys_hashmap_insert.
If a rehash is NOT performed OA/LP will return 0 and a stale old_value for
sys_hashmap_insert even though the user requested the entry for that key to
be removed.
This patch makes OA/LP not return the value of tombstoned entries.
Signed-off-by: Emil Hammarstrom <emil.hammarstrom1@assaabloy.com>
Configure the GAU (General Analog Unit) clock from T3 PLL 256M with
a divider of 4 to achieve 64MHz, replacing the previous configuration
that used the main clock at 260MHz main clock with a divider of 1.
The GAU ADC has a maximum clock frequency limit of 64MHz. The previous
260MHz clock configuration caused incorrect conversion results when
operating at 12-bit and 14-bit resolutions. Using the T3 PLL 256M
source divided by 4 provides the correct 64MHz clock frequency.
This change also corrects a typo in the comment from "Attack clock"
to "Set 64M GAU clock from T3 PLL 256M and reset".
Signed-off-by: William Tang <william.tang@nxp.com>
This is done by:
- No more sending periodic messages from endpoint to owner - keep
parity with UART sample: owner sends periodic ping to endpoint, that
replies to those;
- Waiting one second between each message sent by the owner, so people
can actually see what's going on;
- Wrapping the content of the messages (strings "ping" and "pong")
in quotes, so it's clear what they are;
- Toning down the logging to INF - no need for DBG.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
MCTP I2C-GPIO controller wasn't properly reenabling interrupt on the
GPIO line after disabling it during transfer.
This patch also uses `GPIO_INT_LEVEL_ACTIVE` instead of
`GPIO_INT_LEVEL_HIGH` to respect GPIO active state.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
Fix build issues,
- error: format %x expects argument of type
unsigned int, but argument 7 has type ssize_t
{aka long int} [-Werror=format=]
zassert_false(ret < 0, "attr->read returned unexpected (err 0x%02x)"
, BT_GATT_ERR(ret));
Signed-off-by: Biwen Li <biwen.li@nxp.com>
Move the programmable unit buffer used to detect double writes out of
the function stack. This fixes stack overflows when simulating flash
devices with large programming units (SPI-NAND, 2-4 kB).
Signed-off-by: Jordan Yates <jordan@embeint.com>
Test the `timeutil` libraries compile and behave the same way
(excluding the skew application) when `CONFIG_TIMEUTIL_APPLY_SKEW=n`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Accurately applying clock skew correction in
`timeutil_sync_ref_from_local` and `timeutil_sync_local_from_ref`
requires double-precision floating point operations. If this is the only
usage of double precision logic in the build, but clocks skews are not
used, this can be a significant ROM overhead. Disabling this option can
save ~2.4 kB of ROM.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The Video drivers section was mistakenly placed below the end marker of the
zephyr-keep-sorted block.
Move it back inside the block for proper ordering.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
This commit enables use of FTFC flash controller.
Together with DT changes it adds support for FTFC into soc_flash_mcux.c
driver.
Signed-off-by: Petr Buchta <petr.buchta@nxp.com>
Remove the conditional compilation guard FSL_FEATURE_RCM_HAS_PARAM.
`hwinfo_mcux_rcm_xlate_reset_sources` has handled the
supported cause using `FSL_FEATURE_xxx` macros, passing `UINT32_MAX`
can get all supported reset cause.
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
There was a misunderstanding in the spec, where if the bcr says there
is no payload, there are NO data bytes that follow the ibi address.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Renamed total_rx_iso_packet_count to
total_unicast_rx_iso_packet_count to make it consistent
with total_unicast_tx_iso_packet_count.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The sample recently started supporting multiple sink ASEs,
but only support a single sink stream. Updated the number of
sink streams supported.
Modified how/when we reset the requested_bis_sync and
FLAG_BROADCAST_SYNC_REQUESTED in the broadcast implementation.
Removed a call to bt_bap_broadcast_sink_delete that would
always fail because it was already deleted.
Modified how/when the total_unicast_rx_iso_packet_count
and total_unicast_tx_iso_packet_count values were reset,
to support a future case of CAP handover.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The driver was unconditionally setting hal_dev->cs_pin_id to the target
number, which activates hardware CS lines even when GPIO-based chip
select (cs-gpios) is used. This caused issues when using hardware CS
via pinctrl with reg > 0.
Also update the binding documentation to clarify the interaction between
cs-gpios and hardware CS via pinctrl.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Add a new Kconfig option CONFIG_BT_HFP_AG_INBAND_RINGTONE to allow
enabling/disabling the in-band ringtone capability in HFP AG profile.
The in-band ringtone feature is now conditionally compiled based on
this configuration option. When disabled, the feature flags are set
to 0 and the bt_hfp_ag_inband_ringtone() API returns -ENOTSUP.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add devicetree properties to control UHCI SLIP encoding/decoding
when using UART with DMA (async API). Both properties default to
disabled to prevent unintended data corruption.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Program I2S link for DSP offload, allowing to run DSP tests using
the I2S/SSP interface. On ACE1.5 and older, no additional programming
is required, I2S link is available by default.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Add board support for LCKFB ESP32-C3 Development Board.
This board is based on ESP32-C3 with 8MB SPI flash and includes:
- Wi-Fi and Bluetooth Low Energy support
- Complete pin configuration for UART, I2C, SPI2, I2S
- OpenOCD debugging support
- Board documentation with WebP image (optimized size)
Signed-off-by: Wu Yingxiang <wuyingxiang58@gmail.com>
When os_timer is enabled in dts, then os_timer will be used as
OS tick timer.
To make systick as the default OS tick timer, currently os_timer
is not enabled in dts. When users want to use os_timer as
OS tick timer, they need to override the dts.
Improve the method, enable the os_timer is dts, but not enable
in Kconfig by default. If need to use os_timer as OS tick, just pass
CONFIG_MCUX_OS_TIMER=y
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
In current implementation, the additional buffer is required by AT to
store the parsing AT response data temporarily. To store the parsed
AT response data completely, the buffer size is as high as the MTU of
the RFCOMM connection. And the buffer is dedicated for each HFP HF
connection. That means the RAM usage depends on the MAX HFP HF
connection count. Actually, the RFCOMM receiving buffer is valid when
processing the received AT response. The changes aim to remove the
additional buffer and leverage the receiving buffer to process the AT
response.
And there is an issue found that the type of the additional buffer
length is `uint8_t`, while the configured RFCOMM receiving data length
is 65535. When the additional buffer length exceeds 255, the AT cannot
process the received data normally.
Replace manual buffer management with net_buf_simple in the AT command
parser. This change eliminates the need for manual position tracking
and buffer length management by leveraging Zephyr's existing buffer
utilities. And leverage RFCOMM receiving buffer instead of allocating
dedicated buffer.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Refresh pinned dependencies to pick filelock 3.20.1 version since 3.20.0
is subject to CVE-2025-68146.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add heap size configuration and add new panel rk055hdmipi4ma0 for RT700.
It requires extra space for 720p panel.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Add memory region definition for PSRAM space which is controlled
by XPSI2 in board dts for RT700. In this way user/developer
can place the data in the region in code more easily. This space
can be used by media domain masters like DCNano lcdif controller.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
It is better to let the FLEXSPI2 memory region in the final
linker file be generated from dts, in this way user/developer
can place the data in the region in code more easily.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
1. For the situation when the RAM space is limited and the driver's
frame buffer cannot be place in RAM, add a new property 'ext-ram' in the
binding, so if in device tree this property is assigned to a secondary
RAM space, place the frame buffer there. The old way is to define the
frame bufeer address in Kconfig, which may cause inconvenience if other
data also needs to be placed in the same RAM space.
2. Update the driver to support new requirement on RT700. The IP requires
a 64-byte alignment for the frame buffer stride.
3. Update the calculation of frame buffer size. If the pixel format is
updated, the frame buffer size shall be updated too.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
PINT connects GPIO pin to seperate IRQ slot. This info is
hidden in PINT driver, there is no way to know which IRQ
actually the GPIO pin is connected to.
Add new API to get which IRQ slot is connected to, based on
pin index.
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
Disable rejoin by setting max_retry_attempts to 1. This is done to keep
the NWP state in sync with Zephyr Host, given that Zephyr does not have
a "rejoin ongoing" state.
Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
Adding details regarding the Infineon driver refactoring to drop
cat1 from the driver names and binding files.
Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
Drop cat1 from the binding files to enable reuse by other
category devices as well.
Fixes#99174
Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
Since the w5500 is used in arduino shields it should use the current
code patterns since it will be examined as a reference for other
drivers. So, this is just trying to catch up to the changes that have
been made in the microchip, litex, and virtio drivers.
Use the net_eth_mac_load code pattern from those other drivers and
update a few things to the code guidelines as well.
Signed-off-by: Charles Hardin <ckhardin@gmail.com>
From the prior change b38a46bade adding
in the mac configuration in the device tree it is appropriate to
remove the local mac address bindings. This is done in this commit.
There is no intended functional change
Signed-off-by: Charles Hardin <ckhardin@gmail.com>
There is an implementation of the System power management protocol in
the SCMI driver, so mention it.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fix incorrect indentation that caused some elements to render as
defintion lists.
Added proper nesting of the various headings as everything was top-level
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Remove duplicated #include directives within the same
preprocessor scope across the Zephyr tree.
Duplicates inside different #ifdef branches are preserved
as they may be intentional.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Preserve the volatile qualifier when casting the shared memory pointer
in flash_cpu01_receive_cb() to avoid dropping volatile semantics during
inter-processor communication.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
The driver gives us this information, so we just need to translate it to
Zephyr's type like we already do for security.
Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
Remove test from tests/boards/nrf/i2s/i2s_divider.
The i2s_divider test was relying on debug log from I2S driver.
With the recent NRFX updates log was removed.
Better test, that counts rising edges on I2S_LRCLK line was added
in downstream (https://github.com/nrfconnect/sdk-nrf/pull/26230).
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
ext and loader aren't modified inside llext_get_section_header(),
they are just passed to llext_section_shndx(), where they're already
const. Make them const in this function too.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Update the HW models module to:
0f0c43748111c65800c6920f1c0690676423a351
Including the following:
0f0c437 nrfx: Replace nrfx_gppi_domain_id_get() (requires new nrfx)
1bead00 nrf_ppi: Add support for NRF_PPI_ENDPOINT_IS_EVENT in simulation
9f11c2f NHW_misc: Add API to convert from/to simulated addr to real HW
ones
Note: This requires an nrfx 4.0.x which is newer than 2025/12/03,
i.e. modules/hal/nordic 0dbbf4794156ca09dc2d4bad8c42dcdb54acd662 or
newer which is has been used in Zephyr main since Zephyr's
242bf65d1d
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Added stlink_gdbserver as a runner for the nucleo_u0x boards.
Updated the boards' documentation to mention that JLink runners
do not work with the onboard debug probe and removed mention
of the unsupported openocd runner.
Signed-off-by: Martin Lampacher <martin.lampacher@gmail.com>
Add test suite for ARM MPU write-through cache functionality including:
- Cache coherency validation with dma ways
- Cache coherency validation
Support case on mimxrt1180_evk cm33/cm7 cores
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
- CONFIG_ARM_MPU_SRAM_WRITE_THROUGH: enables Write-Through cache policy
for SRAM regions instead of default Write-Back
Includes corresponding MPU attribute macros for ARMv7-M and ARMv8-M
architectures. Maintains backward compatibility with existing
configurations.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Add Renesas EK-RA2A1 board support for these tests:
- tests/drivers/adc/adc_api
- tests/drivers/adc/adc_accuracy_test
Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
Add ADC device node to support ADC 16-bit on EK-RA2A1
Update other Renesas board nodes to include the "unit" property
Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
In current implementation, if the codec is not selected, the codec
CVSD will be used to as default value to start audio connection
procedure.
Optimize the codec selection to select the supported highest quality
codec as the default value.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Add feature support validation in `bt_hfp_ag_voice_recognition()` to
verify that both HF and AG support voice recognition feature before
attempting to activate/deactivate it.
This prevents attempting voice recognition operations when the feature
is not supported by either the Hands-Free device or the Audio Gateway,
returning -ENOTSUP in such cases.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
Some macros defined for SDRAM timing configuration have typo.
This commit fixes the mistake and updates the macro used
in the code.
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
The GDB is not compiled by default and a recent change in the slot manager
series contained a typo in ifdef and missed by not compiling the GDB
support.
Fixes: ebb5625bee ("intel_adsp: Add debug slot manager")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Add an option to keep the SPI bus in `ACTIVE` while the WiFi module is
powered up. Previous testing has shown transitioning the bus on every
SPI transaction to reduce UDP uplink throughput from 8 Mbps to 6 Mbps.
Signed-off-by: Jordan Yates <jordan@embeint.com>
`SHELL_STACK_SIZE` should not be redefined as a symbol with no
dependencies, it should be applying a new default to the existing
symbol.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The combination of two different return variables (`status` and `ret`)
resulted in most failure paths through the bringup code still returning
success.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Preserve original write length for DCACHE_InvalidateByRange()
Guard declaration of `size` with CONFIG_HAS_MCUX_CACHE to avoid
unused-variable warnings when cache is disabled
Add pointer validity checks before cache invalidation
Signed-off-by: Holt Sun <holt.sun@nxp.com>
In async UART mode with DMA, the RX completion callback was incorrectly
relying on rx_counter which is never updated in DMA mode since data
bypasses the UART FIFO via UHCI+GDMA.
Fix by reading the actual transferred byte count from the DMA
descriptor's length field using gdma_ll_rx_get_success_eof_desc_addr().
Direct LL calls are used because this runs in ISR context where
dma_get_status() is not IRAM-safe.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Added configuration option to disable auto acknowledgment for
virtual wire WARN signals and added a callback to handle them.
This change introduces:
1. Support to disable automatic acknowledgment for VW WARN signals.
2. A callback mechanism to notify application firmware for explicit
handling.
Behavior:
1. If auto-ack is disabled, the callback notifies the application to
handle VW WARN signals.
2. If auto-ack is enabled, the driver acknowledges VW WARN signals
without notifying the application.
Signed-off-by: Yerrajennugari Raj Kumar <yerrajennugari.raj.kumar@intel.com>
25a71f3972 changes the behavior so that :
if "zephyr,entropy" is set in the DT then CONFIG_CSPRNG_AVAILABLE get
enabled;
This breaks our implementation, disable the trng in ns world for now
Signed-off-by: Guido Roncarolo <guido.roncarolo@nxp.com>
Added MCNX947 support in trusted-firmware-m
module Cmake and Kconfig. Cmake is cleaned,
removed unused variables.
Signed-off-by: Guido Roncarolo <guido.roncarolo@nxp.com>
Add initial TF-M support for mcxn947 target
- added ns_decofnig and yml files
- added non secure dts for the MCXN974 SOC
- added checks with CPU0 enabelement in SOC
- added ns memory slot and configs
Signed-off-by: Guido Roncarolo <guido.roncarolo@nxp.com>
Signed-off-by: Waqar Tahir <waqar.tahir@nxp.com>
Add workaround that enables `west debug` and `west attach`
on nrf54h20dk/nrf54h20/cpuppr and cpuflpr.
Remove "-if SW" as this generates warning
WARNING: runners.jlink: "f SW" does not match any known pattern
And breaks JLinkGDBServer command by setting option `-select` to
`usb=f SW`.
Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
Fixed the following bugs with the heartbeat monitor
- State did not update on CHAN_ALL
- Adjusted semaphore behavior
- Fixed interrupt setup
- Fixed time calculation bug
- Split heartbeat update into seperate function call
Signed-off-by: Robert Perkel <robert.perkel@microchip.com>
The previous implementation had three issues regarding temperature
reading:
1. The unit scaling was incorrect. The datasheet specifies 0.125 C/LSB,
but the code multiplied by 125 instead of 125000 for micro-degrees,
resulting in values off by a factor of 1000.
2. The MSB and LSB registers were read in two separate transactions,
which is not atomic.
3. The bitwise reconstruction of the 11-bit value was inefficient.
This commit fixes the scaling factor to 125000, implements a burst read
for both temperature registers to ensure atomicity, and optimizes the
bit manipulation logic.
Signed-off-by: Liang Jiaxiang <moonbite233@gmail.com>
In the case, when the connection is established on the local side, the
test script will require peer device to send ACL disconnection
request. But due to the timing issue, the connected event may be not
notified on the peer device side when the peer device received the ACL
disconnection requirement. The exception will happen. It causes the
case to fail.
Wait for the connected event of the peer device before sending the ACL
disconnection request.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The case `sdp_discover_with_range` will consume much time to
exhaustively enumerate all supported attribute id ranges. It will
consume much time.
Optimize the set of the supported attribute ID ranges to reduce
the time consumption.
Such as, the discovered attribute ID list is [1, 2, 3, 4, 7, 9, 256].
In the original implementation, the range count is 35511. While in
the optimized range count is 105.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
For the case sm_key_persist_004, the disconnected event may be
printed before the log `Pairings successfully cleared` since there
is no order between log `Pairings successfully cleared` and the
disconnected event. It causes the script discards the disconnected
event in this case and rise the assert issue.
For the case sm_key_persist_004, check the disconnected event in
the captured log. If it is not found, wait the disconnected event
until timeout.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The payload status is evaluated when decoding, which may indicate sharp
distance transitions (from very long to close) and requiring a few more
cycles to stabilize. We don't want to stop the data-stream because of
these, otherwise the data-stream continuity is compromised.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Check the return value of the function `atomic_cas()`. If the new
value cannot be set for the OBEX server, return the error code
`BT_OBEX_RSP_CODE_INTER_ERROR`. If the new value cannot be set for
the OBEX client, return the error code `-EINVAL`.
Fix#100012Fix#100018Fix#100019Fix#100021Fix#100022Fix#100023
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
For the case sm_init_035, the similar issue also be found. The
message `Enter 16 digits wide PIN code for` may be printed after
the shell prompt. The assert issue also be found in this case.
For the case sm_init_035, check the message `Enter 16 digits wide
PIN code for` in the captured log. If it is not found, wait the
message until timeout.
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
The clock options used within the driver are supposed to be ordered
from lowest to highest power consumption, so the lowest/default
option is the most power efficient. The order was reversed to make
the init code of the lfclk a bit simpler, and this was accounted for
in the clock option lookup function. However, the common nrf clock
control request/release feature would request the lowest index, not
the lowest clock option, so the lfclk would default to its highest
power consumption mode.
The clock option init and lookup has been refactored to be sorted
from lowest to highest power consumption, and comments have been
adjusted accordingly.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
- Add overlay files for the pwm_api and pwm_gpio_loopback tests
- Update platform_allow for pwm_gpio_loopback
Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
- Update the driver to support the kit_pse84_eval board
- Update to new peripheral clock allocation scheme
Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
Fix build issue from the below commit:
c520b3da1a
soc: nxp: imx943: m33: add and reuse api to initialize clocks
error: soc_clock_enable defined but not used.
Signed-off-by: Biwen Li <biwen.li@nxp.com>
If a warm reboot is issued (e.g., via mcumgr reset), the sam
controller just hangs because of loop in reboot.c. This can
be devastating if no watchdog is present to reboot the controller.
Signed-off-by: Jaro Van Landschoot <jaro.vanlandschoot@basalte.be>
This commit implements a rule that will silently discard incoming mDNS
messages if number of OT free message buffers after message conversion
will be under a user-predefined threshold.
mDNS is making use of OT message buffers, if an mDNS TX message can't be
allocated, it will trigger an assert.
Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
This commit adds a new configuration flag which is used to compute a
threshold that determines if an incoming mDNS packet will be processed.
Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
This modification prevents the bet pointer from being nulled at the end
of the loop, which would otherwise render the search for a suitable
erase type ineffective. It also optimize the loop as it omits
unnecessary operations.
Without this change, the erase size defaults to one sector. If the chip
defines fewer than JESD216_NUM_ERASE_TYPES (=4) erase types, this
behavior still works, as the resulting command will correspond to a
sector erase operation. However, if the chip defines all erase types,
the resulting command will be the one specified in the erase type. But
since bet is nulled, the erase size will incorrectly default to the
sector size.
Signed-off-by: Martin Gysel <me@bearsh.org>
depending on build configuration, spi_context_cs_configure_all() is a
no-opt, so mark the data variable as maybe unused.
Signed-off-by: Martin Gysel <me@bearsh.org>
- call spi_stm32_pm_policy_state_lock_xxx functions wenn context is
locked
- do not call spi_stm32_pm_policy_state_lock_put() in internal helper
spi_stm32_complete() (which gets called from various places) but at the
end of a transfer where it belong
Signed-off-by: Martin Gysel <me@bearsh.org>
when in batch mode, we do not need manually 'go'.
with this, we can use `west debug` in twister run test
enable for jlink and linkserver which is tested
example:
west debug --runner jlink -- --batch
Signed-off-by: Hake Huang <hake.huang@nxp.com>
On main.c from sample sensor/accel_polling the header
<zephyr/drivers/sensor.h> is duplicated, as well in
sample sensor/stream_fifo. This is solved on this PR
Signed-off-by: Nicolas Moreno <niko722795@gmail.com>
Changes generic clock source for DAC in SAMD5X MCU's.
Generic clock source 0 speed is above the maximum speed
permitted by the DAC.
The generic clock was changed to the same one the ADC uses (0x2).
Compared output of working microchip auto-generated code to the zephyr
implementation to find discrepencaies in register values.
Signed-off-by: Roberto Flores <Roberto.flores@daikincomfort.com>
Move most of the code that is used to interface with IronSide SE on the
nRF54H20/nRF9280 from the soc/nordic directory to the hal_nordic
repository. The interface code is now provided by the new IronSide
support package. Build system code and glue code that makes use of
Zephyr APIs is now located in the modules/hal_nordic directory.
Update the directory path for IronSide SE interface code in
MAINTAINERS.yml to match the move from soc/nordic/ironside to
modules/hal_nordic/ironside.
Also included are some refactoring changes and cleanup to match the new
supporting code.
C code and Kconfigs have been renamed to *ironside_se* / *IRONSIDE_SE*
to match the supporting code changes. Users of these APIs in zephyr
have been updated to match.
Individual configurations for different "IronSide services" have been
removed as the API serialization for all of these is now provided in
a single C file / header file (ironside/se/api.h).
The ironside_boot_report_get() API has been removed. The boot report
structure can be accessed through the IRONSIDE_SE_BOOT_REPORT macro.
Most configs relating to UICR / PERIPHCONF have been moved under the
"IronSide SE" menu to make it clear that these are part of the
IronSide SE interface.
The macros that in uicr.h that were used to add entries to the
PERIPHCONF section have been removed. The supporting code now provides
PERIPHCONF_XYZ() macros that can be used to initialize structures that
go into this section, and the zephyr part now only contains a macro
UICR_PERIPHCONF_ENTRY() that is used to place an arbitrary structure
into the section. The gen_periphconf_entries.py script used to generate
PERIPHCONF entries based on devicetree has been updated to use the new
macro system.
IronSide SE integration code/configs is now guarded by HAS_IRONSIDE_SE.
Note that the UICR build system integration that relies on Sysbuild
remains under the soc/nordic directory for now, but will be moved to
the modules/hal_nordic directory once it is clear how the integration
will look there.
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Add assertion to ensure MTU is at least the size of the start header
before calculating the remaining length for fragmentation. This prevents
potential underflow when subtracting the header size from MTU.
Fix coverity #551657
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Add support for the Waveshare ESP32-S3-GEEK USB dongle. It features an
ESP32-S3R2 with 2 MB PSRAM, a 16 MB on-board Flash, a 1.14" LCD, and a
microSD slot.
Signed-off-by: Chen Xingyu <hi@xingrz.me>
Current driver protections prevent to initialize driver when run as from
an external application running from ext flash. Aim is to avoid performing
full driver initialization of the NOR flash controller the application
is read from.
But this problem is actually only valid when application is running in XIP
mode (read in memory mapped mode at run time).
In ram load mode, since there is no direct activity from the application
on the NOR device, nothing prevents the ext flash driver to be used fully.
Hence, we should allow the controller initialization to happen, with some
adjustments. Mostly, what we need is to:
- skip the hal init
- abort memory mapping afterwards to let the jedec reading happen.
Remove conditions around `stm32_xspi_is_memorymap()` and
`stm32_xspi_abort()` which can finally be useful in various cases.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Instantiate a `soc-nv-flash` compatible node to allow using XSPI flash
driver as a real flash controller on NOR device.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Add support for gesture / motion based interrupts
when INPUT_CST816S_EV_DEVICE is enabled.
Signed-off-by: Daniel Kampert <DanielKampert@kampis-elektroecke.de>
rts5913_sha256_update was changed in #94218, but this function passes
it's input into rts5912_sha256_process also.
Signed-off-by: Jeremy Bettis <jbettis@google.com>
Add support for Nuvoton NuMaker M55M1X high-speed USB 2.0 device
controller. Compared to M46X HSUSBD, M55M1X HSUSBD introduces some
differences:
- DMA must handle cache coherency because net_buf can be cache-able
- USB suspend interrupt becomes continuous. Aavoid being locked by
this interrupt and forward this message just once
- New register bit HSUSBD_OPER_HISHSEN_Msk, which controls to enable
USB handshake
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
Add support for Nuvoton NuMaker M46X high-speed USB 2.0 device
controller.
The code is re-organized to implement both usbd and hsusbd in single
source file. Multiple instances of either usbd or hsusbd are supported,
but usbd and hsusbd cannot support simultaneously. This limitation is
for easy implementation with just single source file, assuming that real
application just needs one usb device type.
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
Previous control transfer can be incomplete and then causes not only
net_buf leak but also logic error. This recycles dangling net_buf for
new clean control transfer.
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
On Control Out failure, this changes to report error message instead of
assert failure because USB bus error is allowed to happen.
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
Refine code on ATTR undefined bits:
- Add USBD_ATTR_PWRDN_Msk if it is not defined
- Following BSP USBD driver, add note on BIT(6) for hidden
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
the phy is already configured by the phy driver in zephyr
and we don't want to overwrite it in the HAL_ETH_Init
function in the stm32 HAL.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
The openocd --config paramter is not needed.
And it causes an error when used on a ci runner.
The path created by
scripts/west_commands/runners/openocd.py is wrong.
Signed-off-by: Bill Waters <bill.waters@infineon.com>
This patch is a workaround to a know issue when Bluetooth and pm
is activated.
We actually need to set the tx power to the Bluetooth controller
(network coprocessor) before sending power saving request to the
coprocessor.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Power profile property doesn't need to be defined in device three.
It is a configuration value that is defined if we want pm with
Bluetooth and/or Wifi .
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
If PKA is running, it needs the RNG clock to properly works.
Don't turn it off when RNG computation is over.
Signed-off-by: Gaétan Froissard <gaetan.froissard@marshmallow.kids>
The clock-frequency value in dtsi can be used to change
the bus frequency for rts5912 driver and
it support in the range between 15000 to 50000000.
Signed-off-by: Lin Yu-Cheng <lin_yu_cheng@realtek.com>
mcux_eps_interval is added as the new member of
uhc_mcux_data. It is used to save endpoint's
original interval value and can be compared
with xfer->interval.
Signed-off-by: Aiden Hu <weiwei.hu@nxp.com>
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.