Commit graph

24538 commits

Author SHA1 Message Date
Tahsin Mutlugun
50596320d4 drivers: serial: uart_max32: Add async mode support
This commit adds asynchronous mode support to MAX32 UART driver. Each
direction uses a single DMA channel that is assigned in devicetree
configuration.

Asynchronous mode also depends on interrupts to refresh receive
timeouts.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-01-21 09:13:34 +01:00
Sven Ginka
4dcaa82537 drivers: gpio: add gpio support for sy1xx
Add gpio support for sensry soc sy1xx.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-01-21 09:12:55 +01:00
Florian Weber
432c0cdc35 drivers: sensor: mlx90394: added driver
Added driver for Melexis MLX90394 magnetometer.

Signed-off-by: Florian Weber <Florian.Weber@live.de>
2025-01-21 09:12:41 +01:00
Nhut Nguyen
5a65c861a7 drivers: serial: Add interrupt-driven API support for RZ/G3S
This commit is to support UART interrupt-driven API for Renesas RZ/G3S.

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-01-21 09:12:15 +01:00
Jun Lin
2615ec879e driver: serial/uart: npcx: disable rx interrupt at init
In the application, after the sysjump, the RX interrupt might remain
enabled. During initialization, once the IRQ is enabled, the RX
interrupt could be triggered if there is any traffic on the RX line,
potentially causing an interrupt storm.

This change disables the UART RX interrupt at the driver initialization
to prevent this issue from occurring.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2025-01-21 07:07:47 +01:00
Guillaume Ranquet
b52f5cbef9 drivers: gpio: add MAX22017 gpio support
MAX22017 is a DAC with support for 6 GPIOs

Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
2025-01-21 07:07:33 +01:00
Guillaume Ranquet
31510fb3bf drivers: dac: Add support for MAX22017 DAC
The MAX22017 is a two-channel industrial-grade software-configurable
analog output device that can be used in either voltage or current output
mode.

Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
2025-01-21 07:07:33 +01:00
Guillaume Ranquet
e297293a54 drivers: mfd: add MAX22017 DAC/GPIO MFD
The MAX22017 DAC provides two 16 Channel Analog outputs and 6 GPIOs.

Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
2025-01-21 07:07:33 +01:00
Hubert Miś
1ef2df5c32 drv: nordic_vpr_launcher: manage data cache
Write-back cache after copying VPR's code and data to the destination
memory. It allows VPRs to run from RAM regions cacheable by its host.

It allows to use FLPR in nRF54H20.

Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
2025-01-20 20:57:07 +01:00
Luis Ubieda
e453a0ca4d sensor: adxl345: Disable Sensor Streaming by default
Have the application enable this feature explicitcly, so that
simple applications do not need to disable this to get the
expected behavior.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-01-20 20:56:19 +01:00
Luis Ubieda
2a59a0282c sensor: adxl345: Only enable FIFO Stream with Sensor Stream is enabled
Otherwise with its default configuration (25-Hz, 32-level FIFO),
getting individual samples could be up to 1-second old.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-01-20 20:56:19 +01:00
Luis Ubieda
283b5197e6 sensor: adxl345: Fix decoder for non-streaming mode
The following fixes have been applied to this decoder:
- The Q-scale factor was fixed, both for full-scale and non
full-scale modes.
- The data-type decoded is struct sensor_three_axis_data, as
it should for read/decode API.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-01-20 20:56:19 +01:00
Luis Ubieda
2dba777432 sensor: adxl345: Add get_size_info API
Used by the sensor-shell in order to retrieve values, otherwise
it crashes.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-01-20 20:56:19 +01:00
Alberto Escolar Piedras
b3407f04e7 drivers: entropy: fix native_posix driver for more than 3 byte requests
Fix the native_posix fake entropy driver for more than 3 byte requests,
and specially for native_sim//64 builds.

The host random() provides a number between 0 and 2**31-1 (INT_MAX),
so bit 32 was always 0.
So when filling a buffer with more than 3 bytes we would be filling
each 4th byte with a byte which always had its MSbit as 0.

For LP64 native_sim//64 builds, this was even worse, as the driver had
another bug where we assumed random() returned the whole long filled,
and therefore all 4 upper bytes would be 0.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-01-20 20:55:48 +01:00
Aksel Skauge Mellbye
5645adb251 drivers: gpio: gecko: Simplify device support
Simplify the distinction between Series 0/1 and Series 2.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-01-20 16:34:50 +01:00
Ryan Erickson
522718d7fd modem: hl7800: optimize socket cleanup on boot
On boot cleanup any restored sockets if they exist.

Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
2025-01-20 11:15:57 +01:00
Ryan Erickson
8a1336ec87 modem: hl7800: Fix DNS in sleep mode
When sleep modes are used, sockets are restored from NV after boot.
If the network changes IP addresses, restore sockets maintain old network
info in the HL7800 firmware.
On boot, restored sockets should be closed to ensure new sockets
are created with updated network info.

Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
2025-01-20 11:15:57 +01:00
Ryan Erickson
adffb84329 modem: hl7800: improve AT command API
Update AT command API to return a response.
Add param to set the timeout when waiting for a response.
If the user does not desire a response, the response buffer can
be NULL.

Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
2025-01-20 11:15:57 +01:00
Ryan Erickson
7b9a0eb237 modem: hl7800: stay awake for firmware update
Ensure the HL7800 stays awake for the entire firmware update.

Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
2025-01-20 11:15:57 +01:00
Ryan Erickson
c73e164ed5 modem: hl7800: wake before firmware update
Ensure the HL7800 is awake before starting a firmware update.

Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
2025-01-20 11:15:57 +01:00
Ryan Erickson
5d27c9b298 modem: hl7800: Add new state event
The new state event allows a user to know the overall state of the
HL7800 driver.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2025-01-20 11:15:57 +01:00
Ryan Erickson
962179286f modem: hl7800: power off should generate events
When powering off the modem, appropriate state events
should be triggered.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2025-01-20 11:15:57 +01:00
Ryan Erickson
de83072776 modem: hl7800: reset API should be async
All other APIs that need to reset the modem do so in an async way.
Make the rest API async as well.
This fixes issues where modem events related to the reset
were not generated properly.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2025-01-20 11:15:57 +01:00
Ryan Erickson
39412e26c8 modem: hl7800: fix socket port byte order
Ensure the proper byte order is used for the network socket in the stack.
When sending the AT commands, the port needs to be converted to
host endianess.
TLS handshakes check that the remote address and port match
what is expected.

Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
2025-01-20 11:15:57 +01:00
Samuel Chee
8d6d4de79d boards: arm: mps2: Add support for mps2/an383
Added new mps2 board an383 to enable testing with ARM FVP.
Qualifier to build/run is mps2/an383

Signed-off-by: Samuel Chee <samche01@arm.com>
2025-01-20 11:15:32 +01:00
Toon Stegen
ff76b12287 drivers: wifi: nxp: raise connect result event when failed
In case connection fails, the driver should raise a connect result event
to notify the user.

Signed-off-by: Toon Stegen <toon@toostsolutions.be>
Signed-off-by: Bart De Vos <bart.devos@verhaert.com>
2025-01-20 11:15:17 +01:00
Mulin Chao
47f472aa5c drivers: i2c: npcx: add support to wake up from sleep mode
Add support to wake up from sleep mode by START condition when i2c
is configured to target mode.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2025-01-20 07:05:48 +01:00
Nikola Petrovic
eabef50991 drivers: input: sbus: Fix SBUS parser overflow
SBUS parser discards portion of the received data, this is a result
of SBUS parser intermediate variable overflow. Fix by changing said
variable type to uint32_t.

Signed-off-by: Nikola Petrovic <nikolaptr6@gmail.com>
2025-01-20 02:59:06 +00:00
Raffael Rostagno
fc8119deed drivers: pwm_led: esp32: Add inverted flag
Add inverted flag to bindings, as pwms field is supposed
to be used by application only.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-01-18 02:36:05 +01:00
Raffael Rostagno
17752adfd9 drivers: pwm_led: esp32: Clang check
Clang check for formatting.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-01-18 02:36:05 +01:00
Raffael Rostagno
10360e1e77 drivers: pwm_led: esp32: Clock management update
Update clock management to better support new devices.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-01-18 02:36:05 +01:00
Raffael Rostagno
56d7dcc121 drivers: pwm_led: esp32: Timer sharing control
Include condition to block pwm_set operation when the same timer
is shared but a different frequency is requested. First set
operation will take precedence.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-01-18 02:36:05 +01:00
Raffael Rostagno
0c17da0ebf drivers: pwm_led: esp32: Cleanup and functions organization
Cleanup and functions organization. Clock source selection added
to init to allow proper setting of default level when signal is
inverted.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-01-18 02:36:05 +01:00
Raffael Rostagno
9d9ec2dab3 drivers: pwm_led: esp32: Change duty and PWM transitions
Disable PWM output for duty 0% or 100%, to allow using max timers
resolution. Move timer reset to init function in order to ensure
smooth frequency transitions.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-01-18 02:36:05 +01:00
Raffael Rostagno
58aef30acb drivers: pwm_led: esp32: Fix frequency config
At driver init channels frequency are unknown, thus timer config
may take place only at set_cycles(). To avoid phase shifts,
timers are only reconfigured if a new frequency is requested.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-01-18 02:36:05 +01:00
Armin Kessler
2c5b791b26 drivers: pwm_led: esp32: fix 100 percent pwm and init state
Set pwm init state to value defined in flags field.
Furthermore 100 percent is now actually 100 percent and not 99.

Signed-off-by: Armin Kessler <ake@espros.com>
2025-01-18 02:36:05 +01:00
Armin Kessler
babaaa6a19 drivers: pwm_led: esp32: add inverted pwm polarity
This PR enables the PWM to be inverted by making use of the
`PWM_POLARITY_INVERTED` flag.
It also fixes an overflow bug when setting duty-cycle to 100 percent.

Signed-off-by: Armin Kessler <ake@espros.com>
2025-01-18 02:36:05 +01:00
Dat Nguyen Duy
5014a204cf dts: arm: nxp: add support pwm emios for nxp s32z SoC
This adds support PWM EMIOS for NXP S32Z SoC, both PWM pulse
generate and pulse capture are supported

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2025-01-18 02:32:50 +01:00
Dat Nguyen Duy
e72af321d5 drivers: emios_pwm: do not configure period, duty and polarity at boot
Removing period, duty and polarity configuration from
channel devicetree. At boot time, only minimal setup like
pinctrl, prescaler, etc should be initialized. PWM signal
is produced by using pwm_set* API

Also after this change, PWM period, duty are changed at the
next counter period boundary

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2025-01-18 02:32:50 +01:00
Sven Ginka
e50645468c drivers: ethernet: vsc8541: add basic support for phy
add basic support for the microchip vsc8541 model phy.
as first starter, 1000MBit/s mode is implemented.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-01-17 23:08:14 +01:00
Michal Piekos
d318726209 drivers: sensor: vl53l0x: Add private channels
Added private channels for metadata associated with
distance measurement according to datasheet and API manual.

Signed-off-by: Michal Piekos <michal.piekos@wp.pl>
2025-01-17 23:07:54 +01:00
Tarang Raval
e338c7a807 drivers: sensor: fxls8974: remove redundant error check
The function fxls8974_get_temp_data always returns zero, indicating
success.Therefore, the error checking if condition is unnecessary and
can be removed.

Signed-off-by: Tarang Raval <tarang.raval@siliconsignals.io>
2025-01-17 23:07:40 +01:00
Igor Knippenberg
a35fee8592 driver: gpio: mcp23xxx: increase reset pin pulse duration
The reset pulse is currently fixed at 1 µs, the minimum required for
the chip. However, a long reset pin trace can increases rise time, making
1 µs potentially insufficient for reliable detection of a reset signal.
Increase the pulse duration to 2 µs

Signed-off-by: Igor Knippenberg <igor.knippenberg@gmail.com>
2025-01-17 20:07:02 +01:00
Michał Stasiak
2c89ed5441 drivers: pwm: nrfx: add global hsfll request for fast PWM
Added clock control api for global hsfll used in fast PWM120 driver.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-01-17 20:06:50 +01:00
Måns Ansgariusson
62ddd5fe79 drivers: i2s: Rename struct ring_buf -> struct ring_buffer
The struct ring_buf is renamed to struct ring_buffer to be able to coexist
with the sys/ring_buffer.h header file.

Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
2025-01-17 19:43:44 +01:00
Måns Ansgariusson
4772bfe710 drivers: ethernet: Rename struct ring_buf -> struct ring_buffer
The struct ring_buf is renamed to struct ring_buffer to be able to coexist
with the sys/ring_buffer.h header file.

Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
2025-01-17 19:43:44 +01:00
Ibrahim Abdalkader
2a6e5902cc drivers: video: gc2145: Add support for a PWDN pin.
Add support for power-down pin. Some modules require this pin
to enable the power supply.

Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
2025-01-17 16:36:22 +01:00
Joakim Andersson
8d04e7e38c drivers: modem: Fix modem_socket returning object for fd zero after init
Fix bug in modem_socket where an unallocated object can be returned
for file descriptor zero before the object has been used one time.

Signed-off-by: Joakim Andersson <joerchan@gmail.com>
2025-01-17 13:54:34 +01:00
Joakim Andersson
123adb2d7b drivers: modem: Modem socket does not build without NET_SOCKETS enabled
Modem socket does not build with NET_SOCKETS enabled.
Referencing socket_data in struct net_context.

Signed-off-by: Joakim Andersson <joerchan@gmail.com>
2025-01-17 13:54:34 +01:00
Peter Ujfalusi
bc7c717c41 drivers: dai: intel: ssp: Print usable error for poll timeout
Print the register address, mask and value as hexadecimal to be more
intuitive and also print out the actual value from the register to have
some insights.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2025-01-17 13:41:34 +01:00