Commit graph

25038 commits

Author SHA1 Message Date
Fin Maaß
43db13d11f drivers: flash: spi_nor: remove redundant write enable/disable
write enable already happens in the write/erase loop
before every write and erase. It is done in the loop,
because it is self cleaning after erase and write.
That is also the reason we don't need to disable it,
as it is automatically disabled after each write and erase.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-09-23 12:06:02 -04:00
Khaoula Bidani
18484fb7a2 drivers: adc: stm32: Add unit check for acquisition_time
Add an explicit check to ensure that the acquisition_time
parameter is encoded with the ADC_ACQ_TIME macro and uses
the TICKS unit, as required by the API.
If the unit is not correct, log an error and return -EINVAL.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-09-23 12:04:29 -04:00
Chekhov Ma
1ea2c63081 drivers: gpio: retire pca6416a driver
pca6416a driver can be replaced by pca_series driver, which covers a
larger number of devices.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2025-09-23 12:04:12 -04:00
Chekhov Ma
deb699b68a drivers: gpio: pca_series: select i2c when enabled
On certain platforms I2C is not enabled by default, causing build error.
Change pca_series driver to select I2C.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2025-09-23 12:04:12 -04:00
Chekhov Ma
f1056fc045 drivers: gpio: pca_series: add drive_strength config
Enables pca_series driver to set drive strength for part no with
PCA_HAS_LATCH capability.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2025-09-23 12:04:12 -04:00
Chekhov Ma
604d127809 drivers: gpio: pca_series: imporve reset function
The reset function is originally designed to have no return value. If
the GPIO toggle fails, there's no indication for failure until I2C
transaction fails. Account for this by adding return value to the reset
function.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2025-09-23 12:04:12 -04:00
Chekhov Ma
6c62afd21f drivers: gpio: pca_series: add support for pcal953x and pcal64xx
add support for pca9538, pcal9539.

Add support for pcal6408 and pcal6416, which is originally supported
by pcal64xxa driver. These device has the same register layout as
pcal9538 and pcal9539 respectively, which means they can be seamlessly
supported by pca_series driver.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2025-09-23 12:04:12 -04:00
Amneesh Singh
8953f0b086 drivers: flash: jesd216: improve mode support checks
The only information for 4s-4d-4d, 8s-8s-8s and 8d-8d-8d in the basic flash
parameter table is in DWORD20 with one byte for each of the aforementioned
modes. This one byte is split into two fields that contain that mode's
maximum operation speed with and without data strobe. Unsupported fields
have the value of 0xF. For the mode to be supported, at least one of the
two fields must not be 0xF, so we check the byte against 0xFF.

Signed-off-by: Amneesh Singh <a-singh7@ti.com>
2025-09-23 12:02:06 -04:00
Jordan Yates
783b39cca0 modem: modem_cellular: update APN timings
100 ms is insufficient time enter command mode after `CMUX` on at least
one modem (Telit LE910Cx), and waiting 5 seconds before retrying seems
excessive.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-23 09:41:39 +01:00
Mohamed Azhar
6241d249a9 drivers: pinctrl: microchip: update pinctrl driver for Port G1 IP
Update pinctrl driver for Microchip Port G1 Peripheral IPs

Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
2025-09-23 09:41:05 +01:00
Hoang Nguyen
9ceacc9317 drivers: timers: Add system timer support for RZ/V2L, RZ/A3UL
Add system timer driver support for RZ/V2L, RZ/A3UL

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>

drivers: timers: Improve ISR Prototype for Renesas RZ
2025-09-23 09:39:35 +01:00
Manoj Purushothama
75b98415fa drivers: sensor: tsl2591: fix sign extension
Explicitly cast data->atime to uint32_t to
prevent signed promotion and sign extension
when multiplying with data->again.

Signed-off-by: Manoj Purushothama <hpmanoj@umich.edu>
2025-09-22 17:51:44 -04:00
Yurii Lozynskyi
c15920613d drivers: counter: add PSC3M5 counter driver
- Add a new counter driver implementation based on the PDL for
  Infineon CAT1B devices. This enables support for hardware
  counters on the PSC3M5 platform.
- Add IFX_TCPWM_Counter_DeInit and IFX_TCPWM_Counter_Init
  macros to include/zephyr/drivers/timer/ifx_tcpwm.h
  and sort all of the macros in that file

Signed-off-by: Yurii Lozynskyi <yurii.lozynskyi@infineon.com>
2025-09-22 17:50:00 -04:00
Benjamin Cabé
50d3699172 drivers: i2c: i2c_dw: drop unnecessary include
Including soc.h is causing issues - drop as it's not needed
Fixes e.g. the below:
west build -p -b em_starterkit@2.2.0/emsk_em7d \
     tests/drivers/build_all/w1 -T drivers.w1.build

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-22 17:49:08 -04:00
Jeremy Truttmann
a5bacc757c drivers: ethernet: lan865x: enable PHY access through generic ethernet_api
This is needed for accessing the PHY device through the Ethernet
network interface.

Signed-off-by: Jeremy Truttmann <jetstreeam.code@outlook.com>
2025-09-22 13:35:28 -04:00
Szymon Janc
893f90f042 bluetooth: hci: userchan: Improve discardable events handling
This mimics IPC transport behavior where BR/EDR Inquiry events as
well as LE Extended Advertising Report (carring legacy PDU) are
considered discardable.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2025-09-22 13:34:59 -04:00
Rafał Kuźnia
92b1346f91 drivers: ieee802154: nrf5: Add temporary API migration code
The transmit functions will return an error code, instead of a boolean
value. To prepare for this, the API calls are temporarily implemented in
two variants, for old and new API declarations.

The presence of new API will be detected by the use of
NRF_802154_TX_FUNCTIONS_RETURN_ERROR_CODE macro, which will be
unconditionally defined by a newer nrf-802154 driver.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2025-09-22 13:31:17 -04:00
Jun Lin
55cdcdce86 drivers: pwm: npcx: fix word register access check placement
Because the PWM module mixes byte and word register together, the driver
adds an assertion check by writing a pattern to the 2-byte register
`PRSC`, reading it back, and performing a comparison. However,
the `PRSC` register cannot be written when the bit 7 (the PWR bit) in
register `PMWCTLn` is set to 1. This commit moves the assertion check to
a proper place to ensure the write is valid.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2025-09-22 13:29:53 -04:00
Alejandro Perea
fa07a03155 drivers: pwm: flexpwm: Fix consecutive PWM setup
If two pwm_set_pulse_dt calls are put consecutive to each other,
the period has already been configured and they refer to the same module
but different submodule (PWM A & B), the second call fails.

LDOK with ReloadImmediate should result in immediate change of the
buffered registers, but it doesn't seem like that's the case.

To fix this, we busywait on LDOK clearance before setting new pulse values.

Fixes zephyrproject-rtos/zephyr#95653

Signed-off-by: Alejandro Perea <alejandro.perea@classified-cycling.cc>
2025-09-22 13:28:39 -04:00
Sai Santhosh Malae
088b59039d drivers: serial: uart_ns16550: Add pm support for uart_ns16550 driver
This commit enables the pm device runtime driver support
for the uart_ns16550 driver (only for devices that have an
associated power domain enabled).

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-09-22 13:27:01 -04:00
Sai Santhosh Malae
295431dad5 drivers: power_domain: siwx91x: Add power domain driver for siwx91x SoC
1. Added siwx91x power domain node in siwg917.dtsi
2. Updated UART device nodes to reference the newly added power domain.
3. Implemented power domain driver to manage power domain transitions
   for the SoC.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-09-22 13:27:01 -04:00
Sai Santhosh Malae
ce923eb8fc drivers: dma: siwx91x: Add siwx91x GPDMA driver
Implement GPDMA driver for siwx91x device

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-09-22 13:26:52 -04:00
Sai Santhosh Malae
a0b0173b2f drivers: dma: siwx91x: GPDMA clock initialization for siwx91x
Clock driver changes required for initializing the GPDMA clock
for the siwx91x driver

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-09-22 13:26:52 -04:00
Jordan Yates
c0a2928f46 modem: at_shell: extract user pipe handling
Extract the user pipe setup and claim/release logic so that it can be
re-used by other software modules, if the AT shell is not used. Ideally
the chat instance would live within the `modem_at_user_pipe.c` and be
handed out by `modem_at_user_pipe_claim`, but the current chat API
doesn't make this possible.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-22 09:53:00 +02:00
Khoa Tran
c2bb4bd80e drivers: pwm: Add initial polarity value for Renesas RA GPT PWM
Add initial polarity value for Renesas RA GPT PWM

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-09-22 09:52:27 +02:00
Fin Maaß
186bb57b97 drivers: serial: litex: make sure to just disable irq
just disable irq and not plush pending events,
so we don't loose them, when they are enabled
again.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-09-22 09:51:36 +02:00
Declan Snyder
a6836866b1 drivers: lpuart: Dont say we support async without DMA
The dma has to be enabled on the platform in order for ASYNC API to
work. This can be indicated by whether or not any LPUART node has the
`dmas` property set.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-09-20 11:11:09 +02:00
Quy Tran
77d02aa1f9 drivers: sdhc: Update timeout unit to us for event wait
r_sdhi_wait_for_event requires input timeout as us but the current
implemetation using timeout_ms instead

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-09-20 11:10:24 +02:00
Mahesh Mahadevan
efe34d04d2 drivers: nxp: Use a MACRO to enable Wakeup signals
Switch to using the new NXP_ENABLE_WAKEUP_SIGNAL and
NXP_DISABLE_WAKEUP_SIGNAL macros to avoid adding
platform specific calls in the Zephyr drivers.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-09-20 11:09:00 +02:00
Alexandre Rey
9291bac573 drivers: cop: add support of WDT_DISABLE_AT_BOOT
Add support for CONFIG_WDT_DISABLE_AT_BOOT Kconfig option.

Signed-off-by: Alexandre Rey <alx.rey@icloud.com>
2025-09-20 11:08:45 +02:00
Alexandre Rey
d571f90183 drivers: cop: add NXP cop driver
Port NXP cop driver to Zephyr

Signed-off-by: Alexandre Rey <alx.rey@icloud.com>
2025-09-20 11:08:45 +02:00
Almir Okato
786c9fb35e flash: espressif: erase region before writing if encryption enabled
Ensuring flash region has been erased before writing to avoid
inconsistences and force expected erased value (0xFF) into
flash when erasing a region when Hardware Flash Encryption is
enabled
This is handled on this implementation because MCUboot's state
machine relies on erased valued data (0xFF) readed from a
previously erased region that was not written yet, however when
hardware flash encryption is enabled, the flash read always
decrypts whats being read from flash, thus a region that was
erased would not be read as what MCUboot expected (0xFF).

Signed-off-by: Almir Okato <almir.okato@espressif.com>
2025-09-19 17:57:07 -04:00
Zhaoxiang Jin
6d724bd80d drivers: comparator: Enable nxp comparator (cmp)
Enable nxp comparator (cmp)

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-09-19 17:47:58 -04:00
Zhaoxiang Jin
711a88726d drivers: sim: Enable cmp clock through sim driver
Enable cmp clock through sim driver

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-09-19 17:47:58 -04:00
Biwen Li
16c03c4145 drivers: dma: mcux_edma: convert address
Convert address for dma when update tcd registers.
- This commit fixes a bug that dma reports source/destination bus errors
  when dma try to access the unconveted addresses. The unconverted
  addresses will be reserved address from dma view.

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-09-19 17:47:44 -04:00
Jilay Pandya
c7dc59f46d drivers: ethernet phy_dm8806_read_reg reduce nested-ifs
reduce if nesting a bit using early break

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-09-19 21:24:23 +02:00
Jilay Pandya
9992eb90cb drivers: ethernet: phy_dm8806 fix unchecked return value
Check the return values and log them with error loglevel

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-09-19 21:24:23 +02:00
Guillaume Gautier
43bf0b3344 drivers: sensor: st: qdec: remove init struct
Remove the calls to LL_TIM_ENCODER_StructInit and LL_TIM_ENCODER_Init
in the QDEC driver. This avoids calling functions from stm32xxxx_ll_tim.c.
They are replaced by a set of simpler functions from the header file.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-09-19 12:46:46 -04:00
Guillaume Gautier
24dcfb22f0 drivers: pwm: stm32: remork complementary channel logic
Align the definition of the complementary channels to the normal channels.
That way, it is consistent for all arrays, we use channel-1 as index, and
no other operation is necessary.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-09-19 12:46:46 -04:00
Guillaume Gautier
c82a2b2b58 drivers: pwm: stm32: reduce pointer level from cfg->timer to timer
This change reduces the level of pointer indirection, which minimizes
repeated dereferencing and helps reduce the overall code size, in the same
way as commit 48e326a5520ec884f38f6a7ac4e88c59a01ceb95 for UART.

This also fixes the type complimentary -> complementary.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-09-19 12:46:46 -04:00
Guillaume Gautier
a5531f5d98 drivers: pwm stm32: remove init struct
Remove the calls to LL_TIM_xx_StructInit and LL_TIM_xx_Init in the PWM
driver. This avoids calling functions from stm32xxxx_ll_tim.c.
They are replaced by a set of simpler functions from the header file.

OC Init in particular is much simpler now. The init structure needed to be
filled out with the complementary channel (if it existed), even though its
configuration didn't change.
The new init is much more direct and only touches what needs to be
modified.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-09-19 12:46:46 -04:00
Guillaume Gautier
4457e6db95 drivers: counter: stm32: remove init struct
Remove the calls to LL_TIM_StructInit and LL_TIM_Init in the counter
driver. This avoids calling functions from stm32xxxx_ll_tim.c.
They are replaced by a set of simpler functions from the header file.

Also replaces some macros that used constants coming from the HAL. Use
an equivalent coming purely from the LL.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-09-19 12:46:46 -04:00
Gerard Marull-Paretas
e3e2a40895 drivers: serial: sf32lb: add basic driver
Just basic driver with poll-in/out capability.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-09-19 16:34:15 +02:00
Gerard Marull-Paretas
2d50a4176b drivers: pinctrl: sf32lb52x: initial driver
Initial driver for SF32LB52X SoCs.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-09-19 16:34:15 +02:00
Gerard Marull-Paretas
b083e2c864 drivers: clock_control: sf32lb: add initial driver
Initial driver for SF32LB SoCs. This driver is incomplete, but allows
to configure the system for a minimal boot.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-09-19 16:34:15 +02:00
Gerard Marull-Paretas
6558029f99 drivers: clock_control: sf32lb_hxt48: add initial driver
Add driver for HXT48.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-09-19 16:34:15 +02:00
Ren Chen
20c8f6b5f7 drivers: pinctrl: it8xxx2: add support for alternate function 5
This commit introduces alternate function 5 setting for it8xxx2 SoC.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2025-09-19 08:35:10 -04:00
Bhavin Sharma
d368921ae6 drivers: display: Added LPM013M126 display driver.
Add support for JDI LPM013M126 RGB memory display

Co-developed-by: Elgin Perumbilly <elgin.perumbilly@siliconsignals.io>
Signed-off-by: Elgin Perumbilly <elgin.perumbilly@siliconsignals.io>
Signed-off-by: Bhavin Sharma <bhavin.sharma@siliconsignals.io>
2025-09-19 08:31:05 -04:00
Alain Volmat
9cc26d64e3 drivers: memc: stm32: removal of sdram1/sdram2/psram sections handling
SDRAM1 / SDRAM2 / PSRAM sections were being referenced in order to make
them accessible for the framebuffer. This is now addressed via the
mechanism provided by Zephyr hence this is no more necessary.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-09-19 08:28:22 -04:00
Alain Volmat
65ecc42331 display: stm32_ltdc: use LINKER_DT_NODE_REGION_NAME for ext-sdram
Use the LINKER_DT_NODE_REGION_NAME macro in order to get the
memory-region into which to put the framebuffer for the LTDC.
This is made possible since all memory areas have the
zephyr,memory-region compatible, allowing to have each region
referenced within the linker script generated by Zephyr.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-09-19 08:28:22 -04:00