Add hardware and software strategies to switch pins to low power
mode both in light and deep sleep. Add hold feature to device tree
flags to allow application to configure which pins will be
automatically held (pin state preserved) during sleep.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Remove pinctrl sleep group init. Low power state for pinctrl will
be managed using harware feature.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
To prevent missing calibration when adding new series, add an error
message if no calibration is done.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Add support for additional pixel formats in the SDL display driver
to align with the newly introduced display pixel formats:
- PIXEL_FORMAT_BGR_888: 24-bit BGR format with 8 bits per component
- PIXEL_FORMAT_ABGR_8888: 32-bit ABGR with alpha channel
- PIXEL_FORMAT_RGBA_8888: 32-bit RGBA with alpha channel
- PIXEL_FORMAT_BGRA_8888: 32-bit BGRA with alpha channel
Also refactor existing conversion functions to use C99-style loop
variable declarations for consistency.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
There are different naming conventions between
the two HAL, so we make conditional compilation
through intermediate symbols.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Select the GPIO driver in the Kconfig if at least one active SPI instance
is using a GPIO Chip Select.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
In case PPP driver is configured in asynchronous UART mode, any send
attempts should wait for the previous transfer to complete, otherwise
modifying TX buffer would disrupt the ongoing transfer.
So far the driver waited for previous transfer to complete only before
scheduling the next one, but instead it should wait before it even
starts to modify the buffer.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Updated the interrupt handler to connect all interrupt lines added
in the corresponding sercom uart node.
Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
This commit adds support for a special sequence that requires a
repeated start between two consecutive I2C write operations.
For example:
Sr-Addr+W-Data-Data-ReSr-Addr+W-Data-Data-Stop.
Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
Migrate ADC shell command help strings to use the SHELL_HELP
macro for consistent formatting and improved maintainability.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
If a prescaler is set in the DTS, it should be used also by the qdec
driver, as it is by the counter and the pwm drivers.
Signed-off-by: Ole Morten Haaland <omh@ixys.no>
litex_clk_calc_duty_high_time() is not used anywhere,
therefore it can be removed.
When building with
-DZEPHYR_TOOLCHAIN_VARIANT=zephyr/llvm
the compiler even complains with a warning.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Some counters continue running in low power modes (for example i.MX SNVS
LP).
Optionally store and load the epoch offset from an NVMEM cell.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Clock attach verification added previous to read flexcomm registers.
This ensures the flexcomm has a clock attached and is ready for
transmission, avoiding the system gets stuck in an infinite loop
while reading the registers.
Signed-off-by: Missael Maciel <davidmissael.maciel@nxp.com>
In a board I am trying to bring up(RA6M3 + LAN9370),
the phy callback got executed before net_if_carrier_off(),
which meant the OS thought permanently the interface was down.
Moving the net_if_carrier_off() before the callback registration
seems to fix the issue.
Signed-off-by: Paolo Bazzanella <pbbazzanella@gmail.com>
Add a polled I2C input driver for the Adafruit Mini I2C Gamepad
with seesaw (product 5743, https://www.adafruit.com/product/5743).
The driver initializes the device, configures button GPIOs, polls
button and joystick state, and reports events through the input
subsystem. Interrupt (IRQ) support is not implemented.
Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
Add support for configuring the MAC based on the PHY link state.
This allows the driver to properly set the speed and duplex
settings of the MAC when the link state changes.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Fix WPA3-SAE authentication handling for both STA and SoftAP
modes to properly use the PSA crypto backend.
STA mode: handle WIFI_SECURITY_TYPE_SAE, SAE_H2E and SAE_AUTO
security types with proper PMF configuration and SAE password
element derivation method selection (hunt-and-peck,
hash-to-element, or both). Also handle PSK_SHA256 as a
WPA2-PSK variant.
SoftAP mode: add WPA3-SAE authentication with the same PWE
method selection, guarded by ESP32_WIFI_SOFTAP_SAE_SUPPORT.
New Kconfig entries:
- ESP32_WIFI_ENABLE_SAE_H2E: hash-to-element derivation
- ESP32_WIFI_SOFTAP_SAE_SUPPORT: WPA3-SAE for AP mode
- ESP32_WIFI_WPA3_COMPATIBLE: WPA2/WPA3 transition mode
Update west.yml hal_espressif revision to include the
corresponding PSA crypto migration changes.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Fix PSA crypto algorithm and key type selects required by the
wpa_supplicant's mbedTLS crypto backend. These are needed for
AES cipher operations, ECDH/ECDSA, SHA-1/SHA-256, HMAC and CMAC
used during WPA key derivation and handshake.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
this is a leftover from when the vlan ifaces were not
virtual ifaces. With this currently in we would deactive lldp
on the main iface everytime a vlan is deactivated.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
On 64 bit systems, the num_xfer field in the CCC payload is
a 64 bit value (size_t). Cast it to a uint32_t pointer
to silence warnings when building the driver.
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
Don't start command queue until interrupts have been enabled.
otherwise for some very fast controllers, the queue could drain
before the interrupt is enabled.
This issue has been observed using functional simulations of
the CDNS I3C IP, but could logically also occur in hardware.
Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
This patch adds a new driver for the ADXL355 three-axis digital
accelerometer, implementing configuration, sampling,
and full-scale range controls according to the
ADXL355 datasheet (Analog Devices).
Features:
- I2C and SPI register access
- Sampling frequency (ODR) configuration
- Full-scale range selection (±2g/±4g/±8g)
- Standby/measure power modes
- Optional FIFO streaming support via RTIO
- Basic trigger and interrupt handling
Power management is supported via PM_DEVICE callbacks
to place the sensor in standby mode when suspended
and resume continuous measurement on resume.
References:
- ADXL354/ADXL355 Datasheet (Analog Devices)
https://www.analog.com/media/en/technical-documentation/data-sheets/adxl354_adxl355.pdf
Signed-off-by: Francis Roi Manabat <francisroi.manabat@analog.com>
The lower ALS interrupt threshold (SENSOR_ATTR_LOWER_THRESH) was being
converted twice with sys_cpu_to_le16(), effectively canceling the
conversion on big-endian systems. The upper threshold
(SENSOR_ATTR_UPPER_THRESH) correctly uses a single conversion.
This causes the lower threshold register to be written in incorrect
byte order on big-endian architectures.
Signed-off-by: Andre Viegas <andreviegas@piscodeluz.org>
Assisted-by: Claude:claude-opus-4.6 forgeql
Update DEVICE_DT_INST_DEFINE to use PRE_KERNEL_1 for llwu driver.
System timer(normal set as PRE_KERNEL_2) may depend of llwu driver.
Signed-off-by: Albort Xue <yao.xue@nxp.com>
Add support for bad block management in SPI NAND flash devices.
This includes functions to check if a block is bad and to mark
a block as bad. The bad block marker is stored in the OOB area of
the first page of each block.
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Update all log_output_process() function calls in the nRF ETR debug
driver to include the new core_id parameter that was added to support
the CONFIG_LOG_CORE_ID_PREFIX feature.
The core_id parameter is set to 0 for all call sites in this driver
since core ID information is not available from the trace/log packets
being processed. This maintains backward compatibility while adapting to
the updated log_output_process() function signature.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Add Kconfig option to accept unaligned addresses and/or lengths for
flash_write for stm32 devices. Use with caution after understanding
target platform flash implementation details. Op may fault if used
without forethought
Signed-off-by: Sudarshan Jagannathan <sudarshan.jagannathan@st.com>
Add drivers for Advanced Interrupt Controller (AIC).
Update Kconfig.mchp and CMakeList.txt accordingly.
Signed-off-by: Tony Han <tony.han@microchip.com>
This adds the pinctrl driver for Synaptics SR100-series SoCs.
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>
This adds the clock control driver for Synaptics SR100-series SoCs.
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>
Handling of Errata 16 was failing if VPR triggered event when interrupt
on the application core are disabled. In that case an event is lost and
IPC communication fails. Improved workaround by enabling interrupts
during the initialization and store the information if interrupt got
triggered while event is disabled. Pending event is triggered after
enabling the event.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Use the new has-injected-support property in the Kconfig instead of
filtering on series directly, and use it also in the driver to return an
error if a specific instance doesn't support injected (this is the case
for STM32U5 where ADC1 and 2 support injected, but not ADC4).
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Add injected mode support for STM32 Vref sensor.
When in injected mode, this configures the sensor channel and sensor enable
bit at start to prevent any conflict later: some registers can't be written
while a conversion is on-going.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Add injected mode support for STM32 Vbat sensor.
When in injected mode, this configures the sensor channel and sensor enable
bit at start to prevent any conflict later: some registers can't be written
while a conversion is on-going.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
Add injected mode support for STM32 temperature sensor.
When in injected mode, this configures the sensor channel and sensor enable
bit at start to prevent any conflict later: some registers can't be written
while a conversion is on-going.
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>