The samples were written when UAC2 class supported only full-speed and
it was not clear how the high-speed would be supported.
Add the full-speed property so the samples can work with updated UAC2
implementation.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
As there is no check (yet!) in the directive, many
.. zephyr-app-commands:: in the documentation are pointing to
non-existing sample applications, which is problematic for users who
typically expect to just copy-paste the commands and have them work.
This commit fixes all offending references to point to existing samples,
or converts them to simple ":app:" instead of ":zephyr-app:" when the
intent wasn't to refer to in-tree samples.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Use generic hook infrastrucutre instead of custom Kconfig and hooks for
ARM.
Replace z_arm_platform_init() with platform_reset().
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Move the network buffer header file from zephyr/net/buf.h to
zephyr/net_buf.h as the implementation now lives outside of the networking
subsystem.
Add (deprecated) zephyr/net/buf.h header to maintain compatibility with old
file path.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Adds missing code-sample directive to the remaining samples in
`samples/subsys` that didn't use it yet in preparation for upcoming
changes to the Zephyr documentation that will be leveraging the provided
description and metadata.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Modify USBD_DEFINE_MSC_LUN() to take in separate id by which the LUNs
are sorted. Previously the disk name itself was implicitly used as a
sorting key. This is a breaking change to Experimental API.
Another advantage of splitting the sorting id from disk name is the
ability to use KConfig symbols as disk name. Currently the MMC disk
driver uses KConfig symbol CONFIG_MMC_VOLUME_NAME.
Mark LUN definitions as static const because the LUNs are ending up in
ITERABLE_SECTION_ROM().
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Replace LL_EXTENSION_SYMBOL() with EXPORT_SYMBOL() in all tests and
samples.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
This commit changes the default value of CONFIG_HELLO_WORLD_MODE to 'y'
so that the hello_world function is compiled as a built-in part of the
Zephyr image by default. This is the simplest possible configuration,
that works for all architectures.
To build hello_world as an llext module, the user must either follow the
commands in the documentation or set CONFIG_HELLO_WORLD_MODE=m in the
project file along with additional architecture-specific settings that
may be required for proper LLEXT support on the target.
Leave a note in the prj.conf and sample.yaml files to remind the user.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The sample illustates how to achieve bidirectional asynchronous audio.
Implicit feedback is the only way to achieve asynchronous USB headset
on devices that have only one isochronous IN and one isochronous OUT
endpoint.
The sample implements stereo playback and mono recording. While it would
be possible to have stereo recording, the commonly available headsets
are mono only. The number of channels can differ between audio sink and
source because the only requirement is that the two run on same clock.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Add missing braces to comply with MISRA C:2012 Rule 15.6 and
also following Zephyr's style guideline.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Clean up documentation pages for the new perf tool
as they contained several typos, grammar errors, and
duplicated content between main doc page and sample
page
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Notify only if the device configuration has changed. Pass only the
configuration value as the message status, the actual device speed can
be obtained with usbd_bus_speed().
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Move samples config files from 'boards' to 'socs' in order to
remove multiple files with the same configuration and render
available samples for new boards. Only changed sample files
which are not board or hardware specific.
Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
This sample crates a touchscreen desk calculator based on
the sample state machine in _Practical UML Statecharts in
C/C++_ by Miro Samek.
Sample should build and run on any touchscreen-enabled
board with sufficient resources.
Tested on `disco_l475_iot1` board with
`adafruit_2_8_tft_touch_v2` touchscreen.
Signed-off-by: Glenn Andrews <glenn.andrews.42@gmail.com>
PXP can flip image written to the frame buffer. Provide a mirror image
on the display by flipping the camera image horizontally. Enabled on
boards mimxrt1066_evk and mimxrt1060_evkb.
Signed-off-by: Derek Snell <derek.snell@nxp.com>
Clean up before deprecating legacy device support.
The Linux kernel driver for this example has never been upstreamed or
implemented upstream. In general, 15.4 development does not seem to be a
big success, but if it comes up again, the protocol used by the example
will need to be redesigned anyway.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Clean up before deprecating legacy device support. This sample does not
contain anything special that is not present in the hid-mouse or
hid-keyboard samples. It also makes no sense to port it to a new stack.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Clean up before deprecating legacy device support. Remove
cdc_acm_composite sample, which is not much different than cdc_acm, but
uses two virtual UART interfaces.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Clean up before deprecating legacy device support. Remove configuration
overlay for DFU and MSC, which does not add much value since we have
dedicated samples anyway.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
"Video subsystem for Zephyr" is actually only defined as a driver
and the examples actually include <zephyr/drivers/video.h>.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Enable the Software Watchdog Timer instance on this board.
Now that SWT is enabled for this board and made the default watchdog,
sample.task_wdt.no_hw_fallback can be removed as is no longer needed.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
This has been renamed in b6ed4ba761, the current entry is causing a CI
breakage for unrecognized platform.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Some boards claim `sdhc` support but use the `zephyr,mmc-disk`
instead of `zephyr,sdmmc-disk` compatible, with the former not being
compatible with this sample.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Move the check for valid disk drivers to compile time to enable twister
to run the configure step without errors.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Rename usbd_device_set_bcd() to usbd_device_set_bcd_usb() to make room for
other BCD encoded values being set.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Add the configuration with a board overlay to execute
the samples/subsys/task_wdt on the nucleo_f091rc
Adjust the window-watchdog clock to PASS the test.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add a void *user_data pointer to the input callback structure. This is
useful for driver to get back the driver data structure and avoid
defining wrapper functions.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
twister expects regex print from logging used in the sample. Sample
is using minimal logging which does not protect against logs being
interleaved if printed from various contexts. Minimal logging is
just mapping of logging API to printk. Add CONFIG_PRINTK_SYNC to
ensure that printing of each log is synchronous (with lock) and
logs are never interleaved.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Introduce UDC_BUF_POOL_*_DEFINE macros based on NET_BUF_POOL_*_DEFINE
macros but use our own version of alloc and unref callbacks to get
buffers with specific alignment and granularity. Also, do not use ref
callback because it breaks alignment.
Also introduces helper macros for defining and checking UDC
driver-compliant static buffers.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Change USBD_CONFIGURATION_DEFINE macro to take the address of a string
descriptor node as an argument. This is a breaking change for macro
users, but quite convenient and easy to implement.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
It looks like sample called nrf53_cpunet_enable(false) before any
nrf53_cpunet_enable(true), resulting in asserts due to unbalanced calls
(error propagated from onoff service).
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Remove references to new device APIs that are not supported by the
samples. Remove the reference to the UART API from the console sample
because it is not really used there, but add it to the CDC ACM sample.
Fix references in HID, MSC and UAC2 samples.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Those platfroms use rtt as debug port that conflicts with usermode, as
in 27d519b260.
Fixes#75617
Signed-off-by: Guy Morand <guy.morand@bytesatwork.ch>
Use the message queue to pass the new report from the input callback,
and use a semaphore to protect the report buffer until it is transferred
to the host.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Replace platform_allow with integration_platforms, what allow CI to
build samples on all platforms with test feature 'usbd' but still limits
number of platforms when it is invoked with the --integration option.
Replace/add some platforms that already have test feature 'usbd'.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Update zephyr-app-commands to generate "west build --shield ..." for west
invocations using shields while still generating "cmake .. -DSHIELD=..."
if the tool is set to "cmake".
Updated the various shield documentation pages to recommend using
"--shields" over "-DSHIELD" to match the results of the corresponding
zephyr-app-commands code snippets.
Add proper support to zephyr-app-commands for specifying multiple shields
(using a comma-separated list) and fix a few invocations to use this.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
The current version of scipts do not consider OOT boards use cases and
the tests with robot now are strict to only one robot file, which is
not realistic for real environment. This address those issues and allow
multiple testsuits at command line and lists at tests entries. It add
another test parameter to allow configure robotframework options.
Fixes: #74563
Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
Uses the variable for the default image when adding sysbuild
dependencies so that they can be copied out-of-tree and still work
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
"ZEPHYR FATAL ERROR 2: Stack overflow on CPU 0" observed on a few
supported platforms when using SD card disk. Increase main stack size
for next USB device stack configuration to prevent stack overflow.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
`checkpatch.pl` requires that dts sources are indented with tabs,
fix all the spaces that slipped in while checkpatch wasn't watching.
Signed-off-by: Jordan Yates <jordan@embeint.com>
This patch reworks the testcase.yaml and sample.yaml files for the llext
subsystem to further reduce the number of tests performed by CI while
improving overall coverage.
The following changes are introduced by this commit:
- Remove the arch_allow field from the common section to allow any arch
to be tested in the build_only test. All other tests explicitly narrow
down the arches they are applicable to.
- In addition to platforms with active issues, also exclude a number of
platforms that are always skipped by the runtime filter due to
RAM/Flash limitations.
- Add integration_platforms to limit the test count to a few selected
platforms which are representative of the different arches.
- Remove a number of duplicate SLID tests and group them into a single
test that covers both ARM and Xtensa architectures.
- Test the relocatable case on ARM as well.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This patch sets the default value for LLEXT_STORAGE_WRITABLE to 'y' on
the Xtensa architecture. This is necessary because it does not currently
support the read-only mode for the LLEXT storage.
Make sure the default reflects this instead of asking the user to
manually set it.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This commit increases the size of the main stack for the LLEXT sample
subsys/llext/modules, which otherwise overflows the stack on several
platforms.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
Removes the check for whether or not the kscan kconfig option is set to
change the GUI accordingly.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Add documentation about USB message notifications. Use literalinclude to
pull code snippets from the samples.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add isolated pool (static and dynamic) to the sample illustrating how to
use that and performing some testing in different scenarios.
Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
As part of ongoing work to move away from TinyCrypt and towards PSA
(#43712), introduce a PSA option and remove the TinyCrypt one for the
SHA-256 implementation.
The Mbed TLS implementation is modified to use `mbedtls_sha256`
directly for smaller code size.
The reliance of mgmt/updatehub on storage/flash_map's configuration
(`FLASH_AREA_CHECK_INTEGRITY_BACKEND`) is removed.
The choice of which implementation to use is made automatically,
based on whether a PSA API provider is present (`PSA_CRYPTO_CLIENT`).
This commit also add a test case with PSA (based on Mbed TLS)
in samples/subsys/mgmt/updatehub/sample.yaml.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Run the sample on the IWDG of stm32f4 nucleo boards
instead of WWDG because the APB1 prescaler cannot set
the WWDG input clock source to match the wd timeout.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
This adds a new sample to demonstrate the use of tristate symbols
in Kconfig to build a function as an llext module or as a built-in
part of Zephyr.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Improve the sample application by displaying the captured frames instead
of just discarding them.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
In order to be generic, use a chosen node for camera so that the sample
is not specific to NXP SoCs. Also, always favorite a real video device
unless it is unavailable.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
There are some compatibilty situations where carriage return does not
work (e.g. on Serial Monitor in VSCode). Moreover, keeping the
timestamps logs on the console would help to have an idea about the
frame rate. So, it's better to use line feed instead of carriage return
in this case.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
The mt9m114 camera shield is now added. There are also some changes in
the mt9m114 camera driver, e.g. frame rate, default format, capabilities.
Update the sample document and test to reflect these changes.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Add initial documentation how to configure and enable new USB device
support. Use literalinclude to pull code snippets from the samples.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add CMSIS DAP sample using USB as interface.
Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
We have some other simpler CDC ACM and HID samples in the tree.
Providing multiple functions is a core functionality of USB device
support, and we have other samples to demonstrate this as well. This
sample does not really provide anything unique, but has a few issues
such as unsafe HID buffer handling and calling uart_fifo_fill() outside
of the UART driver's IRQ context.
Remove the hid-cdc sample, as there is no value in this sample, and to
avoid spending time fixing and cleaning up the code.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The polling properties are a period in us but are named as "-rate" right
now, which would imply that that's a frequency. Rename them to
"period-us" to make that unambiguous.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
I/O Devices were meant to be handles of sorts and had a built in mpsc queue
as this made sense initially. As time has gone on it turned out that often
we wanted the mpsc queue to be an implementation detail hidden in a driver.
In fact pretty much all drivers work this way now.
Keeping the struct mpsc queue as a member of rtio_iodev meant wasted memory
in cases where it wasn't used. It also meant a bit of confusion as the
queue might be accidently used in places where it shouldn't be.
Remove the mpsc queue member from struct rtio_iodev and the last remaining
usages of it. Will ensure RTIO for 3.7 LTS avoids causing unneeded churn
for future users.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Remove pre hardware model v2 overlays present for RT11xx boards, that
were missed in the HWMv2 migration
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Unmount and remount filesystem during init, to verify that filesystem
remount works as expected.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Removes references to old tool documentation and refers users to
the list of supported applications instead
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Update the sample to use a camera shield with a camera chosen node.
This is not only because the camera nodes in the mimxrt1064 device
tree has been now moved to a separate mt9m114 shield but also to
make the sample more generic.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
The default resolution of mt9m114 camera is now changed to 480x272.
Update the sample documentation to reflect this change.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Moves the rtio_ prefixed lockfree queues to sys alongside existing
mpsc/spsc pbuf, ringbuf, and similar queue-like data structures.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Add testcases for rk043fn02h_ct and rk043fn66hs_ctg shields to display
and LVGL samples, so these testcases will be built by CI.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
The POSIX_MAX_FDS option does not correspond to any standard
POSIX option. It was used to define the size of the file
descriptor table, which is by no means exclusively used by
POSIX (also net, fs, ...).
POSIX_MAX_FDS is being deprecated in order to ensure that
Zephyr's POSIX Kconfig variables correspond to those defined in
the specification, as of IEEE 1003.1-2017. Namely,
POSIX_OPEN_MAX. CONFIG_POSIX_MAX_OPEN_FILES is being deprecated
for the same reason.
To mitigate any possible layering violations, that option is
not user selectable. It tracks the newly added
CONFIG_ZVFS_OPEN_MAX option, which is native to Zephyr.
With this deprecation, we introduce the following Kconfig
options that map directly to standard POSIX Option Groups by
simply removing "CONFIG_":
* CONFIG_POSIX_DEVICE_IO
Similarly, with this deprecation, we introduce the following
Kconfig options that map directly to standard POSIX Options by
simply removing "CONFIG":
* CONFIG_POSIX_OPEN_MAX
In order to maintain parity with the current feature set, we
introduce the following Kconfig options.
* CONFIG_POSIX_DEVICE_IO_ALIAS_CLOSE
* CONFIG_POSIX_DEVICE_IO_ALIAS_OPEN
* CONFIG_POSIX_DEVICE_IO_ALIAS_READ
* CONFIG_POSIX_DEVICE_IO_ALIAS_WRITE
Gate open(), close(), read(), and write() via the
CONFIG_POSIX_DEVICE_IO Kconfig option and move
implementations into device_io.c, to be conformant with the
spec.
Lastly, stage function names for upcoming ZVFS work, to be
completed as part of the LTSv3 Roadmap (e.g. zvfs_open(), ..).
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The POSIX_CLOCK option does not correspond to any standard
option. It was used to active features of several distinct
POSIX Options and Option Groups, which complicated API and
application configuration as a result.
POSIX_CLOCK is being deprecated in order to ensure that Zephyr's
POSIX Kconfig variables correspond to those defined in the
specification, as of IEEE 1003.1-2017.
Additionally, CONFIG_TIMER is being deprecated because it does
not match the corresponding POSIX Option (_POSIX_TIMERS).
With this deprecation, we introduce the following Kconfig
options that map directly to standard POSIX Option Groups by
simply removing "CONFIG_":
* CONFIG_POSIX_TIMERS
Similarly, we introduce the following Kconfig options that
map directly to standard POSIX Options by simply removing
"CONFIG":
* CONFIG_POSIX_CLOCK_SELECTION
* CONFIG_POSIX_CPUTIME
* CONFIG_POSIX_DELAYTIMER_MAX
* CONFIG_POSIX_MONOTONIC_CLOCK
* CONFIG_POSIX_TIMEOUTS
* CONFIG_POSIX_TIMER_MAX
In order to maintain parity with the current feature set, we
introduce the following Kconfig options that map directly to
standard POSIX Option Groups by simply removing "CONFIG_":
* CONFIG_POSIX_MULTI_PROCESS - sleep()
Similarly, in order to maintain parity with the current feature
set, we introduce the following additional Kconfig options that
map directly to standard POSIX Options by simply removing
"CONFIG":
* CONFIG_XSI_SINGLE_PROCESS - gettimeofday()
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Make `struct arch_esf` compulsory for all architectures by
declaring it in the `arch_interface.h` header.
After this commit, the named struct `z_arch_esf_t` is only used
internally to generate offsets, and is slated to be removed
from the `arch_interface.h` header in the future.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
The commit replaces flash_area_erase with flash_area_flatten,
as it allows to emulate erase and scramble data stored
on devices that do not provide erase callback.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The commit replaces flash_area_erase with flash_area_flatten,
as it allows to emulate erase and scramble data stored
on devices that do not require explicit erase before write
or do not provide erase callback.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The nxp,imx-csi node was removed from dts in a previous commit
which caused a build failure / regression in CI.
Use DEVICE_DT_GET_ANY() instead of DEVICE_DT_GET_ONE(), since
the latter requires a DT node present, while the former does
not and returns NULL if no such compat exists.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
In the current implementation, the LLEXT linker will only apply
relocations targeting a given symbol if it has a specfic symbol type.
This is overzealous and causes issues on some platforms, as some symbols
that need to be relocated are skipped due to being of a "bad" type.
Ignore the symbol type when performing relocation to solve this problem,
but also add checks to ensure we don't attempt to relocate symbols with
an invalid section index. If such a relocation is found, return an error
instead of ignoring the relocation entry to ensure that it is impossible
to execute code from a (partially) unrelocated LLEXT.
Also remove all hacks added to circumvent this issue:
* qemu_cortex_r5 exclusion from test cases
* unnecessary exclusion of some flags when building with LLEXT EDK
Fixes#72832.
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
The gsm modem driver is deprecated and will be removed. Remove
the build overlay and dependency on the gsm modem from the
updatehub sample.
The new cellular modem driver and subsystem use the native
networking stack and the pm subsystem, so just like ethernet,
enabling the cellular modem is up to the board configuration.
Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
This patch removes all uses of the adv auto-resume feature in the
Bluetooth samples. The auto-resume feature is planned for deprecation.
Samples that are not intended to demonstrate a technique to do with
re-connection simply do not restart the advertiser, in interest of
simplicity. The user is expected to reboot the sample when needed.
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
This test feature is not required and was only used as a dependency in
the usb/console example. It is redundant since the sample already
depends on usb_device.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Namespaced the generated headers with `zephyr` to prevent
potential conflict with other headers.
Introduce a temporary Kconfig `LEGACY_GENERATED_INCLUDE_PATH`
that is enabled by default. This allows the developers to
continue the use of the old include paths for the time being
until it is deprecated and eventually removed. The Kconfig will
generate a build-time warning message, similar to the
`CONFIG_TIMER_RANDOM_GENERATOR`.
Updated the includes path of in-tree sources accordingly.
Most of the changes here are scripted, check the PR for more
info.
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
With the addition of the STM32 hardware semaphore MBOX driver, ICMsg is
now supported on the stm32h747i_disco board.
Signed-off-by: Celina Sophie Kalus <hello@celinakalus.de>
When sending a lot of data, a busy error code returned by the IPC is to
be expected. But if the last attempted send returns busy, this error
code is returned to the calling function, causing an error log message.
Fix this by setting return variable to 0 on this acceptable error.
Signed-off-by: Celina Sophie Kalus <hello@celinakalus.de>
The type of the resource table is known, casting to and from void* only
hides this type which can prevent the compiler from giving helpful
warnings. One warning would have been the accidental use of
"st_resource_table" in a cast, a struct which does not exist.
Use the fw_resource_table type when dealing with resource tables.
Signed-off-by: Andrew Davis <afd@ti.com>
Temporary solution as there is no such harness as remote.
However console regex are not defined yet.
Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
This commits reverts two targets back to the default prompt in the Shell
Sample:
* intel_socfpga_agilex_socdk
* intel_socfpga_agilex5_socdk
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
The CONFIG_MAX_THREAD_BYTES=3 needs to be set otherwise this error
is printed by CI.
Too many thread objects (17)
Increase CONFIG_MAX_THREAD_BYTES to 3
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
It simplifies the macros to create the string descriptors. We also no
longer need placeholders for the SerialNumber descriptor when it is
generated from hwid. In the future, we can store other descriptor types
in the same list.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Shows a simple application which loads extensions and some simple
extensions. While everything is inside Zephyr tree, everything can
actually be build from different directories (even machines), as long as
the EDK is generated from the application and used by the extensions.
More information is available at sample's README.
This sample is build only for twister, as it requires a few steps to be
properly run, namely build the EDK, install it somewhere, build the
extensions using the EDK and finally build the application with the
extensions.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
nRF54H20DK board is first major user of new UDC DWC2 driver.
Add nRF54H20DK (Application CPU) to allowed platforms in USB device
samples.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Although we can get the number of configured OUT and IN endpoints and
endpoint capabilities from the DWC GHWCFGn registers, we need to
configure the number of endpoint configuration structs at build time. On
some platforms, we cannot access the hardware register at pre-init, so
we use the GHWCFGn values from the devicetree to provide endpoint
capabilities. This can be considered a workaround, and we may change the
upper layer internals to avoid it in the future.
Also, add a new vendor quirk to fill in platform-specific controller
capabilities.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
If the controller can detect VBUS state changes, enable USB support only
when the device is connected and disable it when the device is
disconnected.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add HID keyboard sample for the new experimental USB device support.
This is a limited and not fully compliant HID keyboard implementation.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The rcar boards use block variant of LittleFS and Disk Access API,
but have been using proj.conf for Flash API based access.
The commit adds section building boards with pro_blk.conf
into sample.yaml, where rcar boards will now be allowed,
and removes redundant configuration lines from board specific
conf files.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
This PR adds a sample demonstrating the use of the
State Machine Framework (SMF)
Instructions are in the README.rst for the sample.
Miro Samek was contacted and gave approval to use the state
diagram in this demo.
Signed-off-by: Glenn Andrews <glenn.andrews.42@gmail.com>
Added the Round Display for Xiao boards as a shield.
Added a xiao_adc node to Xiao board dtsi files.
Signed-off-by: Nicolas Goualard <nicolas.goualard@sfr.fr>
The bcdUSB value 0x0210 defined in USB 3.2 Specification indicates USB
3.2 device operating in one of the USB 2.0 modes. USB 2.0 Link Power
Management Addendum defines bcdUSB value 0x0201 to indicate that USB 2.0
device supports the request to read the BOS Descriptor.
The main difference between bcdUSB 0x0210 and 0x0201 is that the USB 3.2
device must support LPM, while USB 2.0 devices can (but are not required
to) support LPM.
The difference is respected by USB 3 Gen X Command Verifier (2.3.0.0)
Chapter 9 Tests [USB 2 devices], where the test behaves as follows:
* For bcdUSB 0x0200:
Checking Device Under Test for LPM L1 Compatibility...
USB version of device is 2.00.
DUT is NOT compatible with LPM.
LPM is NOT required for DUT
LPM is only supported in USB version 2.01 and above.
* For bcdUSB 0x0201:
Checking Device Under Test for LPM L1 Compatibility...
USB version of device is 2.01.
DUT IS compatible with LPM.
LPM is NOT required for DUT
USB 2.0 Extension Descriptor bmAttributes:
LPM Capable = 0
BESL and Alternate HIRD Supported = 0
Baseline BESL Valid = 0
Deep BESL Valid = 0
Baseline BESL: 0d
Deep BESL: 0d
LPM is not supported
* For bcdUSB 0x0210:
Checking Device Under Test for LPM L1 Compatibility...
USB version of device is 2.10.
DUT IS compatible with LPM.
LPM IS required for DUT
USB 2.0 Extension Descriptor bmAttributes:
LPM Capable = 0
BESL and Alternate HIRD Supported = 0
Baseline BESL Valid = 0
Deep BESL Valid = 0
Baseline BESL: 0d
Deep BESL: 0d
(USB: 9.6.2.1.6) Bit 1 in Attributes field of a USB 2.0 Extension
descriptor returned in response to a GetDescriptor(BOS) request
must be 1 for LS/FS/HS devices that support LPM L1.
The test fails when LPM bit is not set in USB 2.0 Extension Descriptor
only when bcdUSB is 0x0210. The test failure was incorrectly fixed in
commit 312429be3c ("usb: samples: Add Extension descriptor to webUSB
sample."). Properly fix the issue by changing bcdUSB to 0x0201 and
removing the false LPM support claim.
The false LPM claim was leading to device ceasing to work after some
time if there was no traffic from host to device (when the host is
likely to have executed the LPM L1 transition that was not properly
handled by the device).
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
hawkbit is rebooting automatically after installing a new update,
reflect that change in the docs.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Move the kconfig options used to configure the interrupt
and wait time to the sample which uses them instead of
having them in the architecture code.
This options are very particular for this sample and not
really an API.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Update the readme as the sample works on native_sim,
and native_posix will be deprecated soon.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Move the LLVM fuzzing specific code out of the board main
file and into the sample.
That way we avoid needing to duplicate it for native_sim and
avoid having a very adhoc interface between the fuzzer test
and runner code.
Also ensure it works for native_sim and not just native_posix
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This commit adds support for these NXP Multi-core boards for
IPC static_vrings sample using OpenAmp lib:
- lpcxpresso55s69
- mimxrt1160_evk
- mimxrt1170_evk
- mimxrt1170_evkb
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
Currently the USB configuration of this sample is
selecting POSIX_CLOCK and being built by default with
USB_NATIVE_POSIX. This combination is currently not possible
due to mutually exclusive dependencies (the host C library)
which results in a configuration warning and POSIX_CLOCK being
forced to 'n'.
Let's instead disable POSIX_CLOCK in this sample USB config
overlay, until the USB native driver supports building
with embedded C libraries.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
With the changes made in pull request #68741, RPMsg service is
supported on stm32h747i_disco using the STM32 HSEM IPM driver. For the
sample to work, add device tree overlays to enable the mailbox and set
the shared memory appropriately.
Signed-off-by: Celina Sophie Kalus <hello@celinakalus.de>
Add overlay, for nrf52840dk, that reserves RAM in internal
SRAM using the DTS definition.
The sample with such region can be built with the config
file nrf52840dk_nrf52840_ram_disk_region.conf, but, instead
of automatically allocating memory, the Disk driver will
use the pre-defined region provided by the DTS overlay.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Add configuration for nrf52840dk that allows to create RAM
disk; this configuration does not reserve special region
in RAM using DTS but uses automatic buffer allocation, by RAM
Disk Drivers, according to RAM disk specification in DTS.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Improve the default serial backend init level.
The documentation says to be bigger than the init level of the serial
device used. Since serial devices default to the kernel device init
level (50) then put this to default of application level drivers (90).
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
There are several esp32-based boards that its conf and overlay
files are missing proper renaming to match cpu cluster.
This also removes all _SOC_ name from files.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
The advertiser options to automatically add the name in the scan
response and the advertising data will be deprecated.
Update the samples that were using those options by explicitly adding
the device name in the advertising data or the scan response data.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
For the last dozen commits, the role of usbd_class_node has actually
been taken over by usbd_class_iter. After cleaning up and merging
usbd_class_node and usbd_class_data, we can rename usbd_class_iter to
usbd_class_node to better reflect its role.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Since only usbd_class_node contains the class instance data, rename it
to usbd_class_data.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
USB High-Speed devices must be able to operate at both High-Speed and
Full-Speed. The USB specification allows the device to have different
configurations depending on connection speed. Modify the API to reflect
USB Specification requirements on what can (e.g. configurations) and
what cannot (e.g. VID, PID) be speed dependent.
While the class configurations for different speeds are completely
independent, the actual class instances are shared between operating
speeds (because only one speed can be active at a time). Classes are
free to provide different number of interfaces and/or endpoints for
different speeds. The endpoints are assigned for all operating speeds
during initialization.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Introduce usbd_class_iter for keeping endpoint assignment variables
and the single-linked list node. No functional changes right now, but
this paves the way for independent speed specific configurations.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Adds missing overlay and conf for native_sim/native/64 and
native_posix/native/64 platforms.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
During the hwmv1->v2 transition, overlays from a base
board were made to be shared with the variants.
So at that time all overlays for variants which were
just copies of the base overlay were removed.
After that in
https://github.com/zephyrproject-rtos/zephyr/pull/71149
this shared/merged overlay behaviour was reverted,
but not all tests were fixed.
This is one of those. Let's fix it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
"zephyr,sdmmc-disk" compatible stands for binding with sdmmc subsys which
is not compatible and not used with current STM32 sdmmc driver.
Declaring this compatible is a no op on STM32, so remove it.
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
Remove IPSP support from the tree.
It has no maintainers, and is regularly broken. The fact that it's
nontrivial to set-up in linux makes it hard to fix reported issues.
Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
on stm32f091 and stm32g071 nucleo boards
This avoids HARD Fault when reaching the last reboot
Disable the external flash memory of the b_u585i_iot02 target
to end the test properly
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Fixes some missed renames for overlays with the recent change
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
The commit adds dependency on Kconfig FLASH_PAGE_LAYOUT to subsystems
that really require it:
FCB, NVS, LittleFS
and removes direct selection from '*.conf' files where no longer
needed.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Adjustments of overlay and conf files to adjust for the MERGE removal.
The revert of MERGE requires specific overlay and conf files for boards
which relied on the MERGE feature.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
The "frdm_k64f" is referred as frdm_k64f and ``frdm_k64f`` in
places, update them to ":ref:`Freedom-K64F <frdm_k64f>`" or
``frdm_k64f``.
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Change 'Hawkbit' and 'hawkbit' to 'hawkBit' wherever
makes sense, and a bit of touch ups here and there.
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Add harness as twister by default looks into ztest results and
in bluetooth configuration they won't be find.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add a harness to avoid twister waiting for results on the UART, which
won't happen unless there is a connection established to a remote
Bluetooth device.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
imxrt6xx are dual core devices featuring an ARM Cortex-M33
core and an Cadence Xtensa HIFI4 Audio DSP.
Currently only m33 core is supported. In order to support
the Cadence DSP we need first to do some code-reorganization
for m33.
We start by moving all cm33 related code to its own directory
and introduce the cpuclusters property in soc.yml file.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Adds the device trees, Kconfig, and documentation files.
The following features have been confirmed working on hardware:
* LED
* Button
* ST7735 TFT-LCD
* External QuadSPI NOR Flash memory
* External SPI NOR Flash memory
* USB CDC ACM
* microSD card
Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
A virtual metal_device is created and then the needed IO regions created
and added to this device. Immediately we extract these regions back out
and make use of them. There is no reason to do this, instead simply
use the created IO regions.
This also removes the need to have struct metal_device defined to have
more than one IO region (METAL_MAX_DEVICE_REGIONS), which is not default.
If the libmetal library was built with a different value, then updating
this header would not fix the underlying implementation leading to runtime
failures.
Signed-off-by: Andrew Davis <afd@ti.com>
We are always the remote client in this example. The shared pool is only
used for allocating ring descriptors when we are the host. Do not create
a shared pool with a NULL base address, simply do no pass in a pool.
Signed-off-by: Andrew Davis <afd@ti.com>
Currently a mix of printk() and LOG_*() are used, switch to using
the LOG functions in all cases. The code also has mixed line-ending
types, as the LOG functions add newlines remove these.
Also some messages that are failures are printed with debug log level,
use ERR level here.
Signed-off-by: Andrew Davis <afd@ti.com>
Check if creating the RPMSG endpoint fails and exit the task if so.
This prevents a later null pointer dereference if we try to continue.
Signed-off-by: Andrew Davis <afd@ti.com>