'tm_wday' (and potentially all other time and date values in the
TM structure) may retrieve corrupted data during readout from the
hardware via the Pico SDK when the call to rtc_get_datetime() comes
back with error.
If the referenced data structure 'datetime_t dt' is only partially
filled or not filled at all via the Pico SDK due to invalid RTC data
in the hardware, random data will be copied from the stack to the
TM structure without further verification.
Now the Pico RTC driver follows the general idiom: If the answer is
unknow, the caller-provided TM structure must not be updated.
Signed-off-by: Stephan Linz <linz@li-pro.net>
The W1_VND_INIT() has defined the one parameter 'n', but the variable
name 'inst' was used inside the stringifications.
In addition, clang-format was invoked to meet the CI conformance
rule ClangFormat.
Signed-off-by: Stephan Linz <linz@li-pro.net>
The overlay disables the standard GPIO leds node and enables the
pwmleds node.
Configure blink delays to 2ms (short) and 20ms (long) for
appropriate visual feedback on the PWM-controlled LEDs.
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
Add PWM LED support to the mcx_n5xx_evk/mcxn547/cpu0 board
using FlexPWM0 submodules 0, 1, and 2. Configure three PWM
LEDs (green, blue, and red) using channel X outputs on pins
PIO3_2, PIO3_3, and PIO3_4 respectively.
The pwmleds node is disabled by default to avoid conflicts with
leds peripherals.
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
1.Extend the NXP MCUX PWM driver to support three channels (A, B, and X)
instead of two.
2.Add special handling for channel X polarity control via the OCTRL
register, as it uses VAL0 for pulse width instead of the VAL2/VAL3 pair
used by channels A and B.
3.Restore VAL0 when configuring channels A/B to preserve channel X pulse
4.Adjust LDOK timeout to one PWM period
5.Get clock frequency in init function
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
Add maintainer entry for the new biometrics drivers subsystem,
covering drivers, bindings, headers, samples, and tests
Signed-off-by: Siratul Islam <email@sirat.me>
Add driver for ADH Technology GT5X series optical fingerprint
sensors. Supports GT-511C1R, GT-511C3, GT-521F32, and GT-521F52
variants.
Features:
- 3-stage enrollment with retry support
- 1:1 verification and 1:N identification
- LED control
- Model-agnostic design via device tree configuration
Signed-off-by: Siratul Islam <email@sirat.me>
Add device tree binding for ADH Technology GT5X series optical
fingerprint sensors (GT-511C1R, GT-511C3, GT-521F32, GT-521F52).
Signed-off-by: Siratul Islam <email@sirat.me>
- Add test suite for biometrics API using emulated driver
- Test enrollment flow: start, capture, finalize, abort
- Test template operations: store, read, delete, list
- Test matching: verify and identify modes
- Test attribute get/set and error handling
- Runs on native_sim and real hardware
Signed-off-by: Siratul Islam <email@sirat.me>
Add emulated biometrics driver for testing shell commands
and application logic. Implements full API:
- Configurable attributes
- Template storage with simulated enrollment workflow
- Match operations with configurable success simulation
- LED state tracking
Signed-off-by: Siratul Islam <email@sirat.me>
Add driver for ZFM-x0 series optical fingerprint sensors supporting
ZFM-X0, R30x, JM-101, DY-50, FPM10A, and compatible modules.
Features:
- Multi-sample enrollment flow (2 samples)
- 1:1 verification and 1:N identification matching
- LED control
- Configurable security level and timeout
Signed-off-by: Siratul Islam <email@sirat.me>
Introduces a new drivers subsystem for biometric sensors.
The API supports enrollment, matching, and template storage.
Signed-off-by: Siratul Islam <email@sirat.me>
The eswifi socket offload driver's setsockopt() handler returns success (0)
for TLS_HOSTNAME and TLS_PEER_VERIFY options without implementing them.
This causes applications to believe TLS hostname and peer certificate
verification is enabled when it may not be, potentially enabling
man-in-the-middle attacks.
The Inventek eS-WiFi module's default P9 setting (0=None) means no
certificate verification occurs unless explicitly configured out-of-band.
Return -ENOTSUP instead, making the limitation explicit so applications
can detect and handle unsupported TLS options appropriately.
Signed-off-by: Pavel Kohout <pavel.kohout@aisle.com>
When adc resolution is set to 12bit (lpadc provides 12bit or 16bit)
and the FSL_FEATURE_LPADC_HAS_B_SIDE_CHANNELS is not enabled,
the function mcux_lpadc_isr saves the measured value to variable result
but this value is not used after that,
(unless the FSL_FEATURE_LPADC_HAS_B_SIDE_CHANNELS is enabled).
This change fixed the issue.
Tested on FRDM-MCXA266 with adc_dt zephyr sample.
Signed-off-by: Martin Martincek <martin.martincek@nxp.com>
With the C23 standard, false and true are keywords and constants of type
bool with a value of 0 and 1. Though there does not seem to be issues
with GCC version 14, there is a note in the specification that the
spelling of false and true inside expressions that are subject to the #
and ## preprocessing operators is unspecified.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Without this change, the fix introduced in commit 189fa5f4d8e ("modules:
silabs: Force sli_mv_m4_app_from_flash_to_ram() to be in RAM") is not
active.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Add support for configuring SCL and SDA spike suppression based on
the I2C controller input clock.
The DesignWare I2C spike suppression registers are programmed using
values expressed in ic_clk cycles, in line with the I2C-bus
specification.
Signed-off-by: Shreehari HK <shreehari.hk@alifsemi.com>
Add Devicetree properties to configure I2C spike suppression length
for DesignWare I2C controllers.
The new properties allow specifying spike suppression values in terms
of the controller input clock cycles, in line with the I2C-bus
specification.
Signed-off-by: Shreehari HK <shreehari.hk@alifsemi.com>
Move all PHY configuration code to dedicated drivers called using a custom
API (we can't instantiate proper devices because some of these "PHYs" are
really used to initialize an interface to a device NOT owned by the SoC,
such as when an ULPI PHY is in use).
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
The `clocks` property should always be provided, even if the driver does
not consume it for now. Mark property as required in binding and add it to
the STM32F723 DTSI where it is missing. While at it, add an example showing
how to override the `clocks` property in the binding.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Refactor utility macros in the STM32 UDC driver, and move some of them to
the STM32 common USB header as they can be useful in other places.
While at it, add new helper macro USB_STM32_NODE_PHY_IS_EMBEDDED_FS.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Add full power‑management support to the LPS2XDF sensor family
(LPS22DF, LPS28DFW, ILPS22QS). This integrates the drivers with the
Zephyr PM subsystem and allows deferred initialization through
power domains.
Introduce a power_on() callback in lps2xdf_chip_api and track the
current ODR in lps2xdf_data for suspend/resume handling. Implement
a PM control callback that:
- powers on the chip on PM_DEVICE_ACTION_TURN_ON
- enters power‑down mode by setting ODR=0 on SUSPEND
- restores the previous ODR on RESUME
- performs no action on TURN_OFF
Convert initialization to use pm_device_driver_init() and update
the instantiation macros to use PM_DEVICE_DT_INST_DEFINE.
Update each chip driver (lps22df, lps28dfw, ilps22qs) to provide a
.power_on implementation and store the initial ODR in the driver
data.
This enables proper power‑domain control and low‑power operation for
all LPS2XDF‑based pressure sensors.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
Add power management (PM) support to the LIS2DW12
accelerometer driver, enabling integration with Zephyr's
PM subsystem and power domains.
Changes:
-Implement lis2dw12_pm_control() callback to handle PM actions:
PM_DEVICE_ACTION_TURN_ON: Performs full chip initialization
PM_DEVICE_ACTION_SUSPEND: Puts device into power-down mode (ODR off)
PM_DEVICE_ACTION_RESUME: Restores previous output data rate
PM_DEVICE_ACTION_TURN_OFF: Supported (no-op)
- Refactor driver initialization:
Extract hardware init sequence into lis2dw12_power_up()
Add lis2dw12_bus_check() for bus readiness verification
Use pm_device_driver_init() for PM lifecycle management
Add PM_DEVICE_DT_INST_DEFINE to device instantiation macro
This enables the LIS2DW12 to be controlled via power domains,
allowing deferred initialization until the device is explicitly turned on,
and proper suspend/resume for power savings.
Signed-off-by: Zafer SEN <zafersn93@gmail.com>
Correct function prototype which causes a compiler warning
and builds to fail due to it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>