Commit graph

23353 commits

Author SHA1 Message Date
Grzegorz Swiderski
41f53b2091 drivers: cache: Enable LINEADDR workaround on nRF54H20 EngB
Just like on nRF54H20 EngC.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-10-24 16:55:44 +01:00
Janco Kock
2ed67e9841 drivers: ethernet: enc424j600: change mac addr runtime
Add ability to change mac address at runtime using net mgmt config call

Signed-off-by: Janco Kock <jancokock@gmail.com>
2024-10-24 17:54:08 +02:00
Tobias Pisani
66af846010 drivers: ti: bq274xx: Do not wait for device on init when lazy-loading
Before communicating with the device, the driver needs to wait 300ms. This
moves all communication with the device from init to configure, such
that this delay can be avoided on startup by using zephyr,lazy-load.

Signed-off-by: Tobias Pisani <mail@topisani.dev>
2024-10-24 17:52:30 +02:00
Reto Schneider
1790eda851 drivers: crypto: Add initial SiM3U1xx support
This driver makes use of the hardware AES acceleration, using DMA
transfers.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-10-24 17:52:05 +02:00
Benjamin Björnsson
0d9aa5a68c drivers: watchdog: wdt_counter: Fix overflow warning
Cast variable to uint64_t to ensure the multiplication is
performed using 64-bit arithmetic. Resolves static code
analysis warning from Coverity.

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2024-10-24 17:51:08 +02:00
Aksel Skauge Mellbye
da6ddc92cd drivers: timer: silabs: Add sleeptimer timer driver
Add OS timer implementation making use of the Sleeptimer HAL.
Sleeptimer integrates tightly with the Silabs Power Manager HAL,
and must be used as the OS timer to achieve optimal power consumption
when using the radio.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2024-10-24 17:51:01 +02:00
Chaitanya Tata
3098c484cb drivers: nrfwifi: Fix a build error
The defines should explicitly be passed to nordic HAL as they dont' use
the CONFIG_ prefix.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-10-24 13:15:25 +01:00
Ricardo Rivera-Matos
b64c69f84b regulator: cp9314: Drops B0 silicon support
Removes support for B0 revision silicon. The B0 revision is no longer
recommended for use in host-controlled applications and there are no
users of this driver implementing B0 silicon in their final design.

Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
2024-10-24 14:08:36 +02:00
Ricardo Rivera-Matos
2b3ed7016f regulator: cp9314: Adds support for HW I2C Lock feature
Adds support for the control port write-lock feature introduced in
revision B1. The write-lock feature minimizes the risk of spurious
I2C writes flipping sensitive bits during device operation by blocking
writes to some or all of the register map.

If desired, the write-lock must be set in hardware by biasing PGPIO2
appropriately and setting the cirrus,hw-i2c-lock flag in the devicetree
entry.

Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
2024-10-24 14:08:36 +02:00
Ricardo Rivera-Matos
6843faaf69 regulator: cp9314: Adds support for B1 CHIP_REV
Adds support for revision B1 silicon when checking CHIP_REV. This
silicon revision introduces the hardware I2C lock.

Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
2024-10-24 14:08:36 +02:00
Ricardo Rivera-Matos
63acbef33f regulator: cp9314: Changes CHIP_REV log message to debug level
Changes the log level for the CHIP_REV log message from INFO to DBG.

Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
2024-10-24 14:08:36 +02:00
Ricardo Rivera-Matos
7fb2e707a2 regulator: cp9314: Prints CHIP_REV info after switch case
Moves the CHIP_REV log message after the CHIP_REV switch case. Printing
the log message after allows for the print to be reused for multiple
CHIP_REV cases.

Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
2024-10-24 14:08:36 +02:00
Ricardo Rivera-Matos
f885c8ada3 regulator: cp9314: Uses FIELD_GET to read CHIP_REV
Use FIELD_GET macro to grab CHIP_REV bitfield. This change improves
the readability of the source code and does not change functionality.

Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
2024-10-24 14:08:36 +02:00
Jiafei Pan
0f6d6b2ef2 drivers: gicv3: add distributor safe configuration
In case of multiple OSes running on different CPU Cores which share the
same GIC controller, need to avoid the distributor re-configured to avoid
crash the OS has already been started.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2024-10-24 14:08:07 +02:00
Scott Worley
4fa5fc3b4c drivers: pinctrl: mec5: Microchip MEC5 HAL based pinctrl driver
Add a pinctrl driver for Microchip MEC5 HAL based chips.
The driver removes the YAML enum "no change" property
value from the driver strength and slew rate properties.
Update the shared header file in mec soc common folder to
use a different Z_PINCTRL_STATE_PINCFG_INIT for MEC5.
Modifications to legacy MEC172x XEC PINCTRL will be in
a future PR.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2024-10-24 14:07:31 +02:00
TOKITA Hiroshi
868e99aefb drivers: display: dummy: Enable config if dummy-dc device available
Enabling the configuration if there is a valid `dummy-dc`
node on the device tree.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2024-10-24 14:07:11 +02:00
Reto Schneider
67cb174241 drivers: dma: si32: Prevent configuration of in-use DMA channel
As per Zephyr DMA documentation, dma_config() must not be done on a
running channel.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-10-24 14:07:03 +02:00
Reto Schneider
4d3f6a3145 drivers: dma: si32: Improve start and stop logic
As per dma_stop() documentation, the implementation has to not just stop
the transfer, but also to disable the channel. Before this commit, only
the transfer has been stopped.

Same goes for dma_start(). This also allows the enabling of a channel to
be removed from dma_si32_config().

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-10-24 14:07:03 +02:00
Michal Smola
ab3bf82efe drivers: sensor: nxp kinetis temp: Remove depends on kinetis
Remove Kconfig dependency on SOC_FAMILY_KINETIS as the temperature
sensor is available also on MCX family.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-10-24 14:05:00 +02:00
Daniel DeGrasse
7bc316ba3c drivers: wifi: nxp: add CONFIG_NXP_WIFI_BUILD_ONLY_MODE for CI testing
Add CONFIG_NXP_WIFI_BUILD_ONLY_MODE, which allows the NXP WiFi driver to
be built without a binary blob. The built application will not be
functional, but this enables continuous integration to run upstream.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-24 09:29:21 +02:00
Daniel DeGrasse
8ea2c4f692 drivers: wifi: nxp: remove unused nxp_wifi_uap_status function
Remove unused function `nxp_wifi_uap_status`.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-24 09:29:21 +02:00
Daniel DeGrasse
4703fb0707 drivers: wifi: nxp: remove non-existent TWT fields
Remove references to TWT fields that did not exist, to resolve a build
error.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-24 09:29:21 +02:00
Daniel DeGrasse
452770f9e9 modules: hostap: remove set_btwt API
set_btwt API implementation is not complete. Remove the structure
definition and implementation from the NXP WiFi driver to fix a build
error.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-24 09:29:21 +02:00
Daniel DeGrasse
db271a7392 modules: hostap: remove ap_bandwidth API
ap_bandwidth API implementation is not complete. Remove the structure
definition and implementation from the NXP WiFi driver to fix a build
error.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-24 09:29:21 +02:00
Gerard Marull-Paretas
1b0840e910 drivers: pwm: nrf_sw: always default to yes
There's no need to add conditions to CONFIG_PWM_NRF_SW, because it is
already conditioned to DT status. Right now, if any system uses both
normal PWM and "SW PWM", it needs to manually enable the driver
Kconfig.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-10-24 03:47:23 +01:00
Florian Weber
1a89d4b13e drivers: sensor: akm09918: make submit function more unblocking
The driver now does not wait for the completion of a measurement
in the submit function.
Instead it schedule the fetch and the completion of the
submission queue entry as delayed work to the system work queue.

Signed-off-by: Florian Weber <Florian.Weber@live.de>
2024-10-23 15:35:35 -05:00
Jilay Pandya
d172847da5 drivers: sensor: adi: ltc2990 init trigger measurement
This commit triggers measurement during sensor initialization

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2024-10-23 15:33:56 -05:00
Audun Korneliussen
7da4f4d9cd driver: regulator: npm1300: fix build warning
regulator_npm1300_init() generated uninitialized variable warning.
Fix this by being consistent in the error checking in underlying function.

Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
2024-10-23 15:29:00 -05:00
Jimmy Zheng
6658b9c02c drivers: mbox: rework andes mbox plic to leverage intc_plic driver
Andes MBOX PLIC-SW use the same hardware as intc_plic driver. Reworked
mbox_andes_plic_sw implementation to leverage the intc_plic driver.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2024-10-23 16:53:13 +02:00
Armando Visconti
5be36eef47 drivers/sensor: lps2xdf: add ilps22qs support
The ILPS22QS is an ultra-compact piezoresistive absolute pressure sensor
which functions as a digital output barometer, supporting dual full-scale
up to user- selectable 4060 hPa. The device delivers ultra-low pressure
noise with very low power consumption and operates over an extended
temperature range from -40 °C to +105 °C.

(https://www.st.com/en/mems-and-sensors/ilps22qs.html)

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-10-23 16:52:57 +02:00
Armando Visconti
4c3606a3bf drivers/sensor: lps2xdf: Fix typo in Kconfig
Change I2C into I3C as it is a typo.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-10-23 16:52:57 +02:00
Armando Visconti
71bb3f7ade drivers/sensor: lps2xdf: add API to configure interrupt
Add a generic lps2xdf_config_int() API to configure device interrupt
mode, and implement the specific routines for lps22df and lps28dfw.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-10-23 16:52:57 +02:00
Armando Visconti
8fab391d3f drivers/sensor: lps2xdf: (Fix) move API inside CONFIG_LPS2XDF_TRIGGER
Move api_lps2xdf_handle_interrupt() API inside the CONFIG_LPS2XDF_TRIGGER
ifdef, because it should be defined only in that case.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-10-23 16:52:57 +02:00
Tomasz Moń
19955f6478 drivers: udc_dwc2: Reduce TxFIFO0 allocation size
DWC2 peripherals can have TxFIFO sizes configured to any value between
16 and 32768. The value configured during synthesis is the maximum value
the software can program. Designs that give full flexibility configure
the TxFIFO sizes to value equal to total SPRAM size.

Currently DWC2 driver does not have prior knowledge about the endpoints
used within available configurations and has to come up with TxFIFO0
value up front. The original approach was to use MAX(16, max allowed).
locations. Because DWC2 peripheral cannot have TxFIFO0 with size lower
than 16 locations, always the max allowed was used. This logic prevented
any IN endpoint other than EP0 on designs that have TxFIFO0 size set to
total SPRAM size.

Change the logic to MIN(2 * 16, max allowed) to have sufficient memory
available on flexible designs and allow simultaneous operation if
possible (i.e. when maximum TxFIFO0 size is at least 32).

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-10-23 16:51:38 +02:00
Tomasz Moń
94a6b82572 drivers: udc_dwc2: Handle IN events before OUT events
DWC2 otg OUT transfers are being used for SETUP DATA0, OUT Data Stage
packets and OUT Status Stage ZLP. On High-Speed it is possible for IN
Data Stage, OUT Status Stage ZLP and subsequent SETUP DATA0 to happen
in very quick succession, making all the three events appear at the same
time to the handler thread.

The handler thread is picking up next endpoint to handle based on the
least significant bit set. When OUT endpoints were on bits 0-15 and IN
endpoints were on bits 16-31, the least significant bit policy favored
OUT endpoints over IN endpoints. This caused problems in Completer mode
(but suprisingly not in Buffer DMA mode) that lead to incorrect control
transfer handling.

The choice between least significant bit first or most significant bit
first is arbitrary. Switching from least to most significant bit first
would have resolved the issue. It would also favor higher numbered
endpoints over lower numbered endpoints.

Swap the order of endpoints in bitmaps to have IN on bits 0-15 and OUT
on bits 16-31 to keep handling lower numbered endpoints first and
resolve the control transfer handling in Completer mode.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-10-23 16:51:02 +02:00
Johan Hedberg
393ecf4426 drivers: bluetooth: Rename Silabs HCI driver
Rename the Silabs HCI driver to hci_silabs_efr32.c to better indicate what
hardware it supports. Also rename the associated devicetree binding and
Kconfig options to be consistent with the new driver name.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2024-10-23 16:50:39 +02:00
Kapil Bhatt
7161a7a06a drivers: wifi: Add changes for regulatory domain
Add changes for offloaded raw tx regulatory domain.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-10-23 16:50:15 +02:00
Andrew Davis
9d0da02fbd soc: ti: k3: Select PINCTRL in UART driver not Kconfig.defconfig
The default configuration for PINCTRL should not be set with
the other default configurations in .defconfig, instead select
a default value as part of defining the UART driver.

Signed-off-by: Andrew Davis <afd@ti.com>
2024-10-23 11:23:18 +02:00
Hao Luo
05531647ee drivers: spi: remove unused variables
Removed unused variables to get rid of warning

Signed-off-by: Hao Luo <hluo@ambiq.com>
2024-10-23 11:19:56 +02:00
Swift Tian
744338f6ea drivers: mspi: fix incorrect DT macro used in controller emulator
DT_INST* should be used in MSPI_CONFIG or device tree value capture
will fail sliently and fall back to defaults.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-10-22 22:46:47 -04:00
Jilay Pandya
271aeaf5f9 tests: drivers: stepper: stepper_api: test cb user_data
This commit does the following:
1. tests set_callback and user_data
2. fixes the api as well as the drivers by passing user_data
back to the set callback

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-10-22 22:46:26 -04:00
Daniel DeGrasse
e8e43b60eb drivers: flash: flash_mcux_flexspi_nor: add IS25LP support
IS25LP flash chips have a similar P[6:3] register to the IS25WP series,
and need the same workaround.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-23 09:06:19 +09:00
Daniel DeGrasse
7ca996234f drivers: flash: flash_mcux_flexspi_nor: fix IS25WP flash support
Some NXP boards program the read parameters bits (P[6:3]) within the
IS25WP flash device during init, which will result in JESD216 probe
commands failing (as the number of dummy cycles will be incorrect). Add
handling to force these volatile bits to their default value to the
flexspi flash driver.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-23 09:06:19 +09:00
Daniel DeGrasse
c410b020b5 drivers: flash: flash_mcux_flexspi: fix support for QE method 5
Quad enable method 5 reads status register 2 (one byte), but then writes
to 2 bytes to the status registers, so we need to shift the output
buffer in order to manage this correctly.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-23 09:06:19 +09:00
Daniel DeGrasse
966b4339ee drivers: flash: flash_mcux_flexspi_nor: fix quad enable sequence
Writing the quad enable bit on flash chips typically requires a write
enable instruction be issued before writing the non-volatile status
register, and the flash may remain busy briefly after programming this
bit. Add code to send the WREN instruction, and to wait for the flash to
finish programming after writing the status register.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-23 09:06:19 +09:00
Daniel DeGrasse
e8a2832beb drivers: flash: flash_mcux_flexspi_nor: store probe lut in .data
Move the LUT used for probing to be stored in .data, instead of on the
stack. This reduces stack usage during probe by 192 bytes, which avoids
stack overflows that were occurring on some platforms.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-23 09:06:19 +09:00
Daniel DeGrasse
52d98498bc drivers: input: gt911: always set INT pin during probe
Even in cases where the alt-addr is set, we can still use the INT pin
during probe. Some boards require this, as if a reset GPIO is not
defined the INT pin may still need to be toggled in order to initialize
the GT911 IC correctly.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-22 19:04:59 -04:00
Luis Ubieda
1fdf6e64fb spi: sam: Refactor driver to use SPI RTIO common APIs
- Following similar approach followed on spi_mcux_lpspi driver.
- Enabling DMA by default when SPI RTIO is selected to favor
non-blocking transfers.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2024-10-22 18:30:24 -04:00
Vladislav Pejic
cfe64f7f1c drivers: sensor: adxl372: Updated driver with RTIO stream functionality
Updated ADXL372 driver with RTIO stream functionality.
RTIO stream is using both FIFO threshold and FIFO full triggers.
Together with RTIO stream, RTIO async read is also implemented.

Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
2024-10-22 18:30:13 -04:00
Reto Schneider
f81c1de130 drivers: serial: Sort CMake and Kconfig files alphabetically
By sorting the lines alphabetically, merge conflicts can be reduced.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-10-22 18:29:53 -04:00