Commit graph

25,525 commits

Author SHA1 Message Date
Nikodem Kastelik
376ca571b0 drivers: i2c: nrfx_twis: fix missing SoC header include
In case of nRF TWIS i2c shim, SoC header include is needed
for memory region property presence checker macro.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-09-25 12:01:40 +01:00
Krzysztof Chruściński
e1f9de7842 drivers: clock_control: nrf: Fix missing clock started callback
804e502484 fix got reverted as it introduced a bug where callback
with HFCLK started indication was not called because state is not
correctly indicated. BT-dedicated API does not set state and does
not expect to get the callback when HFCLK is started. 804e502484
was intended to fix the bug that was visible on nrf54lx. It was not
visible on nrf52 because of a errata workaround which was calling
HFCLK started callback only when state was set to STARTING and that
was not the case when BT-dedicated API was used. Applying this
`workaround` approach to all cases.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-09-25 11:00:28 +02:00
Krzysztof Chruściński
04464f5d60 Revert "drivers: clock_control: nrf: Add missing flags clearing"
This reverts commit 804e502484.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-09-25 11:00:28 +02:00
Mario Paja
f52855b048 drivers: memc: add driver for stm32 ospi psram
Add a driver for STM32U5 OSPI PSRAM in memory mapped mode.

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2025-09-25 09:24:59 +02:00
Michał Stasiak
50195f82ac drivers: i2c: i2c_nrfx_twim: add conditional PM ISR safety
Requesting/releasing TWIM device may be ISR safe, but
it cannot be reliably known whether managing its power
domain is. Is is then assumed that if power domains are used,
device is no longer ISR safe. This macro let's us check if
we will be requesting/releasing power domains and determines
PM device ISR safety value.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-09-25 09:22:45 +02:00
Michał Stasiak
63a03c6306 drivers: spi: spi_nrfx_spis: add conditional PM ISR safety
Requesting/releasing SPIM device may be ISR safe, but
it cannot be reliably known whether managing its power
domain is. Is is then assumed that if power domains are used,
device is no longer ISR safe. This macro let's us check if
we will be requesting/releasing power domains and determines
PM device ISR safety value.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-09-25 09:22:45 +02:00
Michał Stasiak
a0b008bef4 drivers: sensor: qdec_nrfx: add conditional PM ISR safety
Requesting/releasing QDEC device may be ISR safe, but
it cannot be reliably known whether managing its power
domain is. Is is then assumed that if power domains are used,
device is no longer ISR safe. This macro let's us check if
we will be requesting/releasing power domains and determines
PM device ISR safety value.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-09-25 09:22:45 +02:00
Peter Wang
769f73bf17 drivers: reset: nxp: add nxp_mrcc_reset driver
1. the MCXA family use MRCC to reset peripheral
2. MRCC register, 0: hold in reset, 1: release from reset
3. usage as blow
syscon: syscon@xxx {
    ...
    reset: reset {
        compatible = "nxp,mrcc-reset";
        #reset-cells = <1>;
    };
};

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-09-25 09:22:06 +02:00
Zhaoxiang Jin
5447679c03 drivers: regulator: Enable nxp vrefv1
Enable nxp vrefv1 driver

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-09-25 09:21:18 +02:00
Zhaoxiang Jin
16db983408 drivers: sim: Enable vref clock through sim driver
Enable vref clock through sim driver

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-09-25 09:21:18 +02:00
Zhaoxiang Jin
bf12516cb4 drivers: adc16: Enhance ADC16 driver.
1. Add new 'has-differential-mode' property to indicate
whether the ADC16 instance supports differential mode.
2. Enabled ADC16 differential mode.
3. Enabled ADC16 reference voltage selection.
4. Enabled ADC16 acquisition time configuration.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-09-25 09:21:18 +02:00
Khoa Nguyen
2d661e1c19 drivers: mbox: Add support MBOX driver for Renesas IPC
Add support MBOX driver for Renesas IPC hardware IP

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-09-25 09:19:57 +02:00
Jason Kridner
1f03dcfa0c cc13xx_cc26xx: select CRC with SubG driver
This was previously only selected when the 2.4GHz driver was
enabled, but SubG can be enabled without the 2.4GHz driver.

Build tested using:

```
west build -b beagleconnect_freedom -d \
 build/bcf/ot_coap samples/net/openthread/coap
west flash -d build/bcf/ot_coap
```

Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
2025-09-24 19:20:49 -04:00
Gerard Marull-Paretas
4a4a94bbff drivers: clock_control: sf32lb_rcc: add support for DLL2
Add support for configuring and enabling DLL2. A few things have been
simplified (common PMUC, just store frequency, etc.).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-09-24 19:19:58 -04:00
Aksel Skauge Mellbye
d52ff0894a drivers: entropy: gecko: Configure for all xg27 socs
Use cryptoacc variant on all xg27 socs.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-09-24 19:19:16 -04:00
Thomas Schmid
bab5484ed8 sensor: mcp9600: extend driver functionality
Add support for runtime and devicetree configuration of themocouple
type, ADC resolution, filter coefficient and cold junction temperature
resolution. Extend device specific sensor channels to include cold
junction temperature, delta tempereature, hot junction temperature and
raw ADC values while still maintaining backwards compability with the
existing SENSOR_CHAN_AMBIENT_TEMP channel.

Signed-off-by: Thomas Schmid <tom@lfence.de>
2025-09-24 19:18:43 -04:00
Zhaoxiang Jin
ece35a420b drivers: adc: Add DT properties to lpadc binding
Introduce new binding properties for the LPADC DT
and update the driver to consume them.
Users can use these properties to obtain the opamp
device bound to the ADC and dynamically adjust the
opamp gain so that the opamp output is within the
ADC ideal sample range.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-09-24 19:18:11 -04:00
Zhaoxiang Jin
bb73dd0b3a drivers: opamp: Add NXP opamp driver implementation
This commit includes the following changes:
1. Add top level CMakeLists.txt entry and Kconfig.
2. Add bindings for opamp-controller.
2. Add bindings for nxp,opamp and nxp,opamp_fast.
3. Implemented NXP opamp and opamp_fast device driver.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-09-24 19:18:11 -04:00
Zhaoxiang Jin
b47fbbb434 drivers: clock: Add opamp clock to syscon
Add opamp clock to syscon

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-09-24 19:18:11 -04:00
Johan Alfvén
ec72295251 drivers: misc: ethos_u: add fast-memory-region support
Add optional fast-memory-region property to the Ethos-U driver. When
present in the devicetree, the driver passes the region base and size
to ethosu_init(), allowing platforms to use dedicated SRAM for improved
NPU performance.

If the property is not specified, the driver falls back to using NULL/0,
keeping existing behavior unchanged.

Signed-off-by: Johan Alfvén <johan.alfven@arm.com>
2025-09-24 15:51:24 +01:00
Hake Huang
30e31fa0d0 drivers: WM89xx: fix a dts prop naming issue
1. the clock-source is wrongly typed as clk-source,
which happen to pass the build and function check.
2. and should use DT_INST_ENUM_IDX for index enumrate
as string.

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2025-09-24 15:50:49 +01:00
Alain Volmat
297eb52fde drivers: mbox: stm32-hsem: build driver if DT enabled
Default to building the driver if its node is enabled in
the device-tree, avoiding the need to manually set
CONFIG_MBOX_STM32_HSEM.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-09-24 15:50:40 +01:00
Andrzej Głąbek
30c4130b24 drivers: mspi_dw: Add option to offload handling of FIFOs
Provide a Kconfig option that allows offloading handling  of the SSI
FIFOs, which the driver normally executes in the interrupt handler,
to the system workqueue.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-09-24 11:29:44 +01:00
Bjarki Arge Andreasen
9a6dba9bd6 drivers: power_domain: nrfs_gdpwr: depend on multithreading
The NRFS GDPWR device driver requires NRFS which requires
multithreading. Add dependency to Kconfig for the device driver
to exclude it when building for single threaded apps like
mcuboot.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-09-24 11:29:27 +01:00
Kamil Krzyżanowski
bd344be413 drivers: serial: stm32: use hardware rx timeout interrupt when available
Use the RTO interrupt for RX timeouts when using the async API.
The workqueue based approach is sensitive to load and has a higher latency
than using hardware timeouts.

Signed-off-by: Kamil Krzyżanowski <kamnxt@kamnxt.com>
2025-09-24 09:42:33 +02:00
Kamil Krzyżanowski
50d6eac5a2 drivers: serial: stm32: fix some formatting
Fix some formatting, because the clang-format compliance test was
complaining.

Signed-off-by: Kamil Krzyżanowski <kamnxt@kamnxt.com>
2025-09-24 09:42:33 +02:00
Dimitrije Lilic
0c4c305c9a drivers: adc: max32: Support for RTIO stream
Updated MAX32 driver with RTIO  stream functionality.

Signed-off-by: Dimitrije Lilic <dimitrije.lilic@orioninc.com>
2025-09-23 17:50:25 -04:00
Vladislav Pejic
bc0683b6a2 driver: adc: ad405x: Add RTIO stream
Added support for RTIO stream.
Also added sampling_period property to the DTS. This is for setting the
sampling period when streaming is used.
Hardware or kernel timer can be
used for this.
To use hardware timer you need to add it to the DTS. Example:

{
	chosen {
		zephyr,adc-clock = &counter0;
	};
};

Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
2025-09-23 17:50:25 -04:00
Vladislav Pejic
1d02d57413 driver: adc: Added stream APIs for ADC
Introduce a streaming APIs for ADC devices.
Two new APIs are added to the adc_driver_api: submit and get_decoder.
Added decoder following APIs: get_frame_count, get_size_info, decode,
has_trigger.

Supported triggers are:
- ADC_TRIG_DATA_READY
- ADC_TRIG_FIFO_WATERMARK
- ADC_TRIG_FIFO_FULL
Supported operations to be done on trigger:
- include - whatever data is associated with the trigger
- nop - do nothing with data associated with the trigger
- drop - clear data associated with the trigger

Some changes to the linker scripts were needed to add decoder APIs.

Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
2025-09-23 17:50:25 -04:00
Gerard Marull-Paretas
290ae4ba5b drivers: gpio: sf32lb: add initial driver
Add initial driver for SF32LB.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-09-23 17:50:16 -04:00
Fin Maaß
34039c90b8 drivers: sdhc: stm32: add forgotten if around options
add forgotten if around Kconfig options.
This applied the default of 32 to all
CONFIG_SDHC_BUFFER_ALIGNMENT.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-09-23 12:11:53 -04:00
Jan Masek
09cea656b6 eswifi: fix include path to use tls credentials
Include path is missing when CONFIG_TLS_CREDENTIALS is set.
Fixes #92243

Signed-off-by: Jan Masek <jan.masek@spotflow.io>
2025-09-23 12:08:22 -04:00
Jordan Yates
cd41477c2f modem: modem_cellular: registration status callback
Add a new callback event for registration status changes.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-23 12:07:40 -04:00
Benjamin Cabé
e29c173251 driver: timer: ti_dmtimer: TI DM Timer header should not be public
ti_dmtimer.h contains mask definitions only used internally by the
driver. Make it a private header.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-23 12:07:29 -04:00
Fin Maaß
48e5cda802 drivers: flash: spi_nor: use DEV_CFG in spi_nor_write_protection_set
use DEV_CFG in spi_nor_write_protection_set

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-09-23 12:06:02 -04:00
Fin Maaß
e9ed34fbbc drivers: flash: spi_nor: simplify checks for write_protect
simplify checks for write_protect

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-09-23 12:06:02 -04:00
Fin Maaß
f08f63c93a drivers: flash: spi_nor: allow ulbpr be optimized away
allow the requirement for ulbpr be optimized away
by the compiler, if no instance uses it.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-09-23 12:06:02 -04:00
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