Commit graph

28,390 commits

Author SHA1 Message Date
Maureen Helm
e76dd0c7ec dts: bindings: usb: Fix max3421e compatible to use hyphen word separator
Fixes the max3421e devicetree compatible to follow the convention of
using a hyphen rather than an underscore as the word separator.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2025-12-04 06:34:09 +00:00
Holt Sun
b403bb5c66 drivers: cache: add NXP SYSCON LPCAC cache driver
add cache driver for NXP SYSCON LPCAC controller,
this driver provides instruction cache management
with enable/disable and invalidation support.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-12-03 15:37:50 -05:00
Martin Hoff
e524c1f51e soc: silabs: siwx91x: define hardware sys clock from dts
This patch introduce configuration of the symbol
'SYS_CLOCK_HW_CYCLES_PER_SEC' with dts entry rather than a hardcoded
value.
Clock control on siwx91x needs to use the clock frequency of the cpu
to init rather than the 'SYS_CLOCK_HW_CYCLES_PER_SEC' symbol,
otherwise we initialize the m4 clock with the ULP ref clock.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-12-03 15:37:09 -05:00
Damjan Belavic
470290cfc4 xen/dom0: Add xen_domctl_deassign_dt_device support
Add wrapper function for XEN_DOMCTL_deassign_device hypercall to
support deassigning device tree devices from guest domains.

Signed-off-by: Damjan Belavic <damjan_belavic@epam.com>
2025-12-03 15:37:00 -05:00
Fin Maaß
0e0ff29121 drivers: regulator: Add TI tps55287
Add regulator driver for TI TPS55287 buck-boost

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-12-03 09:13:45 -05:00
Michał Stasiak
60892a30a7 drivers: watchdog: wdt_nrfx: return expected error
According to API docs, wdt_disable() should return
EFAULT when called too early. Adjusted driver.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-12-03 09:13:24 -05:00
Adam Kondraciuk
75dfc059e7 drivers: i2s: nrf_tdm: Add guards for buffers size
TDM peripheral requires TXD.MAXCNT and RXD.MAXCNT registers to be:
- multiple of 4 bytes
- larger than 8 bytes

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2025-12-03 09:12:29 -05:00
Fabian Blatz
de52d1df10 drivers: display: sdl: Move sdl_bottom parameters into structs
Since the number of function arguments grows out of hand, place them into
structs and pass a struct to the method instead.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-12-03 09:12:18 -05:00
Fabian Blatz
ef45a64f0d drivers: display: sdl: Add elliptical masking of display area
Adds `SDL_DISPLAY_ROUNDED_MASK` and `SDL_DISPLAY_ROUNDED_MASK_COLOR`
Kconfig options to mask a elliptical area of the display. This is useful
for prototyping alignments for rounded displays.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-12-03 09:12:18 -05:00
Tony Han
6d52c87443 drivers: crypto: hash: add driver for Microchip SHA
Add driver for Microchip Secure Hash Algorithm (SHA), update Kconfig
and make files.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-12-03 09:11:40 -05:00
Tony Han
ac31be0d98 drivers: crypto: Kconfig: rename Kconfig.xec to Kconfig.mchp
Rename to Kconfig.mchp for Microchip crypto drivers support.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-12-03 09:11:40 -05:00
Sunil Abraham
a280bb5b9d drivers: clock_control: PIC32CM_JH: Add clock control driver
Add clock control driver.
Implement bootup clock initialization, on, off and get_rate API.

Signed-off-by: Sunil Abraham <sunil.abraham@microchip.com>
2025-12-03 09:10:52 -05:00
Haoran Jiang
6d4900d0b9 drivers: pinctrl: sf32lb: Preserve the SR/IS definition for each register
Only modify the definitions that need to be changed in the pinmux register;
SR/IS will retain their default values after reset.

Signed-off-by: Haoran Jiang <halfsweet@halfsweet.cn>
2025-12-03 11:44:28 +01:00
Zhaoxiang Jin
a3663c8c7f drivers: counter: mcux_lptmr: add alarm support
LPTMR is a commonly used wake-up source for many NXP MCUs and
may be used as the companion low-power timer for the Cortex-M
systick. This commit enabled LPTMR set and cancel ALARM functions.

Enabling single-shot alarm support requires reprogramming
the hardware compare register (COMPARE/CMR), which is the same
resource used for the periodic TOP callback. Because of this
hardware limitation, we added Kconfig 'CONFIG_COUNTER_MCUX_LPTMR_ALARM'
to select whether alarm support is enabled. When alarm support is
enabled the driver will not allow support set TOP operation at runtime
(attempts to set TOP will return -ENOTSUP); When alarm support is
disabled the driver will not allow set and cancel ALARM operation
at runtime (attempts to set and cancel ALARM will return -ENOTSUP).
Choose the configuration that matches your application's requirements.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-12-03 11:43:22 +01:00
Holt Sun
e179f48a8c drivers: cache: add NXP LMEM cache driver
Add LMEM cache driver implementing instruction cache ops.
Wire driver into cache Kconfig menu and CMake build.
Enables I-cache control on SoCs with NXP LMEM controller.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-12-03 11:41:13 +01:00
Adrien Lessard
87d52f4993 drivers: serial: stm32: fix locked pm state
When not using the async API, the rx_woken flag can be set but cannot be
cleared, leading to an indefinitely locked pm state. This commit
prevents the flag from being set when not using the async API.

Signed-off-by: Adrien Lessard <adrien.lessard.42@gmail.com>
2025-12-02 18:40:58 -05:00
Dmitrii Sharshakov
956063604b drivers: led: shell: avoid implicit conversion to boolean
Use a clear and style-adherent condition format.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2025-12-02 18:38:53 -05:00
Camille BAUD
a2a7463ec0 drivers: flash: Introduce BFLB flash controller
Introduce Bouffalolab Flash Controller with support for bank 1

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-12-02 15:23:13 -05:00
McAtee Maxwell
61100bb14f drivers: clock_control: bugfix pse84 frequencies by fixing dpll support
- fix dpll_hp support
- add dpll_lp support for kit_pse84_*
- update kit_pse84_eval dts for dpll fixes
- update kit_pse84_ai dts for dpll fixes

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-12-02 15:23:03 -05:00
McAtee Maxwell
95184d330d drivers: clock_control: bugfix frequency on psc3 by adding dpll support
- add dpll_lp support to infineon clock_control drivers
- update psc3 dts for fix

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-12-02 15:23:03 -05:00
Raffael Rostagno
b3d34a20f6 drivers: sensor: dietemp: esp32: Update driver
Update driver to new version, from legacy driver.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-12-02 15:22:30 -05:00
Stoyan Bogdanov
036cd7a451 tests: rtc: Update microcrystal,rv3032 in build_all test suite
Update rv3032 to reflect latest chanes to the driver.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
641ec27106 drivers: sensor: rv3032c7: Add temperature sensor driver for rv3032
Expose internal temperature sensor for rv-3032-c7. Driver is reporting
temperature from internal deice sensors and have HIGH an LOW temperature
treshhold which are triggering interrupts. I2C communication and IRQ are
handled from parent MFD driver.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
5028aa4036 drivers: counter: rv3032c7: Add rv3032 counter driver
Expose timer functionality from rv-3032-c7 via counter api.
I2C communication and IRQs are arbitrated via MFD parent driver
for rtc, sensor and counter at once.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
1a93d33d29 drivers: rtc: rv3032: Rework driver to use MFD driver
Rework rv3032 implementaion to use MFD driver unstead of local
implementaion for I2C access and Interrupt managements. This way
could be utilized parts which are not implemented because did not fit
in to RTC api - counter and temperature sensor. To have propper
sincronization arbitration is need which is handled from mfd_rv3032.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
395d97bf81 drivers: rtc: Kconfig: Update rv3032 Kconfig to utilize MFD driver
Add dependecy for MFD driver and remove I2C dependency since it will
be managed from MFD driver together with interrupts.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Stoyan Bogdanov
4d1713a07e drivers: mfd: rv3032: Add MFD driver for rv3032
Add MFD driver for managing rv3032 functionality which did not fit RTC
api. That way are implemented part which otherwise will not be used:
- RTC
- counter/timer
- temperature sensor

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-12-02 15:20:56 -05:00
Fin Maaß
5c152e19fa drivers: gpio: use I2C_INIT_PRIORITY as default for gpio chips on i2c bus
use I2C_INIT_PRIORITY as default for gpio chips,
that are on a i2c bus.

If childs have the same priority as their parents,
the init order is decided by the devicetree ordinals.
This ensures, that these childs are init after their parent.
Because of that gpio chips on a i2c bus can have the
same priority as the i2c controller.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-12-02 15:19:24 -05:00
Fin Maaß
66f572e24b drivers: gpio: Kconfig: use if for pca95xx and pca_series
use if instead of multiple depends on for pca95xx and pca_series GPIO
Kconfig files to improve readability.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-12-02 15:19:24 -05:00
Martin Hoff
ff3637bf83 soc: silabs: siwx91x: enabled clock control by default for siwx91x soc
Enable clock control by default for siwx91x SoCs. Moreover, most
drivers for siwx91x soc depend on clock control, but didn't declare
it.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-12-02 15:18:53 -05:00
Jilay Pandya
a3ce6ccb0a drivers: tmc51xx: move DT_DRV_COMPAT to tmc51xx.c
TMC51XX would have to be remodeled as a mfd, this means
that each device tmc51xx, tmc51xx_motion_controller and
tmc51xx_stepper_driver will have their own DT_DRV_COMPATs.
Whenever the common header is included as of now, the
adi_tmc51xx DT_DRV_COMPAT would have to be undef-ed each time
in order to define a new DT_DRV_COMPAT i.e. required by the devices
of the tmc51xx mfd.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-12-02 16:14:47 +00:00
Mathieu Choplain
d49fc11661 drivers: usb: udc: stm32: instance-aware ULPI reset GPIO handling
Make ULPI reset GPIO accessible via a pointer in the instance configuration
block, initialized only when the instance's PHY is an ULPI PHY with the
corresponding property. Check at runtime during instance initialization for
this GPIO, and perform appropriate action depending on its presence.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Mathieu Choplain
4c51bf6987 drivers: usb: udc: stm32: instance-aware disconnect GPIO handling
Make disconnect GPIO accessible via a pointer in the instance configuration
block, initialized only when the instance does have it as property. Always
provide the HAL_PCDEx_SetConnectionState() callback which configures the
GPIO when present in the instance configuration block.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Mathieu Choplain
659c6e91f2 drivers: usb: udc: stm32: instance-aware message queue handling
Move message queue backing buffer inside instance data block to reduce
usage of globals. The message queue structure itself was already inside the
instance data block, only the initialization code needed an update.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Mathieu Choplain
d3769f7385 drivers: usb: udc: stm32: instance-aware worker thread handling
Obtain the stack info for each instance's worker thread from the instance
configuration block instead of using globals.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Mathieu Choplain
419860eb97 drivers: usb: udc: stm32: instance-aware pinctrl configuration handling
Use pinctrl from the instance configuration block instead of global object.
Create pinctrl on all series (even STM32N6) and always attempt to configure
it, but don't treat empty configuration as an error to allow pinctrl-less
series to work.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Mathieu Choplain
a06a97c40a drivers: usb: udc: stm32: instance-aware EP configurations handling
Get rid of global macro USB_NUM_BIDIR_ENDPOINTS by using the direct DT
macro when creating the endpoint configuration arrays and initializing
the instance configuration block. Access the endpoint configurations
through the instance configuration block instead of using global objects.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Mathieu Choplain
eccb243bdf drivers: usb: udc: stm32: instance-aware IRQ configuration handling
Get rid of global macros UDC_STM32_IRQ and UDC_STM32_IRQ_PRI by using the
direct DT macro when initializing the instance configuration block, and
performing IRQ_CONNECT() in a per-instance function called indirectly via
the instance configuration block.

While at it, get rid of the driver's useless ISR wrapping layer: the Zephyr
ISR calling convention just so happens to allow using the HAL IRQ handler
directly without a trampoline, which is slightly faster and ought to use
less ROM.

Note that global UDC_STM32_IRQ_NAME is still consumed, but it will be
replaced by another mechanism as part of the final step of multi-instance
support implementation.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:14:37 +00:00
Marek Matej
4c62fee6eb drivers: flash: esp32: flash access supervisor
Add support to access flash from remote CPU cores.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-12-02 16:13:52 +00:00
Sumit Batra
404556e36c drivers: flash: Add MCUX C40 flash controller driver
Add flash controller driver for the on-chip C40 flash controller
The driver is backed by the MCUX C40 HAL and implements
read/erase/program, page layout, and an optional protection policy
that can lock well-known regions (IVT/MCUboot) derived from devicetree.

Key details:
- Selects FLASH_HAS_DRIVER_ENABLED / FLASH_HAS_EXPLICIT_ERASE /
FLASH_HAS_PAGE_LAYOUT.
- Runs erase/program from SRAM when XIP by relocating both the shim and
the MCUX HAL source if CODE_DATA_RELOCATION_SRAM=y.
- Optional protection pass at init (FLASH_MCUX_C40_APPLY_PROTECTION),
which aligns windows to sector boundaries and applies lock/unlock
using the HAL. This is useful on XIP systems to keep IVT/bootloader
ranges read-only; can be disabled if a bootloader or security policy
manages protection instead.

Files:
- drivers/flash/flash_mcux_c40.c (new)
- drivers/flash/CMakeLists.txt (+zephyr_code_relocate when needed,
Compliance fixes)
- drivers/flash/Kconfig.mcux (enable flash driver, reloc & protection)
- modules/hal_nxp/mcux/mcux-sdk-ng/drivers/drivers.cmake

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2025-12-02 16:12:51 +00:00
Omeed Baboli
1034ba6b9b drivers: sensor: qdec_stm32: add sensor channel for encoder counts
Add a sensor channel for the encoder counts. This is useful for
reading the encoder counts and calculating an absolute position
of a linear actuator.

Signed-off-by: Omeed Baboli <omeedbaboli@gmail.com>
2025-12-02 16:12:35 +00:00
Muzaffar Ahmed
d31c6e9503 drivers: wifi: siwx91x: Fix link mode query for AP mode in channel 14
Add a channel check to update the link mode in wifi status query.

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-12-02 12:31:30 +00:00
Aksel Skauge Mellbye
e61c04e05d drivers: entropy: gecko_trng: Fully initialize on read
If the TRNG has been unretained, it's not sufficient to enable
the clock, it must be fully reinitialized.

This is a minimal fix to ensure entropy is accumulated after sleep.
Long term, this driver should be made to use device power
management with power domain awareness.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-12-02 12:29:14 +00:00
Luis Ubieda
1c07d92f7f gnss: F9P: Send RTK commands only if RTK is enabled
Otherwise treat it as a basic UXB GNSS modem.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-12-02 11:35:18 +01:00
Muzaffar Ahmed
f0454eb8b1 drivers: wifi: siwx91x: Fix AP mode channel status when using auto channel
Fixes the auto channel status by using the channel number from fetched
wireless info, rather than the input config variable.

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-12-02 11:31:24 +01:00
Chun-Chieh Li
d29321fee6 drivers: can: numaker: fix m55m1x core clock
On M55M1 series, the clock module index is virtual to stay compatible
with 32-bit only cell value in devicetree. Its real value of being
64-bit integer needs to acquire indirectly.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-12-02 11:27:51 +01:00
Dilip Raman
00e9d45245 drivers: sensor: adi: fix build warnings in ADXL decoder drivers
Fix invalid pointer-to-integer cast and comparison warnings in
ADXL362, ADXL367, and ADXL372 decoder drivers. The previous code
used `(uint8_t *)*fit` for offset comparison, which triggered
`-Wint-to-pointer-cast` warnings on recent compilers and could
lead to undefined behavior.

This patch replaces unsafe casts with `uintptr_t` arithmetic and
ensures type-safe offset calculations, preserving existing logic
while eliminating all build warnings.

Signed-off-by: Dilip Raman <dilipr@aerlync.com>
2025-12-02 11:27:43 +01:00
Jeppe Odgaard
6fbff921c7 drivers: led: pca9533: fix ms_to_psc wrap-around
If `period_ms` is 3 or less `tmp` is 0. Since `tmp` is type `uint32`
subtracting 1 from 0 will wrap around to `UINT32_MAX` and is then clamped
to `UINT8_MAX`.

Fix the issue by changing `tmp` and `1` to signed types.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-12-02 11:22:48 +01:00
Ha Duong Quang
aab99a548b driver: crypto: add NXP S32 CRYPTO HSE driver
Add device tree node for MU instances that will be used by HSE and RTU
for s32z270.

Add support hash crypto for NXP S32 with Algo 2:
SHA224, SHA256, SHA384 and SHA512.

Add support cipher crypto with ECB, CBC and CTR mode by using ram key
catalog.

Add support 128/256 bits ram key length.

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2025-12-02 11:20:29 +01:00
Johannes Meyer
8aaa5031f7 drivers: sensor: ti: Add INA232 native support
The INA232 is another device in the INA2XX family and is very similar
to the already implemented INA230 and INA236. The main difference
between the INA232 and the INA236 is that the INA232 does not have a
Device ID register. Because of these similarities, it is implemented
in the ina230.x files in the same way as the IN236. Modifications to
the corresponding tests are included as well.

Signed-off-by: Johannes Meyer <johannes.meyer@intego.de>
2025-12-01 19:48:40 -05:00