Following the addition of USB Video Class, this adds a sample that makes
use of the zephyr,camera chosen node of any board to stream the video
source to the host. A snippet video-sw-generator can be used to test
and debug devices without a zephyr,camera chosen node.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Add configuration and feedback implementation necessary to run UAC2
samples on nRF54H20. Limit nRF54H20 to Full-Speed only operation because
the samples currently don't have necessary logic to support High-Speed.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Do not call cache management functions in sample because it does not
work properly if driver uses bounce buffers.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Include rpi_pico.overlay from the rpi_pico_rp2040_w.overlay in order to
have `pico/rp2040/w` board to work out of the box.
Signed-off-by: John Lin <john.lin@beechwoods.com>
The intention was to use the "interface-name" string property in the
interface string descriptor, but using the label property is acceptable
again. Therefore, allow the use of the DT label property string in the
interface string descriptor.
Follow exactly the same approach as in the CDC ACM implementation
introduced in the commit b0791400f6
("usb: device_next: cdc_acm: allow setting the interface description").
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add Kconfig option to use dedicated workqueue in CDC ACM but use the
system work queue in CDC ACM by default.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add a sample for the UART bridge driver using a USB CDC-ACM UART and a
normal one. Demonstrates how to do settings propagation (bitrate
changes) and multiple instances.
The sample needs to know what specific UART are available on each board,
so unfortunately any additional board needs its own overlay.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add usbd test feature to samd21/samr21_xpro boards.
Add samr21_xpro board to integration_platforms in a few samples.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Allow compiler optimizations to remove High-Speed handling code. Knowing
that maximum operating speed is Full-Speed allows to reduce bulk buffers
from 512 to 64 bytes. More RAM optimizations are possible but this
commit only gets the low hanging fruits.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
USB remote wakeup capability is a common feature of keyboards,
allowing them to wake up a suspended host. Currently there is no USB sample
that demonstrates remote wakeup, which makes basic evaluation of the
functionality non-trivial.
Modify the hid-keyboard sample with a minimalistic solution
of demonstrating remote wakeup capability. While it is not required to have
been configured prior to suspend to issue a wakeup request, from usability
perspective I'd say it makes sense.
Signed-off-by: Benedek Kupper <kupper.benedek@gmail.com>
For many devices iSerialNumber is not required. The only device class
currently supported in Zephyr that requires iSerialNumber is MSC. If the
serial number is not available then iSerialNumber must be 0. Failure to
read the string descriptor for non-zero iSerialNumber fails USB Command
Verifier Chapter 9 tests.
When USBD_DESC_SERIAL_NUMBER_DEFINE() was used without CONFIG_HWINFO
then it did lead to runtime failure when requesting the string (thus
failing certification).
Fail USBD_DESC_SERIAL_NUMBER_DEFINE() at build-time if CONFIG_HWINFO is
not set to prevent the surprise at runtime. Only define serial number
descriptors if CONFIG_HWINFO is enabled.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
This board does not have Flash support enabled yet.
Re-enable this sample once Flash and MCUboot support is
added.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
native_posix is being removed as it has reached its end of life in 4.2,
after being deprecated since 4.0.
Remove the twister support for native_posix[//64] and therefore all
references to them from the testcases and samples yamls, so twister
does not error out.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The UAC2 samples do not work with Windows UAC2 driver because:
* driver does not support implicit feedback
* driver expects wMaxPacketSize equal 4 on Full-Speed device
The only correct place to solve these issues is the Windows UAC2 driver.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Add a console harness to check that the example has
started successfully.
Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
We need to track the self-powered status of the device independently of
the D6 bit in the bmAttributes value of the configuration descriptor
because the Get Status request about the self-powered status is valid in
address state and we support multiple configurations.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
As part of cleaning up usage of non-inclusive language in-tree,
I spotted an obsolete mention to a udev rule that ModemManager doesn't
use anymore. Drop it.
See commit 9639e52726854782508e35a75c6abf874bd9e608 in ModemManager
repo.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Remove the configuration for the new USB device stack, as there is now a
separate sample that demonstrates how to use it with Kconfig option
CONFIG_CDC_ACM_SERIAL_INITIALIZE_AT_BOOT.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add sample to shows how to use the CDC ACM UART provided by the new
experimental USB device stack as a serial backend for the console.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Follow-up on newly introduced USB MIDI2 support.
Prefix with usbd_, use midi2 consistently.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The sample defines an image that uses RAMdisk and also provides an
option to enable USB DFU flash backend for the "slot-1" flash partition.
Assuming the user runs this sample from the slot-0 partition, uploading
to flash should work fine for evaluation purposes.
If the sample is built with CONFIG_BOOTLOADER_MCUBOOT=y, the sample will
mark the image in slot 1 as pending after an image download.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
In the usbd_register_all_classes(), we may need to skip some instances
as they may have very specific function like USB DFU "DFU mode" which
should not be available by default.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add a sample application that demonstrates how to use the new USB-MIDI 2.0
device class. This shows how to set up the device tree, how to exchange
MIDI data with the host, and how to use the data accessors provided by
the new API.
Signed-off-by: Titouan Christophe <moiandme@gmail.com>
This allows us to use the testusb Linux kernel tool again. All tests
involving control and bulk transfers should pass. Additionally, add a
shell command that allows the user to manually enqueue bulk transfers.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The dfu sample filter seems not to work. It should select only boards
when slot0_partition and slot1_partition are define.
filter:
dt_label_with_parent_compat_enabled("slot0_partition",
"fixed-partitions")
and dt_label_with_parent_compat_enabled("slot1_partition",
"fixed-partitions")
and dt_chosen_enabled("zephyr,flash-controller")
and CONFIG_FLASH_HAS_DRIVER_ENABLED
This means that sam4l_ek, same54_xpro and samr21_xpro should never be
selected because the final devicetree is defined without those
partitions. See below fragment from same54_xpro:
nvmctrl: nvmctrl@41004000 {
compatible = "atmel,sam0-nvmctrl";
reg = < 0x41004000 0x22 >;
interrupts = < 0x1d 0x0 >, < 0x1e 0x0 >;
#address-cells = < 0x1 >;
#size-cells = < 0x1 >;
lock-regions = < 0x20 >;
flash0: flash@0 {
compatible = "soc-nv-flash";
write-block-size = < 0x8 >;
reg = < 0x0 0x100000 >;
partitions {
compatible = "fixed-partitions";
#address-cells = < 0x1 >;
#size-cells = < 0x1 >;
storage_partition: partition@fc000 {
label = "storage";
reg = < 0xfc000 0x4000 >;
};
};
};
};
This excludes same54_xpro and samr21_xpro to avoid ci issues until ci
filter is fixed.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Add a interface-name string for the CDC-ACM node, this allow setting a
string that is then set as iInterface, which can then be used downstream
in an udev rule such as:
SUBSYSTEM=="tty", ACTION=="add",
ATTRS{interface}=="my interface descriptor",
SYMLINK+="tty-my-device"
To create known aliases for these ports.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Convert qspi and hyperflash to variants instead of revisions by popular
demand.
And convert evkb into a revision instead of a different board.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
With changes introduced in commit 6a3602a306
("net: buf: Clear `user_data` on allocation")
our memset() calls are redundant.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Convert them to native YAML lists. Support for space-separated
lists was deprecated in Twister a long time ago.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add a function similar to sample_usbd_init_device(), but one that does
not initialize the device. It allows the application to set additional
features, such as additional descriptors.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Use EXTRA_CONF_FILE in sample yaml files,
that replaced deprecated OVERLAY_CONFIG
since the Zephyr v3.4 release.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
This commit uses the new .. zephyr:code-sample-category directive to
categorize code samples across the tree.
Updates existing legacy references to manually defined targets to now
use :zephyr:code-sample-category: role instead.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Adds missing code-sample directive to the Hello World sample 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>