The "framebuf" driver was an incomplete driver expecting _clients_ to
implement missing functionality (i.e. init and device definition)
outside of the driver. This pattern of scattering driver code throughout
the tree is not common (if used at all). If certain drivers share
functionality, one can create a common module within the subsystem (see
e.g. ILI9XXX drivers).
The _generic_ framebuffer code was only used to implement the Intel
Multiboot framebuffer driver. This patch centralizes all the scattered
code in the subsystem and adjusts the driver name to "intel_multibootfb"
to make things clear. If there's ever another framebuffer driver that
shares code, it can be split into multiple modules.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
https://github.com/zephyrproject-rtos/zephyr/pull/49068 fixed units
displayed by the sample from dps to rad/s but did not update the
sample twister regex filter.
Fix the filter as well to allow testing in CI.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Change zassume to zassert to judge failure whether is due to failing
to enable USB.
Fix issue: 48665
Signed-off-by: Zhao Shuai <shuai1x.zhao@intel.com>
On STM32 PM serial wakeup sample, a power efficient configuration using
lpuart is provided for stm32l562e_dk target.
Though, since default configuration of the board is using ST-Link virtual
port com on uart1, which can't be changed in CI and hence can't be tested,
then remove this target from sample yaml configuration.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Add footprint tracking of the samples/bluetooth/hci_rpmsg
sample for the nRF5340 with ISO broadcast and ISO receive respectively.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
The test will always fail on emulated/simulated environments. Exclude
this one which was failing.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
coap_packet_parse() returns different values depending on error.
It now returns
-EINVAL for invalid input arguments,
-EBADMSG for malformed coap header,
-EILSEQ for malformed options error.
Fixes: #48960
Signed-off-by: Sagar Shah <sagar.shah@legrand.us>
So far thread was created as part of usb_dc_attach() by k_thread_create().
This means that if following function were executed:
* usb_enable()
* usb_disable()
* usb_enable()
then k_thread_create() was called second time. This results in undefined
behavior.
Fix above issue by moving k_thread_create() invocation to function called
during system initialization.
While at it, move IRQ_CONNECT() and irq_enable() invocations to init as
well.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
So far thread was created as part of usb_dc_attach() by k_thread_create().
This means that if following function were executed:
* usb_enable()
* usb_disable()
* usb_enable()
then k_thread_create() was called second time. This results in undefined
behavior.
Fix above issue by moving k_thread_create() invocation to function called
during system initialization.
While at it, move IRQ_CONNECT() and irq_enable() invocations to init as
well.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
So far thread was created as part of usb_dc_attach() by k_thread_create().
This means that if following function were executed:
* usb_enable()
* usb_disable()
* usb_enable()
then k_thread_create() was called second time. This results in undefined
behavior.
Fix above issue by moving k_thread_create() invocation to function called
during system initialization.
While at it, move IRQ_CONNECT() and irq_enable() invocations to init as
well.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
A slot number can now be provided to the mcumgr erase command to erase
a specific slot instead of slot 1, this documents the change in the
SMP group 1 documentation page.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Allows selecting which slot will be erased, will default back to
slot 1 as it would do in previous versions if the optional parameter
is not provided
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This patch adds D0i3 definition to available core power states in device
tree.
Additionally, changing the name of the OFF state to better reflect what
is in the documentation.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch adds core restore vector. FW will restore core context from
memory and then return to the state it was in before power gaiting.
Adding struct of LPSRAM header. ROM during reboot check this struct in
serching for magic value and restore vector address.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch adds initial implementation of dynamic power gating for ace
platforms. The code is limited to enabling PG in HW registers and
disabling all interrupts.
CPU context storing and restoring still needs to be implemented. PG at
this moment will cause FW to halt during reboot.
Patch contains small refractor. Value CORE_POWER_CHECK_DELAY has been
moved to common header so it can be reused in other places.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch is renaming primary core power down procedure by removing ACE
prefix. Prefix was added to avoid name conflicts while linking. The
problem is now resolved and name can be revert to the original version.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Pyocd couldn't flash the nucleo_g474re board with the target
stm32g474retx (issue #23351).
Therefore PR #23230 introduced a workaround changing the target
to stm32g474rbtx.
In the meantime this issue was resolved, therefore revert the
workaround.
Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
On L0 series, LSI runs at 37KHz while LPTIM driver only supports speeds
up to 32768Hz (to avoid counter overflow). Consequence is a time running
faster than reality (x1.13)
Solution to this is the implementation of the LPTIM prescaler support.
While moving driver configuration from Kconfig to DT, this case was
not taken into account and the effect was LPTIM counter overflow which
consequence is worse than the slightly faster timer.
Reproduce the initial behavior with this piece of code that will be
removed once prescaler support is available.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
When using LPTIM as tick source, tick freq (SYS_CLOCK_TICKS_PER_SEC)
needs to be adapted to get a precise tick to LPTIM freq ratio.
This adaptation was done easily using Kconfig up to now (under
soc/st_stm32/common/Kconfig.defconfig.series).
Since driver is configured using device tree, this method should
be adapted. For the LSI case (default Kconfig case), rely on the
existing mecanism, which is also still used by OOT users.
For the LSE case, force the value manually in boards forlder.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Following transition of lptim timer configuration from Kconfig to DT,
a warning message was set to inform users about this deprecation.
Due to errors in CI this message had to be removed while fixing the related
issues.
Now these issues are fixed, set the deprecation message again.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Similarly to other drivers, use auto generated DT_HAS_<COMPAT> Kconfig
symbol to control use of STM32 lptim driver.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Move LPTIM configuration to device tree and complete PM configuration by
providing a "power-states" node description.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
No power.c implementation is provided for stm32h7 soc series.
Since there is no code provided to handle entry and exit of stop states or
PM use case globally, there is no reason to provide a configuration of
LPTIM which only current use is to be used as PM ticker.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Follow-up: #49672
Zephyr SDK and host tools detection was reworked in #49672.
That rework accidentally changed the lookup order from:
- Zephyr SDK
- Other host tools
- Generic (host) C compiler
into
- Other host tools
- Zephyr SDK
- Generic (host) C compiler
this causes host tools shipped with Zephyr SDK, such as openocd to not
be discovered unless in path.
Restore the original order so that Zephyr SDK is located first so that
host tools from the SDK can be found without having them in path.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Last HAL udpdates came with a fix on two ethernet flags:
- ETH_PTPTS*S*R_TSSARFE > ETH_PTPTS*C*R_TSSARFE
- ETH_PTPTS*S*R_TSSSR > ETH_PTPTS*C*R_TSSSR
Update driver to be aligned with these changes.
Fixes#49763
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Added code to enable platform specific Virtual Wire GPIOs. With this
change, able to send the USB-C overcurrent Virtual Wire event to
Meterolake SOC.
Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com>
As per eSPI spec, there are about 64 platform specific Slave to Master
Virtual Wire GPIOs that can be used for internal usages. Currently only
few of them are used, hence added initial 8 such Virtual wire GPIOs in
the eSPI header.
Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com>