Commit graph

25,525 commits

Author SHA1 Message Date
Marek Maškarinec
bc4d040e0d drivers: can_mcp251xfd: Add XSTBY option
Adds ability to enable the XSTBY functionality on GPIO0 pin, if enabled
in devicetree.

Signed-off-by: Marek Maškarinec <marek.maskarinec@hardwario.com>
2025-04-02 10:30:59 +02:00
Josuah Demangeon
5e799193fc drivers: video: gc2145: Add Chip ID 0x2145
The Chip ID field of the GC2145 was assumed to be 0x2155, but sensors
with Chip ID 0x2145 are still present. Rework how chip IDs verification
is done slightly and add support for both.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-04-02 05:30:19 +02:00
Hubert Miś
502982bf03 drv: ft8xx: extend single-letter function argument names
Replace single-letter function argument names in the FT8xx coprocessor
API with full names of the arguments for better code clarity.

The arguments in the ft8xx_reference_api.h are left as single-ltters to
keep the same function declarations as described in the FT8xx
programming guides.

Signed-off-by: Hubert Miś <hubert.mis@gmail.com>
2025-04-02 05:29:46 +02:00
Jordan Yates
784f64650b serial: stm32: unconditional policy locks for async TX
When using the asynchronous TX API, skip the `data->pm_policy_state_on`
checks for PM policy updates. This fixes two issues:
 * State conflicts with the `poll_out` implementation when both APIs are
   used on the same port, resulting in the SoC sleeping while
   transmissions are running.
 * Scheduling a TX from the `TX_DONE` callback resulting in the PM
   policy not being applied, resulting in TX errors.

Every call to `uart_tx` should have a corresponding `TX_DONE` event
generated, which makes the raw (reference counted) calls to
`pm_policy_state_lock_put/get` the correct API to use here.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-02 05:29:36 +02:00
Luis Ubieda
c1e75b6c3b sensor: pat9136: Add cooldown timer
This sensor may trigger data at a very fast pace (20,000 fps) and this
may not be useful for the application. Instead, it may affect its
proper functioning. Therefore, this patch includes a cool-down timer
before which time the INT line won't be enabled.

Please note that this sensor accumulates the delta compared to the
last reading, so on its own, not reading data-changes does not imply
losing data, as long as it does not saturate.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-02 05:29:23 +02:00
Luis Ubieda
382fa5d085 sensor: pat9136: Add Streaming mode
Working with DRDY and Motion triggers.
DRDY contains a backup software timer to guarantee checking in with
the sensor.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-02 05:29:23 +02:00
Luis Ubieda
9df68a4c48 sensor: pat9136: Add basic functionality
- Basic support with Read/Decode API for one-shot reads.
- Supported channels:
    - SENSOR_CHAN_POS_DX.
    - SENSOR_CHAN_POS_DY.
    - SENSOR_CHAN_POS_DXYZ.
    - SENSOR_CHAN_POS_DX_MM (private channel).
    - SENSOR_CHAN_POS_DY_MM (private channel).
    - SENSOR_CHAN_POS_DXYZ_MM (private channel).

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-02 05:29:23 +02:00
Peggy Chen
9faa7b07ff drivers: sensor: bma4xx: Implement streaming APIs
Add a streaming implementation for the BMA4XX using both
FIFO watermark and FIFO full interrupts. A batch duration of
3,000 have been used for verification.

Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
2025-04-02 05:29:11 +02:00
Peggy Chen
2dff22b0c7 drivers: sensor: bma4xx: Enable and resolve issues with emulator
Enable the sensor emulator and address related issues
to ensure proper functionality.

Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
2025-04-02 05:29:11 +02:00
Peggy Chen
26af8a4b7a drivers: sensor: bma4xx: Refactor submit logic into separate files
Refactor the sensor submit logic into individual files
to enhance maintainability and readability.

Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
2025-04-02 05:29:11 +02:00
Peggy Chen
feb65f6ce1 drivers: sensor: bma4xx: Refactor decoder into separate files
Refactor the sensor decoder code into individual files for
improved maintainability and readability.

Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
2025-04-02 05:29:11 +02:00
Peggy Chen
67e688ee3e drivers: sensor: bma4xx: Update config to use bma4xx_safely_configure
Updated the sensor configuration to use the bma4xx_safely_configure
function for safer and more reliable initialization.

Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
2025-04-02 05:29:11 +02:00
Peggy Chen
551027c5aa drivers: sensor: bma4xx: Split off bma4xx_defs.h
Added register definitions, bit masks, and related constants
for the BMA4XX sensor in a separate header file.

Signed-off-by: Peggy Chen <peggy.chen@cienet.com>
2025-04-02 05:29:11 +02:00
Dimitrije Lilic
c0e5e5236f drivers: adc: ad405x: Add diff support and res used form adc spec
Added support for differentail or single ended setup.
Reading resolution form dt - adc spec.

Signed-off-by: Dimitrije Lilic <dimitrije.lilic@orioninc.com>
2025-04-01 22:14:31 +02:00
Manimaran A
810f549ed4 drivers: eSPI: microchip: Port80 Multibyte
Updated ISR to send multibyte p80 data

Signed-off-by: Manimaran A <manimaran.a@microchip.com>
2025-04-01 22:12:28 +02:00
Dipak Shetty
eb0050f7c9 drivers: sensor: add everlight light sensor
Adds driver for Everlight ALS-PT19 Ambient Light Sensor.

Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
2025-04-01 22:12:13 +02:00
Konrad Sikora
c099a01760 drivers: sensor: liteon: Move to vendor subdirectory
Organizes liteon sensor drivers by vendor to make consistent
with other drivers.

Signed-off-by: Konrad Sikora <kontakt@konradsikora.pl>
2025-04-01 22:12:01 +02:00
Konrad Sikora
8ad2cac1b5 drivers: sensor: Add support for LTR329 sensor
Add support for Liteon LTR329 Digital Ambient Light Sensor

Signed-off-by: Konrad Sikora <kontakt@konradsikora.pl>
2025-04-01 22:12:01 +02:00
Konrad Sikora
85e9cef24e drivers: sensor: Change vendor prefix from 'ltr' to 'liteon'
The vendor prefix has been changed from 'ltr' to 'liteon'.
This change is made to better reflect the actual name of
the vendor, which is LiteOn. The previous prefix 'ltr'
was referring to the LiteOn Optical Sensor family, which
could lead to misunderstandings.

Signed-off-by: Konrad Sikora <kontakt@konradsikora.pl>
2025-04-01 22:12:01 +02:00
Yassine El Aissaoui
58ea18ed75 bluetooth: hci_nxp: disallow standby usage while sending HCI MSG
Sending an HCI message requires to wake up the controller
core if it's asleep. Platform controllers may send responses using
non wakeable interrupts and those can be lost during standby usage.
Blocking standby usage until the HCI message is sent.

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2025-04-01 16:27:50 +02:00
Krzysztof Chruściński
c8d7d577a6 logging: frontend_stmesp: Fix string addresses from remote core
When decoding logs from a remote core with memory that APP can
access, wrong address of an array with string addresses was used.
Log message contains index of a string and APP strings array was
used instead of remote core. Extend STMESP logging so that address
of string array of a remote core is send during startup to the APP
and APP is using this array to decode strings from remote cores.
Bug applies only to PPR and FLPR as APP has no access to RAD memory.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-01 16:26:50 +02:00
Ryan McClelland
8c5c74cc97 drivers: spi: add cadence spi driver
This provides a driver for the cadence spi.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-04-01 16:26:38 +02:00
Armando Visconti
cc9b93d50c sensor: lsm6dsv16x: sensor GBIAS initialization
Use SENSOR_ATTR_OFFSET attribute to initialize the Sensor Fusion GBIAS.
This is useful when the device is not sill (e.g. hold in hand) and so
the gyroscope calibration does not run.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2025-04-01 11:59:31 +02:00
Armando Visconti
9a8ecf0c0c sensor: lsm6dsv16x: fix place where gyro_freq get set
Move gyro_freq setting inside lsm6dsv16x_gyro_set_odr_raw() routine,
so that it is properly saved in all cases (i.e. from DT configuration
and from runtime ATTR set case).

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2025-04-01 11:59:31 +02:00
Adam Kondraciuk
042c5c6252 drivers: timer: nrf_grtc_timer: Move up GRTC clock selection
Selection of the LF clock source for the GRTC should be performed
as early as possible, before starting GRTC.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2025-04-01 11:52:26 +02:00
Khoa Nguyen
37c5ac4bce drivers: flash: Update api for migration of FSP to 5.8.0
Update api of Renesas flash-hp driver when FSP has been
migrated from version 5.3.0 to 5.8.0

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-04-01 04:14:14 +02:00
Khoa Nguyen
4cbf568f5e drivers: mipi_dsi: Update api for migration of FSP to 5.8.0
Update api of Renesas mipi_dsi driver when FSP has been
migrated from version 5.3.0 to 5.8.0

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-04-01 04:14:14 +02:00
Kesavan Yogeswaran
aa3d3b0bdb drivers: Fix declaration after label compile error
Fix two instances where switch-case labels were followed immediately by
a declaration, which is generally invalid and can cause compilation
failure.

Signed-off-by: Kesavan Yogeswaran <hikes@google.com>
2025-03-31 19:50:50 -04:00
Nitin Pandey
5661a5b25a driver: wifi: siwx91x: Add support for WPA_AUTO_PERSONAL
- Added support for wpa-wpa2 mixed mode in ap enable
- Added support for WPA3 Transition mode in STA connect

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-03-31 21:59:51 +02:00
Georgij Cernysiov
1989bef5e3 drivers: clock: stm32: h7: remove power supply config
The power supply configuration is already set during
the early H7 soc init.

Let the clock initialization handle the voltage scaling.

Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
2025-03-31 21:59:28 +02:00
Artur Hadasz
38b959e1a3 drivers: flash: nrf: Add possibility to add custom context
This commit adds the possibility to add additional custom
context for flash operations for usage by non-standard
flash drivers.

Signed-off-by: Artur Hadasz <artur.hadasz@nordicsemi.no>
2025-03-31 14:33:56 +02:00
Benedikt Schmidt
0a0e041c9d drivers: fpga: fix build of ICE40 bitbang with PINCTRL
Fix the build of the ICE40 FPGA bitbang driver with PINCTRL=y.
Fixes #87739.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2025-03-31 14:32:35 +02:00
Tomasz Moń
1cccf28d5e drivers: usb: udc: Reduce unnecessary ep config lookups
UDC API passes struct udc_ep_config to all functions. Some UDC functions
were using endpoint config structure while some were using device and
endpoint number. This API inconsistency led to completely unnecessary
endpoint structure lookups. Remove unnecessary lookups by using endpoint
config structure pointer where it makes sense.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-03-31 14:32:17 +02:00
Krzysztof Chruściński
40ab30f23f drivers: timer: nrf_grtc_timer: Optimize z_nrf_grtc_timer_get_ticks
Converting absolute system ticks to GRTC ticks is simple and algorithm
can be simplified. Legacy algorithm was copied from nrf_rtc_timer which
back then was working on 32 bits only.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-03-31 14:31:48 +02:00
Johan Hedberg
4fe9e018d3 drivers: bluetooth: h4: Free RX buffer upon reset
There are cases where reset_rx() is called when rx.buf is set (e.g. when
the buffer was too small to receive the incoming packet). Be sure to free
the buffer, so that it wont get reused for the next packet (which might
require a buffer from a different pool).

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-03-31 11:29:55 +02:00
Ziad Elhanafy
a7ba802dbe drivers: mbox: Add Arm MHUv3 Mailbox driver
This adds new Arm MHUv3 mailbox driver.

The Arm MHUv3 (Message Handling Unit version 3) is a hardware
block designed for inter-processor communication in SoCs.

The ARM MHUv3 can optionally support various extensions to
enable different kinds of transport to be used for communication.

At the moment only the doorbell extension is supported in the
driver.

For more information refer to Arm Message Handling Unit
Architecture
https://documentation-service.arm.com/static/65f01fbab5e3c10fe1335edf

Signed-off-by: Ziad Elhanafy <ziad.elhanafy@arm.com>
2025-03-31 11:29:40 +02:00
Corey Wharton
3aebc9d258 drivers: sensor: tmp112: add support for setting ALERT thresholds
Allows setting tLow/tHigh threasholds via the SENSOR_ATTR_LOWER_THRESH/
SENSOR_ATTR_UPPER_THRESH attributes.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-03-31 08:07:12 +02:00
Corey Wharton
7425070ecc drivers: sensor: tmp112: format file
Format before other changes.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-03-31 08:07:12 +02:00
Chew Zeh Yang
fa1e385b77 drivers: udc_ambiq: fix compilation issue after dwc2 header removal
udc_ambiq was using USB test mode definition in dwc2 header, which
the include was removed, hence compilation now fails. This commit
fixes the compilation failure.

Signed-off-by: Chew Zeh Yang <zeon.chew@ambiq.com>
2025-03-31 08:06:47 +02:00
Julien Panis
d8dbf5653e drivers: dma: Add support for cc23x0 DMA
Add support for 8-channel configurable DMA controller. The driver
supports the following features:
- memory to peripheral (ch0 to ch5)
- peripheral to memory (ch0 to ch5)
- memory to memory (ch6 and ch7)

Each DMA channel is multiplexed between two or more trigger sources:
- ch0 -> SPI0_TX or UART0_RX
- ch1 -> SPI0_RX or UART0_TX
- ch2 -> LRFD or UART0_TX
- ch3 -> ADC0 or UART0_RX
- ch4 -> AES_A or LRFD
- ch5 -> AES_B or ADC0
- ch6 -> Software Event Channel 0
- ch7 -> Software Event Channel 1

Signed-off-by: Julien Panis <jpanis@baylibre.com>
2025-03-31 08:05:52 +02:00
Titan Chen
10f7218df4 drivers: timer: rts5912: Fix RTMR accurate issue.
Fix RTMR_ADJUST_LIMIT and RTMR_ADJUST_CYCLES

Signed-off-by: Titan Chen <titan.chen@realtek.com>
2025-03-28 21:51:08 +01:00
Ibrahim Abdalkader
41a10e41b0 drivers: display: Add Sitronix ST7701 driver.
Display driver for Sitronix ST7701.

Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
2025-03-28 21:50:58 +01:00
Andriy Gelman
9b1ac989b3 drivers: spi_xmc4xxx: Add delay when changing clock polarity
The passive level of the clock does not change instanteneously when
it's set using function XMC_SPI_CH_ConfigureShiftClockOutput().
This means that the passive level of the clock can be in the wrong
state when the chip select goes low.

Fix this by adding a small delay when the polarity changes to allow
the clock to return to the proper level.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2025-03-28 21:50:48 +01:00
Chaitanya Tata
5119f9c379 drivers: nrf_wifi: Implement TX zero-copy feature
This uses the network packet as is without the need for a copy all the
way till the packet is handed over to RPU.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-03-28 16:11:05 +01:00
Fin Maaß
b8eda4d6e7 drivers: ethernet: litex: support more than 2 slots
This adds support for more than 2 slots in the LiteX liteeth
driver.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-03-28 16:10:23 +01:00
Fin Maaß
62cbfbcb27 drivers: ethernet: litex: add remove irq_lock on rx
It is already ensured in the fpga logic, that there is only one
interrupt per liteeth dev at a time. So we can remove the irq_lock on rx.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-03-28 16:10:23 +01:00
Fin Maaß
a080df5dfc drivers: ethernet: litex: add mutex for tx
This patch adds a mutex for the eth_tx() function to prevent multiple
threads from calling the function at the same time.
Also remove the unneded irq_lock in that function.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-03-28 16:10:23 +01:00
Fin Maaß
31648d5fcc drivers: ethernet: litex: correct return value
correct return value for litex liteeth driver in eth_tx().

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-03-28 16:10:23 +01:00
Anisetti Avinash Krishna
139211772c include: zephyr: sys: time_units: Make z_clock_hw_cycles_per_sec unsigned
Convert z_clock_hw_cycles_per_sec to unsigned int to increase
supported frequency range.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2025-03-28 12:21:07 +01:00
Jordan Yates
32229d0b6c serial: stm32: block sleep modes while RX is active
Block the SoC from re-entering sleep modes while the RX line is active,
if the RX activity previously woke the device from the sleep states.
This stops the device from continuously transitioning between the two
modes and improves responsiveness.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-03-28 08:41:31 +01:00