samples: hci_usb: enable new experimental USB device support

Enable Bluetooth HCI USB tranport layer from new experimental
USB device support.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
This commit is contained in:
Johann Fischer 2023-01-16 18:26:39 +01:00 committed by Stephanos Ioannidis
commit cad8ae7597
3 changed files with 89 additions and 0 deletions

View file

@ -7,3 +7,9 @@ tests:
tags: usb bluetooth
# FIXME: exclude due to build error
platform_exclude: 96b_carbon
sample.bluetooth.hci_usb.device_next:
harness: bluetooth
depends_on: usb_device ble
tags: usb bluetooth
extra_args: CONF_FILE="usbd_next_prj.conf"
platform_allow: nrf52840dk_nrf52840

View file

@ -7,12 +7,80 @@
#include <zephyr/kernel.h>
#include <zephyr/sys/printk.h>
#include <zephyr/usb/usb_device.h>
#include <zephyr/usb/usbd.h>
#if defined(CONFIG_USB_DEVICE_STACK_NEXT)
USBD_CONFIGURATION_DEFINE(config_1,
USB_SCD_SELF_POWERED,
200);
USBD_DESC_LANG_DEFINE(sample_lang);
USBD_DESC_STRING_DEFINE(sample_mfr, "ZEPHYR", 1);
USBD_DESC_STRING_DEFINE(sample_product, "Zephyr USBD BT HCI", 2);
USBD_DESC_STRING_DEFINE(sample_sn, "0123456789ABCDEF", 3);
USBD_DEVICE_DEFINE(sample_usbd,
DEVICE_DT_GET(DT_NODELABEL(zephyr_udc0)),
0x2fe3, 0x000b);
static int enable_usb_device_next(void)
{
int err;
err = usbd_add_descriptor(&sample_usbd, &sample_lang);
if (err) {
return err;
}
err = usbd_add_descriptor(&sample_usbd, &sample_mfr);
if (err) {
return err;
}
err = usbd_add_descriptor(&sample_usbd, &sample_product);
if (err) {
return err;
}
err = usbd_add_descriptor(&sample_usbd, &sample_sn);
if (err) {
return err;
}
err = usbd_add_configuration(&sample_usbd, &config_1);
if (err) {
return err;
}
err = usbd_register_class(&sample_usbd, "bt_hci_0", 1);
if (err) {
return err;
}
err = usbd_init(&sample_usbd);
if (err) {
return err;
}
err = usbd_enable(&sample_usbd);
if (err) {
return err;
}
return 0;
}
#endif /* CONFIG_USB_DEVICE_STACK_NEXT */
void main(void)
{
int ret;
#if defined(CONFIG_USB_DEVICE_STACK_NEXT)
ret = enable_usb_device_next();
#else
ret = usb_enable(NULL);
#endif
if (ret != 0) {
printk("Failed to enable USB");
return;

View file

@ -0,0 +1,15 @@
CONFIG_STDOUT_CONSOLE=y
CONFIG_GPIO=y
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_USB_DEVICE_INITIALIZE_AT_BOOT=n
CONFIG_BT=y
CONFIG_BT_HCI_RAW=y
CONFIG_USB_DEVICE_STACK_NEXT=y
CONFIG_USBD_BT_HCI=y
CONFIG_LOG=y
CONFIG_USBD_LOG_LEVEL_WRN=y
CONFIG_UDC_DRIVER_LOG_LEVEL_WRN=y