Commit graph

25,525 commits

Author SHA1 Message Date
Pieter De Gendt
f147a5fec2 spelling: Replace occurrences of "iff" with "if and only if"
Spell checking tools do not recognize "iff", replace with "if and only if".
See https://en.wikipedia.org/wiki/If_and_only_if

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-05-06 14:58:08 +01:00
Juliane Schulze
de0dfc3145 drivers: allow lis2dh anymotion triggers if no anymotion latching is active
Since the interrupt state of the IA bit (interrupt source register) is
checked, it needs to be read out everytime, not only on latching.

Fixes #71245

Signed-off-by: Juliane Schulze <juliane.schulze@deveritec.com>
2024-05-06 14:54:46 +01:00
Charles Dias
bdd4e61a25 drivers: video: Add support for STM32 DCMI
Add Kconfig, DCMI driver, Yaml, and CMakeLists files

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2024-05-06 14:54:35 +01:00
Fabio Baltieri
06236ba883 drivers: ht16k33: convert from kscan to input
Convert the ht16k33 to use the input subsystem. This can still be used
with the kscan API with the zephyr,kscan-input driver, or use the
input-keymap one to generate input codes instead.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-05-06 14:53:36 +01:00
Alberto Escolar Piedras
0b87cb1545 Revert "drivers: timer: tsc: retrieve clock frequency of system timer at runtime"
This reverts commit d82f4a9258.

https://github.com/zephyrproject-rtos/zephyr/pull/69705
Introduced a regression in main in which
tests/subsys/logging/log_timestamp
started failing. (See
https://github.com/zephyrproject-rtos/zephyr/issues/72344
for more info).
Let's revert the PR. It can be submitted after with the issue
fixed.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-05-06 14:52:29 +03:00
Najumon B.A
d82f4a9258 drivers: timer: tsc: retrieve clock frequency of system timer at runtime
add support for retrieve clock frequency (HW clock cycle per sec) of
system timer at runtime by reading cpu clock via cpuid

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-05-04 13:24:12 +03:00
Tom Burdick
cb384cd5a9 i2c: LPI2C selects HAS_I2C_RTIO
LPI2C from NXP supports the RTIO interface and therefore now selects the
HAS_I2C_RTIO Kconfig.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-05-04 13:23:22 +03:00
Tom Burdick
804a4faf3d i2c: sam twihs driver supports rtio
select HAS_I2C_RTIO when sam twihs is selected

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-05-04 13:23:22 +03:00
Tom Burdick
06e025aeee i2c: Add Kconfig HAS_I2C_RTIO
This config should be selected by any driver that supports the RTIO
interface and can then be checked on by things like tests or drivers
that subsequently require the feature exist.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-05-04 13:23:22 +03:00
Tomi Fontanilles
9bbff1ac84 drivers: crypto: mbedtls: fix dependency
Explicitly enable SHA-512 now that it is not enabled by default
anymore.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-05-03 14:47:52 -07:00
Pieter De Gendt
10dafbfcf4 drivers: bbram: Rename emul_bbram_backend_api to emul_bbram_driver_api
Structs with a __subsystem tag are required to have a _driver_api suffix.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-05-03 14:44:41 +01:00
Pieter De Gendt
e5a126ae0e drivers: usbc_ppc: Rename usbc_ppc_drv to usbc_ppc_driver_api
Structs with a __subsystem tag are required to have a _driver_api suffix.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-05-03 14:44:41 +01:00
Pieter De Gendt
8a2bece9af drivers: sensor: Rename emul_sensor_backend_api to emul_sensor_driver_api
Structs with a __subsystem tag are required to have a _driver_api suffix.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-05-03 14:44:41 +01:00
Wei-Tai Lee
29043c9ead driver: hwinfo: andes: add missing Kconfig dependency
Add Kconfig dependency to the Andes hwinfo driver.

Signed-off-by: Wei-Tai Lee <wtlee@andestech.com>
2024-05-03 14:44:16 +01:00
Mikhail Skobov
7d362e0a77 drivers: i2c: i2c_ll_stm32_v1
In rare cases, the I2C driver runs the N==2 logic
for I2C receives when N>2. This change breaks early
when handling the last 2 bytes for transactions with N>2

Signed-off-by: Mikhail Skobov <skobovm@meta.com>
2024-05-03 07:53:31 -04:00
Jeppe Odgaard
5d44ebfa7d drivers: i2s: stm32: use length from i2s_write
The length parameter from `i2s_write` is not used correctly by
i2s_ll_stm32.c. E.g. `i2s_write(dev, block, 0)` would work.

Use the length from `i2s_write` in `dma_reload` to fix the issue.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2024-05-03 07:53:05 -04:00
Simon Guinot
ea47ef0ac0 drivers: ncp5623: check led_info for all LEDs
With the current code, when three separate monochrome LEDs are defined
in DT, only the information from the first LED is checked during driver
initialization. This patch fixes the code to verify the information of
each LED.

Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
2024-05-03 07:29:45 -04:00
Benjamin Cabé
003f145314 drivers: gpio: fix bug with Px15 pins
Fix condition in pin number check so that PA15, PB15, etc. can be properly
accessed..

Co-authored-by: Денис <baden.i.ua@gmail.com>
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-05-03 07:29:13 -04:00
Bjarki Arge Andreasen
15fa7f79da drivers: gnss: gnss_publish: Use sem for locking
The gnss_publish incorrectly uses a spinlock for mutual
exclusion when publishing data and satellites. Update it to
use a binary semaphore.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-05-02 22:44:19 +01:00
Bjarki Arge Andreasen
2ff1ed7804 drivers: gnss: gnss_lcx6g: replace spinlock with sem
Use semaphore instead of spinlock for mutual exclusion. The
spinlock is improperly used for mutual exclusion, leading to
timeouts and other unintended behavior as ISRs are disabled.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-05-02 22:43:11 +01:00
Daniel DeGrasse
6290d18c13 drivers: display: display_hx8394: use MIPI LPM during init commands
Although not documented in the HX8394 datasheet, it seems that the
display fails to initialize if MIPI HS mode is used to send
configuration commands. Therefore, we must make sure all initialization
commands are sent with the MIPI_DSI_MSG_USE_LPM flag set.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-05-02 21:26:32 +03:00
Jose Alberto Meza
30eda2058b treewide: drivers: espi: Adjust terms per eSPI specification 1.5
1) Replace master/slave in API for new terms in eSPI spec 1.5
2) Reflect eSPI VW change and macro changes across eSPI drivers
3) Update terms in eSPI driver sample and eSPI test driver

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2024-05-02 13:56:46 -04:00
Tomi Fontanilles
43651979fc drivers: entropy: fix TF-M enabled build with MbedTLS 3.6.0
This fixes the compilation of entropy_psa_crypto.c that failed
when trying to include the MbedTLS configuration.

Inherit the needed include folders and definitions from tfm_api.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-05-02 09:42:34 -07:00
cyliang tw
0190ed2713 drivers: adc: support Nuvoton numaker m2l31x
Update m2l31x.dtsi for adc support and update adc_numaker.c
to support acquisition time in 0~255 ADC ticks.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2024-05-02 09:58:43 +01:00
Fabio Baltieri
37c23f69f2 input: analog_axis: use k_sem for locking
Swap the mutex with a semaphore for locking the calibration data.
Lighter data structure, no need to use a mutex here.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-05-01 22:56:07 +01:00
Mykola Kvach
b8f7fc3cc3 drivers: sdhc: add support of Renesas MMC driver
Add basic functionality of Renesas SD/MMC driver. It can be used
for both gen3 and gen4 R-car boards, but tested only with H3ULCB,
Salvator XS M3 and Spider boards. This driver working with SDHC
subsystem.

The driver supports regularal reading/writing throught SD/MMC
controller buffer, DMA mode w/o interrupts and timing tuning.

Add gpio5 and sd0 nodes to h3ulcb and salvator xs which are needed
for working with SD cards. The GPIO node is needed for switching
voltage on SD card through gpio regulator driver.

Notes:
    * the driver doesn't support SPI mode;
    * SCC tuning and DMA mode based on IRQs are enabled by default;
    * an address of a data buffer has to be aligned to 128 bytes if it
      is not, driver will use non-DMA mode automatically;
    * Renesas MMC DMAC doesn't support 64-bit DMA addresses, so for
      case when we have 64-bit xref data address we use non-DMA mode;
    * SD/MMC controller supports block size between 512 and 1 with
      a lot of restrictions, more details you can find in code;
    * support of HS400 mode isn't implemented inside driver.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-05-01 10:55:11 -04:00
Mike J. Chen
40a8022e4a drivers: regulator: shell: add is_enabled cmd
Reports whether regulator is enabled or disabled

Signed-off-by: Mike J. Chen <mjchen@google.com>
2024-05-01 13:12:24 +02:00
Pisit Sawangvonganan
3d39926f94 bluetooth: hci: refactored bluetooth hci packet type indicators
Introduced a unified definition for HCI packet type indicators in
'bluetooth/hci_types.h. This change streamlines the code in
'drivers/bluetooth/hci/', reducing redundancy.
Enhances maintainability and consistency across all HCI drivers.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-05-01 10:33:12 +02:00
Reto Schneider
776af7ea39 drivers: gpio: kconfig: Prevent conflicts
By sorting the lines alphabetically, conflicts can be reduced.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-05-01 10:29:10 +02:00
Reto Schneider
998d51a090 drivers: gpio: cmake: Prevent conflicts
By sorting the lines alphabetically, conflicts can be reduced.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-05-01 10:29:10 +02:00
Wei-Tai Lee
5b83b7a472 drivers: flash: andes_qspi: fix accessing error variable
Fix accessing error variable when using FLASH_ANDES_QSPI_SFDP_RUNTIME.

Signed-off-by: Wei-Tai Lee <wtlee@andestech.com>
2024-05-01 10:26:21 +02:00
Wei-Tai Lee
71f4d1b98e drivers: flash: andes_qspi: fix shadow variable error
Make the variables naming more specific.

Signed-off-by: Wei-Tai Lee <wtlee@andestech.com>
2024-05-01 10:26:21 +02:00
Aurelien Jarno
ce29e275c9 drivers: hwinfo: shell: add support for displaying device EUI64 ID
This adds a 'deveui64' command to display the just added EUI64 device
id. Display "Not supported by hardware" on devices that do not have it.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2024-04-30 19:29:10 -05:00
Aurelien Jarno
185edca797 drivers: hwinfo: stm32: Add support for reading EUI64 on STM32W*
The STM32WB, STM32WB and STM32WBA families devices include a EUI64 ID
(called "IEEE 64-bit unique device ID register" in the reference manual
that is distinct from the standard device ID. Add support for reading
it, noting that it is stored in little endian format in the registers.

On other families the weak implementation takes over and returns
-ENOSYS.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2024-04-30 19:29:10 -05:00
Aurelien Jarno
ada2c78235 drivers: hwinfo: Add device EUI64 ID support
Some devices, mostly with radio support, have an EUI64 ID (unique and
attributed by IEEE), in addition to the standard device ID.

Add support for reading it through the hwinfo API. As the size is always
the same (8 bytes), there is no need to pass the size in the function,
nor return the number of bytes copied.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2024-04-30 19:29:10 -05:00
Luis Ubieda
971491b5a4 sensor: decoder: Use helper API to compute header size
To be consistent with the computed offset on sensor_submit_fallback()
implementation. This prevents falling in misalignment issues when the
number of sensor channels changes.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2024-04-30 19:28:02 -05:00
Luis Ubieda
45ae829791 sensor: rtio_default: Remove log when device does not contain channel
Since this loops over all listed sensor channels, this makes more
difficult catching other debug log messages that might be of interest
(e.g: Decoding results).

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2024-04-30 19:27:15 -05:00
Luis Ubieda
fcb5d768a2 sensor: rtio_default: Add shift to sensor_submit_fallback DBG printout
To facilitate calculation verification between Q-number and value
obtained through fetch/get APIs.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2024-04-30 19:27:15 -05:00
Charles Dias
fa19161527 drivers: video: ov2640: add clock rate control property
Add Clock Rate Control property to OV2640 CMOS video sensor

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2024-05-01 00:14:18 +02:00
Francois Ramu
f9d04d0958 drivers: watchdog stm32 independent wdg when enable at boot
When the CONFIG_WDT_DISABLE_AT_BOOT is not set, the iwdg
should be configured by iwdg_stm32_install_timeout
and started by iwdg_stm32_setup

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-04-30 14:31:43 -04:00
cyliang tw
183edd2549 drivers: rtc: support for Nuvoton numaker m46x
Add Nuvoton numaker RTC driver including RTC alarm feature.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2024-04-30 14:31:29 -04:00
Fredrik Gihl
be25e34a7c drivers: sensor: Add TI TMP114 temperature sensors
Add device driver for TI TMP114 I2C temperature sensor.
The driver only support basic functionality, i.e. fetch temperature
using default values.

Datasheet:
	https://www.ti.com/lit/ds/symlink/tmp114.pdf

Signed-off-by: Fredrik Gihl <fgihl@hotmail.com>
2024-04-30 14:31:07 -04:00
Nathan Collins
acc2b51959 drivers: display: sdl: Fix asserts in sdl_display_write
The asserts and validation code were incorrectly mixing pitch and
width.  These incorrect checks were preventing rendering code from
re-using a smaller section of a buffer allocated to fit the full
screen. We expect to be able to update a portion of the display from a
portion of the buffer, in which case pitch must remain the screen
width. Expecting x + pitch to be smaller than the screen width is
incorrect.

Signed-off-by: Nathan Collins <nathan.collins@kdab.com>
2024-04-30 18:23:30 +02:00
Raffael Rostagno
f4a6fd1f3f drivers: esp32: SDHC implementation
Implementation of SDHC driver for ESP32

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-04-30 18:23:06 +02:00
Fin Maaß
6801ec0e30 drivers: flash: esp32: correct return values
The esp_flash*() functions don't return
negative errno codes, so it's return value
should not be used for the flash api functions.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-04-30 18:01:59 +02:00
Jiafei Pan
91c081833e drivers: clock_control: imx_ccm_rev2: add tpm clock
Add TPM clock support on i.MX 93 platform.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2024-04-30 08:53:59 +02:00
Marouen Ghodhbane
3fb0e784ff drivers: counter: mcux: add support for TPM
Add TPM native Zephyr driver. It's mainly inspired from the GPT
counter implementation.

Signed-off-by: Marouen Ghodhbane <marouen.ghodhbane@nxp.com>
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2024-04-30 08:53:59 +02:00
Declan Snyder
9320907fdf drivers: uart_mcux_lpuart: Fix APIs used together
Handle controller instances wanting to use different
API instances, need to change init flow so that they dont
interfere with each other, trick for now is returning
either the interrupt driven or async apis as not enabled
if the other has already been used on that controller.

Previously, there was an issue where enabling CONFIG_UART_ASYNC_API
would overwrite the init even if controller was meant to use
interrupt driven (as kconfig is global to affect all the controllers)

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-04-30 08:53:02 +02:00
Declan Snyder
dfe4991a2c Revert "drivers: serial: uart_mcux_lpuart: fix IRQ-driven API with ASYNC_API"
This reverts commit a80fa5163b.

That commit broke the polling API when used with the interrupt driven,
it is completely wrong to disable the receiver from irq_rx_disable,
the uart_basic_api test has been broken on all lpuart platforms because
of this bug.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-04-30 08:53:02 +02:00
Declan Snyder
e3ef4e3f09 drivers: mdio: Remove empty functions
Remove empty functions that were "implementing" the
mdio bus_enable and bus_disable apis.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-04-29 22:31:16 +01:00