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);