Commit graph

25,525 commits

Author SHA1 Message Date
Sean Kyer
b476fa78d2 drivers: counter: counter_max32_wut: Fixed PM resume routine
Seperated SW and HW initialization code so timer is not
wiped upon a PM resume event.

Signed-off-by: Sean Kyer <Sean.Kyer@analog.com>
2025-05-15 17:53:31 +02:00
Sean Kyer
ee883a9f55 drivers: counter: counter_max32_wut: Add backup support
Added backup power mode support to max32 wut.

Signed-off-by: Sean Kyer <Sean.Kyer@analog.com>
2025-05-15 17:53:31 +02:00
Tahsin Mutlugun
ab43ceb1eb drivers: counter: Add MAX32 Wake-Up Timer driver
MAX32 Wake-Up Timer is a 32-bit timer that can wakeup the device from
low-power modes.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-05-15 17:53:31 +02:00
Muzaffar Ahmed
2a1b754779 drivers: wifi: siwx91x: Enable roaming by default
Set the default value for WIFI_SILABS_SIWX91X_ENABLE_ROAMING to y in
Kconfig.siwx91x

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-05-15 16:16:54 +02:00
Muzaffar Ahmed
d6e106b5f0 drivers: wifi: siwx91x: Introduce flag for LIMIT_PACKET_BUF_PER_STA
Introduced WIFI_SILABS_SIWX91X_LIMIT_PACKET_BUF_PER_STA.
This flag limits packet queues in AP mode.

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-05-15 16:16:54 +02:00
Tomas Barak
699fc6dbe8 drivers: i2s: mcux_sai: add MCLK direction control in the initialization
Add support for configuring the master clock (MCLK) direction in the
I2S MCUX SAI driver. This allows controlling whether the MCLK pin acts
as an input or output based on device tree configuration, improving
flexibility when interfacing with external audio codecs.

The change leverages the mclk_output property from device tree to
properly set the direction of the MCLK pin during initialization.

Signed-off-by: Tomas Barak <tomas.barak@nxp.com>
2025-05-15 16:16:28 +02:00
Tomas Barak
9dd494f966 drivers: audio: wm8962: Add wm8962 codec support
- create driver for codec wm8962
- add Kconfig, Cmakelist references
- create dts binding

Signed-off-by: Tomas Barak <tomas.barak@nxp.com>
2025-05-15 16:16:28 +02:00
Martin Hoff
742261ddaa drivers: rtc: add silabs siwx91x rtc driver
Add the support of silabs siwx91x basic rtc driver.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-05-15 14:09:23 +02:00
Muzaffar Ahmed
951d60dcbc drivers: wifi: siwx91x: Add support for TWT
- Implemented `siwx91x_set_twt_setup` and `siwx91x_set_twt_teardown` for
  handling TWT setup and teardown requests.
- Added validation for TWT parameters, including negotiation type,
  device state, and operation type.
- Integrated TWT functionality into the `wifi_mgmt_ops` structure for
  seamless management via the Zephyr Wi-Fi API.

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-05-15 14:08:37 +02:00
Jeppe Odgaard
8b934dc1fa drivers: eeprom: tmp11x: remove redundant build assert
Initialization priority is already check by `check_init_priorities.py`

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-05-15 11:18:41 +02:00
Jordan Yates
81c4e80420 wifi: nrf_wifi: don't block workqueue in RPU recovery
Don't block the system workqueue for 2 seconds (default value) when
attempting to perform RPU recovery. The system workqueue is a shared
resource which should not be blocked for significant periods of time.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-05-15 11:18:37 +02:00
Jhan BoChao
7450a5249d driver: flash: add flash driver for rts5912
add flash driver for rts5912.

Signed-off-by: Jhan BoChao <jhan_bo_chao@realtek.com>
2025-05-15 11:18:22 +02:00
Jérôme Pouiller
1d4a0d78e3 drivers: memc: Add support for siwx91x QSPI controller
Silabs siwx91x includes a memory controller for (Quad-)SPI PSRAM. It
allows the application to use the PSRAM as if it was any other RAM.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-15 09:00:39 +02:00
Jérôme Pouiller
91e3f78837 drivers: memc: Sort inclusions
These are only cosmetics changes to prepare integration of the further
patches.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-15 09:00:39 +02:00
Quang Le
4f63592f56 drivers: spi: Initial support for RZ/G3S
Add SPI driver support for Renesas RZ/G3S

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-05-15 09:00:31 +02:00
Stoyan Bogdanov
f1b4c12237 drivers: hwinfo: cc23x0: Add support for cc23x0 in hwinfo
Add support for get_reset_cause and get_supported_reset_cause.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-05-14 23:35:07 +02:00
Fabio Baltieri
3cb8f745a6 serial: add an uart-bridge driver
Add a reusable uart-bridge driver that echoes data between two serial
devices. It's mainly meant to be used with one of the devices being an
USB CDC-ACM, the data is buffered, there's a pause feature to stop the
USB endpoint when the hardware UART is filling up to avoid overrun and
there's a helper function used to propagate the USB uart configuration
to the hardware one.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 20:11:00 +01:00
Jérôme Pouiller
31646fd06e modules: hal_silabs: Update WiseConnect SDK
Import the new version of the WiseConnect SDK.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-14 19:36:07 +02:00
Fabio Baltieri
39e56e9a71 led: drop a bunch of now redundant brightness validations
This check is now part of the API, individual drivers don't need to do
it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 16:27:18 +02:00
Fabio Baltieri
6f47466899 led: drop a bunch of on/off wrappers
These are now handled at API level, drop them from the drivers.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 16:27:18 +02:00
Fabio Baltieri
62c1fb2097 led: drop min/max brightness from struct led_data
This is always 0 to 100, hardcode the range.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 16:27:18 +02:00
Fabio Baltieri
69e739359f led: check for valid brightness range at API level
The API specifies that brightness is 0 to 100, no point checking it in
the individual drivers.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 16:27:18 +02:00
Fabio Baltieri
551c1363dd led: add and use a LED_BRIGTHNESS_MAX definition
The led_set_brightness API says that brightness is defined as
percentage, add a macro from the max and use it everywhere.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 16:27:18 +02:00
Bjarki Arge Andreasen
937a44a74e drivers: spi: nrfx_spim: prevent self suspend until spi_release()
In case the SPI transaction has SPI_HOLD_ON_CS set, we need to keep
SPI resumed until spi_release() is called. This is required as we
now need to keep the CS GPIO port resumed until transaction is
complete.

Suspending CS GPIO is not allowed from ISR in some cases (H20 fast
GPIO instance) so we have to defer CS GPIO suspend to some thread
context (put_async or spi_release()).

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-05-14 15:19:22 +02:00
Bjarki Arge Andreasen
acbed8a8bf drivers: spi: nrfx_spim: impl spi_context_cs_get_all/put_all
Implement calling spi_context_cs_get_all() and
spi_context_cs_put_all() in line with pm resume/suspend.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-05-14 15:19:22 +02:00
Bjarki Arge Andreasen
cbd9535551 drivers: spi: context: Add helper for CS GPIO PM
Introduce spi_context_cs_get() and spi_context_cs_put() which shall
be used from drivers to get/put the GPIO port the CS GPIO belongs to
before and after a transaction, in line with the SPI drivers pm
action hook being called.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-05-14 15:19:22 +02:00
Bjarki Arge Andreasen
c4d475c1f2 drivers: gpio: nrfx: impl pm device runtime
Implement PM_DEVICE_RUNTIME for gpio_nrfx.c

PM is required to request/release the GPD domain if such exists
for a given GPIO instance. Without this, every single API call
will result in a requesting the GPD domain, which makes it slow
and unusable from ISRs, given GPD requires IPC. Now, user can
simply get the GPIO before using it, and put it once done,
calling the APIs from ISR while resumed.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-05-14 15:19:22 +02:00
Kai Vehmanen
d411288bda dma: intel_adsp_hda: re-enable interrupts upon resume
Commit fa4a9db7a3 ("dma: intel_adsp_hda: Fix invalid init sequence and
register use") moved intel_adsp_hda_channels_init() out from resume
path. This causes a regression to CONFIG_DMA_INTEL_ADSP_HDA_TIMING_L1_EXIT
as without irq_config() call the interrupt configuration may be partial.

Address this by calling irq_config() unconditionally on resume path.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2025-05-14 15:19:06 +02:00
Bas van Loon
0b9fce4612 drivers: serial: uart_mcux_lpuart: Restore lpuart CTRL register.
When RTS/CTS is toggled it disables the receiver and transmitter
bits to be able to change the flow control bits in the MODIR register.

After it has done so, it should restore the original value of the
CTRL register to re-enable the transmitter and/or receiver if they
were enabled before calling the mcux_lpuart_line_ctrl_set_rts()
function.

Signed-off-by: Bas van Loon <bas@arch-embedded.com>
2025-05-14 15:18:46 +02:00
Qingsong Gou
2e484fc6e5 rtc: fix gpio_pin_configure_dt error
GPIO_PULLUP is not in other driver gpio int API, so keep the same

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-05-14 14:11:00 +02:00
Markus Lassila
5b6a865464 modem_cellular: Add dormant state to support network loss
Previously, it was expected that the modem would immediately
disconnect and close the PPP link, when the network was lost
(+CEREG: 4 is received). Failure to do so, would result in
modem attempting to chat with dlci2 channel, where as cellular
modem driver would drop to dlci1. This would show as dial
script timing out, which would freeze cellular modem driver.

Adding dormant state enables graceful disconnection of PPP-link
when the network is lost. This allows the modems which do
not automatically close with network link loss to close
based on PPP link closure.

Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
2025-05-14 14:10:21 +02:00
Daniel Schultz
86b31465f4 drivers: serial: Add aesc UART driver
Add minimal support for the aesc silicon UART IP core.

This core includes an internal clock divider and supports flexible
frame configurations, allowing for variable data length, parity, and
stop bit settings.

The current driver version does not support interrupts.

Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
2025-05-14 14:09:41 +02:00
cyliang tw
a5f8645038 drivers: pwm: support for numaker m55m1x
Modify Nuvoton numaker pwm driver for m55m1x series.
Add pwm nodes in m55m1x.dtsi

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2025-05-14 11:04:17 +01:00
Jeppe Odgaard
46a3bbb35a drivers: sensor: ti: tmp11x: fix get ambient offset
The sensor value was accidentally set a second time.

Refactor `tmp11x_attr_get` to fix the issue and align more with
`tmp11x_attr_set`.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-05-14 11:04:08 +01:00
Marcin Szymczyk
a068709171 drivers: spi: nrfx_spim: use clock phandle for HSFLL nodes
Instead of explicitly defining the SPIM instances that need it.

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2025-05-14 11:03:51 +01:00
Alain Volmat
88d8003109 clock_control: stm32: add handling of clocks for the stm32mp13
Add enabled_clock, on / off and configure support for the clocks of
the stm32mp13. Describes the peripheral clock source selection.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-14 11:03:41 +01:00
Alain Volmat
983d891829 drivers: clock: stm32mp13: rename frac-v binding into fracn
Rename the frac-v PLL binding into fracn in order to make it
consistent with other STM32 PLL bindings.
This commit also correct the range which should be 0 - 8191.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-14 11:03:41 +01:00
Alain Volmat
933446ff4a drivers: clock: stm32-mco: support MCO with enable bit
On STM32MP13, a dedicated MCO enable bit within the MCO clock control
register must be set in order to activate the MCO.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-14 11:03:41 +01:00
Burak Babaoglu
9de258c50f drivers: i2c: Update driver to enable I2C for MAX32650 SoC
This commit adds new wrapper functions into driver to handle
differences of MAX32650 SoC.

Signed-off-by: Burak Babaoglu <burak.babaoglu@analog.com>
2025-05-14 11:03:22 +01:00
Furkan Akkiz
ccc26a53bb drivers: watchdog: Update driver to enable WDT for MAX32650 SoC
This commit changes clock property of watchdog to optional and updates
driver according to this change.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
2025-05-14 11:03:22 +01:00
Furkan Akkiz
46ab3b4ff3 drivers: spi: Update driver to enable SPI for MAX32650
This commits changes a macro name to enable SPI support for MAX32650
SoC.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
2025-05-14 11:03:22 +01:00
Furkan Akkiz
d19e318a71 drivers: spi: clang-format changes for MAX32 SPI driver
This commit applies clang-format changes for MAX32 SPI driver.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
2025-05-14 11:03:22 +01:00
Fabio Baltieri
1d1dc09ca3 leds: add arduino,modulino-smartleds
Add an led_strip driver for the modulino smartleds module. This is a
pluggable I2C board with 8 addressable RGB LEDs

The I2C protocol is implemented on an microcontroller on the modulino
board itself, the firmware for that is open source and can be updated
using an Arduino sketch:

Link: https://github.com/arduino/node_modulino_firmware
Link: https://github.com/arduino-libraries/Modulino
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 11:03:10 +01:00
Fabio Baltieri
8060a59f3a leds: add arduino,modulino-buttons-leds
Add an LED driver for the modulino buttons module, this has three LEDs
that are controllable independently of the buttons.

Link: https://github.com/arduino/node_modulino_firmware
Link: https://github.com/arduino-libraries/Modulino
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 11:03:10 +01:00
Fabio Baltieri
82509f7295 input: add arduino,modulino-buttons
Add an input driver for the modulino buttons module. This is a pluggable
I2C board implementing three buttons and three LEDs, the I2C protocol is
implemented on a microcontroller on the modulino board itself, the
firmware for that is open source and can be updated using an Arduino
sketch:

Link: https://github.com/arduino/node_modulino_firmware
Link: https://github.com/arduino-libraries/Modulino
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-14 11:03:10 +01:00
Camille BAUD
dd51655b25 drivers: add CH32V203 to wch systick
Adds CH32V203 to the systick timer driver

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-14 11:02:52 +01:00
Ayush Singh
88b108d201 drivers: gpio: davinci: Allow empty pinctrl
Ignore error if default pinctrl missing. Some devices allow specifying
pinctrl in them, which is better to do , specially for static (on-board)
devices to keep overlays simpler.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-05-14 09:11:52 +02:00
TOKITA Hiroshi
431f202732 drivers: entropy: add iproc_rng200 (rpi_5) random generator driver
Add driver for iproc_rng200 entropy generator.
This device is used by rpi_5.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-05-14 09:11:42 +02:00
TOKITA Hiroshi
10f614db9a drivers: entropy: Add sort directives
Add sort directives to CMakeLists.txt and Kconfig

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-05-14 09:11:42 +02:00
Hao Luo
4bc2de23a9 drivers: flash: Add support for Apollo510 flash controller
This commit adds support for Apollo510 SoC in ambiq flash driver

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-05-14 09:11:17 +02:00