mirror of
https://github.com/espressif/esp-idf.git
synced 2025-12-07 17:08:49 +00:00
usb: USB Host stack uses USB PHY driver
This commit updates the USB Host stack to use the USB PHY driver. The
USB PHY and the OTG Controller should now both be setup/deleted using
usb_new_phy() and usb_del_phy() respectively.
- The hcd_install() now expects the USB PHY and OTG Contorller to be
already setup before it is called
- usb_host_install() now has an option to skip calling usb_del_phy() if
the user wants to setup their own USB PHY (e.g., in the case of using
and external PHY).
- CDC-ACM and MSC examples/test updated to use internal PHY
Closes https://github.com/espressif/esp-idf/issues/8061
This commit is contained in:
@@ -1026,20 +1026,6 @@ esp_err_t hcd_install(const hcd_config_t *config)
|
||||
goto err;
|
||||
}
|
||||
s_hcd_obj = p_hcd_obj_dmy;
|
||||
//Set HW prerequisites for each port (there's only one)
|
||||
periph_module_enable(PERIPH_USB_MODULE);
|
||||
periph_module_reset(PERIPH_USB_MODULE);
|
||||
/*
|
||||
Configure GPIOS for Host mode operation using internal PHY
|
||||
- Forces ID to GND for A side
|
||||
- Forces B Valid to GND as we are A side host
|
||||
- Forces VBUS Valid to HIGH
|
||||
- Forces A Valid to HIGH
|
||||
*/
|
||||
esp_rom_gpio_connect_in_signal(GPIO_MATRIX_CONST_ZERO_INPUT, USB_OTG_IDDIG_IN_IDX, false);
|
||||
esp_rom_gpio_connect_in_signal(GPIO_MATRIX_CONST_ZERO_INPUT, USB_SRP_BVALID_IN_IDX, false);
|
||||
esp_rom_gpio_connect_in_signal(GPIO_MATRIX_CONST_ONE_INPUT, USB_OTG_VBUSVALID_IN_IDX, false);
|
||||
esp_rom_gpio_connect_in_signal(GPIO_MATRIX_CONST_ONE_INPUT, USB_OTG_AVALID_IN_IDX, false);
|
||||
HCD_EXIT_CRITICAL();
|
||||
return ESP_OK;
|
||||
|
||||
@@ -1060,7 +1046,6 @@ esp_err_t hcd_uninstall(void)
|
||||
HCD_EXIT_CRITICAL();
|
||||
return ESP_ERR_INVALID_STATE;
|
||||
}
|
||||
periph_module_disable(PERIPH_USB_MODULE);
|
||||
hcd_obj_t *p_hcd_obj_dmy = s_hcd_obj;
|
||||
s_hcd_obj = NULL;
|
||||
HCD_EXIT_CRITICAL();
|
||||
|
||||
Reference in New Issue
Block a user