mirror of
https://github.com/espressif/esp-idf.git
synced 2025-11-01 07:31:42 +01:00
fix(gpio): correct usb dp gpio pullup disable function
This commit is contained in:
@@ -89,6 +89,15 @@ static inline void gpio_ll_pullup_en(gpio_dev_t *hw, uint32_t gpio_num)
|
||||
__attribute__((always_inline))
|
||||
static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num)
|
||||
{
|
||||
// The pull-up value of the USB pins are controlled by the pins’ pull-up value together with USB pull-up value
|
||||
// USB DP pin is default to PU enabled
|
||||
// Note that esp32C5 has supported USB_EXCHG_PINS feature. If this efuse is burnt, the gpio pin
|
||||
// which should be checked is USB_INT_PHY0_DM_GPIO_NUM instead.
|
||||
// TODO: read the specific efuse with efuse_ll.h
|
||||
if (gpio_num == USB_INT_PHY0_DP_GPIO_NUM) {
|
||||
USB_SERIAL_JTAG.conf0.pad_pull_override = 1;
|
||||
USB_SERIAL_JTAG.conf0.dp_pullup = 0;
|
||||
}
|
||||
IO_MUX.gpio[gpio_num].fun_wpu = 0;
|
||||
}
|
||||
|
||||
@@ -112,15 +121,7 @@ static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num)
|
||||
__attribute__((always_inline))
|
||||
static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num)
|
||||
{
|
||||
// The pull-up value of the USB pins are controlled by the pins’ pull-up value together with USB pull-up value
|
||||
// USB DP pin is default to PU enabled
|
||||
// Note that esp32C5 has supported USB_EXCHG_PINS feature. If this efuse is burnt, the gpio pin
|
||||
// which should be checked is USB_INT_PHY0_DM_GPIO_NUM instead.
|
||||
// TODO: read the specific efuse with efuse_ll.h
|
||||
if (gpio_num == USB_INT_PHY0_DP_GPIO_NUM) {
|
||||
USB_SERIAL_JTAG.conf0.pad_pull_override = 1;
|
||||
USB_SERIAL_JTAG.conf0.dp_pullup = 0;
|
||||
}
|
||||
|
||||
IO_MUX.gpio[gpio_num].fun_wpd = 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user