DPPI GPIOTE -> GRTC TASK_CLEAR not working

Hi,

I'm trying to perform some measurements on two nRF54L15DK boards and would need to reset both their SYSCOUNTERs at the exact same time. I thought DPPI would be perfect for that so I tried to set up GPIOTE P1.08 (Button 2) to trigger GRTC TASK_CLEAR, but it is not working. The endpoints are setup like this:

nrfx_gppi_channel_endpoints_setup(
    button_ppi_channel,
    nrfx_gpiote_in_event_address_get(&gpiote_inst,
                                     NRF_PIN_PORT_TO_PIN_NUMBER(8, 1)),
    nrfx_grtc_task_address_get(NRF_GRTC_TASK_CLEAR));

This didn't work so I tried replacing the GRTC task with another GPIOTE task and this worked:

nrfx_gppi_channel_endpoints_setup(
    button_ppi_channel,
    nrfx_gpiote_in_event_address_get(&gpiote_inst,
                                     NRF_PIN_PORT_TO_PIN_NUMBER(8, 1)),
    nrfx_gpiote_out_task_address_get(&gpiote_inst,
                                     NRF_PIN_PORT_TO_PIN_NUMBER(10, 1)));

I also tried simply writing to NRF_GRTC->TASKS_CLEAR and that also worked and cleared the SYSCOUNTER. Why then, would the DPPI config not work?

Thank you and best regards,
Sašo

Related