From 757e683506a45c20e824c581e6961b3ac7137faf Mon Sep 17 00:00:00 2001 From: mojyack Date: Sun, 23 Nov 2025 16:39:43 +0900 Subject: [PATCH] usb: core: handle apple vendor usb request Change-Id: Iab5135774353630e7bce4939f40ca35940e214f3 --- firmware/usbstack/usb_core.c | 5 +++++ firmware/usbstack/usb_iap.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/firmware/usbstack/usb_core.c b/firmware/usbstack/usb_core.c index ba4bd82145..bd8e3eaa58 100644 --- a/firmware/usbstack/usb_core.c +++ b/firmware/usbstack/usb_core.c @@ -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); diff --git a/firmware/usbstack/usb_iap.h b/firmware/usbstack/usb_iap.h index 8825d56514..f807009830 100644 --- a/firmware/usbstack/usb_iap.h +++ b/firmware/usbstack/usb_iap.h @@ -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*);