aboutsummaryrefslogtreecommitdiff
path: root/embassy-mspm0/src/gpio.rs
diff options
context:
space:
mode:
authori509VCB <[email protected]>2025-09-04 14:10:23 +0000
committerGitHub <[email protected]>2025-09-04 14:10:23 +0000
commitf2de2ca16b4fdb623a73de4d349c68c7292a8f11 (patch)
tree31597fb473c05b2aeeb5a305dd8c4763fb772e76 /embassy-mspm0/src/gpio.rs
parent615fc36eb83e226492dd3dfd3bc4de95b1e2f065 (diff)
parent338227c21abea9621887ed428c2272d7bdeeafdd (diff)
Merge pull request #4600 from i509VCB/c1105_c1106
mspm0: add mspm0c1105/6
Diffstat (limited to 'embassy-mspm0/src/gpio.rs')
-rw-r--r--embassy-mspm0/src/gpio.rs14
1 files changed, 10 insertions, 4 deletions
diff --git a/embassy-mspm0/src/gpio.rs b/embassy-mspm0/src/gpio.rs
index f77848888..d5fd36dbf 100644
--- a/embassy-mspm0/src/gpio.rs
+++ b/embassy-mspm0/src/gpio.rs
@@ -10,7 +10,7 @@ use embassy_sync::waitqueue::AtomicWaker;
10 10
11use crate::pac::gpio::vals::*; 11use crate::pac::gpio::vals::*;
12use crate::pac::gpio::{self}; 12use crate::pac::gpio::{self};
13#[cfg(all(feature = "rt", any(mspm0c110x, mspm0l110x)))] 13#[cfg(all(feature = "rt", any(mspm0c110x, mspm0c1105_c1106, mspm0l110x)))]
14use crate::pac::interrupt; 14use crate::pac::interrupt;
15use crate::pac::{self}; 15use crate::pac::{self};
16 16
@@ -1108,24 +1108,30 @@ fn irq_handler(gpio: gpio::Gpio, wakers: &[AtomicWaker; 32]) {
1108// C110x and L110x have a dedicated interrupts just for GPIOA. 1108// C110x and L110x have a dedicated interrupts just for GPIOA.
1109// 1109//
1110// These chips do not have a GROUP1 interrupt. 1110// These chips do not have a GROUP1 interrupt.
1111#[cfg(all(feature = "rt", any(mspm0c110x, mspm0l110x)))] 1111#[cfg(all(feature = "rt", any(mspm0c110x, mspm0c1105_c1106, mspm0l110x)))]
1112#[interrupt] 1112#[interrupt]
1113fn GPIOA() { 1113fn GPIOA() {
1114 irq_handler(pac::GPIOA, &PORTA_WAKERS); 1114 irq_handler(pac::GPIOA, &PORTA_WAKERS);
1115} 1115}
1116 1116
1117#[cfg(all(feature = "rt", mspm0c1105_c1106))]
1118#[interrupt]
1119fn GPIOB() {
1120 irq_handler(pac::GPIOB, &PORTB_WAKERS);
1121}
1122
1117// These symbols are weakly defined as DefaultHandler and are called by the interrupt group implementation. 1123// These symbols are weakly defined as DefaultHandler and are called by the interrupt group implementation.
1118// 1124//
1119// Defining these as no_mangle is required so that the linker will pick these over the default handler. 1125// Defining these as no_mangle is required so that the linker will pick these over the default handler.
1120 1126
1121#[cfg(all(feature = "rt", not(any(mspm0c110x, mspm0l110x))))] 1127#[cfg(all(feature = "rt", not(any(mspm0c110x, mspm0c1105_c1106, mspm0l110x))))]
1122#[no_mangle] 1128#[no_mangle]
1123#[allow(non_snake_case)] 1129#[allow(non_snake_case)]
1124fn GPIOA() { 1130fn GPIOA() {
1125 irq_handler(pac::GPIOA, &PORTA_WAKERS); 1131 irq_handler(pac::GPIOA, &PORTA_WAKERS);
1126} 1132}
1127 1133
1128#[cfg(all(feature = "rt", gpio_pb))] 1134#[cfg(all(feature = "rt", gpio_pb, not(mspm0c1105_c1106)))]
1129#[no_mangle] 1135#[no_mangle]
1130#[allow(non_snake_case)] 1136#[allow(non_snake_case)]
1131fn GPIOB() { 1137fn GPIOB() {