diff options
| author | pennae <[email protected]> | 2023-07-31 18:36:37 +0200 |
|---|---|---|
| committer | pennae <[email protected]> | 2023-07-31 18:36:37 +0200 |
| commit | 2c6fcdbd3f6ff40d77e200fdd98b727164379769 (patch) | |
| tree | a812a268d9ee37d2564ce1e64de091f924166f02 | |
| parent | e6d404327928756f2975542122a782343f46e75e (diff) | |
rp: add gpio::Pin::io() for access to io banks
| -rw-r--r-- | embassy-rp/src/gpio.rs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/embassy-rp/src/gpio.rs b/embassy-rp/src/gpio.rs index 7153325d3..bac126d43 100644 --- a/embassy-rp/src/gpio.rs +++ b/embassy-rp/src/gpio.rs | |||
| @@ -643,12 +643,15 @@ pub(crate) mod sealed { | |||
| 643 | } | 643 | } |
| 644 | } | 644 | } |
| 645 | 645 | ||
| 646 | fn gpio(&self) -> pac::io::Gpio { | 646 | fn io(&self) -> pac::io::Io { |
| 647 | let block = match self._bank() { | 647 | match self._bank() { |
| 648 | Bank::Bank0 => crate::pac::IO_BANK0, | 648 | Bank::Bank0 => crate::pac::IO_BANK0, |
| 649 | Bank::Qspi => crate::pac::IO_QSPI, | 649 | Bank::Qspi => crate::pac::IO_QSPI, |
| 650 | }; | 650 | } |
| 651 | block.gpio(self._pin() as _) | 651 | } |
| 652 | |||
| 653 | fn gpio(&self) -> pac::io::Gpio { | ||
| 654 | self.io().gpio(self._pin() as _) | ||
| 652 | } | 655 | } |
| 653 | 656 | ||
| 654 | fn pad_ctrl(&self) -> Reg<pac::pads::regs::GpioCtrl, RW> { | 657 | fn pad_ctrl(&self) -> Reg<pac::pads::regs::GpioCtrl, RW> { |
| @@ -672,12 +675,8 @@ pub(crate) mod sealed { | |||
| 672 | } | 675 | } |
| 673 | 676 | ||
| 674 | fn int_proc(&self) -> pac::io::Int { | 677 | fn int_proc(&self) -> pac::io::Int { |
| 675 | let io_block = match self._bank() { | ||
| 676 | Bank::Bank0 => crate::pac::IO_BANK0, | ||
| 677 | Bank::Qspi => crate::pac::IO_QSPI, | ||
| 678 | }; | ||
| 679 | let proc = SIO.cpuid().read(); | 678 | let proc = SIO.cpuid().read(); |
| 680 | io_block.int_proc(proc as _) | 679 | self.io().int_proc(proc as _) |
| 681 | } | 680 | } |
| 682 | } | 681 | } |
| 683 | } | 682 | } |
