From f15c587887b39c8027c8c557794b027e09e27d30 Mon Sep 17 00:00:00 2001 From: JuliDi <20155974+JuliDi@users.noreply.github.com> Date: Wed, 19 Mar 2025 10:16:38 +0100 Subject: [PATCH] fix wrong funcsel on rp2350 gpout/gpin --- embassy-rp/src/clocks.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/embassy-rp/src/clocks.rs b/embassy-rp/src/clocks.rs index 2ac2c925e..9423a7e13 100644 --- a/embassy-rp/src/clocks.rs +++ b/embassy-rp/src/clocks.rs @@ -854,7 +854,14 @@ impl<'d, T: GpinPin> Gpin<'d, T> { pub fn new(gpin: impl Peripheral

+ 'd) -> Self { into_ref!(gpin); + #[cfg(feature = "rp2040")] gpin.gpio().ctrl().write(|w| w.set_funcsel(0x08)); + + // On RP2350 GPIN changed from F8 toF9 + #[cfg(feature = "_rp235x")] + gpin.gpio().ctrl().write(|w| w.set_funcsel(0x09)); + + #[cfg(feature = "_rp235x")] gpin.pad_ctrl().write(|w| { w.set_iso(false); @@ -938,7 +945,14 @@ impl<'d, T: GpoutPin> Gpout<'d, T> { pub fn new(gpout: impl Peripheral

+ 'd) -> Self { into_ref!(gpout); + #[cfg(feature = "rp2040")] gpout.gpio().ctrl().write(|w| w.set_funcsel(0x08)); + + // On RP2350 GPOUT changed from F8 toF9 + #[cfg(feature = "_rp235x")] + gpout.gpio().ctrl().write(|w| w.set_funcsel(0x09)); + + #[cfg(feature = "_rp235x")] gpout.pad_ctrl().write(|w| { w.set_iso(false);