Enable GPIO IRQ in TFM 1.3 with zephry v2.7.0 on nrf5340DK

I want to enable GPIO IRQ in Trusted firmware-m 1.3 on nrf5340DK. I have TFM 1.3 which comes with zephyr v2.7.0 image flashed to board. followed the steps of https://www.trustedfirmware.org/docs/tech_forum_20210819BriefUpdatesInterruptHandling.pdf and tfm_slih_test_service which has TIMER0 interrupt handler.

Steps1: Assigning the interrupt GPIOTE0 and TIMER0 in secure partition manifest file.

Steps2: Assigning the MMIO region of GPIOTE0 and TIMER0 in secure partition manifest file.

Step3: Enable(psa_irq_enable) for both GPIOTE0,TIMER0 and Start (tfm_plat_test_secure_timer_start) the TIMER0.

Step4: waiting for interrupt SIGNAL defined in secure partition manifest file for GPIOTE0 and TIMER0) using psa_wait(PSA_WAIT_ANY, PSA_BLOCK) in the secure partition source code.

But do not receive any signal for TIMER0 and GPIOTE0.

Q1) at least TIMER0 signal should be received after the timer start?

Q2)Are there any steps i missed to enable IRQ in TFM secure partition?

Q3)Also, for GPIOTE i need to enable IRQ on the particular pin of port0 ex P0.8, How can i know the signal generated for the interrupt is for P0.8?

Q4)In tfm_secure_irq_handling.rst it mentions "it is important the macro name matches the platform's handler function for that IRQ source."

- In case ``source`` is defined IRQ macro, the name of the handler becomes
``void <macro>_Handler(void)``.

I do not understand why we need to have a handler function name matching with IRQ source when we have to wait on psa_wait(PSA_WAIT_ANY, PSA_BLOCK) for IRQ signal?

Thanks

Parents Reply Children
Related