Part Number: AM4376
Other Parts Discussed in Thread: AM4372, AMIC120, TPS65218, AM4378
I am using an AM4376 on a custom board, booting and Arago Linux image. I have created a Device Tree, base on the DTSI output from the online pinmux tool, that maps the NMI pin as the default, here is the DTS snippet:
&am43xx_pinmux {
arm1_pins_default: arm1_pins_default {
pinctrl-single,pins = <
AM4372_IOPAD(0xa84, PIN_INPUT | MUX_MODE0) /* (G25) EXTINTn.nNMI */
>;
};
I am creating a Linux kernel object and attempting to map an ISR from this pin to an interrupt source using the Linux request_irq() kernel funtion:
int request_irq (unsigned int irq, irq_handler_t handler, unsigned long irqflags, const char * devname, void * dev_id);
From another post it was suggested to use 39 for the value of irq. When I use interrupt 39 I get this message when I load the module:
[63531.897998] genirq: Flags mismatch irq 39. 00000001 (nmi_irq_handler) vs. 00006004 (44e0b000.i2c)
This suggests that I may have mapped an I2C interface to the NMI interrupt number?
I have searched the Tech Reference manual. "AM437x and AMIC120 ARM® Cortex™-A9 Processors Technical Reference Manual" and was able to find a reference to the IRQ number for the NMI.
My question is: For the NMI pin mapped above what is the value of "unsigned int irq" in the request_irq? Can you point me a reference in Arago that may answer this question?
Thanks in advance,
Rob