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.