Commit graph

118,807 commits

Author SHA1 Message Date
Benson Huang
728a018f86 drivers: gpio: Fix GPIO initial status
The current procedure to initialize the GPIO is:
If the GPIO is configured as GPIO_OUTPUT and also has the
GPIO_OUTPUT_INIT_HIGH flag, set it to output high; otherwise, set it to
output low.

This may fail if the GPIO is simply configured as GPIO_OUTPUT without
specifying either INIT_HIGH or INIT_LOW, which means it is intended to
preserve the previous status. But in this case, we are currently setting it
to output low.

Fix this by explicitly initializing the GPIO to high or low according to
the configuration:
If the GPIO is configured as GPIO_OUTPUT and also with the
GPIO_OUTPUT_INIT_HIGH flag, set it to output high.
If the GPIO is configured as GPIO_OUTPUT and also with the
GPIO_OUTPUT_INIT_LOW flag, set it to output low.
If the GPIO is configured as GPIO_OUTPUT only,
do not set the output value.

Signed-off-by: Benson Huang <benson7633769@gmail.com>
2025-05-22 04:51:57 +02:00
Alvis Sun
9cf6d66062 soc: npcx: npcx9: disable CCDEV_SEL in early initialization.
Enabling CCDEV_SEL_EN may interfere with the expected behavior of
VCC1_RST#.
To prevent potential issues, this commit sets CCDEV_SEL_EN
to be disabled by default, ensuring reliable VCC1_RST# behavior.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2025-05-22 04:51:44 +02:00
jhan bo chao
98478189f2 drivers: adc: rts5912: clear pending irq when setup
clear pending irq when setup.

Signed-off-by: jhan bo chao <jhan_bo_chao@realtek.com>
2025-05-22 04:51:36 +02:00
Felix Moessbauer
0f818e3e6b dts: lilygo/ttgo_tbeam: add axp2101 fuel-gauge node
The board has the axp2101 chip and we now have a matching driver.

Signed-off-by: Felix Moessbauer <felix.moessbauer@gmail.com>
2025-05-22 04:51:27 +02:00
Felix Moessbauer
84ebbdcd4b fuel_gauge: add basic support for AXP2101 chip
The AXP2101 chip is a multi functional power chip offering a regulator,
charge controller and a fuel gauge (battery percentage and voltage).
Hereby, the fuel gauge provides much more reliable data compared to using
an ADC.

We implement minimal support for this chip (connected state, voltage and
gauge) and bind it to the fuel gauge subsystem.

Closes: #89158
Signed-off-by: Felix Moessbauer <felix.moessbauer@gmail.com>
2025-05-22 04:51:27 +02:00
Philipp Steiner
9a8e4663ac drivers: fuelgauge: Add missing property values
Adds missing property values for battery connect and present state

Signed-off-by: Philipp Steiner <philipp.steiner1987@gmail.com>
2025-05-22 04:51:27 +02:00
Fabio Baltieri
ac1dec0498 led: drop led_context.h
led_context.h contains a single struct with max and min period, current
drivers that use it have hardcoded values and they set it at init.

This data is not used anywhere, and it makes very little sense to use
some SRAM for it.

Hardcode the limit for each driver and drop the struct and file.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-05-22 02:21:51 +02:00
Peter van der Perk
3d024e0953 modules: hal_nxp: Include TPM HAL driver for QDEC
Include TPM hal layer in case CONFIG_QDEC_TPM is enabled

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2025-05-22 02:21:39 +02:00
Peter van der Perk
49e33d38c1 drivers: sensor: qdec_tpm: Add QDEC support for NXP TPM
Allows to run the NXP Timer/PWM Module (TPM) in Quadrature
Decoder Mode.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2025-05-22 02:21:39 +02:00
Vit Stanicek
0d73b53310 samples: Add i.MX RTxxx AMP samples
Add common structure for RTxxx AMP samples. Add amp_blink, amp_mbox,
amp_audio_output and amp_audio_loopback samples.

These samples are now configured only for the mimxrt685_evk, but are
intended to support other NXP microcontrollers with Xtensa-family cores
at a later date.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-05-22 02:21:29 +02:00
Lin Yu-Cheng
1e38f94473 drivers: timer : fix rtmr timer.
RTMR clear the interrupt status bit in the init and isr function.

Signed-off-by: Lin Yu-Cheng <lin_yu_cheng@realtek.com>
2025-05-22 02:21:12 +02:00
Keith Packard
843d661b82 modules: Update picolibc to version 1.8.10
Switch to latest picolib release, version 1.8.10

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-05-22 02:21:01 +02:00
Keith Packard
47f2136e3c tests/kernel: Adapt to picolibc 1.8.10 symbol changes
Picolibc changed things like _WANT_MINIMAL_IO_LONG_LONG to
__IO_MINIMAL_LONG_LONG in an attempt to regularize the exposed names and
eliminate names that weren't prefixed with even a single underscore.

Adapt to this change by looking for both old and new symbols.

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-05-22 02:21:01 +02:00
Keith Packard
627f0ef565 posix: Use picolibc's limits.h when building POSIX code
When building POSIX code, we need to use picolibc's limits.h instead of
manually defining the POSIX values. This avoids duplicate definitions of
these symbols.

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-05-22 02:21:01 +02:00
Vit Stanicek
9367592240 boards: Add mimxrt685_evk/mimxrt685s/hifi4
Add definitions and init code for mimxrt685_evk/mimxrt685s/hifi4 (i.MX
RT685's HiFi 4 DSP core on MIMXRT685-EVK).

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-05-21 20:11:19 +02:00
Vit Stanicek
eba03e8571 dts: Add DT for brd mimxrt685_evk/mimxrt685s/hifi4
Add DT for mimxrt685_evk/mimxrt685s/hifi4 (i.MX RT685's HiFi 4 DSP
core).

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-05-21 20:11:19 +02:00
Vit Stanicek
cb1a7df652 dts: xtensa: Add DT for SoC mimxrt685s/hifi4
Add DT for the mimxrt685s/hifi4 SoC (i.MX RT685's HiFi 4 DSP core).

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-05-21 20:11:19 +02:00
Vit Stanicek
e253c3b57f soc: xtensa: Add mimxrt685s/hifi4
Add definitions, linker file and init code for mimxrt685s/hifi4 (i.MX
RT685's HiFi 4 DSP).

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-05-21 20:11:19 +02:00
Vit Stanicek
44ae59e589 modules: hal_nxp: Edit lists for mimxrt685s/hifi4
Exclude fsl_power.c from DSP domains, as it doesn't compile on those
because of missing register definitions. Include fsl_dsp.c wherever it
can be included, as it's required for initialisation of DSP domains.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-05-21 20:11:19 +02:00
Vit Stanicek
e3edf462f0 manifest: Repoint hal_nxp
Repoint hal_nxp to a new revision, which reflects changes needed for
mimxrt685_evk/mimxrt685s/hifi4.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-05-21 20:11:19 +02:00
Oleg Kokorin
7b7b0de6d6 boards: quail: MikroBUS
boards: mikroe: Add quail board

Signed-off-by: Oleg Kokorin <ole2mail@mail.com>
2025-05-21 20:10:48 +02:00
Stoyan Bogdanov
bdca32d88f drivers: flash: Remove VIMS calls for cc23x0
Remove VIMS calls for flash operations, since they are not needed.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-05-21 19:57:28 +02:00
Lauren Murphy
c96356d7da x86: llext: add ram and only_tags to enable tests
Adds missing RAM to qemu_x86 boards .yaml files, as well
as llext tag to only_tags to get llext tests to run on a subset
of x86 QEMU targets.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2025-05-21 19:57:20 +02:00
Lauren Murphy
7bbe425fe4 llext: basic x86 support
Adds basic x86 support for LLEXT.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2025-05-21 19:57:20 +02:00
Neil Chen
9941902e2c boards: nxp: frdm_mcxa153: Support wwdt for NXP frdm_mcxa153 board
Support watchdog for NXP frdm_mcxa153 board.
Test it using samples/drivers/watchdog.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-05-21 19:57:05 +02:00
Neil Chen
94a04a8259 dts: arm/nxp: Add wwdt nodes to NXP MCXA153 dtsi file
Add wwdt nodes to NXP MCXA153 dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-05-21 19:57:05 +02:00
Neil Chen
8a9afc94be boards: frdm_mcxn236: Fix USB next support on this board
This board was missing key code changes needed to
support Zephyr USB Next

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-05-21 19:56:55 +02:00
Alexandre Rey
3b407609b4 soc: mcxn: formatting
Run clang-format on soc/nxp/mcx/mcxn/soc.c.

Signed-off-by: Alexandre Rey <alexandre.rey@swisstiming.com>
2025-05-21 19:56:47 +02:00
Alexandre Rey
11d3279e53 dts: mcxn547: add dts for MCXN547
Add SOC DTS for MCXN547.
Reorganizes DTS with a common file for MXNx4x SoCs.

Signed-off-by: Alexandre Rey <alexandre.rey@swisstiming.com>
2025-05-21 19:56:47 +02:00
Alexandre Rey
59a23b57f6 soc: mcxn547: add support for MCXN547
Add MCXN547 support

Signed-off-by: Alexandre Rey <alexandre.rey@swisstiming.com>
2025-05-21 19:56:47 +02:00
Tobias Meyer
713fc17a26 drivers: stts22h: Add attr_lower/high_tresh
Add threshold attribute handling to set low and high
temperature at runtime and validation for runtime changes

Signed-off-by: Tobias Meyer <tobiuhg@gmail.com>
2025-05-21 19:56:38 +02:00
Josuah Demangeon
b95d7e2a94 samples: drivers: video: capture: logging improvements
Remove trailing spaces at the end of log string.
Move arguments on the next line for readability.
Align arguments to first line.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-05-21 19:56:30 +02:00
Josuah Demangeon
d272c12e01 samples: drivers: video: set an initial video buffer
Provide an initial video buffer in the first call to video_dequeue().
It is used by the driver for choosing between the input or output queue.
Applied to capture, capture_to_lvgl and tcpserversink samples.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-05-21 19:56:30 +02:00
Josuah Demangeon
638cb67191 drivers: video: sw_generator: sort header alphabetically
Sort alphabetically the header added in the previous few commits
as well as the original implementation.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-05-21 19:56:30 +02:00
Josuah Demangeon
4f344584ce drivers: video: sw_generator: fix div by zero on very low framerate
When the FPS value stored in data->frame_rate is zero, a division by zero
occurs. Fix it by clamping the frame rate between min and max values.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-05-21 19:56:30 +02:00
Josuah Demangeon
5687dc80c7 drivers: video: sw_generator: make k_work_sync a local variable
The documentation of k_work_cancel_delayable_sync() states that the input
k_work_sync parameter needs to be valid until the function call returns,
so there is no need to preserve the state across successive calls.
Now that there is a single work-related field in the struct, rename it
to simply "work".

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-05-21 19:56:30 +02:00
Josuah Demangeon
04912d461b drivers: video: sw_generator: introduce the RGB24 test pattern
This complements the 32-bit RGB (XRGB32) test pattern with an equivalent
24-bit RGB (RGB24) implementation.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-05-21 19:56:30 +02:00
Josuah Demangeon
d1e71ae901 drivers: video: sw_generator: add support for bayer and YUV formats
This refactors the pattern generator functions to also offer bayer formats
as input. 4 variant of bayer formats are proposed. The pixel packing is
also now split from the color selection: only a single RGB and single YUV
array used by all the pattern generators.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-05-21 19:56:30 +02:00
Josuah Demangeon
70b4b93985 drivers: video: sw_generator: modify video_sw_generator_fill_colorbar()
Add a check for the array size to avoid overwriting unrelated memory when
the buffer is too small for the full format. It first check if there is
enough buffer for one line, and fill it programmatically. Then, it will
try to duplicate that line over the entire buffer, in the limit of the
room available.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-05-21 19:56:30 +02:00
Josuah Demangeon
82d2f94f12 drivers: video: sw_generator: fix video_sw_generator_enum_frmival()
Return an error on fie.index >= 1 as there is only one framerate entry
per pixelformat, this prevents an endless loop.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-05-21 19:56:30 +02:00
Josuah Demangeon
ba5d3bad8b drivers: video: sw_generator: use video_format_caps_index()
Use the video_format_caps_index() function to check if a format matches
any entry of the format caps.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-05-21 19:56:30 +02:00
Josuah Demangeon
c15f24de60 drivers: video: sw_generator: refactor: flatten arrays
Help with maintainance and possibly readability by using a more regular
layout for various tables of numbers. This adds a comma on the last
element to help with formatters like clang-format.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-05-21 19:56:30 +02:00
Josuah Demangeon
d8d04ba66b drivers: video: sw_generator: preserve full prefix for internal functions
In order to help debugging through GDB and other error messages and debug
tools, convert the __xxx prefix to video_sw_generator_xxx full prefix.
To help keep function names short, use slightly shorter sufixes.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-05-21 19:56:30 +02:00
Francois Ramu
b926ba6abf boards: arm: stm32h7s78 disco kit supporting xspi instance
Add the XSPI 2 which is an octoSPI connection to a octo NOR flash
mx66uw1g45 on the stm32h7s78_dk disco kit

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-05-21 17:35:06 +02:00
Francois Ramu
78cc8ab1d8 boards: st: stm32h7s3l8 nucleo board supporting xspi instance
Add the XSPI 2 which is an octoSPI connection to a octo NOR flash
MX25UW25645GXDI00 (256 Mbits, 1.8 V, 200 MHz, DTR, rww)
on the nucleo_h7s3l8 board.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-05-21 17:35:06 +02:00
Francois Ramu
faddb5a813 dts: arm: stm32h7rs mcu with external memory area
Defines the corresponding memory area of the MPU for
the external NOR xspi node.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-05-21 17:35:06 +02:00
Francois Ramu
4bb618c66f drivers: clock control: stm32H7RS has a PLL2 & 3 or HCLK5 output
Add the definitions of the PLL2 and PLL3 outputs for the stm32H7RS mcus
and the HCLK 5 which is clock source for the XSPI instance.
and other HCLKn for other peripherals.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-05-21 17:35:06 +02:00
Francois Ramu
e13722bc38 drivers: flash: stm32 xspi flash driver set the DelayBlock if exists
The stm32H7RS serie has no DelayBlock Bypass control in its DCR1 register.
For other stm32 devices with DelayBlock bypass control, set the value
directly in the structure.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-05-21 17:35:06 +02:00
Francois Ramu
93b983d578 drivers: flash: stm32 xspi drivers supporting the stm32h7r/s mcu
Add the support of the stm32h7rs serie to the
drivers/flash/flash_stm32_xspi driver.
The stm32h7rs has no delayblock

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-05-21 17:35:06 +02:00
Francois Ramu
8cb8017038 drivers: flash: stm32 xspi driver supports clock domain config
Add the clock domain configuration for the xspi nodes
Where the DTS defines main clock and peripheral clock sel
plus a XSPIM clock

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-05-21 17:35:06 +02:00