|
54 | 54 | #endif /* defined(DPPI_PRESENT) */ |
55 | 55 | #endif /* defined(CONFIG_BT_LL_SW_SPLIT) */ |
56 | 56 |
|
| 57 | +#if defined(CONFIG_BT_LL_SOFTDEVICE) |
| 58 | +#include <sdc_soc.h> |
| 59 | +#if defined(NRF52_SERIES) |
| 60 | +#define NRFX_PPI_CHANNELS_USED_BY_BT_CTLR SDC_PPI_CHANNELS_USED_MASK |
| 61 | +#elif defined(NRF53_SERIES) |
| 62 | +#define NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR SDC_DPPI_CHANNELS_USED_MASK |
| 63 | +#elif defined(NRF54L_SERIES) |
| 64 | +#define NRFX_DPPI10_CHANNELS_USED_BY_BT_CTLR SDC_DPPIC10_CHANNELS_USED_MASK |
| 65 | +#define NRFX_DPPI00_CHANNELS_USED_BY_BT_CTLR SDC_DPPIC00_CHANNELS_USED_MASK |
| 66 | +#define NRFX_PPIB_00_10_CHANNELS_USED_BY_BT_CTLR \ |
| 67 | + (SDC_PPIB00_CHANNELS_USED_MASK | SDC_PPIB10_CHANNELS_USED_MASK) |
| 68 | +#elif defined(NRF54H_SERIES) |
| 69 | +#define NRFX_DPPI020_CHANNELS_USED_BY_BT_CTLR SDC_DPPIC020_CHANNELS_USED_MASK |
| 70 | +#define NRFX_DPPI030_CHANNELS_USED_BY_BT_CTLR SDC_DPPIC030_CHANNELS_USED_MASK |
| 71 | +#define NRFX_PPIB_020_030_CHANNELS_USED_BY_BT_CTLR \ |
| 72 | + (SDC_PPIB020_CHANNELS_USED_MASK | SDC_PPIB030_CHANNELS_USED_MASK) |
| 73 | +#else |
| 74 | +#error Unsupported chip family |
| 75 | +#endif |
| 76 | +#endif /* defined(CONFIG_BT_LL_SOFTDEVICE) */ |
| 77 | + |
57 | 78 | #if defined(CONFIG_NRF_802154_RADIO_DRIVER) |
58 | 79 | #if defined(NRF52_SERIES) |
59 | 80 | #include <../src/nrf_802154_peripherals_nrf52.h> |
|
76 | 97 | #endif |
77 | 98 | #endif /* CONFIG_NRF_802154_RADIO_DRIVER */ |
78 | 99 |
|
| 100 | +#if defined(CONFIG_MPSL) |
| 101 | +#include <mpsl.h> |
| 102 | +#if defined(NRF52_SERIES) |
| 103 | +#define NRFX_PPI_CHANNELS_USED_BY_MPSL MPSL_PPI_CHANNELS_USED_MASK |
| 104 | +#elif defined(NRF53_SERIES) |
| 105 | +#define NRFX_DPPI0_CHANNELS_USED_BY_MPSL MPSL_DPPIC_CHANNELS_USED_MASK |
| 106 | +#elif defined(NRF54L_SERIES) |
| 107 | +#define NRFX_DPPI10_CHANNELS_USED_BY_MPSL MPSL_DPPIC10_CHANNELS_USED_MASK |
| 108 | +#define NRFX_DPPI20_CHANNELS_USED_BY_MPSL MPSL_DPPIC20_CHANNELS_USED_MASK |
| 109 | +#define NRFX_PPIB_11_21_CHANNELS_USED_BY_MPSL \ |
| 110 | + (MPSL_PPIB11_CHANNELS_USED_MASK | MPSL_PPIB21_CHANNELS_USED_MASK) |
| 111 | +#elif defined(NRF54H_SERIES) |
| 112 | +#define NRFX_DPPI020_CHANNELS_USED_BY_MPSL MPSL_DPPIC020_CHANNELS_USED_MASK |
| 113 | +#else |
| 114 | +#error Unsupported chip family |
| 115 | +#endif |
| 116 | +#endif |
| 117 | + |
79 | 118 | #ifndef NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR |
80 | 119 | #define NRFX_DPPI0_CHANNELS_USED_BY_BT_CTLR 0 |
81 | 120 | #endif |
|
452 | 491 | #define NRFX_PPIB_020_030_CHANNELS_USED_BY_MPSL 0 |
453 | 492 | #endif |
454 | 493 |
|
| 494 | +#if defined(NRF_802154_VERIFY_PERIPHS_ALLOC_AGAINST_MPSL) |
| 495 | + |
| 496 | +BUILD_ASSERT((NRFX_DPPI0_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI0_CHANNELS_USED_BY_MPSL) == 0, |
| 497 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 498 | + "assigned to the MPSL."); |
| 499 | + |
| 500 | +BUILD_ASSERT((NRFX_DPPI0_GROUPS_USED_BY_802154_DRV & NRFX_DPPI0_GROUPS_USED_BY_MPSL) == 0, |
| 501 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 502 | + "assigned to the MPSL."); |
| 503 | + |
| 504 | +BUILD_ASSERT((NRFX_DPPI00_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI00_CHANNELS_USED_BY_MPSL) == 0, |
| 505 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 506 | + "assigned to the MPSL."); |
| 507 | + |
| 508 | +BUILD_ASSERT((NRFX_DPPI00_GROUPS_USED_BY_802154_DRV & NRFX_DPPI00_GROUPS_USED_BY_MPSL) == 0, |
| 509 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 510 | + "assigned to the MPSL."); |
| 511 | + |
| 512 | +BUILD_ASSERT((NRFX_DPPI10_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI10_CHANNELS_USED_BY_MPSL) == 0, |
| 513 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 514 | + "assigned to the MPSL."); |
| 515 | + |
| 516 | +BUILD_ASSERT((NRFX_DPPI10_GROUPS_USED_BY_802154_DRV & NRFX_DPPI10_GROUPS_USED_BY_MPSL) == 0, |
| 517 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 518 | + "assigned to the MPSL."); |
| 519 | + |
| 520 | +BUILD_ASSERT((NRFX_DPPI20_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI20_CHANNELS_USED_BY_MPSL) == 0, |
| 521 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 522 | + "assigned to the MPSL."); |
| 523 | + |
| 524 | +BUILD_ASSERT((NRFX_DPPI20_GROUPS_USED_BY_802154_DRV & NRFX_DPPI20_GROUPS_USED_BY_MPSL) == 0, |
| 525 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 526 | + "assigned to the MPSL."); |
| 527 | + |
| 528 | +BUILD_ASSERT((NRFX_DPPI30_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI30_CHANNELS_USED_BY_MPSL) == 0, |
| 529 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 530 | + "assigned to the MPSL."); |
| 531 | + |
| 532 | +BUILD_ASSERT((NRFX_DPPI30_GROUPS_USED_BY_802154_DRV & NRFX_DPPI30_GROUPS_USED_BY_MPSL) == 0, |
| 533 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 534 | + "assigned to the MPSL."); |
| 535 | + |
| 536 | +BUILD_ASSERT((NRFX_DPPI020_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI020_CHANNELS_USED_BY_MPSL) == 0, |
| 537 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 538 | + "assigned to the MPSL."); |
| 539 | + |
| 540 | +BUILD_ASSERT((NRFX_DPPI020_GROUPS_USED_BY_802154_DRV & NRFX_DPPI020_GROUPS_USED_BY_MPSL) == 0, |
| 541 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 542 | + "assigned to the MPSL."); |
| 543 | + |
| 544 | +BUILD_ASSERT((NRFX_DPPI030_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI030_CHANNELS_USED_BY_MPSL) == 0, |
| 545 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 546 | + "assigned to the MPSL."); |
| 547 | + |
| 548 | +BUILD_ASSERT((NRFX_DPPI030_GROUPS_USED_BY_802154_DRV & NRFX_DPPI030_GROUPS_USED_BY_MPSL) == 0, |
| 549 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 550 | + "assigned to the MPSL."); |
| 551 | + |
| 552 | +BUILD_ASSERT((NRFX_DPPI120_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI120_CHANNELS_USED_BY_MPSL) == 0, |
| 553 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 554 | + "assigned to the MPSL."); |
| 555 | + |
| 556 | +BUILD_ASSERT((NRFX_DPPI120_GROUPS_USED_BY_802154_DRV & NRFX_DPPI120_GROUPS_USED_BY_MPSL) == 0, |
| 557 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 558 | + "assigned to the MPSL."); |
| 559 | + |
| 560 | +BUILD_ASSERT((NRFX_DPPI130_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI130_CHANNELS_USED_BY_MPSL) == 0, |
| 561 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 562 | + "assigned to the MPSL."); |
| 563 | + |
| 564 | +BUILD_ASSERT((NRFX_DPPI130_GROUPS_USED_BY_802154_DRV & NRFX_DPPI130_GROUPS_USED_BY_MPSL) == 0, |
| 565 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 566 | + "assigned to the MPSL."); |
| 567 | + |
| 568 | +BUILD_ASSERT((NRFX_DPPI131_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI131_CHANNELS_USED_BY_MPSL) == 0, |
| 569 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 570 | + "assigned to the MPSL."); |
| 571 | + |
| 572 | +BUILD_ASSERT((NRFX_DPPI131_GROUPS_USED_BY_802154_DRV & NRFX_DPPI131_GROUPS_USED_BY_MPSL) == 0, |
| 573 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 574 | + "assigned to the MPSL."); |
| 575 | + |
| 576 | +BUILD_ASSERT((NRFX_DPPI132_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI132_CHANNELS_USED_BY_MPSL) == 0, |
| 577 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 578 | + "assigned to the MPSL."); |
| 579 | + |
| 580 | +BUILD_ASSERT((NRFX_DPPI132_GROUPS_USED_BY_802154_DRV & NRFX_DPPI132_GROUPS_USED_BY_MPSL) == 0, |
| 581 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 582 | + "assigned to the MPSL."); |
| 583 | + |
| 584 | +BUILD_ASSERT((NRFX_DPPI133_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI133_CHANNELS_USED_BY_MPSL) == 0, |
| 585 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 586 | + "assigned to the MPSL."); |
| 587 | + |
| 588 | +BUILD_ASSERT((NRFX_DPPI133_GROUPS_USED_BY_802154_DRV & NRFX_DPPI133_GROUPS_USED_BY_MPSL) == 0, |
| 589 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 590 | + "assigned to the MPSL."); |
| 591 | + |
| 592 | +BUILD_ASSERT((NRFX_DPPI134_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI134_CHANNELS_USED_BY_MPSL) == 0, |
| 593 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 594 | + "assigned to the MPSL."); |
| 595 | + |
| 596 | +BUILD_ASSERT((NRFX_DPPI134_GROUPS_USED_BY_802154_DRV & NRFX_DPPI134_GROUPS_USED_BY_MPSL) == 0, |
| 597 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 598 | + "assigned to the MPSL."); |
| 599 | + |
| 600 | +BUILD_ASSERT((NRFX_DPPI135_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI135_CHANNELS_USED_BY_MPSL) == 0, |
| 601 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 602 | + "assigned to the MPSL."); |
| 603 | + |
| 604 | +BUILD_ASSERT((NRFX_DPPI135_GROUPS_USED_BY_802154_DRV & NRFX_DPPI135_GROUPS_USED_BY_MPSL) == 0, |
| 605 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 606 | + "assigned to the MPSL."); |
| 607 | + |
| 608 | +BUILD_ASSERT((NRFX_DPPI136_CHANNELS_USED_BY_802154_DRV & NRFX_DPPI136_CHANNELS_USED_BY_MPSL) == 0, |
| 609 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 610 | + "assigned to the MPSL."); |
| 611 | + |
| 612 | +BUILD_ASSERT((NRFX_DPPI136_GROUPS_USED_BY_802154_DRV & NRFX_DPPI136_GROUPS_USED_BY_MPSL) == 0, |
| 613 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 614 | + "assigned to the MPSL."); |
| 615 | + |
| 616 | +BUILD_ASSERT((NRFX_PPI_CHANNELS_USED_BY_802154_DRV & NRFX_PPI_CHANNELS_USED_BY_MPSL) == 0, |
| 617 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 618 | + "assigned to the MPSL."); |
| 619 | + |
| 620 | +BUILD_ASSERT((NRFX_PPI_GROUPS_USED_BY_802154_DRV & NRFX_PPI_GROUPS_USED_BY_MPSL) == 0, |
| 621 | + "PPI groups used by the IEEE802.15.4 radio driver overlap with those " |
| 622 | + "assigned to the MPSL."); |
| 623 | + |
| 624 | +BUILD_ASSERT((NRFX_PPIB_00_10_CHANNELS_USED_BY_802154_DRV & |
| 625 | + NRFX_PPIB_00_10_CHANNELS_USED_BY_MPSL) == 0, |
| 626 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 627 | + "assigned to the MPSL."); |
| 628 | + |
| 629 | +BUILD_ASSERT((NRFX_PPIB_01_20_CHANNELS_USED_BY_802154_DRV & |
| 630 | + NRFX_PPIB_01_20_CHANNELS_USED_BY_MPSL) == 0, |
| 631 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 632 | + "assigned to the MPSL."); |
| 633 | + |
| 634 | +BUILD_ASSERT((NRFX_PPIB_11_21_CHANNELS_USED_BY_802154_DRV & |
| 635 | + NRFX_PPIB_11_21_CHANNELS_USED_BY_MPSL) == 0, |
| 636 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 637 | + "assigned to the MPSL."); |
| 638 | + |
| 639 | +BUILD_ASSERT((NRFX_PPIB_22_30_CHANNELS_USED_BY_802154_DRV & |
| 640 | + NRFX_PPIB_22_30_CHANNELS_USED_BY_MPSL) == 0, |
| 641 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 642 | + "assigned to the MPSL."); |
| 643 | + |
| 644 | +BUILD_ASSERT((NRFX_PPIB_02_03_CHANNELS_USED_BY_802154_DRV & |
| 645 | + NRFX_PPIB_02_03_CHANNELS_USED_BY_MPSL) == 0, |
| 646 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 647 | + "assigned to the MPSL."); |
| 648 | + |
| 649 | +BUILD_ASSERT((NRFX_PPIB_04_12_CHANNELS_USED_BY_802154_DRV & |
| 650 | + NRFX_PPIB_04_12_CHANNELS_USED_BY_MPSL) == 0, |
| 651 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 652 | + "assigned to the MPSL."); |
| 653 | + |
| 654 | +BUILD_ASSERT((NRFX_PPIB_020_030_CHANNELS_USED_BY_802154_DRV & |
| 655 | + NRFX_PPIB_020_030_CHANNELS_USED_BY_MPSL) == 0, |
| 656 | + "PPI channels used by the IEEE802.15.4 radio driver overlap with those " |
| 657 | + "assigned to the MPSL."); |
| 658 | + |
| 659 | +#endif /* NRF_802154_VERIFY_PERIPHS_ALLOC_AGAINST_MPSL */ |
| 660 | + |
455 | 661 | /** @brief Bitmask that defines DPPI channels that are reserved for use outside |
456 | 662 | * of the nrfx library. |
457 | 663 | */ |
|
0 commit comments