Several drivers checked for the presense and availability of data cache
through Kconfig symbol. This is supported according to the current
documentation, but the symbol DCACHE masks two types of cache devices: arch
and external caches. The latter is present on some Cortex-M33 chips, like
the STM32U5xx. The external dcache is bypassed when accessing internal
SRAM and only used for external memories.
In commit a2dd232410 ("drivers: adc: stm32: dma support") the rationale
for gating dcache for adc_stm32 behind STM32H7X is only hinted at, but
reason seems to be that it was the only SOC the change was tested on. The
SOC configures DCACHE=y so it is most likely safe to swap the SOC gate for
DCACHE.
The DCACHE ifdefs are now hidden inside the shared stm32_buf_in_nocache()
implementation.
Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
Updates the heap code to ensure that when converting the requested
number of bytes to chunks, we do not return a value that exceeds
the number of chunks in the heap.
Fixes#90306
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
When the device was suspended and the pin level changed during
that time, the pin level of course isn't updated in the pins cb_data.
Once the device is resumed, this leads to potentially having
a wrong value in the pin state data leading to swallowing the first
event due to comparing the stored level vs. the new level before
reporting.
Also added some `const`s and deleted an unused struct element.
Signed-off-by: Marcel Krüger <marcel@mkgr.dev>
'timings' is an array of 'struct i2c_config_timing' (3 x uint32_t).
'i2c_timings_##index' is an array of uint32_t (hence the cast when it
is assigned to 'timings'). Therefore 'ARRAY_SIZE(i2c_timings_##index)' is
off by a factor 3 when used for n_timings.
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
When running naive sim builds using clang, respect user passed
SYSROOT_DIR values. Additionally, allow overriding the archive tool
when calling Make for the native simulator.
Add the sysroot (if available) to the native_simulator target and
TOOLCHAIN_C_FLAGS and TOOLCHAIN_LD_FLAGS. Additionally pass CMAKE_AR
to NSI_AR.
Signed-off-by: Yuval Peress <peress@google.com>
Simplify the logic for the `uart_stm32_cfg2ll_databits` function
regarding `LL_USART_DATAWIDTH_9B` being defined or not.
Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
This shield includes a drv8426 stepper driver and a mcp4726 dac for
current control. Note that the micro-step pins are controlled by
physical switches and are thus not available in Zephyr.
Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
This shield includes a ti drv8424 stepper driver that is controlled
via gpio. Some of these pins are only available via the tca9538a gpio
expander on the shield.
Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
Fix the flash size to 64KB for the stm32H7RS series.
Restore the get_size API function for that series.
This is a specificity of this stm32 mcu (RefMan RM0477).
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add configuration for the STM32N6 DCMIPP driver which currently
requires to have the sensor pixel format and resolutions set via
KConfig
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add csi_22pins_connector and related label in order to use
shields relying on csi_pins_connector.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add configuration of the IC17 and IC18 clock dividers, used
by the dcmipp and csi IPs in the stm32n6.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add weak functions and their call within the dcmipp driver so that
externally provided ISP control functions can be called by the
driver at right timing in order to perform the control of the
ISP part of the DCMIPP.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The STM32 Digital Camera Memory Interface Pixel Processor (DCMIPP)
is a multi-pipeline camera interface allowing to capture
and process frames from parallel or CSI interfaces depending on its
version.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Initial driver for the icm40627 from Invensense/TDK, a 6-axis
accelerometer with gyroscope and temperature sensing capabilities.
Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
If `CONFIG_SYS_CLOCK_EXISTS=n`, then
`CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC` will likely not be defined at all.
Fix the compilation by moving the check for it being `== 0` to a
separate preprocessor #if statement.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The EC timer runs at 9.2 MHz, which leads to a non-integer number of
ticks per microsecond. This causes slight overestimation when delays
are computed using whole ticks (e.g., using 10 ticks for 1 µs).
To address this, the busy wait calculation is adjusted with a
compensation factor to minimize cumulative timing error over time.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
In case of extended advertising, advertising data can be reported in
parts, so we shouldn't discard them.
Instead, only discard the legacy advertising reports.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Updated the tester README with configuration options required to
build with support for btsnoop and SEGGER RTT log backends. This
helps developers capture logs for debugging and analysis during
Bluetooth testing.
Signed-off-by: Szymon Czapracki <szymon.czapracki@codecoup.pl>
Add a compliance check that allows to flag when a given file requires a
Python version higher than 3.10 (minimum supported version in Zephyr at
the time of writing) since not all Python scripts are tested against
3.10 in CI and we want to avoid introducing changes that could break
users.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The typical way of calling INPUTMUX_AttachSignal() is to
bracket it around INPUTMUX_Init() and INPUTMUX_Deinit()
calls because we can reduce power consumption by not
keeping the interface powered when not changing INPUTMUX.
This driver was violating that convention, which caused
it to not coexist well with other code that followed the
usage convention because the INPUTMUX might be initialized
or not depending on execution order with the other modules.
Signed-off-by: Mike J. Chen <mjchen@google.com>
Add select for GEN_HANDLERS to use the more efficient
generated interrupt handlers.
Add select for HIFI3, which are the SIMD related registers.
Signed-off-by: Mike J. Chen <mjchen@google.com>
This patch introduces handling for the target reset request (RSTACT)
in the I3C controller.
It enables the controller to send a broadcast RSTACT command along with
the target reset pattern in a single frame.
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
This patch makes cosmetic changes to cavs/power.c by updating comments to
Doxygen style, fixing typos.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch makes cosmetic changes to ace/power.c by updating comments to
Doxygen style, fixing typos, and removing an extraneous character for
improved readability and consistency.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch enhances the power management capabilities of the Intel ADSP
by ensuring that power gating states are appropriately managed based on
core activity. It prevents the primary core from entering power gating
if secondary cores are active and re-enables power gating when all
secondary cores are off, using pm_policy_state_lock_get and
pm_policy_state_lock_put functions.
The Sound Open Firmware (SOF) project currently uses a custom power
management policy to achieve these effects. With this patch, the default
power management policy can be utilized, allowing the option to disable
the custom policy while maintaining system reliability and performance
across different core states.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Remove static struct modifier from SPSC_DECLARE macro.
This solves a warning emitted when compiling for native_sim.
Signed-off-by: Luca Arato <luca.arato@secomind.com>
Introduce work timeout, which is an optional workqueue configuration
which enables monitoring for work items which take longer than
expected. This could be due to long running or deadlocked handlers.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
This patch adds the ADC driver for TI K3 family of SoCs. Technical
reference can be found in the Technical Reference Manual (TRM) of the
board.
Signed-off-by: Amneesh Singh <a-singh7@ti.com>
Exclude the stm32h7 target boards to this samples/subsys/settings
because it does not apply for flash sector flash size larger
than 64K : all those stm32h7 mcu have sector size of 128K
The settings_subsys_init will fails (-33 DOM errno ) when it checks
nvs_sector_size > UINT16_MAX in settings_backend_init()
of the subsys/settings/src/settings_nvs.c
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Support for list of images in build info was added with commit
4061311da3 and is used by sysbuild.
Zephyr itself also uses CMake's External Project feature when including
TF-M or TF-A in a Zephyr build.
Populate build info with TF-M / TF-A information when said image is
included in the build.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>