diff options
| author | goueslati <[email protected]> | 2023-06-12 14:27:53 +0100 |
|---|---|---|
| committer | goueslati <[email protected]> | 2023-06-12 14:27:53 +0100 |
| commit | 2d89cfb18f00aefbfa108728dfea3398e80ea3e4 (patch) | |
| tree | 6485dacac7e61c4378ac522e709edb0a86bd7523 /embassy-rp/src/pio.rs | |
| parent | 2dd5ce83ec0421564e85b667f5dabd592f313e5c (diff) | |
| parent | ab86b060500ceda1c80e39f35af69cb08a7b63a2 (diff) | |
fix merge conflict
Diffstat (limited to 'embassy-rp/src/pio.rs')
| -rw-r--r-- | embassy-rp/src/pio.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/embassy-rp/src/pio.rs b/embassy-rp/src/pio.rs index 93e5bd34b..0fa3bd771 100644 --- a/embassy-rp/src/pio.rs +++ b/embassy-rp/src/pio.rs | |||
| @@ -5,7 +5,6 @@ use core::sync::atomic::{compiler_fence, Ordering}; | |||
| 5 | use core::task::{Context, Poll}; | 5 | use core::task::{Context, Poll}; |
| 6 | 6 | ||
| 7 | use atomic_polyfill::{AtomicU32, AtomicU8}; | 7 | use atomic_polyfill::{AtomicU32, AtomicU8}; |
| 8 | use embassy_cortex_m::interrupt::Interrupt; | ||
| 9 | use embassy_hal_common::{into_ref, Peripheral, PeripheralRef}; | 8 | use embassy_hal_common::{into_ref, Peripheral, PeripheralRef}; |
| 10 | use embassy_sync::waitqueue::AtomicWaker; | 9 | use embassy_sync::waitqueue::AtomicWaker; |
| 11 | use fixed::types::extra::U8; | 10 | use fixed::types::extra::U8; |
| @@ -17,6 +16,7 @@ use pio::{SideSet, Wrap}; | |||
| 17 | use crate::dma::{Channel, Transfer, Word}; | 16 | use crate::dma::{Channel, Transfer, Word}; |
| 18 | use crate::gpio::sealed::Pin as SealedPin; | 17 | use crate::gpio::sealed::Pin as SealedPin; |
| 19 | use crate::gpio::{self, AnyPin, Drive, Level, Pull, SlewRate}; | 18 | use crate::gpio::{self, AnyPin, Drive, Level, Pull, SlewRate}; |
| 19 | use crate::interrupt::InterruptExt; | ||
| 20 | use crate::pac::dma::vals::TreqSel; | 20 | use crate::pac::dma::vals::TreqSel; |
| 21 | use crate::relocate::RelocatedProgram; | 21 | use crate::relocate::RelocatedProgram; |
| 22 | use crate::{interrupt, pac, peripherals, pio_instr_util, RegExt}; | 22 | use crate::{interrupt, pac, peripherals, pio_instr_util, RegExt}; |
| @@ -85,6 +85,7 @@ const RXNEMPTY_MASK: u32 = 1 << 0; | |||
| 85 | const TXNFULL_MASK: u32 = 1 << 4; | 85 | const TXNFULL_MASK: u32 = 1 << 4; |
| 86 | const SMIRQ_MASK: u32 = 1 << 8; | 86 | const SMIRQ_MASK: u32 = 1 << 8; |
| 87 | 87 | ||
| 88 | #[cfg(feature = "rt")] | ||
| 88 | #[interrupt] | 89 | #[interrupt] |
| 89 | unsafe fn PIO0_IRQ_0() { | 90 | unsafe fn PIO0_IRQ_0() { |
| 90 | use crate::pac; | 91 | use crate::pac; |
| @@ -97,6 +98,7 @@ unsafe fn PIO0_IRQ_0() { | |||
| 97 | pac::PIO0.irqs(0).inte().write_clear(|m| m.0 = ints); | 98 | pac::PIO0.irqs(0).inte().write_clear(|m| m.0 = ints); |
| 98 | } | 99 | } |
| 99 | 100 | ||
| 101 | #[cfg(feature = "rt")] | ||
| 100 | #[interrupt] | 102 | #[interrupt] |
| 101 | unsafe fn PIO1_IRQ_0() { | 103 | unsafe fn PIO1_IRQ_0() { |
| 102 | use crate::pac; | 104 | use crate::pac; |
| @@ -110,15 +112,15 @@ unsafe fn PIO1_IRQ_0() { | |||
| 110 | } | 112 | } |
| 111 | 113 | ||
| 112 | pub(crate) unsafe fn init() { | 114 | pub(crate) unsafe fn init() { |
| 113 | interrupt::PIO0_IRQ_0::disable(); | 115 | interrupt::PIO0_IRQ_0.disable(); |
| 114 | interrupt::PIO0_IRQ_0::set_priority(interrupt::Priority::P3); | 116 | interrupt::PIO0_IRQ_0.set_priority(interrupt::Priority::P3); |
| 115 | pac::PIO0.irqs(0).inte().write(|m| m.0 = 0); | 117 | pac::PIO0.irqs(0).inte().write(|m| m.0 = 0); |
| 116 | interrupt::PIO0_IRQ_0::enable(); | 118 | interrupt::PIO0_IRQ_0.enable(); |
| 117 | 119 | ||
| 118 | interrupt::PIO1_IRQ_0::disable(); | 120 | interrupt::PIO1_IRQ_0.disable(); |
| 119 | interrupt::PIO1_IRQ_0::set_priority(interrupt::Priority::P3); | 121 | interrupt::PIO1_IRQ_0.set_priority(interrupt::Priority::P3); |
| 120 | pac::PIO1.irqs(0).inte().write(|m| m.0 = 0); | 122 | pac::PIO1.irqs(0).inte().write(|m| m.0 = 0); |
| 121 | interrupt::PIO1_IRQ_0::enable(); | 123 | interrupt::PIO1_IRQ_0.enable(); |
| 122 | } | 124 | } |
| 123 | 125 | ||
| 124 | /// Future that waits for TX-FIFO to become writable | 126 | /// Future that waits for TX-FIFO to become writable |
