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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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 ADC driver support for Renesas RZ/A2M
Signed-off-by: Phuc Pham <phuc.pham.xr@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
- Fix incorrect data type that caused the timer to malfunction
after running for a period of time
Signed-off-by: Phuc Pham <phuc.pham.xr@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.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 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>
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>
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>
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>