Commit graph

23353 commits

Author SHA1 Message Date
Arunmani Alagarsamy
9d64cb4186 driver: wifi: siwx91x: Add active and passive dwell time
This commit adds support for configuring dwell times for both active and
passive Wi-Fi scans. The dwell time specifies the duration the device
spends on each channel during a scan.

Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-02-14 19:14:08 +00:00
Arunmani Alagarsamy
2e668cfc1e driver: wifi: siwx91x: Add single and multi-channel scan support
This commit introduces support for single and multi-channel Wi-Fi scans.
The device can now scan one specific channel or multiple specified
channels.

Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-02-14 19:14:08 +00:00
Arunmani Alagarsamy
4ee4cc39a3 driver: wifi: siwx91x: Add configurable maximum BSS scan
This commit introduces support for limiting the number of BSS scan
results returned by the siwx91x Wi-Fi driver. If scan_max_bss_cnt is
specified, the driver will return up to the specified count of BSS
results. If not specified, the driver defaults to returning all
available results.

Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-02-14 19:14:08 +00:00
Arunmani Alagarsamy
271bb8b7b0 driver: wifi: siwx91x: Add direct ssid scan support
This commit introduces support for direct SSID scans The feature allows
the device to send the probe requests and listen the beacon frame on the
specified SSID.

Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-02-14 19:14:08 +00:00
Riku Karjalainen
02aa01ddcf drivers: usb: stm32: fix for stm32u5 embedded hs phy
Select embedded high speed phy if "st,stm32u5-otghs-phy" is enabled in
the device tree.

Signed-off-by: Riku Karjalainen <riku.karjalainen@vaisala.com>
2025-02-14 19:13:29 +00:00
Rex Chen
302089f311 drivers: wifi: nxp: support set override calibration data
Add OVERRIDE_CALIBRATION_DATA macro to support set specific
calibration data.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2025-02-14 19:13:02 +00:00
Thao Luong
e139d936cb drivers: gpio: Only configs for VBATT pin when RA MCU support
Update GPIO driver for RA: Only configs for VBATT pin when RA
MCU support.

Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-02-14 17:15:43 +01:00
Bjarki Arge Andreasen
96c3cd6cd3 drivers: adc: nrf_saadc: add pm device support
Extend nrf saadc device driver with pm device runtime support.

To preserve previous behavior:

* if pm device is disabled, saadc is resumed on sampling start
  and suspended when sampling done.
* if pm device is enabled only, saadc does nothing on
  sampling start/stop. its resumed on init.
* if pm device runtime is enabled, saadc is got on
  sampling start, and put on sampling stop.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-02-14 17:12:03 +01:00
Tomas Galbicka
cfd3985bda drivers: nxp mbox imx mu driver fix Flags
This commit fixes flag handling in mbox driver.
There are two MU drivers mu/ and mu1/ in nxp sdk with
same API but different bit masks and register layouts.

To be compatible with both add mapping table for channel index.
This will use enum from relavant driver heder to select correct
flag mask.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2025-02-14 17:11:50 +01:00
Andrew Davis
e4beae15b2 drivers: ipm: Select MBOX from IPM_MBOX
Projects using IPM will select CONFIG_IPM=y, then the appropriate driver
will be enabled based on DT. For devices using the IPM over MBOX driver
this will be config IPM_MBOX. But this config depends on MBOX so if the
project has not also enabled that, then this driver will not be selected.

To fix this, select MBOX from IPM_MBOX. This causes the correct MBOX
driver to then be selected also based on DT. This allows projects using
only IPM to only need to select the same as before, MBOX will be selected
as needed based on DT.

Signed-off-by: Andrew Davis <afd@ti.com>
2025-02-14 17:10:21 +01:00
Sylvio Alves
e36d702acd soc: espressif: move code start prior hw init
Make sure vector table and BSS clean up
is performed pior hardware initialization.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-02-14 17:07:40 +01:00
Nabil Elqatib
b2ec12edc8 drivers: sensor: bosch: bmg160: replace deprecated datasheet link
Use an internetarchive link instead

Signed-off-by: Nabil Elqatib <nabilelqatib@gmail.com>
2025-02-14 17:07:12 +01:00
Krzysztof Chruściński
a4625c2112 drivers: clock_control: hsfll: Add option to set lowest oppoint in init
Add option to set the lowest DVFS operation point during initialization.
Option is by default enabled for nrf54h cores with DVFS.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-14 17:05:16 +01:00
Krzysztof Chruściński
ff82048124 modules: hal_nordic: nrfs: dvfs: Deprecate Kconfig option
Deprecate NRFS_LOCAL_DOMAIN_DVFS_SCALE_DOWN_AFTER_INIT option for
scaling down CPU frequency during dvfs handler initialization.
Clock control API is managing access to DVFS and DVFS should not
be controlled bypassing this API. Deprecated feature will be added in
the clock control.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-14 17:05:16 +01:00
Etienne Carriere
c7c001405c drivers: clock: stm32: factorize clock selection macros
Factorize STM32_CLOCK_*_GET() and STM32_MCO_CFGR_*_GET() macros
into a single series of STM32_DT_CLKSEL_*_GET() macros based on
recently introduced new common macros STM32_DT_CLKSEL_*_SHIFT and
STM32_DT_CLKSEL_*_MASK.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-02-14 13:40:52 +01:00
Daniel Schultz
68dc1b5ebf drivers: i2c: i2c_omap: Add pinctrl
Extend the I2c OMAP driver to automatically mux pins require by this
interfaces.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2025-02-14 13:36:26 +01:00
Okan Sahin
d7eab212bc drivers: counter: counter_max32:_rtc: Update api_start
This commit removes redundant initialization. The following PR addresses
the issue caused by the offset
https://github.com/zephyrproject-rtos/zephyr/commit/5a2055

Signed-off-by: Okan Sahin <Okan.Sahin@analog.com>
2025-02-14 13:36:19 +01:00
Khaoula Bidani
9bcc89deb6 drivers : can: replace LL_RCC_GetFDCANClockFreq
replace LL_RCC_GetFDCANClockFreq, remove
stm32_ll_rcc.h include and
use_stm32_ll_rcc from kconfig.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-02-14 13:36:12 +01:00
Furkan Akkiz
ee288819a0 drivers: hwinfo: Update driver for MAX32650
There are function mismatches for MAX32650. Because of that, created a
wrap version of the function to handle these differences.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
2025-02-14 13:35:26 +01:00
Yasin Ustuner
3efeb245a7 drivers: serial: Change Tx Status macro for MAX32
TX status macro is different for MAX32650 SoC.
The common macro is added to the hal.
This commit changes the tx status macro with
the common one.

Signed-off-by: Yasin Ustuner <Yasin.Ustuner@analog.com>
2025-02-14 13:35:26 +01:00
Guillaume Gautier
a0761d6353 drivers: adc: stm32: configure data size for stm32n6
On STM32N6, the register holding the data is 32 bits and DMA must operate
in word transfer to work properly. So we change the type of the buffer in
which we store the ADC data from uint16_t to uint32_t for N6.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:48:35 +01:00
Guillaume Gautier
a28381f459 drivers: adc: stm32: enable analog supply in dedicated function
Move code to enable the analog supply in a dedicated function.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:48:35 +01:00
Guillaume Gautier
9ee33e990e drivers: adc: stm32: add support for stm32n6 adc
Add support for STM32N6 ADC in the STM32 ADC driver.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-14 10:48:35 +01:00
Daniel Schultz
e7fb3c6848 drivers: gpio: davinci: Select PINCTRL
This driver includes pin-muxing functions and requires to have
CONFIG_PINCTRL enabled. Automatically set this config when this
driver is enabled.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2025-02-14 10:48:20 +01:00
Van Petrosyan
2a250b0d65 sensor: scd4x: Fix ID for power down command
Fixed command ID for power down command in SCD4X sensor driver

Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
2025-02-14 10:43:29 +01:00
Titouan Christophe
d2818c4d49 audio: codec: add new cs43l22 driver
Add new driver for the Cirrus CS43L22 audio DAC.

Signed-off-by: Titouan Christophe <moiandme@gmail.com>
2025-02-14 10:42:53 +01:00
Wilfried Chauveau
e9f95b7c92 drivers: gpio: mmio32: remove redundant mask field.
The pin mask is already present in the common structure.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2025-02-14 10:42:02 +01:00
Wilfried Chauveau
c0139fad06 drivers: gpio: mmio32: update gpio_mmio32 to behave like other divers
The current implementation requires SoCs/Boards to manualy instantiate
the preripherals and initilize them.

The change lets Zephyr rely on the device tree setup to instantiate &
initialize the relevant gpio peripheral.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2025-02-14 10:42:02 +01:00
Grygorii Strashko
e549bc702a drivers: xen: gnttab: process gnttabs in reverse order
The Xen extends domain grant tables every time domain requests gnttab
basing on gnttab idx. If idx > xen_current_max_gnttab_idx the Xen extends
grant table so that idx <= xen_current_max_gnttab_idx. The growing grant
tables on every hypercall is a bit costly operation and it also results in
the bunch of log messages:

(XEN) xen-source/xen/common/grant_table.c:1909:d0v0 Expanding d0 \
  grant table from 1 to 2 frames

This patch changes gnttab processing from gnttab max_idx to low_idx, so the
first hypercall has the largest index, ensuring that the grant table will
grow only once. It also reduces number of log messages.

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2025-02-14 10:41:33 +01:00
Dmytro Firsov
71b9ec2c2c drivers: xen: gnttab: remove redundant GNTTABOP_setup_table call
Initially this driver was a port from mini-os. Michal Orzel
(@orzelmichal) pointed that it contains incorrect grant table
initialization sequence and redundant calls. Driver mapped grant table
frames via loop of XENMEM_add_to_physmap calls and then tried to do the
same but via GNTTABOP_setup_table operation. After completion of latter
it did not even use provided frames list. This did not cause any major
issues, since XENMEM_add_to_physmap correctly map gnttab frames that
were used.

Remove redundant GNTTABOP_setup_table call from grant table driver to
clean up its initialization sequence.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2025-02-14 10:41:33 +01:00
Dmytro Firsov
cd31a41328 drivers: xen: gnttab: limit number of grant frames via config
Xen allocates a region that should be used as a place for grant table
mapping and passes it via the device tree. By design, this region may
be quite large (up to 4096+ frames/pages), but the number of frames is
usually limited by the max_grant_frames domain parameter (usually 32 or
64).

Linux maps these frames on demand and when reaches mentioned limit
it just stops expanding. At the same time, previous implementation of
Zephyr gnttab driver calculated the number of grant frames by dividing
whole region by page size and tried to map it during init. If the
region specified in the device tree was larger than the
max_grant_frames set by Xen, it would fail on ASSERT, since Xen would
return an error.

To address these issues CONFIG_NR_GRANT_FRAMES was introduced. It
allows to limit size of grant table and map only required number of
pages. Additionally, a check for max_grant_frames Xen limit was
introduced to initialization - if this value will be less than
CONFIG_NR_GRANT_FRAMES, k_panic() will be called.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2025-02-14 10:41:33 +01:00
Dmytro Firsov
0e21b25245 drivers: xen: gnttab: prevent double-free for grant refs
Grant references are allocated via simple O(1) allocator - idx of first
free gref is always stored in the "0" list entry (e.g. list[0] == "A").
Next free gref (e.g. B) will be stored inside list entry with the index
of previous (list[A] == B) and so on. This allows to find free gref
instantly if available. However, current implementation allows a user
to perform a double-free of some taken grefs since it doesn't store any
information about entries being currently claimed. This may cause
gref_list to break.

Add GNTTAB_GREF_USED value and mark all taken grefs with it to prevent
double free in put_grant_entry().

These changes also required updates for allocator and semaphore init
sequences, since we can not use put_free_entry() during driver
initialization anymore.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2025-02-14 10:41:33 +01:00
Dmytro Firsov
3f92a8bbdd drivers: xen: gnttab: use correct struct for grant frames unmapping
Previously the driver's 'gnttab_unmap_refs()' signature used incorrect
struct - the same one that is used for mapping. Since 'host_addr'
membber, that is used to point to required frame is first in both
structures it somehow worked.

Fix mistake and use 'struct gnttab_unmap_grant_ref' for grant frames
unmapping hypercalls.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2025-02-14 10:41:33 +01:00
Camille BAUD
ee37a94aa8 sensor: xbr818: struct sensor... to DEVICE_API
This makes static const struct sensor_driver_api into DEVICE_API(sensor

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-02-14 08:45:13 +01:00
The Nguyen
227f2c4fb4 drivers: udc: add UDC support for USBFS on Renesas RA family
First commit to add support for USBFS module on Renesas RA
- Remove renesas,ra-usb binding
- Add 2 new binding for Renesas RA USBFS and USBHS
- Remove unused interrupts of USBHS

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-02-14 08:44:39 +01:00
Xinyu Hong
b1fe93e047 drivers: wifi: nxp: Fix wrong current PHY TX rate
For embedded supplicant case, fix current PHY TX rate is 0
always after STAUT connects to Ex-AP

Signed-off-by: Xinyu Hong <xinyu.hong@nxp.com>
2025-02-14 06:57:17 +01:00
Andrew Featherstone
06be6ebf3a drivers: gpio_rpi_pico: Add gpio_get_config API
Implement the `gpio_get_config`

N.b. adding this API results in a new test failure in
`test_gpio_config_trigger`. This suggests that there is some kind of
dependency between this and the now-enabled `pin_get_config` test cases.
Note that this adds a read-only API, it is unlikely to be the cause of
the failure.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2025-02-14 03:19:59 +01:00
Andrew Featherstone
c1b69710a1 drivers: gpio_rpi_pico: Add gpio_port_get_direction API
THe driver didn't implement this API, so add it.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2025-02-14 03:19:59 +01:00
Andrew Featherstone
91c4c4363e drivers: gpio_rpi_pico: Add gpio_get_pending_int API
Implement `gpio_get_pending_int`.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2025-02-14 03:19:59 +01:00
Andrew Featherstone
608e6a30b1 drivers: gpio_rpi_pico: Disable inputs when not in use
Reorder gpio_rpi_configure to disable input buffers when not in use.
gpio_rpi_get_config can then determine whether a pin is configured as an
input without requiring additional state variables, as well as reducing
input leakage current.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2025-02-14 03:19:59 +01:00
Andrew Featherstone
27c41b42c1 drivers: gpio_rpi_pico: Support GPIO_DISCONNECTED flag
Out of reset the pads are input enabled, output disabled. Disconnect the
pad's input and output buffers, as well as any pullups. This can reduce
input leakage current.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2025-02-14 03:19:59 +01:00
Andrei Menzopol
f7167ed606 drivers: ieee802154: add mcxw ieee802154 driver
Add mcxw ieee802154 driver
Fix compliance errors for added files.
Update function names to snake_case style.

Signed-off-by: Andrei Menzopol <andrei.menzopol@nxp.com>
2025-02-14 03:08:48 +01:00
Andrei Menzopol
b897d2a1e3 drivers: entropy: add nxp ele trng
Add NXP ELE TRNG driver

Signed-off-by: Andrei Menzopol <andrei.menzopol@nxp.com>
2025-02-14 03:08:48 +01:00
Marcin Lyda
f370d38363 drivers: rtc: Add Maxim DS1337 RTC driver
This PR adds support for Maxim Integrated
DS1337 RTC chip.

Supported functionalities:
* Alarm interrupt (both alarms trigger INTA pin)
* Time setting/reading
* Both alarms setting/reading
* SQW frequency configuration

Tested on nRF52833-DK using rtc_api test set.

Signed-off-by: Marcin Lyda <elektromarcin@gmail.com>
2025-02-14 03:03:56 +01:00
Camille BAUD
637686695c sensor: Introduce Phosense XBR818 Driver
This Introduces a driver for the i2c interface of Phosense XBR818.
XBR818 is a 10.525Ghz Radar chip with builtin detection algorithm.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-02-14 03:03:22 +01:00
Martino Facchin
efe3bf5b29 drivers: add nxp pf1550 mfd (charger+regulator)
Add driver for nxp pf1550 PMIC

Signed-off-by: Martino Facchin <m.facchin@arduino.cc>
2025-02-14 03:03:10 +01:00
Ryan McClelland
534c4148a9 drivers: i3c: add snps_designware_i3c to i3c shell
add the synopsys designware i3c to the i3c shell.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-02-14 03:02:43 +01:00
Ryan McClelland
e9ea97e92d drivers: i3c: add synopsys designware i3c driver
Add synopsys designware i3c driver

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-02-14 03:02:43 +01:00
Steven Chang
7b3596faaa driver: gpio: ene_kb1200 gpio initial level
Change initial level from POST_KERNEL to PRE_LERNEL_1,
Config suport voltage and driving flags

Signed-off-by: Steven Chang <steven@ene.com.tw>
2025-02-14 00:44:57 +01:00
Yangbo Lu
62a08e7961 drivers: ethernet: nxp_imx_netc: fix dt parsing of dsa port connection
Wrong functions were used for dsa port connection dt parsing.
Fixed it.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-02-13 20:13:25 +01:00