USB: ensure USB D+ pullup is handled by USB lib
This commit is contained in:
parent
2fb4274ebc
commit
a2f83e87b3
|
@ -96,10 +96,6 @@ void main(void)
|
|||
|
||||
rcc_clock_setup_in_hse_8mhz_out_72mhz(); // start main clock
|
||||
board_setup(); // setup board to control LED
|
||||
// setup USB D+ pull-up to indicate USB connect
|
||||
rcc_periph_clock_enable(GPIO_RCC(DISPLAY_POWER_PIN)); // enable clock for GPIO peripheral
|
||||
gpio_set_mode(GPIO_PORT(DISPLAY_POWER_PIN), GPIO_MODE_OUTPUT_2_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO_PIN(DISPLAY_POWER_PIN)); // set pin to output open-drain since it is controlled by pMOS
|
||||
gpio_clear(GPIO_PORT(DISPLAY_POWER_PIN), GPIO_PIN(DISPLAY_POWER_PIN)); // enable USB D+ pull-up to indicate connection
|
||||
led_on(); // indicate bootloader started
|
||||
#if defined(BUSVOODOO)
|
||||
led_toggle(); // switch from blue to red LED
|
||||
|
|
|
@ -263,6 +263,11 @@ static void usb_disconnect(void)
|
|||
rcc_periph_clock_enable(RCC_GPIOB);
|
||||
gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_2_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO6);
|
||||
gpio_clear(GPIOB, GPIO6);
|
||||
#elif defined(USB_CABLE_TESTER)
|
||||
// disable USB D+ pull-up using pMOS
|
||||
rcc_periph_clock_enable(RCC_GPIOD);
|
||||
gpio_set_mode(GPIOD, GPIO_MODE_OUTPUT_2_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO13);
|
||||
gpio_set(GPIOD, GPIO13);
|
||||
#endif
|
||||
// pull USB D+ low for a short while
|
||||
rcc_periph_clock_enable(RCC_GPIOA);
|
||||
|
@ -459,6 +464,11 @@ void usb_cdcacm_setup(void)
|
|||
rcc_periph_clock_enable(RCC_GPIOB);
|
||||
gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_2_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO6);
|
||||
gpio_set(GPIOB, GPIO6);
|
||||
#elif defined(USB_CABLE_TESTER)
|
||||
// enable USB D+ pull-up using pMOS
|
||||
rcc_periph_clock_enable(RCC_GPIOD);
|
||||
gpio_set_mode(GPIOD, GPIO_MODE_OUTPUT_2_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO13);
|
||||
gpio_clear(GPIOD, GPIO13);
|
||||
#endif
|
||||
rcc_periph_clock_enable(RCC_GPIOA); // enable clock for GPIO used for USB
|
||||
rcc_periph_clock_enable(RCC_USB); // enable clock for USB domain
|
||||
|
|
|
@ -145,6 +145,11 @@ static void usb_disconnect(void)
|
|||
rcc_periph_clock_enable(RCC_GPIOB);
|
||||
gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_2_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO6);
|
||||
gpio_clear(GPIOB, GPIO6);
|
||||
#elif defined(USB_CABLE_TESTER)
|
||||
// disable USB D+ pull-up using pMOS
|
||||
rcc_periph_clock_enable(RCC_GPIOD);
|
||||
gpio_set_mode(GPIOD, GPIO_MODE_OUTPUT_2_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO13);
|
||||
gpio_set(GPIOD, GPIO13);
|
||||
#endif
|
||||
// pull USB D+ low for a short while
|
||||
rcc_periph_clock_enable(RCC_GPIOA);
|
||||
|
|
Loading…
Reference in New Issue