This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM62x GPIO interrupt not working on qnx

Hi,

I am trying to generate an interrupt on my AM62x EVM board on the MCU GPIO 15 pin on a QNX OS.

I referred the MCU+SDK code. I tried the exact values on my board and I still don't have an interrupt.

I need some support in figuring out if I missed any steps or I am doing anything wrong.

These are the steps I followed:

1.set the PINMUX as per the Sys config tool. I set (AM62X_CTRLMMR_PADCONFIG + PIN_MCU_MCAN1_TX) which is address  (0xF4000 + 0x003C)  to   ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION)) | PIN_MODE(7))

2.set the dir register to input. Address: 0x4201010 value: 8000
3.set the rising edge trig. Address: 0x4201024 value: 8000
4.set the binten. Address: 0x4201008 value: 8000
(I was able to glow an LED at MCU port 15 with these register addresses)

5.call the tisci client with these params: (it returns ACK)

rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_ID_VALID;
rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_HOST_IRQ_VALID;
rmIrqReq.global_event = 0U;
rmIrqReq.src_id = 5U;
rmIrqReq.src_index = 15U;
rmIrqReq.dst_id = 5U;
rmIrqReq.dst_host_irq = 0U;
rmIrqReq.ia_id = 0U;
rmIrqReq.vint = 0U;
rmIrqReq.vint_status_bit_index = 0U;
rmIrqReq.secondary_host = TISCI_MSG_VALUE_RM_UNUSED_SECONDARY_HOST;


6.call the gic_v3_set_intr_trig_mode(104, 0);

7.Attached a process to interrupt number 104.(this process works for timer tick interrupt)

8.Then gave a high value at the mcu gpio pin15.

There is no sign of any interrupt.

I tried reading the register GPIO_IN_DATA01 register when I give high value on GPIO pin 15 and I dont see a high value there. My doubt is If the address or value I used while configuring the interrupt is wrong.

Please let me know if these are the steps to be followed. And if any of these values seems wrong.