Added Changes to support for the new USB OTG controller for F446 register map
This commit is contained in:
parent
7c96342c63
commit
9d64050d68
@ -5169,16 +5169,51 @@ static void stm32_hwinitialize(FAR struct stm32_usbdev_s *priv)
|
|||||||
|
|
||||||
/* Deactivate the power down */
|
/* Deactivate the power down */
|
||||||
|
|
||||||
|
#if defined(NOT_CONFIG_STM32_STM32F446)
|
||||||
|
|
||||||
|
/* In the case of the STM32F446 the meaning
|
||||||
|
* of the bit has changed to VBUS Detection Enable
|
||||||
|
* when set
|
||||||
|
*/
|
||||||
|
|
||||||
|
regval = OTGFS_GCCFG_PWRDWN;
|
||||||
|
|
||||||
|
# ifdef CONFIG_USBDEV_VBUSSENSING
|
||||||
|
regval |= OTGFS_GCCFG_VBDEN;
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
|
||||||
|
/* In the case of the the all others the meaning
|
||||||
|
* of the bit is No VBUS Sense when Set
|
||||||
|
*/
|
||||||
|
|
||||||
regval = (OTGFS_GCCFG_PWRDWN | OTGFS_GCCFG_VBUSASEN | OTGFS_GCCFG_VBUSBSEN);
|
regval = (OTGFS_GCCFG_PWRDWN | OTGFS_GCCFG_VBUSASEN | OTGFS_GCCFG_VBUSBSEN);
|
||||||
#ifndef CONFIG_USBDEV_VBUSSENSING
|
# ifndef CONFIG_USBDEV_VBUSSENSING
|
||||||
regval |= OTGFS_GCCFG_NOVBUSSENS;
|
regval |= OTGFS_GCCFG_NOVBUSSENS;
|
||||||
#endif
|
# endif
|
||||||
#ifdef CONFIG_STM32_OTGFS_SOFOUTPUT
|
# ifdef CONFIG_STM32_OTGFS_SOFOUTPUT
|
||||||
regval |= OTGFS_GCCFG_SOFOUTEN;
|
regval |= OTGFS_GCCFG_SOFOUTEN;
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
stm32_putreg(regval, STM32_OTGFS_GCCFG);
|
stm32_putreg(regval, STM32_OTGFS_GCCFG);
|
||||||
up_mdelay(20);
|
up_mdelay(20);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* For the new otg controller in the F446 when
|
||||||
|
* VBUS sensing is not used we need to force the
|
||||||
|
* B session valid
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(NOT_CONFIG_STM32_STM32F446)
|
||||||
|
# ifndef CONFIG_USBDEV_VBUSSENSING
|
||||||
|
regval = stm32_getreg(STM32_OTGFS_GOTGCTL);
|
||||||
|
regval |= (OTGFS_GOTGCTL_BVALOEN | OTGFS_GOTGCTL_BVALOVAL);
|
||||||
|
stm32_putreg(regval, STM32_OTGFS_GOTGCTL);
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Force Device Mode */
|
/* Force Device Mode */
|
||||||
|
|
||||||
regval = stm32_getreg(STM32_OTGFS_GUSBCFG);
|
regval = stm32_getreg(STM32_OTGFS_GUSBCFG);
|
||||||
|
Loading…
Reference in New Issue
Block a user