From 62b0410e865044080781765d9ccee06202a82dff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Kro=CC=88ger?= Date: Wed, 13 Mar 2024 17:45:15 +0100 Subject: [PATCH] [UCPD] Set CC pins to analog mode Example: On STM32G431 CC2 has a pull-up (default JTAG signal) which needs to be disabled. --- embassy-stm32/src/ucpd.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/embassy-stm32/src/ucpd.rs b/embassy-stm32/src/ucpd.rs index d251b1c72..dcc4454d3 100644 --- a/embassy-stm32/src/ucpd.rs +++ b/embassy-stm32/src/ucpd.rs @@ -95,9 +95,13 @@ impl<'d, T: Instance> Ucpd<'d, T> { pub fn new( _peri: impl Peripheral

+ 'd, _irq: impl interrupt::typelevel::Binding> + 'd, - _cc1: impl Peripheral

> + 'd, - _cc2: impl Peripheral

> + 'd, + cc1: impl Peripheral

> + 'd, + cc2: impl Peripheral

> + 'd, ) -> Self { + into_ref!(cc1, cc2); + cc1.set_as_analog(); + cc2.set_as_analog(); + T::enable_and_reset(); T::Interrupt::unpend(); unsafe { T::Interrupt::enable() };