Commit graph

23353 commits

Author SHA1 Message Date
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
Hao Luo
95153de15b drivers: hwinfo: Add support for Apollo510 hwinfo
This commit adds support for Apollo510 SoC in ambiq hwinfo driver

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-05-14 09:11:17 +02:00
Hao Luo
ba52a93ac9 drivers: adc: Add support for Apollo510 ADC
This commit adds support for Apollo510 SoC in ambiq adc driver

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-05-14 09:11:17 +02:00
Alain Volmat
c1e7bdaa75 video: stm32-dcmi: implement frame interval handling
Implement the video API frame interval handling in order
to control the framerate of capture.

This allow to remove the capture-rate DT property as well.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-13 22:22:09 -04:00
Alain Volmat
df93e20414 video: stm32-dcmi: correct get/set fmt handling
This commit mainly correct the get/set format handling and how
DCMI format is stored within the driver.  struct video_format
within the data structure is used to store the format.
Reworked way to handle get format to avoid calling the sensor
set_fmt whenever performing the get_fmt.
Slightly adjusted code to as much as possible reuse return
values provided by functions.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-13 22:22:09 -04:00
Alain Volmat
c0dae0c9ac video: stm32: dcmi: perform config based on endpoint properties
Perform sensor interface properties parsing based on values
retrieved via the endpoint rather than the root of the node.
Use DT_PROP_OR to ensure proper configuration of optional
settings.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-13 22:22:09 -04:00
Sai Santhosh Malae
5572e49bc9 drivers: dma: siwx91x: DMA reload bug fix
Current DMA driver reload function only works for 8-bit
data. This is due to incorrect interpretation of size
argument. Added changes to support other xfer sizes.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-05-13 22:21:30 -04:00
Alexandre Bailon
db496c7a76 drivers: ieee802154: cc13xx_cc26xx: Don't filter beacon for OpenThread
OpenThread network discovery was not working.
The radio driver is filtering the beacon packets whereas
this is required for OpenThread.
Allow receiving beacon packets.

Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
2025-05-13 22:20:55 -04:00
Yau-ming Leung
b8f94cade5 drivers: icm42688: move misleading debug message
When SENSOR_TRIG_FIFO_WATERMARK or SENSOR_TRIG_FIFO_FULL is not configured,
an unsupported trigger debug message will be printed. Moved such that
a no trigger configured debug message will be printed only if both triggers
are not configured.

Signed-off-by: Yau-ming Leung <ymleung314@gmail.com>
2025-05-13 22:20:42 -04:00
Gregor Copoix
3da78086ae driver: wifi: esp32: fix send data for AP_STA mode
Fixes the check for connected interface if CONFIG_ESP32_WIFI_AP_STA_MODE=y
(different data objects for STA (esp32_data) and AP (esp32_ap_sta_data)).
As the correct data object is linked to device object, we can check for
ESP32_STA_CONNECTED or ESP32_AP_CONNECTED in dev->data.
This fixes AP mode in samples/net/wifi/apsta_mode if STA WIFI_SSID/WIFI_PSK
are invalid and no STA connection can be established before
(samples/net/wifi/apsta_mode/src/main.c#L28-L29) for all ESP32 derivates.

Fixes false check from 183b74c558

Signed-off-by: Gregor Copoix <gregor.copoix@ithinx.io>
2025-05-13 22:20:29 -04:00
Chris Friedt
8409e425b3 drivers: gpio: pca series: dereference pointer in assignment
Properly dereference the value pointer in assignment.

```
In function 'gpio_pca_series_port_read_standard':
warning: assignment to 'gpio_port_value_t *' {aka 'unsigned int *'} \
  from 'uint32_t' {aka 'unsigned int'} makes pointer from integer   \
  without a cast [-Wint-conversion]
 1071 |                 value = sys_le32_to_cpu(input_data);
      |                       ^
```

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-05-13 22:20:10 -04:00
Ayush Singh
3124c7ad24 drivers: gpio: davinci: Fix for RAM MMIO
Move the direction reset to config init function. This ensures that regs
is read after the DEVICE_MMIO_NAMED_MAP is called, which is where the
init for RAM MMIO takes place

Tested on PocketBeagle 2 A53s.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-05-13 22:19:51 -04:00
Titouan Christophe
d23b1bd4e0 memc: stm32_xspi_psram: allow usage on controllers without prefetch options
On some STM32 lines, like the h7rs, there aren't XSPI prefetch options.
To support them in the PSRAM driver, conditionally exclude them from
compilation when the options are not available

Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
2025-05-13 18:38:05 +01:00
Fabio Baltieri
bd3aff20eb drivers: dp: add STM32 support
Add support for direct control of STM32 gpios to the DP driver.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-13 18:37:55 +01:00
Fabio Baltieri
25bd4abfc4 drivers: dp: move the nrf code to its own file
Move the nrf specific functions to a separate file so that every soc has
a dedicated header.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-13 18:37:55 +01:00
Sai Santhosh Malae
a1913f9d9f drivers: counter: siwx91x: Enable siwx91x Counter driver
Enable sleeptimer counter driver for siwx91x device

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-05-13 17:46:46 +02:00
Sreeram Tatapudi
f61efef6b0 drivers: bluetooth: Add BLE low power mode for cyw920829m2evk_02
Add BLE low power mode for cyw920829m2evk_02

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-05-13 17:45:47 +02:00
Sreeram Tatapudi
2ef8ff4e04 drivers: clock_control: infineon_cat1: Support for LF clocks
Add support to configure LF clocks: clk_pilo, clk_wco, clk_ilo, clk_lf

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-05-13 17:45:47 +02:00
Michał Stasiak
03a9df38e9 drivers: comparator: comparator_nrf: Add analog pins for nRF54L20
Added set of analog pins for nRF54L20 COMP and LPCOMP.
Moved the array of analong pins for both comparator
variants to avoid code duplication.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-05-13 17:45:18 +02:00
Michał Stasiak
8b998060f2 drivers: adc: adc_nrf_saadc: Add analog pins for nRF54L20
Added set of analog pins for nRF54L20 SAADC.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-05-13 17:45:18 +02:00
Hao Luo
d89c61bd64 drivers: iom: define ambiq spi/i2c dma mode as a binding property
Changed to define ambiq spi/i2c dma mode as a binding property
instead of kconfig macros, making it more flexible for different
spi/i2c instances.

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-05-13 16:23:26 +02:00
Alberto Escolar Piedras
5c959c6136 drivers/counter/counter_native_sim: Merge if statements
To reduce the perceived code complexity

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-13 12:09:30 +02:00
Alberto Escolar Piedras
e521d5c838 drivers/serial/uart_native_tty: do not discard const qualifier
So it is clearer the data is not modified

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-13 12:09:30 +02:00