1212#include <stdbool.h>
1313#include "time_machine_if.h"
1414#include "NRF_HW_model_top.h"
15+ #if defined(PPI_PRESENT )
1516#include "NRF_PPI.h"
17+ #elif defined(DPPI_PRESENT )
18+ #include "NRF_DPPI.h"
19+ #endif
1620#include "irq_ctrl.h"
1721#include "irq_sources.h"
1822#include "bs_tracing.h"
@@ -40,7 +44,16 @@ static int nrf_aar_resolve(int *good_irk);
4044
4145static void signal_EVENTS_END (){
4246 NRF_AAR_regs .EVENTS_END = 1 ;
47+
48+ #if !defined(DPPI_PRESENT )
4349 nrf_ppi_event (AAR_EVENTS_END );
50+ #else
51+ if (NRF_AAR_regs .PUBLISH_END & AAR_PUBLISH_END_EN_Msk )
52+ {
53+ uint8_t channel = NRF_AAR_regs .PUBLISH_END & AAR_PUBLISH_END_CHIDX_Msk ;
54+ nrf_dppi_publish (channel );
55+ }
56+ #endif
4457
4558 if (AAR_INTEN & AAR_INTENSET_END_Msk ){
4659 hw_irq_ctrl_set_irq (NRF5_IRQ_CCM_AAR_IRQn );
@@ -49,7 +62,16 @@ static void signal_EVENTS_END(){
4962
5063static void signal_EVENTS_RESOLVED (){
5164 NRF_AAR_regs .EVENTS_RESOLVED = 1 ;
65+
66+ #if !defined(DPPI_PRESENT )
5267 nrf_ppi_event (AAR_EVENTS_RESOLVED );
68+ #else
69+ if (NRF_AAR_regs .PUBLISH_RESOLVED & AAR_PUBLISH_RESOLVED_EN_Msk )
70+ {
71+ uint8_t channel = NRF_AAR_regs .PUBLISH_RESOLVED & AAR_PUBLISH_RESOLVED_CHIDX_Msk ;
72+ nrf_dppi_publish (channel );
73+ }
74+ #endif
5375
5476 if (AAR_INTEN & AAR_INTENCLR_RESOLVED_Msk ){
5577 hw_irq_ctrl_set_irq (NRF5_IRQ_CCM_AAR_IRQn );
@@ -58,7 +80,16 @@ static void signal_EVENTS_RESOLVED(){
5880
5981static void signal_EVENTS_NOTRESOLVED (){
6082 NRF_AAR_regs .EVENTS_NOTRESOLVED = 1 ;
83+
84+ #if !defined(DPPI_PRESENT )
6185 nrf_ppi_event (AAR_EVENTS_NOTRESOLVED );
86+ #else
87+ if (NRF_AAR_regs .PUBLISH_NOTRESOLVED & AAR_PUBLISH_NOTRESOLVED_EN_Msk )
88+ {
89+ uint8_t channel = NRF_AAR_regs .PUBLISH_NOTRESOLVED & AAR_PUBLISH_NOTRESOLVED_CHIDX_Msk ;
90+ nrf_dppi_publish (channel );
91+ }
92+ #endif
6293
6394 if (AAR_INTEN & AAR_INTENCLR_NOTRESOLVED_Msk ){
6495 hw_irq_ctrl_set_irq (NRF5_IRQ_CCM_AAR_IRQn );
0 commit comments