From 0da28a271816b319c142254cb3598fd14096813a Mon Sep 17 00:00:00 2001 From: Mathis Deroo Date: Mon, 8 Dec 2025 13:29:16 -0800 Subject: Remove duplication of interrupt trait and use embassy_hal_internal Signed-off-by: Mathis Deroo --- embassy-mcxa/src/interrupt.rs | 151 ------------------------------------------ embassy-mcxa/src/lib.rs | 8 --- 2 files changed, 159 deletions(-) (limited to 'embassy-mcxa') diff --git a/embassy-mcxa/src/interrupt.rs b/embassy-mcxa/src/interrupt.rs index 7eabc6495..725f8d499 100644 --- a/embassy-mcxa/src/interrupt.rs +++ b/embassy-mcxa/src/interrupt.rs @@ -282,157 +282,6 @@ impl InterruptExt for Rtc { cortex_m::peripheral::NVIC::is_pending(Interrupt::RTC) } } -pub struct Adc0; -pub const ADC0: Adc0 = Adc0; - -impl InterruptExt for Adc0 { - /// Clear any pending ADC0 in NVIC. - #[inline] - fn unpend(&self) { - cortex_m::peripheral::NVIC::unpend(Interrupt::ADC0); - } - - /// Set NVIC priority for ADC0. - #[inline] - fn set_priority(&self, priority: Priority) { - unsafe { - let mut nvic = cortex_m::peripheral::Peripherals::steal().NVIC; - nvic.set_priority(Interrupt::ADC0, u8::from(priority)); - } - } - - /// Enable ADC0 in NVIC. - #[inline] - unsafe fn enable(&self) { - cortex_m::peripheral::NVIC::unmask(Interrupt::ADC0); - } - - /// Disable ADC0 in NVIC. - #[inline] - unsafe fn disable(&self) { - cortex_m::peripheral::NVIC::mask(Interrupt::ADC0); - } - - /// Check if ADC0 is pending in NVIC. - #[inline] - fn is_pending(&self) -> bool { - cortex_m::peripheral::NVIC::is_pending(Interrupt::ADC0) - } -} - -pub struct Adc1; -pub const ADC1: Adc1 = Adc1; - -impl InterruptExt for Adc1 { - /// Clear any pending ADC1 in NVIC. - #[inline] - fn unpend(&self) { - cortex_m::peripheral::NVIC::unpend(Interrupt::ADC1); - } - - /// Set NVIC priority for ADC1. - #[inline] - fn set_priority(&self, priority: Priority) { - unsafe { - let mut nvic = cortex_m::peripheral::Peripherals::steal().NVIC; - nvic.set_priority(Interrupt::ADC1, u8::from(priority)); - } - } - - /// Enable ADC1 in NVIC. - #[inline] - unsafe fn enable(&self) { - cortex_m::peripheral::NVIC::unmask(Interrupt::ADC1); - } - - /// Disable ADC1 in NVIC. - #[inline] - unsafe fn disable(&self) { - cortex_m::peripheral::NVIC::mask(Interrupt::ADC1); - } - - /// Check if ADC1 is pending in NVIC. - #[inline] - fn is_pending(&self) -> bool { - cortex_m::peripheral::NVIC::is_pending(Interrupt::ADC1) - } -} - -pub struct Adc2; -pub const ADC2: Adc2 = Adc2; - -impl InterruptExt for Adc2 { - /// Clear any pending ADC2 in NVIC. - #[inline] - fn unpend(&self) { - cortex_m::peripheral::NVIC::unpend(Interrupt::ADC2); - } - - /// Set NVIC priority for ADC2. - #[inline] - fn set_priority(&self, priority: Priority) { - unsafe { - let mut nvic = cortex_m::peripheral::Peripherals::steal().NVIC; - nvic.set_priority(Interrupt::ADC2, u8::from(priority)); - } - } - - /// Enable ADC2 in NVIC. - #[inline] - unsafe fn enable(&self) { - cortex_m::peripheral::NVIC::unmask(Interrupt::ADC2); - } - - /// Disable ADC2 in NVIC. - #[inline] - unsafe fn disable(&self) { - cortex_m::peripheral::NVIC::mask(Interrupt::ADC2); - } - - /// Check if ADC2 is pending in NVIC. - #[inline] - fn is_pending(&self) -> bool { - cortex_m::peripheral::NVIC::is_pending(Interrupt::ADC2) - } -} - -pub struct Adc3; -pub const ADC3: Adc3 = Adc3; - -impl InterruptExt for Adc3 { - /// Clear any pending ADC3 in NVIC. - #[inline] - fn unpend(&self) { - cortex_m::peripheral::NVIC::unpend(Interrupt::ADC3); - } - - /// Set NVIC priority for ADC3. - #[inline] - fn set_priority(&self, priority: Priority) { - unsafe { - let mut nvic = cortex_m::peripheral::Peripherals::steal().NVIC; - nvic.set_priority(Interrupt::ADC3, u8::from(priority)); - } - } - - /// Enable ADC3 in NVIC. - #[inline] - unsafe fn enable(&self) { - cortex_m::peripheral::NVIC::unmask(Interrupt::ADC3); - } - - /// Disable ADC3 in NVIC. - #[inline] - unsafe fn disable(&self) { - cortex_m::peripheral::NVIC::mask(Interrupt::ADC3); - } - - /// Check if ADC3 is pending in NVIC. - #[inline] - fn is_pending(&self) -> bool { - cortex_m::peripheral::NVIC::is_pending(Interrupt::ADC3) - } -} pub struct Gpio0; pub const GPIO0: Gpio0 = Gpio0; diff --git a/embassy-mcxa/src/lib.rs b/embassy-mcxa/src/lib.rs index 10b6167b6..be279e509 100644 --- a/embassy-mcxa/src/lib.rs +++ b/embassy-mcxa/src/lib.rs @@ -354,14 +354,6 @@ pub fn init(cfg: crate::config::Config) -> Peripherals { // Apply user-configured priority early; enabling is left to examples/apps crate::interrupt::RTC.set_priority(cfg.rtc_interrupt_priority); // Apply user-configured priority early; enabling is left to examples/apps - crate::interrupt::ADC0.set_priority(cfg.adc_interrupt_priority); - // Apply user-configured priority early; enabling is left to examples/apps - crate::interrupt::ADC1.set_priority(cfg.adc_interrupt_priority); - // Apply user-configured priority early; enabling is left to examples/apps - crate::interrupt::ADC2.set_priority(cfg.adc_interrupt_priority); - // Apply user-configured priority early; enabling is left to examples/apps - crate::interrupt::ADC3.set_priority(cfg.adc_interrupt_priority); - // Apply user-configured priority early; enabling is left to examples/apps crate::interrupt::GPIO0.set_priority(cfg.gpio_interrupt_priority); // Apply user-configured priority early; enabling is left to examples/apps crate::interrupt::GPIO1.set_priority(cfg.gpio_interrupt_priority); -- cgit