aboutsummaryrefslogtreecommitdiff
path: root/embassy-rp
diff options
context:
space:
mode:
authorUlf Lilleengen <[email protected]>2025-05-15 20:08:25 +0200
committerGitHub <[email protected]>2025-05-15 20:08:25 +0200
commitee23412d91ce7b1482532016c4baee9425d897e2 (patch)
tree09aa50459fcb8fcdddabcf6fbb7f2e1bcaf5777d /embassy-rp
parentf97e5db963ec09a1a24dbae5208efd7d416d1381 (diff)
parent54ef354d21f7a90b0ccddbe6d1a037b35baa6006 (diff)
Merge pull request #4115 from 1-rafael-1/dropping-pwm-leaves-pins-in-incorrect-state
pwm: enable pull-down resistors for pins in Drop implementation
Diffstat (limited to 'embassy-rp')
-rw-r--r--embassy-rp/src/pwm.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/embassy-rp/src/pwm.rs b/embassy-rp/src/pwm.rs
index 6dfb90fef..1e1ccc4c6 100644
--- a/embassy-rp/src/pwm.rs
+++ b/embassy-rp/src/pwm.rs
@@ -464,6 +464,10 @@ impl<'d> Drop for Pwm<'d> {
464 pac::PWM.ch(self.slice).csr().write_clear(|w| w.set_en(false)); 464 pac::PWM.ch(self.slice).csr().write_clear(|w| w.set_en(false));
465 if let Some(pin) = &self.pin_a { 465 if let Some(pin) = &self.pin_a {
466 pin.gpio().ctrl().write(|w| w.set_funcsel(31)); 466 pin.gpio().ctrl().write(|w| w.set_funcsel(31));
467 // Enable pin PULL-DOWN
468 pin.pad_ctrl().modify(|w| {
469 w.set_pde(true);
470 });
467 } 471 }
468 if let Some(pin) = &self.pin_b { 472 if let Some(pin) = &self.pin_b {
469 pin.gpio().ctrl().write(|w| w.set_funcsel(31)); 473 pin.gpio().ctrl().write(|w| w.set_funcsel(31));
@@ -472,6 +476,10 @@ impl<'d> Drop for Pwm<'d> {
472 pin.pad_ctrl().modify(|w| { 476 pin.pad_ctrl().modify(|w| {
473 w.set_ie(false); 477 w.set_ie(false);
474 }); 478 });
479 // Enable pin PULL-DOWN
480 pin.pad_ctrl().modify(|w| {
481 w.set_pde(true);
482 });
475 } 483 }
476 } 484 }
477} 485}