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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Sort alphabetically the header added in the previous few commits
as well as the original implementation.
Signed-off-by: Josuah Demangeon <me@josuah.net>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>