Skip to content

Commit

Permalink
chore: clean up stm32h5 ucpd
Browse files Browse the repository at this point in the history
  • Loading branch information
elagil committed Jan 3, 2025
1 parent b127ca9 commit d9ef2c9
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 17 deletions.
22 changes: 8 additions & 14 deletions embassy-stm32/src/ucpd.rs
Original file line number Diff line number Diff line change
Expand Up @@ -299,24 +299,18 @@ impl<'d, T: Instance> CcPhy<'d, T> {
#[cfg(stm32h5)]
T::REGS.cfgr3().modify(|w| match cc_pull {
CcPull::Source1_5A => {
#[cfg(stm32h5)]
{
let trim_1a5_cc1 = unsafe { *(0x08FF_F844 as *const u32) & 0xF };
let trim_1a5_cc2 = unsafe { ((*(0x08FF_F844 as *const u32)) >> 16) & 0xF };
let trim_1a5_cc1 = unsafe { *(0x08FF_F844 as *const u32) & 0xF };
let trim_1a5_cc2 = unsafe { ((*(0x08FF_F844 as *const u32)) >> 16) & 0xF };

w.set_trim_cc1_rp(trim_1a5_cc1 as u8);
w.set_trim_cc2_rp(trim_1a5_cc2 as u8);
};
w.set_trim_cc1_rp(trim_1a5_cc1 as u8);
w.set_trim_cc2_rp(trim_1a5_cc2 as u8);
}
_ => {
#[cfg(stm32h5)]
{
let trim_3a0_cc1 = unsafe { (*(0x4002_242C as *const u32) >> 4) & 0xF };
let trim_3a0_cc2 = unsafe { ((*(0x4002_242C as *const u32)) >> 12) & 0xF };
let trim_3a0_cc1 = unsafe { (*(0x4002_242C as *const u32) >> 4) & 0xF };
let trim_3a0_cc2 = unsafe { ((*(0x4002_242C as *const u32)) >> 12) & 0xF };

w.set_trim_cc1_rp(trim_3a0_cc1 as u8);
w.set_trim_cc2_rp(trim_3a0_cc2 as u8);
};
w.set_trim_cc1_rp(trim_3a0_cc1 as u8);
w.set_trim_cc2_rp(trim_3a0_cc2 as u8);
}
});

Expand Down
7 changes: 4 additions & 3 deletions examples/stm32h5/src/bin/usb_c_pd.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,14 @@ async fn main(_spawner: Spawner) {

info!("Hello World!");

let mut ucpd = Ucpd::new(p.UCPD1, Irqs {}, p.PB13, p.PB14, Default::default());
ucpd.cc_phy().set_pull(CcPull::Sink);

// This pin controls the dead-battery mode on the attached TCPP01-M12.
// If low, TCPP01-M12 disconnects CC lines and presents dead-battery resistance on CC lines, thus set high.
// Must only be set after the CC pull is established.
let _tcpp01_m12_ndb = Output::new(p.PA9, embassy_stm32::gpio::Level::High, embassy_stm32::gpio::Speed::Low);

let mut ucpd = Ucpd::new(p.UCPD1, Irqs {}, p.PB13, p.PB14, Default::default());
ucpd.cc_phy().set_pull(CcPull::Sink);

info!("Waiting for USB connection...");
let cable_orientation = wait_attached(ucpd.cc_phy()).await;
info!("USB cable connected, orientation: {}", cable_orientation);
Expand Down

0 comments on commit d9ef2c9

Please sign in to comment.