Move the VIF initialization to top to do it for both VIFs, this fixes a
crash when scanning on the 2nd VIF.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Description:
The nRF7002 firmware supports two virtual interfaces (VIFs) that can
operate in different modes (e.g., AP and STA). However, the existing
Zephyr driver only utilizes a single VIF, preventing full
multi-interface support.
This commit extends the nRF7002 driver to support multiple VIFs by
making the following modifications:
* The driver already contains an array of vif_ctx_zep, but only the
first item was being used. Now, a second Ethernet device is registered
using vif_ctx_zep[1], enabling multi-VIF operation.
* Introduced vif_ctx_cnt to keep track of active interfaces and manage
their state effectively.
* Ensured that FMAC (Firmware MAC) is initialized only once, avoiding
redundant initializations when multiple VIFs are present.
* The UMAC control commands previously did not associate responses with
the issuing VIF. A queue is now introduced to track the originating VIF
for each command and correctly route the response event to the
corresponding interface.
Signed-off-by: Hanan Arshad <hananarshad619@gmail.com>
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
CONFIG_SERIAL_SUPPORT_INTERRUPT is a Kconfig option that is supposed to
be selected by serial drivers that support interrupts. This commit
removes a bogus "depends on !SERIAL_SUPPORT_INTERRUPT" which does not
make sense and causes some tests to fail.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add missing one-shot conversion logic in sample_fetch when driver is
configured for shutdown mode. Previously, the driver would attempt to
read temperature without triggering conversion, resulting in stale data.
Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
Add support for enabling and configuring the self-test mode of the
LIS2DH accelerometer through a dedicated sensor attribute.
Signed-off-by: Arthur Gay <arthur.gay@marshmallow.kids>
Adjust the bit field check sequence for "en4b" to support some flash
devices that offer multiple mechanisms for entering 4-byte address
mode.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
In the DCMI video driver, set the caps.min_vbuf_count field to
indicate that two buffers are needed. Fix use of un-initialized
memory breaking the samples in some situations.
Signed-off-by: Josuah Demangeon <me@josuah.net>
In the ESP32 video driver, set the caps.min_vbuf_count field to
indicate that a two buffers are enough. Fix use of un-initialized
memory breaking the samples in some situations.
Signed-off-by: Josuah Demangeon <me@josuah.net>
On MMU-based systems, the address space of the IP needs to be mapped
before it can be used, otherwise the system will fault. Furthermore,
since the HAL driver uses the base address of the IP to perform various
operations (e.g. clock ungating), the map between the physical and
virtual addresses needs to be 1:1.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
As per the i.MX93 TRM, section "30.2 System Clocks", the root clock
of TPM3 is not TPM3_CLK_ROOT, but, rather, BUS_WAKEUP_CLK_ROOT. Therefore,
if clock_control_get_rate() is using the IMX_CCM_TPM3_CLK clock ID, the
root clock will have to be set to kCLOCK_Root_BusWakeup instead of
kCLOCK_Root_Tpm3.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Now that PLLSAI can be configured via the device-tree, remove the
SOC specific PLLSAI configuration from the LTDC driver.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Replace bitwise AND (&) by logical AND (&&) within
preprocessor if statements in clock_stm32_ll_common.c
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add code handling the pllsai. It is similar to the pllsai1
pllsai2 which can be found on some other socs, except, depending
on the socs the fact that pllsai source can be or not common with
other plls and moreover it can also have additional DIV_DIVQ
and DIV_DIVR additional dividers.
Choice is made to add PLLSAI instead of add further support to
PLLSAI1, in order to stick to the proper naming of the PLLs.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
- Update serial driver for RX26T support. This MCU using grp interrupt
feature (not supported yet), so need to add some marcos to enable
support.
- Change the struct st_sci0 to use a common sci iodefine struct as
st_sci
Signed-off-by: Hau Ho <hau.ho.xc@bp.renesas.com>
Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
Change the transfer implementation to use interrupts
instead of a busy wait loop.
Added a Kconfig to specify a timeout period to wait
for a transfer to complete.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Add initial support for interrupt generated from the axp2101. For
the time being only support for power button is added but others can
be added in the future if necessary.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
The previous axp192 driver was implementing some basic support for
axp2101, but in fact most of the source code was guarded to be
compiled in only when axp192 was used and only the chip-id was read
in case of axp2101.
Next commits are going to introduce some support for the power button
found on the axp2101 device, so it would look cleaner to split the
2 drivers.
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Some error cases, and the asynchronous dma case, were not calling
pm_policy_device_power_lock_put() at the right time.
Signed-off-by: Mike J. Chen <mjchen@google.com>
For every TX, the driver used to get both callbacks when
each block was trasnfered and when the entire DMA was complete.
The callback for each block isn't needed so remove it
and reduce intermediate interrupts (the more blocks in
the DMA link, the more needless intermediate interrupts we
now no longer get).
Signed-off-by: Mike J. Chen <mjchen@google.com>
Handle endpoints in halted state properly by marking endpoints as halted
when appropriate, and inhibiting transfers involving halted endpoints.
Co-authored-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Signed-off-by: Mathieu CHOPLAIN <mathieu.choplain-ext@st.com>
Since the UART API explicitly states that the poll_out function needs
to block until the character is sent, change the mechanism and add
a busy-wait loop to ensure transmission completion before proceeding.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Since the symbol CONFIG_UART_ASYNC_API is shared between EUSART and USART
drivers, it creates a scenario where EUSART can have
CONFIG_UART_SILABS_USART_ASYNC=y but with no DMA device declared for it
in the DTS (because we only want async API for the USART driver).
We handled this case by disabling async transfer when the DMA
device is null, but when we activate CONFIG_PM, we have a hard fault due
to null pointer dereference in the ISR.
This bug was only discovered today when trying to enable CONFIG_PM over the
uart_async_api test, which led to a hard fault in the ISR. This occurs
because we only enable interrupts when the PM is enabled in the "poll_out"
function to put the PM lock back.
Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
This allows to use different I3C clocks from bus clock.
E.g. I3C can run from HSI instead of bus clocks.
Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
Old code looks like there is relation between .pclken and
IRQ handler. This change should make it more readable.
Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
This commit updates the function to only set output-related flags
(GPIO_OUTPUT_INIT_HIGH, GPIO_OUTPUT_INIT_LOW) when the pin
is actually configured as output. For input pins, only GPIO_INPUT and
other relevant flags are set.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
The efr32xg22 series does not support the same async operations as other
efr32 series chips. This change allows the eusart driver to function.
Signed-off-by: Devin Jaenicke <devinjaenicke@glassboard.com>
With CONFIG_LOG=n and MSPI controller on, unused variable warning
is elimiated.
Now able to be used without CONFIG_PM_DEVICE.
Fixed a bug where dev_id may be null with pm device runtime auto.
Signed-off-by: Swift Tian <swift.tian@ambiq.com>
ensure LL_I2C_TransmitData8() is always called when
TXIS is set, even if read_processed() returns an error.
This prevents the peripheral from clock-stretching
indefinitely and blocking the I2C bus when the master
reads from the slave.
Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
The SIUL2 external interrupt driver is a native implementation usable
across all NXP SoCs with SIUL2 IP. Remove the "S32" prefix to allow
clean reuse by other families.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
The SIUL2 GPIO driver is a native implementation usable across all
NXP SoCs with SIUL2 IP. Remove the "S32" prefix to allow clean
reuse by other families.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
The SIUL2 pin control driver is a native implementation usable across
all NXP SoCs with SIUL2 IP. Remove the "S32" prefix to allow clean
reuse by other families.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Add support for the Renesas RA Capture Engine Unit (CEU),
including driver source files, Kconfig options, and DTS bindings.
- Add initial implementation of the RA CEU driver
- Add dedicated Kconfig and CMake integration
- Provide Devicetree bindings for the RA CEU
- Update module Kconfig to include the new driver
This enables image capture functionality using the CEU peripheral
on Renesas RA series MCUs.
Signed-off-by: Duy Vo <duy.vo.xc@bp.renesas.com>
Signed-off-by: Khanh Nguyen <khanh.nguyen.wz@bp.renesas.com>
Change the value returned from disk_flash_access_write to return
the return code instead of a hardcoded zero.
Signed-off-by: Michał Bainczyk <michal.bainczyk@nordicsemi.no>
The reset source is SOC specific, MCUX SDK SRC driver is
also SOC specific, it doesn't mask the SOC differences.
So the driver can use SOC macros directly, and handle SOC
differences in the hwinfo driver, not necessary to wrap
MCUX SDK driver.
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
Originally the driver is selected if `HAS_MCUX_SRC_V2` is
selected in SOC level kConfig.
Change to use dts to mark the driver is avaiable for some SOC.
Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
Get the KPP_keyPressScanning status value
to determine the stability of key data.
Update read_keys_old data update timing.
Signed-off-by: Qiang Zhang <qiang.zhang_6@nxp.com>