usb: Begun implementing support into the USB device machinary for BOS descriptors

This commit is contained in:
dragonmux
2022-08-11 07:11:48 +01:00
committed by Piotr Esden-Tempski
parent 1d97cbf6e1
commit 60ff345798
14 changed files with 21 additions and 5 deletions

View File

@@ -37,6 +37,7 @@ LGPL License Terms @ref lgpl_license
#include <string.h>
#include <libopencm3/usb/usbd.h>
#include <libopencm3/usb/bos.h>
#include "usb_private.h"
usbd_device *usbd_init(const usbd_driver *driver,
@@ -110,6 +111,11 @@ void usbd_register_extra_string(usbd_device *usbd_dev, int index, const char* st
}
}
void usbd_register_bos_descriptor(usbd_device *const usbd_dev, const usb_bos_descriptor *const bos)
{
usbd_dev->bos = bos;
}
void _usbd_reset(usbd_device *usbd_dev)
{
usbd_dev->current_address = 0;
@@ -171,4 +177,3 @@ void usbd_ep_nak_set(usbd_device *usbd_dev, uint8_t addr, uint8_t nak)
}
/**@}*/

View File

@@ -37,6 +37,7 @@ LGPL License Terms @ref lgpl_license
#include <stdlib.h>
#include <libopencm3/usb/usbd.h>
#include <libopencm3/usb/bos.h>
#include "usb_private.h"
/*
@@ -313,4 +314,3 @@ void _usbd_control_in(usbd_device *usbd_dev, uint8_t ea)
stall_transaction(usbd_dev);
}
}

View File

@@ -20,6 +20,7 @@
#include <string.h>
#include <libopencm3/cm3/common.h>
#include <libopencm3/usb/usbd.h>
#include <libopencm3/usb/bos.h>
#include <libopencm3/usb/dwc/otg_common.h>
#include "usb_private.h"
#include "usb_dwc_common.h"

View File

@@ -30,6 +30,7 @@
#include <libopencm3/efm32/cmu.h>
#include <libopencm3/efm32/usb.h>
#include <libopencm3/usb/usbd.h>
#include <libopencm3/usb/bos.h>
#include "usb_private.h"
/**@{*/
@@ -433,4 +434,4 @@ const struct _usbd_driver efm32lg_usb_driver = {
.rx_fifo_size = RX_FIFO_SIZE,
};
/**@}*/
/**@}*/

View File

@@ -34,6 +34,7 @@
#include <libopencm3/efm32/cmu.h>
#include <libopencm3/efm32/usb.h>
#include <libopencm3/usb/usbd.h>
#include <libopencm3/usb/bos.h>
#include <libopencm3/usb/dwc/otg_fs.h>
#include "usb_private.h"
#include "usb_dwc_common.h"
@@ -137,4 +138,4 @@ const struct _usbd_driver efm32hg_usb_driver = {
.rx_fifo_size = RX_FIFO_SIZE,
};
/**@}*/
/**@}*/

View File

@@ -22,6 +22,7 @@
#include <libopencm3/stm32/tools.h>
#include <libopencm3/stm32/rcc.h>
#include <libopencm3/usb/usbd.h>
#include <libopencm3/usb/bos.h>
#include <libopencm3/usb/dwc/otg_fs.h>
#include "usb_private.h"
#include "usb_dwc_common.h"

View File

@@ -22,6 +22,7 @@
#include <libopencm3/stm32/tools.h>
#include <libopencm3/stm32/rcc.h>
#include <libopencm3/usb/usbd.h>
#include <libopencm3/usb/bos.h>
#include <libopencm3/usb/dwc/otg_hs.h>
#include "usb_private.h"
#include "usb_dwc_common.h"

View File

@@ -103,6 +103,7 @@
#include <libopencm3/lm4f/usb.h>
#include <libopencm3/lm4f/rcc.h>
#include <libopencm3/usb/usbd.h>
#include <libopencm3/usb/bos.h>
#include "../../lib/usb/usb_private.h"
#include <stdbool.h>

View File

@@ -23,6 +23,7 @@
#include <string.h>
#include <libopencm3/cm3/common.h>
#include <libopencm3/usb/usbd.h>
#include <libopencm3/usb/bos.h>
#include <libopencm3/usb/msc.h>
#include "usb_private.h"

View File

@@ -47,6 +47,7 @@ LGPL License Terms @ref lgpl_license
struct _usbd_device {
const struct usb_device_descriptor *desc;
const struct usb_config_descriptor *config;
const usb_bos_descriptor *bos;
const char * const *strings;
int num_strings;
@@ -164,4 +165,3 @@ struct _usbd_driver {
};
#endif

View File

@@ -37,6 +37,7 @@ LGPL License Terms @ref lgpl_license
#include <string.h>
#include <libopencm3/usb/usbd.h>
#include <libopencm3/usb/bos.h>
#include "usb_private.h"
int usbd_register_set_config_callback(usbd_device *usbd_dev,