Replace open-coded fragment loop with NET_PKT_FRAG_FOR_EACH() macro
in eth_intel_igc_tx_data().
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
Move SSDE enable after preload to prevent premature SSL interrupts
Fix DMA fallback to always have ISR variables available
Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
Switch interface gating from carrier on/off to the dormant flag,
matching nrf_wifi/nxp/airoc/esp_at/esp_hosted. Carrier is set
once at init; dormant toggles per association on STA and per
AP_START/AP_STOP on AP. This preserves IP and IPv6 link-local
state across transient drops instead of tearing them down.
Allow AP TX in AP_STARTED and AP_DISCONNECTED (no clients yet,
or last client left) in addition to AP_CONNECTED, so broadcast
traffic is not rejected with -EIO.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
The driver on init currently only updates control register bits that
differ from their reset values, implicitly assuming that all other
bits are still in their default state.
This assumption can break if the registers were previously modified,
e.g. 12-hour mode was selected, leading to invalid time readings
such as 32:57:12 from rtc_get_time().
Fix this by explicitly programming all control register fields
to the configuration expected by the driver, instead of relying
on the hardware reset state.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
atcwdt200 already supports the CONFIG_WDT_DISABLE_AT_BOOT feature.
However, HAS_WDT_DISABLE_AT_BOOT was not enabled in the driver config layer
at that time.
This PR fixes that issue.
Signed-off-by: Kevin Wang <kevinwang821020@google.com>
DLISTSTART is a 32-bit hardware register, while the indirect display
list pointer is represented as a pointer. Assigning the pointer directly
to the register triggers -Wint-conversion with newer GCC versions.
Cast through uintptr_t before converting to uint32_t to make the address
conversion explicit.
Signed-off-by: Zhaoming Li <lizhaoming634@gmail.com>
add reset controller support for the NXP ACMP driver
and use reset controller APIs if available.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
PatchRAM records store the HCI opcode as a little-endian value in the
firmware image. Read it with sys_get_le16() instead of casting the byte
pointer to uint16_t, which can fault on targets that do not allow
unaligned accesses.
Signed-off-by: Matthias Ringwald <matthias@ringwald.ch>
This algorithm is not actually supported by the driver; don't select the
Kconfig option saying the driver supports it.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Add configurable timeout(forever by default) for waiting on
data valid interrupt to prevent blocking forever if the
interrupt is unexpectedly disabled.
If k_sem_take() times out, disable adc interrupt and then
read adc value if the data is valid as fallback path.
Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
Edge devices have multiple addresses for the external memory.
SAHB (0x60.., 0x70.. for ns and s access respectively) which
are uncached but programmable and CBUS (0x08.. and 0x18..
for ns and s access respectively) which are cached and improve
performance.
Additionally, cm33 can use both SAHB aliases and CBUS alises
but cm55 can only use SAHB aliases.
Therefore this commit redefines entirely the memory map to
use mapped partitions are offsets from the base region and
selecting the base region accordingly for
the three use cases. (cm33s, cm33ns - for eval board, cm55).
To this selected set USE_DT_CODE_PARTITION
to yes for all cores in defconfig.
Additionally cleaned up config BUILD_OUTPUT_ADJUST_LMA to be
more clear in its use.
Updated the custom linker script with the mapped partitions
updates that were added to the base linker ascript in arm.
Updated the metadata function to handle the addresses
gymnastics.
Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
Fix missing last period when running samples/drivers/pwm/event. The last
period was incomplete because it is stopped immediately before the new
period became effective.
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Use dt_compat_any_has_prop for CONFIG_UART_MCHP_DMA_DRIVEN to allow
mixed DMA/interrupt configurations. Added has_dma field and runtime
checks to select transfer mode per UART instance based on device tree
dmas property presence.
Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
Add a generic GPIO driver for a memory-mapped output latch register.
Include the driver implementation and devicetree binding.
Also add the required Kconfig and CMake integration.
Signed-off-by: Zhaoming Li <lizhaoming634@gmail.com>
Refactor the Microchip XEC tachometer driver to use DTS-encoded
GIRQ and PCR properties instead of series-specific ifdefs,
enabling a unified driver across MEC150x, MEC172x, and MEC175x.
Fix build error from incorrect PCR devicetree configuration.
Remove duplicate include and add missing static qualifier to
tach_xec_sample_fetch().
Co-authored-by: Andy Chang <andy.chang@microchip.com>
Signed-off-by: Andy Chang <andy.chang@microchip.com>
Signed-off-by: Srinivas Edireswarapu <srinivas.edireswarapu@microchip.com>
Fix misaligned break statements in pwm_xec_pm_action() switch-case
block to match the case indentation level.
Signed-off-by: Srinivas Edireswarapu <srinivas.edireswarapu@microchip.com>
Refactor the Microchip XEC PWM driver to use DTS-encoded PCR
property via soc_xec_pcr_sleep_en_clear(), replacing per-SoC
ifdefs for PCR init. Move PCR enable before pinctrl apply in
the init sequence.
Signed-off-by: Srinivas Edireswarapu <srinivas.edireswarapu@microchip.com>
Added latch detection mode based on DTS property.
Required register is inaccessible in non-secure
builds and on nRF54H20 SoC. Added hidden Kconfig
to guard it.
Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
Building mr_canhubk3 fails due to improper function declaration.
Fix issue by fixing declaration of eth_nxp_s32_start & eth_nxp_s32_stop.
Fixes issue #108630.
Signed-off-by: Gal Raifen <galraifen15@gmail.com>
Rather than passing every possible script into the common modem
instantiation macro, use a struct to hold all the scripts and pass the
struct instead.
The advantage of this approach is that it makes adding new optional
scripts much less invasive. The script only needs to be added to the
struct and populated in the drivers that will use it, no need to modify
the global macro.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Use the correct timing properties for bee_keyscan configuration.
- use common.poll_period_us for manual scan timer
- calculate rel_cnt from release_time_us
- fix autoscan build assert guard
- remove stale debounce_down_us assertion
This fixes mismatched devicetree property usage in the driver.
Signed-off-by: Yuzhuo Liu <yuzhuo_liu@realsil.com.cn>
the virtio driver is using k_aligned_alloc and therefore
uses the system heap, add the
HEAP_MEM_POOL_ADD_SIZE_VIRTIO Kconfig,
so we have enought heap for it.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Fix two issues in DMA driver:
1. ISR was invoking callback for all interrupts including suspend.
Add check to invoke callback only for transfer complete (TCMPL)
or transfer error (TERR) interrupts.
2. dma_get_status returned stale pending_length after config/reload
because write-back descriptor was not synced with base descriptor.
Sync write-back in dma_mchp_config and dmac_desc_reload_block.
Also improve type safety by changing void* to dmac_descriptor_registers_t*
in descriptor setup functions.
Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
Use dt_compat_any_has_prop for CONFIG_I2C_MCHP_DMA_DRIVEN to allow
mixed DMA/interrupt configurations. Added has_dma field and runtime
checks to select transfer mode per I2C instance based on device tree
dmas property presence.
Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
Add a retained memory driver for GD32 backup SRAM.
The driver exposes the memory region defined by devicetree reg, enables
the BKPSRAM clock gate, and optionally enables a vin-supply regulator
for retention power.
Signed-off-by: Aleksandr Senin <al@meshium.net>
Add a regulator driver for the GD32 Backup SRAM LDO (BLDO) controlled via
PMU. This enables modelling BLDO as a standard supply in devicetree
(vin-supply) and allows consumers to request retention power through
the regulator API.
Signed-off-by: Aleksandr Senin <al@meshium.net>
Introduce Kconfig symbol to add mutex lock protection to the driver API.
Prevent multi-threaded access from a pre-emptive thread.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Enable the optional clock described in devicetree during eDMA
driver initialization.
Keep RT7xx request-enable programming in board init so this
branch only moves the clock-control portion into the driver.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Add RT7xx eDMA clock IDs to the MCUX SYSCON clock bindings and
handle them in the shared clock control driver.
This provides the common gate support needed for RT7xx eDMA
instances to be managed through the clock control API.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Add optional devicetree reset support to the MCUX eDMA
driver and deassert the reset line during initialization
when a reset specifier is provided.
Boards which do not describe a reset remain unchanged.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Align eth_wch with updated ethernet API by passing net_if to
and eth_wch_stop/start() from PHY link state change handling.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Fix ENET QoS behavior needed for IEEE 802.3 PTP transport.
Strip received Ethernet FCS bytes before packets reach upper layers,
enable store-and-forward mode for reliable PTP timestamps, and only use
RX timestamp context descriptors when the normal RX descriptor reports a
valid timestamp. Also update the PTP clock callback signature to match
the current Ethernet API.
Signed-off-by: Philipp Steiner <philipp.steiner1987@gmail.com>
Add EDAC driver for NXP MECC64 IP providing ECC functionality
for On-Chip RAM (OCRAM). The driver supports:
- 4 independent OCRAM banks with ECC protection
- Single-bit error correction and double-bit error detection
- Error injection for testing purposes
- Interrupt-driven error reporting
- Device tree based configuration
- Standard Zephyr EDAC API implementation
Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
For the STM32WL Low Power PA at max_power=15 dBm and frequencies above
400 MHz, the SX1261 datasheet specifies paDutyCycle=0x06. The drivers were
setting 0x07 instead, which is outside the documented range and can lead to
undefined behavior on the PA stage.
Fix the value to 0x06 in both the loramac-node and native SX126x
STM32WL HAL implementations.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>