Hello! I'm quite new to linux and Open Firmware.
I have a PPC processor. To this I have a Compact Flash connected. The Compact Flash is using external interrupt 0 of the processor. In my DTS file I have specified a Compact Flash node and within it I have an interrupt element: interrupt = <0 2 0 0>; Here I thought the first number was the ID of the interrupt and the second one should be a number indicating how the interrupt is triggered (high, low, raising, falling). The interrupt is active low. But I could not get it to work which ever value I chose. Looking in the code I found this in function __devinit pata_of_platform_probe in file pata_of_platform.c: ret = of_irq_to_resource(dn, 0, &irq_res); if (ret == NO_IRQ) irq_res.start = irq_res.end = 0; else irq_res.flags = 0; Here "flags" will be zero whatever I do in the DTS. As far as I can understand the flags are defined in interrupts.h: #define IRQF_TRIGGER_NONE 0x00000000 #define IRQF_TRIGGER_RISING 0x00000001 #define IRQF_TRIGGER_FALLING 0x00000002 #define IRQF_TRIGGER_HIGH 0x00000004 #define IRQF_TRIGGER_LOW 0x00000008 So modifying the code to: else irq_res.flags = 2; I get it to work. Could someone please explain to me why the "flags" parameter is hardcoded zero or just point in a good direction. Thank you BR Robert _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev