Browse Source

Merge changes from topic "st_usb" into integration

* changes:
  fix(drivers/usb): add a optional ops get_other_speed_config_desc
  fix(drivers/usb): remove unnecessary cast
pull/1982/head
Madhukar Pappireddy 3 years ago
committed by TrustedFirmware Code Review
parent
commit
2e43638e95
  1. 12
      drivers/usb/usb_device.c
  2. 2
      include/drivers/usb_device.h
  3. 2
      plat/st/stm32mp1/stm32mp1_usb_dfu.c

12
drivers/usb/usb_device.c

@ -73,8 +73,7 @@ static void usb_core_get_desc(struct usb_handle *pdev, struct usb_setup_req *req
break;
case USB_DESC_TYPE_CONFIGURATION:
pbuf = (uint8_t *)pdev->desc->get_config_desc(&len);
pbuf[1] = USB_DESC_TYPE_CONFIGURATION;
pbuf = pdev->desc->get_config_desc(&len);
break;
case USB_DESC_TYPE_STRING:
@ -112,12 +111,15 @@ static void usb_core_get_desc(struct usb_handle *pdev, struct usb_setup_req *req
break;
case USB_DESC_TYPE_DEVICE_QUALIFIER:
pbuf = (uint8_t *)pdev->desc->get_device_qualifier_desc(&len);
pbuf = pdev->desc->get_device_qualifier_desc(&len);
break;
case USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION:
pbuf = (uint8_t *)pdev->desc->get_config_desc(&len);
pbuf[1] = USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION;
if (pdev->desc->get_other_speed_config_desc == NULL) {
usb_core_ctl_error(pdev);
return;
}
pbuf = pdev->desc->get_other_speed_config_desc(&len);
break;
default:

2
include/drivers/usb_device.h

@ -166,6 +166,8 @@ struct usb_desc {
uint8_t *(*get_usr_desc)(uint8_t index, uint16_t *length);
uint8_t *(*get_config_desc)(uint16_t *length);
uint8_t *(*get_device_qualifier_desc)(uint16_t *length);
/* optional: high speed capable device operating at its other speed */
uint8_t *(*get_other_speed_config_desc)(uint16_t *length);
};
/* USB Device handle structure */

2
plat/st/stm32mp1/stm32mp1_usb_dfu.c

@ -338,6 +338,8 @@ static const struct usb_desc dfu_desc = {
.get_usr_desc = stm32mp1_get_usr_desc,
.get_config_desc = stm32mp1_get_config_desc,
.get_device_qualifier_desc = stm32mp1_get_qualifier_desc,
/* only HS is supported, as ROM code */
.get_other_speed_config_desc = NULL,
};
static struct usb_handle usb_core_handle;

Loading…
Cancel
Save