1 /*
2  * SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #pragma once
8 
9 #include <stdint.h>
10 #include <stdbool.h>
11 #include "soc/soc_pins.h"
12 #include "soc/gpio_sig_map.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 #if SOC_USB_OTG_SUPPORTED
19 
20 /**
21  * @brief A pin descriptor for init (DEPRECATED)
22  *
23  * Todo: Remove in IDF v6.0 (IDF-9029)
24  *
25  * @note These IO pins are deprecated. When connecting USB OTG to an external
26  * FSLS PHY, the FSLS Serial Interface signals can be routed to any GPIO via the
27  * GPI0 matrix. Thus, this mapping of signals to IO pins is meaningless.
28  */
29 typedef struct {
30     const int pin;
31     const int func;
32     const bool is_output;
33     const int ext_phy_only;
34 } usb_iopin_dsc_t;
35 
36 extern const usb_iopin_dsc_t usb_periph_iopins[];
37 
38 #endif // SOC_USB_OTG_SUPPORTED
39 
40 #ifdef __cplusplus
41 }
42 #endif
43