usb: core: handle apple vendor usb request

Change-Id: Iab5135774353630e7bce4939f40ca35940e214f3
This commit is contained in:
mojyack 2025-11-23 16:39:43 +09:00
parent 3bb656625b
commit 757e683506
2 changed files with 8 additions and 0 deletions

View file

@ -1039,6 +1039,11 @@ static void request_handler_device(struct usb_ctrlrequest* req, void* reqdata)
response_data[1] = 0;
usb_drv_control_response(USB_CONTROL_ACK, response_data, 2);
break;
#ifdef USB_ENABLE_IAP
case USB_REQ_APPLE_SET_AVAIL_CURRENT:
usb_drv_control_response(USB_CONTROL_ACK, NULL, 0);
break;
#endif
default:
logf("bad req:desc %d:%d", req->bRequest, req->wValue);
usb_drv_control_response(USB_CONTROL_STALL, NULL, 0);

View file

@ -21,6 +21,9 @@
#include "usb_core.h"
#include "usb_class_driver.h"
/* [2] P.32 Table 2-8 USB Device Vendor Request to set available current from accessory (USB Device Mode only) */
#define USB_REQ_APPLE_SET_AVAIL_CURRENT (0x40)
extern struct usb_class_driver_ep_allocation usb_iap_ep_allocs[2];
int usb_iap_request_endpoints(struct usb_class_driver*);