Commit graph

23353 commits

Author SHA1 Message Date
Bjarki Arge Andreasen
400c038008 drivers: clock_control: z_nrf_clock: add get_startup_time API
Implement vendor specific
z_nrf_clock_bt_ctlr_hf_get_startup_time_us() which gets the startup
time of the high frequency clock used for Bluetooth.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-05-28 17:49:41 +02:00
Fin Maaß
f7153012ef dts: enum_macros: make sure that they are lowercase
DT_ENUM_HAS_VALUE_BY_IDX states, that the value
must be lowercase-and-underscores, this makes sure,
that they can match.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-05-28 17:48:57 +02:00
Brandon Allen
979933cfb4 drivers: current_sense_amplifier: add zero-current-voltage binding
some current sense amplifiers have a non zero offset voltage
that correlates to zero current. adding this offset voltage binding
allows the driver to be used with this type of circuitry.

Signed-off-by: Brandon Allen <brandon.allen@exacttechnology.com>
2025-05-28 17:48:47 +02:00
Olivier Lalonde
afc481ab31 modem_cellular: Add support for the simcom a76xx modem
Add support for the simcom a76xx modem which is similar to the simcom 7080
but has a few key differences. Tested with a simcom A7672SA module but as
there is a single simcom A76XX AT commands manual, the driver should work
with other modems of the series.

Signed-off-by: Olivier Lalonde <o@syskall.com>
2025-05-28 16:37:53 +02:00
Mathieu Choplain
5e9a10cb5b drivers: clock_control: stm32: don't enable RUNTIME_NMI all the time
The Clock Security System (CSS) feature signals failure of an external
oscillator by triggering an NMI. As such, when this feature is enabled,
RUNTIME_NMI must also be enabled such that the NMI handler can be modified
to point to the appropriate function.

The STM32 clock control Kconfig checks whether the CSS has been enabled in
Device Tree, and forcefully selects RUNTIME_NMI if enabled since the driver
code will require it. However, the check has been implemented improperly:
"dt_nodelabel_has_prop" was used instead of "dt_nodelabel_bool_prop", an
error similar to using DT_NODE_HAS_PROP() instead of DT_PROP() in C code.

Since the property always exists, as long as the HSE is enabled, the
RUNTIME_NMI option is always select'ed, even if not actually required.

Use the correct Kconfig function to ensure RUNTIME_NMI is select'ed only
when it is required, instead of whenever HSE is enabled regardless of CSS.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-05-28 15:38:31 +02:00
Andrzej Głąbek
a9405d005c drivers: adc_ad4130|adc_7124: Add ret initialization in *_perform_read()
Add initialization of `ret` to avoid reports of uninitialized variable
being returned. This variable normally gets initialized while the loop
iterates over channels, but potentially it could be left uninitialized
if the loop finished in its first iteration because of no channels to
be processed.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-05-28 15:33:14 +02:00
Ricardo Rivera-Matos
2bb7fcc5df charger: axp2101: Guards against out-of-bounds read
Corrects the out-of-bounds check when reading
constant_charge_voltage_lut

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2025-05-28 12:22:21 +02:00
Henrik Brix Andersen
18aa6c8901 drivers: can: mcan: merge nested if-statements into one
Merge two nested if-statements into one.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2025-05-28 12:22:11 +02:00
Henrik Brix Andersen
45511fe634 drivers: can: mcan: declare the loop condition variables inside the loops
Declare the loop condition variable inside the loops to limit their scope.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2025-05-28 12:22:11 +02:00
Henrik Brix Andersen
40ec42e26f drivers: can: rcar: merge nested if-statements into one
Merge two nested if-statements into one.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2025-05-28 11:18:23 +02:00
Henrik Brix Andersen
09f54c98a7 drivers: can: rcar: declare the loop condition variables inside the loops
Declare the loop condition variable inside the loops to limit their scope.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2025-05-28 11:18:23 +02:00
Henrik Brix Andersen
24a46a597c drivers: can: rcar: always initialize return value variable
Always initialize the return value variable to avoid returning garbage.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2025-05-28 11:18:23 +02:00
Ricardo Rivera-Matos
68f300dc31 charger: bq25713: Corrects unsigned int comparison
Removes an unnecessary comparison of an unsigned int against the value
zero.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2025-05-28 11:10:43 +02:00
Ricardo Rivera-Matos
48854a8bcf charger: axp2101: Corrects unsigned int comparison
Removes an unnecessary comparison of an unsigned int against the value
zero.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2025-05-28 11:10:10 +02:00
Andrzej Głąbek
ec8632dcd1 drivers: adc_ad4130: Fix out-of-bounds accesses to channel_setup_cfg
Correct the size of the channel_setup_cfg array, as it should contain
entries for all available channels (AD4130_MAX_CHANNELS), not for the
available configuration slots (AD4130_MAX_SETUPS).
Move also checking of the channel index to the very beginning of
adc_ad4130_channel_setup(), to avoid potential writes to .live_cfg
beyond the channel_setup_cfg array.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-05-28 10:05:02 +02:00
IBEN EL HADJ MESSAOUD Marwa
9b14f9b924 drivers: usb: Enable USB and UDC OTGPHY clock
- Reset specific configuration bits in
  USB1_HS_PHYC->USBPHYC_CR before setting new values.
- Set the Frequency Selection (FSEL) bits to operate
  the USB PHY Control Register at 24 MHz for proper communication.
- Enable the OTGPHY1 peripheral clock using LL_AHB5_GRP1_EnableClock.

Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
2025-05-28 10:04:40 +02:00
Hao Luo
ba21058cd7 drivers: uart: add dma support for ambiq uart driver
This commit adds dma support for ambiq uart driver

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-05-28 10:04:26 +02:00
Benson Huang
3e8ec3aaf2 driver: flash: Add Set/ Get write protect function
Add Set_WP function to set SPI flash WP line to low
Add Get_WP function to obtain status of the SPI flash WP line

Signed-off-by: Benson Huang <benson7633769@gmail.com>
2025-05-28 08:14:27 +02:00
Ayush Singh
18c569829a drivers: gpio: davinci: Match GPIO address with Linux
Currently, the Zephyr dt requires address to the direction register
instead of the base GPIO address. usually means base address + 0x10 when
compared with Linux.

To make things more consistent between linux and zephyr, handle the
direction offset in the driver itself. This also lays the foundation for
supporting more than 32 GPIOs per port in the future by introducing
offsets for all the banks.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-05-28 08:14:18 +02:00
Tony Han
d251ecd116 drivers: timer: sam: add pit64b timer for sama7g5
Use pit64b0 as systick, make "kernel sleep/uptime" commands work.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-05-28 08:14:08 +02:00
Tony Han
64485c6b24 drivers: pinctrl: sam: add pinctrl for sama7g5
Support pull up/down, open drain for sam7g5's PIO.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-05-28 08:14:08 +02:00
Tony Han
0b2958373d drivers: serial: sam: update serial to support sama7g5
The USART is compatiable with the USART feature in sama7g5's Flexcom.
Update serial/usart_sam to support sama7g5.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-05-28 08:14:08 +02:00
Tony Han
cc206e05b9 drivers: mfd: add FLEXCOM drivers for Microchip SAM devices
The FLEXCOM offers several serial communication protocols that are
managed by the three sub-modules USART, SPI, and TWI (I2C).

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-05-28 08:14:08 +02:00
Tony Han
3e20172ccc drivers: clock_control: microchip: add support for sama7g5 SCKC
Add driver for sama7g5 Slow Clock Controller (SCKC).

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-05-28 08:14:08 +02:00
Tony Han
8f5a0559c6 drivers: clock_control: microchip: add drivers for sama7g5 PMC
Initialize the configurations for PMC driver.
Add implement of the API for PMC clocks.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-05-28 08:14:08 +02:00
Thiyagarajan Pandiyan
f432d5d510 drivers: rtc: pcf8563: fix get alarm time
While getting alarm time, BIT(7) of each register is checked if it is
set, which send the alarm time as 0 to the requestor. Fix it by checking
if the BIT(7) of each register is not set.

Signed-off-by: Thiyagarajan Pandiyan <psvthiyagarajan@gmail.com>
2025-05-28 05:54:49 +02:00
Tu Nguyen Van
0e8fdf6b56 drivers: ethernet: adapt code with new RTD 2.0.1
update members in struct Netc_Eth_Ip_StationInterfaceConfigType
in RTD 2.0.1 for both psi and vsi driver code.

Netc_Eth_Ip_VsiToPsiMsgType need to relocate nocache section
in RTD 2.0.1

Signed-off-by: Tu Nguyen Van <tu.nguyenvan@nxp.com>
2025-05-28 05:54:38 +02:00
Tu Nguyen Van
0e132ecd86 drivers: pwm: update variable and marco name in RTD 2.0.1
eMios_Icu_Ip_IndexInChState is changed to
eMios_Icu_Ip_u8IndexInChState and EMIOS_ICU_BUS_F
is removed in RTD 2.0.1

Signed-off-by: Tu Nguyen Van <tu.nguyenvan@nxp.com>
2025-05-28 05:54:38 +02:00
Tu Nguyen Van
6f4f702ed2 drivers: adc: update new macro name in RTD 2.0.1
FEATURE_ADC_MAX_CHN_COUNT changed to ADC_SAR_IP_MAX_CHN_COUNT
in RTD 2.0.1

Signed-off-by: Tu Nguyen Van <tu.nguyenvan@nxp.com>
2025-05-28 05:54:38 +02:00
5c2e2b7edc drivers: wch: fix the ch32vfun.h path after the recent HAL update
https://github.com/zephyrproject-rtos/zephyr/pull/87125 renamed the
`ch32vfun.h` header but missed some of the drivers. Fix.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-05-28 05:54:28 +02:00
Alain Volmat
087a08c5fb video: sw_generator: remove frmival values check
Now that api core functions check that denominator / numerator are not
null, it is no more necessary to perform this check within drivers.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-28 05:54:15 +02:00
Alain Volmat
5623772ff3 video: remove valid pointer check in api entry points
Now that video api functions have __ASSERT_NO_MSG calls, drivers
do not need to check the entry point functions pointers.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-28 05:54:15 +02:00
Alain Volmat
08df2fd92e video: common: add __ASSERT_NO_MSG in video api function entry
Protect video API functions via __ASSERT_NO_MSG call to ensure that
required pointers are valid when entering functions.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-28 05:54:15 +02:00
Jeremy Dick
621f29e331 drivers: input: cap12xx Fix integer overflow warning
Check that calsens values are valid to prevent integer overflow

Coverity-CID: 524767
Fixes #90481

Signed-off-by: Jeremy Dick <jdick@pivotint.com>
2025-05-28 01:48:22 +02:00
Vytautas Virvičius
087267a0ff drivers: modem: add support for Quectel EG800Q
Added support for Quectel EG800Q LTE Cat 1bis modem.

Signed-off-by: Vytautas Virvičius <vytautas@virvicius.dev>
2025-05-28 01:47:56 +02:00
Oleh Kravchenko
8708964049 drivers: display: ssd1306: fix reset
The recommended reset sequence from the datasheet is as follows:

  void SSD1309 ()
  {
  	RES=0;
  	delay(1000);
  	RES=1;
  	delay(1000);
  	..

Signed-off-by: Oleh Kravchenko <oleg@kaa.org.ua>
2025-05-28 01:47:24 +02:00
Nathan Olff
b88a27a3e8 drivers: sensor: adi: add ad2s1210 resolver support
implement driver for ad2s1210 resolver

Signed-off-by: Nathan Olff <nathan@kickmaker.net>
2025-05-27 23:43:56 +02:00
Magpie Embedded
74ef345dc1 drivers: sensor: Add sensor driver for BH1790
This commit adds a driver for the BH1790 Heart Rate Monitor IC.

Based on the approach used by the MAX30101 driver, an existing optical
heart rate sensor with a sample in Zephyr.

Signed-off-by: Magpie Embedded <magpieembedded@gmail.com>
2025-05-27 23:43:43 +02:00
Chen Xingyu
42fb9067e4 drivers: timer: riscv_machine_timer: Use reg-names to access registers
This commit updates the riscv_machine_timer driver to resolve MTIME and
MTIMECMP register addresses by their `reg-names` instead of relying on
index order.

This improves clarity and robustness in DTS bindings, and is a prerequisite
for handling cases where not both MTIME and MTIMECMP registers are present
or accessible.

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2025-05-27 19:04:22 +02:00
Verena Schweinstetter
9313df9813 drivers: stepper: allegro: Fix missing break statement
Fix missing break statement in a4979.c after line 123

Signed-off-by: Verena Schweinstetter <verena.schweinstetter@zeiss.com>
2025-05-27 17:56:27 +02:00
Wouter Horré
5052919a2b drivers: i2c: stm32: Fix size calculation of n_timings
`timings` is an array of `struct i2c_config_timing` (3 x `uint32_t`).
`i2c_timings_##index` is an array of `uint32_t` (hence the cast when it
is assigned to `timings`). Therefore `ARRAY_SIZE(i2c_timings_##index)` is
off by a factor 3 when used for `n_timings`.

Parentheses around the second `sizeof` are there to silence the gcc warning
(-Wsizeof-array-div) that warns about not computing the size of
`i2c_timings_##index`.

Signed-off-by: Wouter Horré <wouter@versasense.com>
2025-05-27 17:55:36 +02:00
Marek Matej
c203760784 drivers: wifi: esp32: Add option for WiFi SPIRAM
Update kconfig to support SPIRAM.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-05-27 15:46:08 +02:00
Sergei Ovchinnikov
eb811d1753 drivers: mfd: npm2100: fix timer value calculation
A -1 was missing from the timer value calculation. In addition,
DIV_ROUND_CLOSEST was replaced with a custom macro fixing #84782.

Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
2025-05-27 14:44:59 +02:00
Alvis Sun
bcf7717e97 drivers: clock_control: npcx: add NPCXn variant support in clock init
As title.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2025-05-27 12:15:36 +01:00
Jean Nanchen
2066b8c7b9 drivers: i2c: stm32: add timeout to avoid infinite loop
Fix issue where STM32 I2C LL driver could block forever when SDA and SCL
are shorted and interrupts are disabled (CONFIG_I2C_STM32_INTERRUPT=n).

Added timeouts to all blocking wait loops in the STM32 LL I2C driver to
avoid indefinite blocking.

Fixes #88506

Signed-off-by: Jean Nanchen <jean.nanchen@hevs.ch>
2025-05-27 12:01:31 +01:00
Muzaffar Ahmed
ecaa19b71b drivers: wifi: siwx91x: Remove set credential for open mode
Removed the unnecessary set_credential API call in open security mode

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-05-27 11:51:17 +02:00
The Nguyen
613ee72670 drivers: counter: migrate counter AGT to using HAL support
Migrate renesas,ra-agt-counter implementation to use hal_renesas.
Add additional AGT_CLOCK_SUBCLOCK count source.
Add constraint for counter resolution to 32 or 16 bit variant.

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-05-27 11:50:37 +02:00
Jianxiong Gu
d9486cd3f0 drivers: tcpc: Add TCPC driver for FUSB307
Add support for FUSB307.

Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
2025-05-27 11:50:29 +02:00
Jianxiong Gu
b25bdc4fa7 usbc: tcpc: Update set_drp_toggle function
Updated set_drp_toggle to handle differences in TCPCI revisions.
Added a macro for TCPCI revision and read it from the chip register
during initialization.

Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
2025-05-27 11:50:29 +02:00
Jianxiong Gu
3f48195113 drivers: tcpc: ps8xxx: Update to use generic TCPCI function
Update set_snk_ctrl, set_src_ctrl, and set_low_power_mode
to use the generic TCPCI function.

Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
2025-05-27 11:50:29 +02:00