summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsakumisu <[email protected]>2022-10-07 14:56:20 +0800
committersakumisu <[email protected]>2022-10-07 14:56:20 +0800
commit2890c03eecbc3378f9cb83fc23044303f5246473 (patch)
tree515bf618b668ce1d748739c8dde829a844613aaf
parentead74525ea7ebafab24be32a89967e3456d0f15d (diff)
list all video altsettings
-rw-r--r--class/video/usbh_video.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/class/video/usbh_video.c b/class/video/usbh_video.c
index a8c1cd23..e6952ca2 100644
--- a/class/video/usbh_video.c
+++ b/class/video/usbh_video.c
@@ -226,9 +226,32 @@ int usbh_video_close(struct usbh_video *video_class)
void usbh_video_list_info(struct usbh_video *video_class)
{
+ struct usbh_hubport *hport;
+ struct usb_endpoint_descriptor *ep_desc;
+ uint8_t mult;
+ uint16_t mps;
+
USB_LOG_INFO("============= Video device information ===================\r\n");
USB_LOG_INFO("bcdVDC:%04x\r\n", video_class->bcdVDC);
USB_LOG_INFO("Num of altsettings:%02x\r\n", video_class->num_of_intf_altsettings);
+
+ hport = video_class->hport;
+
+ for (uint8_t i = 1; i < video_class->num_of_intf_altsettings; i++) {
+ ep_desc = &video_class->hport->config.intf[video_class->data_intf].altsetting[i].ep[0].ep_desc;
+
+ mult = (ep_desc->wMaxPacketSize & USB_MAXPACKETSIZE_ADDITIONAL_TRANSCATION_MASK) >> USB_MAXPACKETSIZE_ADDITIONAL_TRANSCATION_SHIFT;
+ mps = ep_desc->wMaxPacketSize & USB_MAXPACKETSIZE_MASK;
+
+ USB_LOG_INFO("Altsetting:%u, Ep=%02x Attr=%02u Mps=%d Interval=%02u Mult=%02u\r\n",
+ i,
+ ep_desc->bEndpointAddress,
+ ep_desc->bmAttributes,
+ mps,
+ ep_desc->bInterval,
+ mult);
+ }
+
USB_LOG_INFO("bNumFormats:%u\r\n", video_class->num_of_formats);
for (uint8_t i = 0; i < video_class->num_of_formats; i++) {
USB_LOG_INFO(" FormatIndex:%u\r\n", i + 1);