示例#1
0
void USB_OTG_BSP_DeInit(USB_OTG_CORE_HANDLE *pdev)
{
	// ala42
#define GPIO_AF0         ((uint8_t)0)  /* OTG_FS Alternate Function mapping */
	gpio_set_mode(GPIOA,11, GPIO_MODE_INPUT);
	gpio_set_mode(GPIOA,12, GPIO_MODE_INPUT);
	gpio_set_af_mode(GPIOA,11,GPIO_AF0) ;	// OTG_FS_DM
	gpio_set_af_mode(GPIOA,12,GPIO_AF0) ;	// OTG_FS_DP
#ifdef USB_OTG_FS_SOF_OUTPUT_ENABLED
	gpio_set_mode(GPIOA, 8,GPIO_MODE_INPUT);
	gpio_set_af_mode(GPIOA, 8,GPIO_AF0) ;		// OTG_FS_SOF
#endif
#ifdef VBUS_SENSING_ENABLED
	gpio_set_mode(GPIOA, 9,GPIO_MODE_INPUT);
	gpio_set_af_mode(GPIOA, 9,GPIO_AF0) ;		// OTG_FS_VBUS
#endif

#ifdef ID_SENSING_ENABLED
	gpio_set_mode(GPIOA,10,GPIO_MODE_INPUT);
	gpio_set_af_mode(GPIOA,10,GPIO_AF0) ;	// OTG_FS_ID
#endif

	rcc_clk_enable(RCC_SYSCFG);
	rcc_clk_disable(RCC_USBFS);
}
示例#2
0
/**
 * @brief Disables the SDIO device.
 */
void sdio_end(void)
{
	sdio_disable();
	while ( sdio_cmd_xfer_ongoing() );
	sdio_power_off();
    rcc_clk_disable(RCC_SDIO);
	sdio_gpios_deinit();
}
示例#3
0
        __weak void board_setup_clock_prescalers(void) {
            rcc_set_prescaler(RCC_PRESCALER_AHB, RCC_AHB_SYSCLK_DIV_1);
            rcc_set_prescaler(RCC_PRESCALER_APB1, RCC_APB1_HCLK_DIV_2);
            rcc_set_prescaler(RCC_PRESCALER_APB2, RCC_APB2_HCLK_DIV_1);
			rcc_clk_disable(RCC_USB);
			#if F_CPU == 72000000
			rcc_set_prescaler(RCC_PRESCALER_USB, RCC_USB_SYSCLK_DIV_1_5);
			#elif F_CPU == 48000000
			rcc_set_prescaler(RCC_PRESCALER_USB, RCC_USB_SYSCLK_DIV_1);			
			#endif	
        }