Commit graph

24538 commits

Author SHA1 Message Date
Al Semjonovs
d7e7839244 i2c: npcx_i2c_ctrl_transfer does not match original declaration
Fix npcx_i2c_ctrl_transfer arguments to match header to prevent
warning: type of 'npcx_i2c_ctrl_transfer' does not match original
declaration

Signed-off-by: Al Semjonovs <asemjonovs@google.com>
2025-06-05 15:11:14 -05:00
Raffael Rostagno
c3aa6589c3 drivers: intc: esp32: Disable IRQ before connect
Disable IRQ before connecting new handler when interrupt is not
shared. This aligns intc behavior to version before PR #87369.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-06-05 15:10:44 -05:00
Raffael Rostagno
00372dd6a9 drivers: pwm: ledc: esp32: Enable RC_FAST clock source
RC_FAST needs to be enabled and calibrated in order to be used
as clock source. Otherwise, clock source is selected but no
PWM is generated.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-06-05 15:09:17 -05:00
James Roy
d8b3775306 drivers: sensor: renesas: Fix unchecked return value in hs400x
Fix unchecked return value scanned by Coverity.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-06-05 12:34:01 +02:00
Tom Deconinck
e25147647c drivers: sensor: ntc-thermistor-generic: add missing mutex
The ntc-thermistor-generic is not thread safe when calling
sensor_channel_get() due to the mutex not being used in
ntc_thermistor_channel_get() when the sampled data is accessed.
Add the thermistor_data mutex around the data access to fix.

Signed-off-by: Tom Deconinck <t.deconinck@gmail.com>
2025-06-05 12:33:39 +02:00
Ruibin Chang
47d1e38043 drivers/counter: implement it51xxx counter driver
Implement counter driver for ITE it51xxx series chip.

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2025-06-05 12:33:29 +02:00
Ruibin Chang
ec6b34d870 drivers/timer/it51xxx: remove not used timer
Timer 7 is not used in timer driver, which means that timer
driver doesn't initialize timer 7, it's just declared in dtsi.
So I remove it, timer 7 will be used as alarm timer for counter driver.

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2025-06-05 12:33:29 +02:00
Bjarki Arge Andreasen
a8d44c37c4 pm: policy: remove redundant ifdef exclusion of device_power_lock
Remove redundant ifdef exclusion of calls to
pm_policy_device_power_lock_get() and
pm_policy_device_power_lock_put().

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-05 09:34:31 +02:00
Tim Lin
706b7e9002 drivers/clock: it51xxx: Disable eSPI pad before changing PLL sequence
We have to disable eSPI pad before changing PLL sequence or sequence
will fail if CS# pin is low.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-06-05 09:34:23 +02:00
Tim Lin
5f502499e9 drivers/espi: ite: Refactor register defines into .c for SoC flexibility
Move register definitions from chip_chipregs.h into espi_it8xxx2.c to
make the driver more adaptable to different SoCs.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-06-05 09:34:23 +02:00
TOKITA Hiroshi
8c9c7a5ddb drivers: entropy: add driver for VirtIO Entropy device
Add VirtIO Entropy driver.

The `virtio,device4` is a somewhat unfamiliar naming convention,
but it follows the convention used in Linux.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-06-05 09:33:59 +02:00
Declan Snyder
fd6b05c81b drivers: spi_context: Fix spi_context_xx_len_left
These two functions were using the value of ctx->xx_len wrong, the unit
is in words, not bytes, but spi_context_count_xx_buf_lens was iterating
over the length of bytes, not words.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-06-04 16:11:45 -04:00
Declan Snyder
2c75ad0db3 Revert "drivers: spi: fix the update of spi_context tx & rx length"
This reverts commit 4a486ce51b.

This change was totally wrong.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-06-04 16:11:45 -04:00
Rahul Gurram
9781a3531f drivers: wifi: siwx91x: Handling data packets for AP mode
In the raw data send API, the interface was hardcoded
for client mode. Now, we determine the opermode and
pass the appropriate interface to the raw data API
based on the current opermode.

Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
2025-06-04 15:51:07 -04:00
Alain Volmat
3db7b40238 video: introduction of driver for Omnivision OV9655
This commit add support for the Omnivision OV9655 sensor,
a 1.3MPix Color SXGA (1280x1024 sensor).
Current driver only allow output of 320x240 and 160x120
resolution either in RGB565 or YUYV.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-04 15:50:24 -04:00
Alain Volmat
9c62fb8810 video: stm32: dcmi: correct typo dmci -> dcmi
DMA callback is wrongly named as dmci in the source code,
correct the name to be dcmi_dma_callback.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-04 15:50:24 -04:00
Alain Volmat
64149e4df6 video: stm32_dcmi: addition of STM32L4 DMA support
The STM32 DMA LL api differ between the STM32F7 and the STM32L4
in order to get the CHANNEL instance information.  For that
reason, enclose within preproc statements STM32F7 specific code
and add STM32L4 code related to the DMA configuration for the
DCMI peripheral.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-04 15:50:24 -04:00
Alain Volmat
b03ec6dd29 video: stm32: dcmi: fix video interface properties read
This commit fixes an error introduced by commit c0dae0c9ac
("video: stm32: dcmi: perform config based on endpoint properties")
in which incorrect instance was being access leading to usage of
the default value for pixel clock / hsync / vsync polarities and bus
width.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-04 15:50:24 -04:00
Jilay Pandya
ca2f7254d2 drivers: stepper: tmc50xx: add a null pointer check
Check if the actual velocity pointer is NULL or not, if its null return
-EINVAL in order to avoid null pointer dereferencing later in code

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-06-04 17:04:30 +02:00
Arunmani Alagarsamy
28be2211f4 drivers: wifi: siwx91x: Correct handling of BSSID in interface status
This commit resolves incorrect results in the interface status response.
The parameter for `sl_wifi_get_wireless_info` has changed following the
HAL Silabs update to version 3.5.0.

In AP mode, the implementation now correctly uses the `mac_address`
variable instead of `bssid`.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-06-04 17:04:24 +02:00
Arunmani Alagarsamy
de6395d5d0 drivers: wifi: siwx91x: Handle error case in power save mode
Power save is not supported in AP mode. This commit ensures that
`-EINVAL` is returned instead of success, preventing incorrect behavior.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-06-04 17:04:24 +02:00
Nikodem Kastelik
647477c851 drivers: adc: nrf: align to non-gain configuration
Some nRF devices do not allow to configure gain.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-06-04 17:03:48 +02:00
Nikodem Kastelik
5abf43c7dd drivers: adc: nrf: align to channel-wide burst configuration
Some nRF devices allow to configure burst setting per channel
while others globally.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-06-04 17:03:48 +02:00
Bjarki Arge Andreasen
077ff2bae9 drivers: clock_control: nrf2_global_hsfll: impl resolve
Implement nrf_clock_control_resolve() API.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-04 17:00:40 +02:00
Bjarki Arge Andreasen
c950c56fe0 drivers: clock_control: nrf2_hsfll: impl resolve
Implement nrf_clock_control_resolve() API.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-04 17:00:40 +02:00
Bjarki Arge Andreasen
9983222cd7 drivers: clock_control: nrf2_fll16m: impl resolve and startup_time
Implement nrf_clock_control_resolve() and
nrf_clock_control_get_startup_time_us() APIs.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-04 17:00:40 +02:00
Bjarki Arge Andreasen
b20a233b05 drivers: clock_control: nrf2_lfclk: impl resolve and startup_time
Implement nrf_clock_control_resolve() and
nrf_clock_control_get_startup_time_us() APIs.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-04 17:00:40 +02:00
Bjarki Arge Andreasen
54d86e8f38 drivers: clock_control: nrf2_hfxo: impl resolve and startup_time
Implement nrf_clock_control_resolve() and
nrf_clock_control_get_startup_time_us() APIs.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-04 17:00:40 +02:00
Tien Nguyen
5f69dd15a5 drivers: gpio: Add support for RZ/V2H
Add support for RZ/V2H

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
2025-06-04 17:00:01 +02:00
Tien Nguyen
645acc5e9d drivers: serial: Add support for Renesas RZ/V2H
Add support for Renesas RZ/V2H

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
2025-06-04 17:00:01 +02:00
Johan Lafon
cf569036d1 driver: adc: add MCP3561/2/4R driver
Add driver for the microchip MCP3561/2/4R ADC. Registers lock and
CRCCFG protection mecanism is not implemented. Tested on an MCP3564R.

Signed-off-by: Johan Lafon <johan.lafon@syslinbit.com>
2025-06-04 16:58:52 +02:00
Sudarsan N
34f5f8d556 drivers: adc: Prevent overflow in max1125x_read_sample
Fix potential integer overflow caused by unsafe shift when computing
ADC mid-scale offset. Applies resolution bounds and uses unsigned
shift to avoid undefined behavior.

Fixes: CID 487740
Signed-off-by: Sudarsan N <sudarsansamy2002@gmail.com>
2025-06-04 10:04:14 +02:00
Mike J. Chen
122b14bc68 drivers: gpio_mcux_lpc: fix bug configuring interrupts with GPIO_INT_WAKEUP
If GPIO_INT_WAKEUP is in the trig argument, the selection
of trigger mode breaks because the GPIO_INT_WAKEUP flag
breaks the equal comparisons.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2025-06-04 08:46:15 +02:00
Wilkins White
00ee4a5887 drivers: flash: mcux: fix read for LPC55XXX
The LPC55XXX SoC series requires the use of a HAL function to read
from uninitialized flash without triggering a hardfault. This
broadens an existing #ifdef clause so that it is triggered for all
chips in the series instead of only the LPC55S36.

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-06-04 08:45:56 +02:00
Luis Ubieda
b402a47604 gnss: u_blox_f9p: Introduce High-precision GNSS module
Basic support: initialization for sending/handling UBX messages and
run-time navigation configurability through GNSS API.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-06-04 08:44:59 +02:00
cyliang tw
4a486ce51b drivers: spi: fix the update of spi_context tx & rx length
The unit of spi_context's tx_len and rx_len is byte instead of frame.
Thus, in spi_context_update_tx(), the value of ctx->tx_len should be
reduced by (len * dfs).
Also to fix the update of ctx->tx_len in spi_context_update_rx().

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2025-06-03 21:36:39 -07:00
Ryan McClelland
2bda9ad99b drivers: spi: cdns: fixup spi clk divisor
Remove the auto setting of the external spi clock if its not there,
also fix the calculation of calucation the spi divisor value.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-06-03 21:34:25 -07:00
Ryan McClelland
241bb057a0 drivers: spi: cdns: remove pm device call
The PM Device callbacks is rather unimplemented. There currently is
no device agnostic clock management api (yet), and the pinctrl isn't
fully implemented in this driver. Remove it all.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-06-03 21:34:25 -07:00
Ryan McClelland
0d61895385 drivers: spi: cdns: fix missing fifo config
This adds the missing fifo config from the dts which was missed in
the initial revision. This also adds the spi rtio fallback api.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-06-03 21:34:25 -07:00
Stephan Gatzka
c4c1d92cee drivers: gpio: Use BIT(n) macro to define GPIO constants
This change would also solve that according to the C11 standard,
section 6.5, paragraph 4, the usage of bitwise operators on
signed integers is implementation defined.

Signed-off-by: Stephan Gatzka <stephan.gatzka@gmail.com>
2025-06-03 20:32:33 +02:00
Andrew Davis
2edb6d2517 drivers: timer: ti_dmtimer: Do not require systick_timer node label
This driver currently only supports one instance of this timer and uses
it as the system clock. The instance is selected by being the first one
listed in DT in all places except sys_clock_driver_init() where it uses
the node label "systick_timer".

This driver should be fixed to correctly support multiple instances
of this timer, and the one used for the system timer should be selected
based on a flag or alias, not based on label.

For now simply use the 0th instance like everywhere else which removes
the need to have this node labeled a special way and makes no functional
changes to current users.

Signed-off-by: Andrew Davis <afd@ti.com>
2025-06-03 17:08:37 +02:00
Nhut Nguyen
a1874b11cc drivers: system timer: Initial support for RZ/G3S
Add System Timer driver support for Renesas RZ/G3S

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
2025-06-03 17:08:30 +02:00
Tomasz Moń
2248396873 drivers: udc_dwc2: Execute post enable quirk after enable
Device can be considered enabled only after the Soft Disconnect bit is
cleared. Move the post enable quirk past the SftDiscon bit clear.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-06-03 13:50:55 +02:00
Krzysztof Chruściński
4cf184773e drivers: serial: nrfx_uarte: Support for low power polling mode
Add support for getting to the lowest power mode when polling is
used with disable-rx property and interrupts are not used for
that UARTE. So far disabling of the UARTE peripheral was done in
the interrupt but in some cases interrupt may not be available
and in that case uart_poll_out shall wait until byte is transferred
and put UARTE into the lowest power state.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-06-03 13:50:38 +02:00
Manuel Argüelles
77c2c454f7 drivers: dma: esp32: guard driver's kconfig options
Wrap the driver's options to prevent them from showing up in the global
Kconfig menu.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2025-06-03 09:15:28 +02:00
Alain Volmat
2c2b2268af video: imx335: only include gpio code if needed
Rely on DT_ANY_INST_HAS_PROP_STATUS_OKAY to only build the
gpio handling code for reset pin if this is being used by
one or more instance of the device.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-02 22:35:45 -04:00
Alain Volmat
fc6d5c4871 video: imx335: increase T4 delay post reset
Increase the T4 delay after releasing the reset of the
sensor in order to avoid getting I2C communication issues
at initialization time.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-02 22:35:45 -04:00
Alain Volmat
4e63863b46 video: ov5640: only include gpio code if needed
Rely on DT_ANY_INST_HAS_PROP_STATUS_OKAY to only build the
gpio handling code for reset and powerdown pins if this is
being used by one or more instance of the device.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-02 22:35:45 -04:00
Alain Volmat
9f81f4f7ec video: ov5640: allow usage without reset or powerdown gpios
reset and powerdown pins are optionals.

gpio_is_ready_dt should not be called in case of reset or
powerdown are not present.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-02 22:35:45 -04:00
Mike J. Chen
e6d38ce11c drivers: clock_control_mcux_syscon: Added get support for I2S FLEXCOMM
Previously, I2S_MCUX_FLEXCOMM was expected to use the external
MCLK only but it's possible for I2S_MCUX_FLEXCOMM to be sourced
from other clocks like the audio_pll_clk, in which case the
driver needs to be able to get the current clock frequency
in order to properly set dividers for requested sample rate.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2025-06-02 22:35:29 -04:00