diff --git a/components/usb/hcd_dwc.c b/components/usb/hcd_dwc.c index 574dc0cace..2baf25e0b2 100644 --- a/components/usb/hcd_dwc.c +++ b/components/usb/hcd_dwc.c @@ -1957,6 +1957,16 @@ err: return ret; } +int hcd_pipe_get_mps(hcd_pipe_handle_t pipe_hdl) +{ + pipe_t *pipe = (pipe_t *)pipe_hdl; + int mps; + HCD_ENTER_CRITICAL(); + mps = pipe->ep_char.mps; + HCD_EXIT_CRITICAL(); + return mps; +} + esp_err_t hcd_pipe_free(hcd_pipe_handle_t pipe_hdl) { pipe_t *pipe = (pipe_t *)pipe_hdl; diff --git a/components/usb/private_include/hcd.h b/components/usb/private_include/hcd.h index d2de4aa9f0..f0c4a364b9 100644 --- a/components/usb/private_include/hcd.h +++ b/components/usb/private_include/hcd.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -361,6 +361,15 @@ esp_err_t hcd_port_set_fifo_bias(hcd_port_handle_t port_hdl, hcd_port_fifo_bias_ */ esp_err_t hcd_pipe_alloc(hcd_port_handle_t port_hdl, const hcd_pipe_config_t *pipe_config, hcd_pipe_handle_t *pipe_hdl); +/** + * @brief Get maximum packet size (mps) of HCD pipe + * + * @param[in] port_hdl Pipe handle + * + * @retval HCD pipe mps + */ +int hcd_pipe_get_mps(hcd_pipe_handle_t pipe_hdl); + /** * @brief Free a pipe *