Commit graph

25,525 commits

Author SHA1 Message Date
Aleksander Strzebonski
18fb3f9a32 usb: dwc2: Allow for enabling USB if the cable is disconnected
Adds CONFIG_UDC_DWC2_USBHS_VBUS_READY_TIMEOUT_MS that allows
for waiting for a USBHS VBUS ready event for a specified
amount of time. Earlier it waited forever and because of that,
the udc_enable() was blocked forever if the USB cable was
disconnected. Now the function returns error on timeout.

Signed-off-by: Aleksander Strzebonski <aleksander.strzebonski@nordicsemi.no>
2024-10-16 16:37:31 +01:00
Andrzej Głąbek
edc4f75b61 soc: nordic: Fix the way of enabling clock control for nRF54H Series
This is a follow-up to commit 7a2ce2882a.

Do not enable clock control by default on nRF54H Series SoCs when
the system timer is present, because clock control is not needed
for this purpose there.

Add missing `default y` in the CLOCK_CONTROL_NRF2 Kconfig option that
enables compilation of clock control drivers for nRF54H Series.
This way modules that actually require clock control (like drivers
that use radio) will be able to enable it using the generic option
(CLOCK_CONTROL), not the above one that is specific for nRF54H.

Update accordingly applications that referenced the CLOCK_CONTROL_NRF2
option.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-10-16 16:36:51 +01:00
TOKITA Hiroshi
3c4789aca3 drivers: wifi: eswifi: Resolve the dependency on RING_BUFFER
`eswifi-uart` uses the ring buffer library, but the dependency is
not indicated.
Specify `select RING_BUFFER` to resolve the dependency.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-10-16 12:27:05 +02:00
TOKITA Hiroshi
01f4c20fdc drivers: wifi: eswifi: Specify POSIX-2008 to use strnlen()
`_POSIX_C_SOURCE` must be specified to use the `strnlen()` function
in string.h. Make sure to specify this explicitly.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-10-16 12:27:05 +02:00
Hao Luo
e7a64f74a8 drivers: i2c: add runtime put for error path
The previous error path incorrectly returned without
calling runtime put async

Signed-off-by: Hao Luo <hluo@ambiq.com>
2024-10-16 12:26:17 +02:00
Yangbo Lu
6a8cdf42b5 drivers: clock_control_mcux_ccm_rev2: add NETC clock support
Added NETC clock support for clock_control_mcux_ccm_rev2.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2024-10-16 10:00:32 +02:00
Yangbo Lu
553079350c drivers: ethernet: add NXP i.MX NETC driver
Added NXP i.MX NETC driver based on NXP MCUX SDK driver APIs.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2024-10-16 10:00:32 +02:00
Yangbo Lu
4986809581 drivers: mdio: add NXP i.MX NETC MDIO driver
Added NXP i.MX NETC MDIO driver based on NXP MCUX SDK driver APIs.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2024-10-16 10:00:32 +02:00
Armin Kessler
9564a3b431 drivers: video: esp32s3: Add set_signal video api function
This PR implements the set_signal callback from the video API.
A signal registered on VIDEO_EP_OUT raises once a new image has
been received completely.

Signed-off-by: Armin Kessler <ake@espros.com>
2024-10-16 10:00:01 +02:00
Nikodem Kastelik
ece7da5947 drivers: adc: nrf: add support for nrf54l internal SAADC inputs
SAADC peripheral for nRF54L Series allows to choose internal
voltages as positive inputs.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-10-16 09:59:16 +02:00
Nikodem Kastelik
d494769948 dts: nordic: refactor bindings helper symbols for SAADC
Split header files containing symbols denoting SAADC inputs
so that only supported inputs can be used for given device.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-10-16 09:59:16 +02:00
Sylvio Alves
7668a4d27e drivers: counter: esp32: force capture to read value
Force capture call so that timer counter value is updated
accordingly.

This also adds get_value_64 counter API function.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-10-16 09:58:47 +02:00
Chaitanya Tata
cb1ea80c02 drivers: nrfwifi: Add provision to handle FW blobs externally
The FW blobs are contentious topic in OSS, so, add a provision to use
external tooling (e.g., NCS) to handle FW blobs for advanced usecases
(e.g., storing in external flash).

This won't be used upstream, only built-in or build-only are supported.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-10-16 09:57:39 +02:00
Chang Feng
2e93bcf2d7 driver: serial: gd32: add irq_update
Add missing api irq_update for gd32.

Signed-off-by: Chang Feng <chang_196700@hotmail.com>
2024-10-16 09:57:05 +02:00
Maochen Wang
d916d7287d drivers: wifi: nxp: fix build error
Fix build error of undefined 'nxp_wifi_ret_t'.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-10-16 09:56:04 +02:00
Emilio Benavente
82a192c8a9 boards: nxp: Removing CONFIG_PINCTRL from the boards defconfig
The Drivers using Pinctrl should be turning Pinctrl on
this should not be the responsibility of the board. This
commit removes CONFIG_PINCTRL from the boards side for nxp boards.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2024-10-15 19:09:45 -04:00
Hake Huang
fb1ffff7d3 driver: uart: uart_mcux_lpuart fix issues in async api
1. optimized the logic for buffer usage in async api
2. skip timeout flush when the remaining counts is 0,
   as this will trigger dma_callback to process.
3. remove scatter mode, as we are not using this mode
4. trigger after dma_reload.

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2024-10-15 19:09:19 -04:00
Jordan Yates
1637443dc0 sensor: current_amp: request calibration
Request calibration on ADC samples to improve the accuracy of the ADC
outputs and therefore the final measured current.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-10-15 19:07:21 +01:00
Kapil Bhatt
28b74947e0 wifi: Add wrapper APIs for offloaded raw TX feature
Add wrapper APIs for the offloaded raw TX feature supported
by nRF70 devices.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-10-15 19:06:52 +01:00
Kapil Bhatt
5c3cc3730a drivers: nrfwifi: Create separate offloaded raw tx mode
Create separate offloaded raw tx mode which will work
as stand-alone compile-time mode.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-10-15 19:06:52 +01:00
Krzysztof Chruściński
b773306a56 drivers: sensor: nordic: qdec: Add runtime PM
Add runtime PM to the driver.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-10-15 19:06:01 +01:00
Romain Pelletant
8ee66a151e drivers: i2c: i2c_gecko: add exclusive access
- Add exclusive and atomic access to resource

Fixes #79110

Signed-off-by: Romain Pelletant <romainp@kickmaker.net>
2024-10-15 19:05:24 +01:00
Chris Friedt
f4e07d15d6 sys: util: define bits per byte, nibble, and nibbles per byte
Collect some common bit-widths redefined in various locations
and put them under sys/util.h .

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-10-15 19:05:06 +01:00
Chaitanya Tata
b40cb4c46c drivers: nrfwifi: Use Zephyr tooling to load nRF70 FW file
Instead of relying on INCBIN macros which do not properly add
dependencies, e.g., modifying FW file doesn't trigger rebuild.

Use the Zephyr cmake tooling to load the FW patch file as a header.

This also improves memory report where the patch target is clearly
visible instead of a hidden section.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-10-15 19:04:29 +01:00
Chaitanya Tata
7f9be54897 Revert "drivers: nrfwifi: Fix rebuilding when FW blobs are changes"
This reverts commit e2e96acebf.
This will be properly fixes by adding a target for nRF70.bin and
removing INCBIN approach.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-10-15 19:04:29 +01:00
Jilay Pandya
ecada895da drivers: stepper: update drivers as per the api changes
This commit deprecates passing of async signal in functions such as move
and set_target_position. As per the new API, the async signal has to be
set via set_async_signal.

If RAMPSTAT_POLL is activated then enable_constant_velocity_mode would be
able to raise signals like END_STOP_DETECTED & SENSORLESS_STALL_DETECTED.
This commit also adjusts shell script in order to test these signals.

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2024-10-15 13:53:16 +02:00
Jilay Pandya
4f18d64b30 drivers: stepper: api: introduce stepper_set_event_callback function
- Refactor stepper_signal_result to stepper_event.
- Introduce stepper_set_event_callback function
- Deprecate k_poll_signal

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2024-10-15 13:53:16 +02:00
Tim Lin
7fa962589f ITE: it8xxx2: Remove CONFIG_PINCTRL from soc defconfig file
The driver Kconfig determines whether pinctrl is enabled
instead of soc defconfig.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-10-15 13:52:55 +02:00
Daniel DeGrasse
d2df15a0e9 drivers: video: video_mcux_smartdma: add SMARTDMA video driver
Add SMARTDMA video driver. This driver uses the SMARTDMA engine as a
parallel camera interface, which can read QVGA frames from a camera
device. Due to SRAM constraints, the video driver divides the camera
stream into multiple horizontal video buffers as it streams them back to
an application.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-15 04:10:50 -04:00
Daniel DeGrasse
f386cc26fa drivers: video: ov7670: improve resolution init code
Improve resolution init code for OV7670 driver, to properly program the
full set of registers needed to realize a given output resolution. The
settings for these registers are based on those used in the MCUX SDK
driver, which are derived from the resolution register settings given in
the OV7670 programming guide, with a different configuration for the
CLKSRC and DBLV registers used for the input clock.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-15 04:10:50 -04:00
Daniel DeGrasse
126306981d drivers: dma: dma_mcux_smartdma: update interface to support custom FW
The SMARTDMA is a programmable DMA engine, and supports custom firmware
in order to run complex DMA operations. Update the driver to increase
the flexibility users have when configuring the SMARTDMA with
custom firmware, and remove the RT500 display firmware specific
definitions and functionality from the driver.

This display setup is now handled from the MIPI DSI driver, since the
firmware used for this case is specific to the MIPI DSI IP.

This change also requires an update to the RT500 devicetree, as the
register definition for the SMARTDMA has changed, so the base address
must as well.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-15 04:10:50 -04:00
Daniel DeGrasse
561198ac75 drivers: video: handle line_offset field
Since all video drivers in tree use a full frame, their video buffers
will always start at a line_offset of 0 within the frame.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-15 04:10:50 -04:00
Daniel DeGrasse
ec6ffc8b33 drivers: video: update video drivers to handle min/max line count
Update existing video drivers to handle the min/max line count field
within the video_caps structure. All drivers work with full frames
currently, so use the special LINE_COUNT_HEIGHT value to indicate this.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-15 04:10:50 -04:00
Paweł Czaplewski
9fe959857a drivers: sensor: tmp1075: Add tmp1075 sensor driver and sample
TI tmp1075 driver implemented based on tmp108 driver.
The driver initializes the sensor based on the DTS.

Added tmp1075 example overlay file to thermometer sample.
All you need to do to use the sensor is to connect the I2C and
optionally interrupt line.
To see default DTS configuration option inspect `ti,tmp1075.yaml`
bindings file and sensor spec.

Signed-off-by: Paweł Czaplewski <pawel.czaplewski@arrow.com>
2024-10-15 04:10:40 -04:00
Bernhard Krämer
6ea04441f9 drivers: ethernet: Add DP83825 phy driver
Includes dt binding

Signed-off-by: Bernhard Krämer <bdkrae@gmail.com>
2024-10-15 04:10:06 -04:00
TOKITA Hiroshi
042a40d0e3 drivers: lora: rylrxxx: Add stdio.h to resolve function prototypes
The source code uses functions from stdio.h,
such as `sprintf()`, but they are not explicitly included
so that we will add it.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-10-15 04:09:56 -04:00
TOKITA Hiroshi
1d4c29ab29 drivers: lora: rylrxxx: Fix missing default y in LORA_RYLRXXX
The `default y`, which is coupled with
`depends on DT_HAS_REYAX_RYLRXXX_ENABLED` to link the settings with
DeviceTree, which was missing, so I added it.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-10-15 04:09:56 -04:00
Adrian Warecki
256ab0c919 ace: mm: tlb: Check tlb translation enabled before flushing cache
Before unmapping a memory page, the cache is flushed. If the given memory
page is not mapped, this operation ends with a cpu exception on the
ptl platform. Add check if tlb translation is active before flushing.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2024-10-15 04:09:49 -04:00
Adrian Warecki
0e9b9b0cf3 ace: mm: tlb: Ignore unmappig error in driver initalization
The sys_mm_drv_unmap_region_initial function is responsible for unmapping
all unused virtual memory during tlb driver initialization. Most addresses
will not have a mapped page. Ignore the error code indicating unmapped
memory that will occur when trying to unmap.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2024-10-15 04:09:49 -04:00
Declan Snyder
2ab104625e drivers: mdio_nxp_enet: Don't disable IRQ
No real need to be enabling and disabling IRQs, this logic has been
reported to be causing spurious interrupts and strange behavior, we can
just enable the interrupt and switch to interrupt based logic one time
and keep the interrupt enabled at that point.

Also, fix a W1C bug where |= was used instead of = to clear a flag.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-10-15 04:08:30 -04:00
Marcin Szymczyk
a555838033 drivers: mbox: nrf_vevif_task_rx: align to direct IRQs
Allow using direct IRQs (which are obligatory when buiding
with `CONFIG_GEN_SW_ISR_TABLE=n`).

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2024-10-15 04:07:32 -04:00
Dean Sellers
43897a4e60 drivers: ethernet: enc28j60: Fix carrier on race on init
If there is a carrier (cable plugged in) on device initialisation
there is a race between the interrupt service and the L2 init.

Signed-off-by: Dean Sellers <dsellers@evos.com.au>
2024-10-15 04:05:50 -04:00
Guillaume Gautier
f4f1b1a365 drivers: adc: stm32: fix clock check for stm32f1
STM32F1 doesn't have synchronous/asynchronous source clock choice.
The recently added clock check was failing compilation for these series.
This commit removes the check for F1.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2024-10-15 04:05:22 -04:00
Lucien Zhao
62c62da1ba dts: arm: nxp: rt118x: add qtmr instances
update driver clock to adapt qtmr clock structure
add 8 qtmr instances

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-10-15 04:37:47 +01:00
Jordan Yates
4361c96c48 adc: current_sense_amplifier: resistance in milli-ohms
Change the unit of the sense resistor in the devicetree binding from
micro-ohms to milli-ohms. This is done for three reasons.

Firstly, the maximum value resistor that can currently be represented
is 4.2 kOhms, due to the limitation of devicetree properties to 32 bits.

Secondly, storing the resistance at such a high resolution makes
overflows much more likely when the desired output unit is micro-amps,
not milli-amps.

Finally, micro-ohms, are an unnecessarily precise unit for the purpose
of these calculations, and a resolution that is not realistic to
achieve. The high resistor resolution results in large divisors that
reduce the resolution of outputs. Unlike resistors characterised down to
the micro-ohm, devices wanting to measure micro-amps are actually
realistic.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-10-14 13:05:07 +02:00
Michal Simek
50919747bf drivers: ipm: xlnx: fix AMD copyright
There is nothing like AMD-Xilinx Inc. That's why use full AMD name
instead.

Fixes: 09e2a4e9eb ("drivers: ipm: add zynqmp r5f support")
Co-developed-by: Mubin Sayyed <mubin.sayyed@amd.com>
Signed-off-by: Mubin Sayyed <mubin.sayyed@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
2024-10-14 13:03:48 +02:00
Sylvio Alves
7a57d55c76 drivers: bt: airoc: fix compliance check
Fix compliance check related to "symbols without children".
Using regular 'config' entry.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-10-14 13:03:28 +02:00
Declan Snyder
ca829e1b77 include: spi: Clarify data frame units and meaning
Make clear in the include/ header that data frame size
is the same thing as word size for the context of this API.

Also, add some comments to the spi_context to make it easier
for driver writers to understand how to use the functions,
by noting the meaning of the dfs and len parameters to the update
functions. Otherwise it takes some time to understand what they mean.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-10-14 13:03:10 +02:00
Robert Lubos
c4803752a8 net: Deprecate CONFIG_NET_SOCKETS_POLL_MAX
CONFIG_ZVFS_POLL_MAX is now used to control the maximum number of poll()
entires. Thereby, CONFIG_NET_SOCKETS_POLL_MAX is redundant and shall
be deprecated.

Modify the defaults for NET_SOCKETS_POLL_MAX and ZVS_POLL_MAX so that
the deprecation actually makes sense instead of symbol removal. In case
the application still sets the old config, it will modify the
ZVS_POLL_MAX default.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-10-14 13:01:51 +02:00
Mahesh Mahadevan
1f0a15fa08 drivers: sensor: Fix NXP LPCMP driver
Fix Build failure due to undefined variable.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-10-14 13:01:13 +02:00