Fix #1528 HS USB on STM32F7
This commit is contained in:
parent
d414f4e4f7
commit
3539dd7d4c
1 changed files with 24 additions and 0 deletions
|
@ -828,6 +828,30 @@ impl<'d, T: Instance> embassy_usb_driver::Bus for Bus<'d, T> {
|
|||
critical_section::with(|_| crate::pac::PWR.cr2().modify(|w| w.set_usv(true)));
|
||||
}
|
||||
|
||||
#[cfg(stm32f7)]
|
||||
{
|
||||
// Enable ULPI clock if external PHY is used
|
||||
let ulpien = !self.phy_type.internal();
|
||||
critical_section::with(|_| {
|
||||
crate::pac::RCC.ahb1enr().modify(|w| {
|
||||
if T::HIGH_SPEED {
|
||||
w.set_usb_otg_hsulpien(ulpien);
|
||||
} else {
|
||||
w.set_usb_otg_hsen(ulpien);
|
||||
}
|
||||
});
|
||||
|
||||
// Low power mode
|
||||
crate::pac::RCC.ahb1lpenr().modify(|w| {
|
||||
if T::HIGH_SPEED {
|
||||
w.set_usb_otg_hsulpilpen(ulpien);
|
||||
} else {
|
||||
w.set_usb_otg_hslpen(ulpien);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
#[cfg(stm32h7)]
|
||||
{
|
||||
// If true, VDD33USB is generated by internal regulator from VDD50USB
|
||||
|
|
Loading…
Reference in a new issue