diff options
Diffstat (limited to 'embassy-nrf/src')
| -rw-r--r-- | embassy-nrf/src/chips/nrf54l15_app.rs | 161 | ||||
| -rw-r--r-- | embassy-nrf/src/gpiote.rs | 2 |
2 files changed, 124 insertions, 39 deletions
diff --git a/embassy-nrf/src/chips/nrf54l15_app.rs b/embassy-nrf/src/chips/nrf54l15_app.rs index f58a74825..f5c9a8156 100644 --- a/embassy-nrf/src/chips/nrf54l15_app.rs +++ b/embassy-nrf/src/chips/nrf54l15_app.rs | |||
| @@ -217,6 +217,8 @@ embassy_hal_internal::peripherals! { | |||
| 217 | PPI00_CH6, | 217 | PPI00_CH6, |
| 218 | PPI00_CH7, | 218 | PPI00_CH7, |
| 219 | 219 | ||
| 220 | PPI10_CH0, | ||
| 221 | |||
| 220 | PPI20_CH0, | 222 | PPI20_CH0, |
| 221 | PPI20_CH1, | 223 | PPI20_CH1, |
| 222 | PPI20_CH2, | 224 | PPI20_CH2, |
| @@ -242,6 +244,8 @@ embassy_hal_internal::peripherals! { | |||
| 242 | PPI00_GROUP0, | 244 | PPI00_GROUP0, |
| 243 | PPI00_GROUP1, | 245 | PPI00_GROUP1, |
| 244 | 246 | ||
| 247 | PPI10_GROUP0, | ||
| 248 | |||
| 245 | PPI20_GROUP0, | 249 | PPI20_GROUP0, |
| 246 | PPI20_GROUP1, | 250 | PPI20_GROUP1, |
| 247 | PPI20_GROUP2, | 251 | PPI20_GROUP2, |
| @@ -252,6 +256,87 @@ embassy_hal_internal::peripherals! { | |||
| 252 | PPI30_GROUP0, | 256 | PPI30_GROUP0, |
| 253 | PPI30_GROUP1, | 257 | PPI30_GROUP1, |
| 254 | 258 | ||
| 259 | // PPI BRIDGE channels | ||
| 260 | PPIB00_CH0, | ||
| 261 | PPIB00_CH1, | ||
| 262 | PPIB00_CH2, | ||
| 263 | PPIB00_CH3, | ||
| 264 | PPIB00_CH4, | ||
| 265 | PPIB00_CH5, | ||
| 266 | PPIB00_CH6, | ||
| 267 | PPIB00_CH7, | ||
| 268 | |||
| 269 | PPIB01_CH0, | ||
| 270 | PPIB01_CH1, | ||
| 271 | PPIB01_CH2, | ||
| 272 | PPIB01_CH3, | ||
| 273 | PPIB01_CH4, | ||
| 274 | PPIB01_CH5, | ||
| 275 | PPIB01_CH6, | ||
| 276 | PPIB01_CH7, | ||
| 277 | |||
| 278 | PPIB10_CH0, | ||
| 279 | PPIB10_CH1, | ||
| 280 | PPIB10_CH2, | ||
| 281 | PPIB10_CH3, | ||
| 282 | PPIB10_CH4, | ||
| 283 | PPIB10_CH5, | ||
| 284 | PPIB10_CH6, | ||
| 285 | PPIB10_CH7, | ||
| 286 | |||
| 287 | PPIB11_CH0, | ||
| 288 | PPIB11_CH1, | ||
| 289 | PPIB11_CH2, | ||
| 290 | PPIB11_CH3, | ||
| 291 | PPIB11_CH4, | ||
| 292 | PPIB11_CH5, | ||
| 293 | PPIB11_CH6, | ||
| 294 | PPIB11_CH7, | ||
| 295 | PPIB11_CH8, | ||
| 296 | PPIB11_CH9, | ||
| 297 | PPIB11_CH10, | ||
| 298 | PPIB11_CH11, | ||
| 299 | PPIB11_CH12, | ||
| 300 | PPIB11_CH13, | ||
| 301 | PPIB11_CH14, | ||
| 302 | PPIB11_CH15, | ||
| 303 | |||
| 304 | PPIB20_CH0, | ||
| 305 | PPIB20_CH1, | ||
| 306 | PPIB20_CH2, | ||
| 307 | PPIB20_CH3, | ||
| 308 | PPIB20_CH4, | ||
| 309 | PPIB20_CH5, | ||
| 310 | PPIB20_CH6, | ||
| 311 | PPIB20_CH7, | ||
| 312 | |||
| 313 | PPIB21_CH0, | ||
| 314 | PPIB21_CH1, | ||
| 315 | PPIB21_CH2, | ||
| 316 | PPIB21_CH3, | ||
| 317 | PPIB21_CH4, | ||
| 318 | PPIB21_CH5, | ||
| 319 | PPIB21_CH6, | ||
| 320 | PPIB21_CH7, | ||
| 321 | PPIB21_CH8, | ||
| 322 | PPIB21_CH9, | ||
| 323 | PPIB21_CH10, | ||
| 324 | PPIB21_CH11, | ||
| 325 | PPIB21_CH12, | ||
| 326 | PPIB21_CH13, | ||
| 327 | PPIB21_CH14, | ||
| 328 | PPIB21_CH15, | ||
| 329 | |||
| 330 | PPIB22_CH0, | ||
| 331 | PPIB22_CH1, | ||
| 332 | PPIB22_CH2, | ||
| 333 | PPIB22_CH3, | ||
| 334 | |||
| 335 | PPIB30_CH0, | ||
| 336 | PPIB30_CH1, | ||
| 337 | PPIB30_CH2, | ||
| 338 | PPIB30_CH3, | ||
| 339 | |||
| 255 | // Timers | 340 | // Timers |
| 256 | TIMER00, | 341 | TIMER00, |
| 257 | TIMER10, | 342 | TIMER10, |
| @@ -303,6 +388,9 @@ embassy_hal_internal::peripherals! { | |||
| 303 | P2_09, | 388 | P2_09, |
| 304 | P2_10, | 389 | P2_10, |
| 305 | 390 | ||
| 391 | // GRTC | ||
| 392 | GRTC, | ||
| 393 | |||
| 306 | // RTC | 394 | // RTC |
| 307 | RTC10, | 395 | RTC10, |
| 308 | RTC30, | 396 | RTC30, |
| @@ -325,15 +413,6 @@ embassy_hal_internal::peripherals! { | |||
| 325 | // RADIO | 413 | // RADIO |
| 326 | RADIO, | 414 | RADIO, |
| 327 | 415 | ||
| 328 | // PPI BRIDGE | ||
| 329 | PPIB00, | ||
| 330 | PPIB01, | ||
| 331 | PPIB10, | ||
| 332 | PPIB11, | ||
| 333 | PPIB20, | ||
| 334 | PPIB21, | ||
| 335 | PPIB22, | ||
| 336 | PPIB30, | ||
| 337 | 416 | ||
| 338 | // GPIOTE instances | 417 | // GPIOTE instances |
| 339 | GPIOTE20, | 418 | GPIOTE20, |
| @@ -379,13 +458,6 @@ impl_pin!(P0_03, 0, 3); | |||
| 379 | impl_pin!(P0_04, 0, 4); | 458 | impl_pin!(P0_04, 0, 4); |
| 380 | impl_pin!(P0_05, 0, 5); | 459 | impl_pin!(P0_05, 0, 5); |
| 381 | impl_pin!(P0_06, 0, 6); | 460 | impl_pin!(P0_06, 0, 6); |
| 382 | impl_gpiote_pin!(P0_00, GPIOTE30); | ||
| 383 | impl_gpiote_pin!(P0_01, GPIOTE30); | ||
| 384 | impl_gpiote_pin!(P0_02, GPIOTE30); | ||
| 385 | impl_gpiote_pin!(P0_03, GPIOTE30); | ||
| 386 | impl_gpiote_pin!(P0_04, GPIOTE30); | ||
| 387 | impl_gpiote_pin!(P0_05, GPIOTE30); | ||
| 388 | impl_gpiote_pin!(P0_06, GPIOTE30); | ||
| 389 | 461 | ||
| 390 | impl_pin!(P1_00, 1, 0); | 462 | impl_pin!(P1_00, 1, 0); |
| 391 | impl_pin!(P1_01, 1, 1); | 463 | impl_pin!(P1_01, 1, 1); |
| @@ -405,24 +477,6 @@ impl_pin!(P1_14, 1, 14); | |||
| 405 | impl_pin!(P1_15, 1, 15); | 477 | impl_pin!(P1_15, 1, 15); |
| 406 | impl_pin!(P1_16, 1, 16); | 478 | impl_pin!(P1_16, 1, 16); |
| 407 | 479 | ||
| 408 | impl_gpiote_pin!(P1_00, GPIOTE20); | ||
| 409 | impl_gpiote_pin!(P1_01, GPIOTE20); | ||
| 410 | impl_gpiote_pin!(P1_02, GPIOTE20); | ||
| 411 | impl_gpiote_pin!(P1_03, GPIOTE20); | ||
| 412 | impl_gpiote_pin!(P1_04, GPIOTE20); | ||
| 413 | impl_gpiote_pin!(P1_05, GPIOTE20); | ||
| 414 | impl_gpiote_pin!(P1_06, GPIOTE20); | ||
| 415 | impl_gpiote_pin!(P1_07, GPIOTE20); | ||
| 416 | impl_gpiote_pin!(P1_08, GPIOTE20); | ||
| 417 | impl_gpiote_pin!(P1_09, GPIOTE20); | ||
| 418 | impl_gpiote_pin!(P1_10, GPIOTE20); | ||
| 419 | impl_gpiote_pin!(P1_11, GPIOTE20); | ||
| 420 | impl_gpiote_pin!(P1_12, GPIOTE20); | ||
| 421 | impl_gpiote_pin!(P1_13, GPIOTE20); | ||
| 422 | impl_gpiote_pin!(P1_14, GPIOTE20); | ||
| 423 | impl_gpiote_pin!(P1_15, GPIOTE20); | ||
| 424 | impl_gpiote_pin!(P1_16, GPIOTE20); | ||
| 425 | |||
| 426 | impl_pin!(P2_00, 2, 0); | 480 | impl_pin!(P2_00, 2, 0); |
| 427 | impl_pin!(P2_01, 2, 1); | 481 | impl_pin!(P2_01, 2, 1); |
| 428 | impl_pin!(P2_02, 2, 2); | 482 | impl_pin!(P2_02, 2, 2); |
| @@ -435,6 +489,36 @@ impl_pin!(P2_08, 2, 8); | |||
| 435 | impl_pin!(P2_09, 2, 9); | 489 | impl_pin!(P2_09, 2, 9); |
| 436 | impl_pin!(P2_10, 2, 10); | 490 | impl_pin!(P2_10, 2, 10); |
| 437 | 491 | ||
| 492 | cfg_if::cfg_if! { | ||
| 493 | if #[cfg(feature = "gpiote")] { | ||
| 494 | impl_gpiote_pin!(P0_00, GPIOTE30); | ||
| 495 | impl_gpiote_pin!(P0_01, GPIOTE30); | ||
| 496 | impl_gpiote_pin!(P0_02, GPIOTE30); | ||
| 497 | impl_gpiote_pin!(P0_03, GPIOTE30); | ||
| 498 | impl_gpiote_pin!(P0_04, GPIOTE30); | ||
| 499 | impl_gpiote_pin!(P0_05, GPIOTE30); | ||
| 500 | impl_gpiote_pin!(P0_06, GPIOTE30); | ||
| 501 | |||
| 502 | impl_gpiote_pin!(P1_00, GPIOTE20); | ||
| 503 | impl_gpiote_pin!(P1_01, GPIOTE20); | ||
| 504 | impl_gpiote_pin!(P1_02, GPIOTE20); | ||
| 505 | impl_gpiote_pin!(P1_03, GPIOTE20); | ||
| 506 | impl_gpiote_pin!(P1_04, GPIOTE20); | ||
| 507 | impl_gpiote_pin!(P1_05, GPIOTE20); | ||
| 508 | impl_gpiote_pin!(P1_06, GPIOTE20); | ||
| 509 | impl_gpiote_pin!(P1_07, GPIOTE20); | ||
| 510 | impl_gpiote_pin!(P1_08, GPIOTE20); | ||
| 511 | impl_gpiote_pin!(P1_09, GPIOTE20); | ||
| 512 | impl_gpiote_pin!(P1_10, GPIOTE20); | ||
| 513 | impl_gpiote_pin!(P1_11, GPIOTE20); | ||
| 514 | impl_gpiote_pin!(P1_12, GPIOTE20); | ||
| 515 | impl_gpiote_pin!(P1_13, GPIOTE20); | ||
| 516 | impl_gpiote_pin!(P1_14, GPIOTE20); | ||
| 517 | impl_gpiote_pin!(P1_15, GPIOTE20); | ||
| 518 | impl_gpiote_pin!(P1_16, GPIOTE20); | ||
| 519 | } | ||
| 520 | } | ||
| 521 | |||
| 438 | impl_rtc!(RTC10, RTC10, RTC10); | 522 | impl_rtc!(RTC10, RTC10, RTC10); |
| 439 | impl_rtc!(RTC30, RTC30, RTC30); | 523 | impl_rtc!(RTC30, RTC30, RTC30); |
| 440 | 524 | ||
| @@ -454,6 +538,9 @@ impl_ppi_channel!(PPI00_CH5, DPPIC00, 5 => configurable); | |||
| 454 | impl_ppi_channel!(PPI00_CH6, DPPIC00, 6 => configurable); | 538 | impl_ppi_channel!(PPI00_CH6, DPPIC00, 6 => configurable); |
| 455 | impl_ppi_channel!(PPI00_CH7, DPPIC00, 7 => configurable); | 539 | impl_ppi_channel!(PPI00_CH7, DPPIC00, 7 => configurable); |
| 456 | 540 | ||
| 541 | // DPPI10 channels | ||
| 542 | impl_ppi_channel!(PPI10_CH0, DPPIC10, 0 => static); | ||
| 543 | |||
| 457 | // DPPI20 channels | 544 | // DPPI20 channels |
| 458 | impl_ppi_channel!(PPI20_CH0, DPPIC20, 0 => configurable); | 545 | impl_ppi_channel!(PPI20_CH0, DPPIC20, 0 => configurable); |
| 459 | impl_ppi_channel!(PPI20_CH1, DPPIC20, 1 => configurable); | 546 | impl_ppi_channel!(PPI20_CH1, DPPIC20, 1 => configurable); |
| @@ -482,6 +569,9 @@ impl_ppi_channel!(PPI30_CH3, DPPIC30, 3 => configurable); | |||
| 482 | impl_ppi_group!(PPI00_GROUP0, DPPIC00, 0); | 569 | impl_ppi_group!(PPI00_GROUP0, DPPIC00, 0); |
| 483 | impl_ppi_group!(PPI00_GROUP1, DPPIC00, 1); | 570 | impl_ppi_group!(PPI00_GROUP1, DPPIC00, 1); |
| 484 | 571 | ||
| 572 | // DPPI10 groups | ||
| 573 | impl_ppi_group!(PPI10_GROUP0, DPPIC10, 0); | ||
| 574 | |||
| 485 | // DPPI20 groups | 575 | // DPPI20 groups |
| 486 | impl_ppi_group!(PPI20_GROUP0, DPPIC20, 0); | 576 | impl_ppi_group!(PPI20_GROUP0, DPPIC20, 0); |
| 487 | impl_ppi_group!(PPI20_GROUP1, DPPIC20, 1); | 577 | impl_ppi_group!(PPI20_GROUP1, DPPIC20, 1); |
| @@ -494,9 +584,6 @@ impl_ppi_group!(PPI20_GROUP5, DPPIC20, 5); | |||
| 494 | impl_ppi_group!(PPI30_GROUP0, DPPIC30, 0); | 584 | impl_ppi_group!(PPI30_GROUP0, DPPIC30, 0); |
| 495 | impl_ppi_group!(PPI30_GROUP1, DPPIC30, 1); | 585 | impl_ppi_group!(PPI30_GROUP1, DPPIC30, 1); |
| 496 | 586 | ||
| 497 | // impl_ppi_channel!(PPI10_CH0, pac::DPPIC10, 0 => static); | ||
| 498 | // impl_ppi_group!(PPI10_GROUP0, pac::DPPIC10, 0); | ||
| 499 | |||
| 500 | impl_timer!(TIMER00, TIMER00, TIMER00); | 587 | impl_timer!(TIMER00, TIMER00, TIMER00); |
| 501 | impl_timer!(TIMER10, TIMER10, TIMER10); | 588 | impl_timer!(TIMER10, TIMER10, TIMER10); |
| 502 | impl_timer!(TIMER20, TIMER20, TIMER20); | 589 | impl_timer!(TIMER20, TIMER20, TIMER20); |
diff --git a/embassy-nrf/src/gpiote.rs b/embassy-nrf/src/gpiote.rs index 54afb9823..91944d8cd 100644 --- a/embassy-nrf/src/gpiote.rs +++ b/embassy-nrf/src/gpiote.rs | |||
| @@ -713,9 +713,7 @@ cfg_if::cfg_if! { | |||
| 713 | 713 | ||
| 714 | macro_rules! impl_gpiote_pin { | 714 | macro_rules! impl_gpiote_pin { |
| 715 | ($type:ident, $inst:ident) => { | 715 | ($type:ident, $inst:ident) => { |
| 716 | #[cfg(feature = "gpiote")] | ||
| 717 | impl crate::gpiote::SealedGpiotePin for peripherals::$type {} | 716 | impl crate::gpiote::SealedGpiotePin for peripherals::$type {} |
| 718 | #[cfg(feature = "gpiote")] | ||
| 719 | impl crate::gpiote::GpiotePin for peripherals::$type { | 717 | impl crate::gpiote::GpiotePin for peripherals::$type { |
| 720 | type Instance = peripherals::$inst; | 718 | type Instance = peripherals::$inst; |
| 721 | } | 719 | } |
