On 02/26/2013 03:01 AM, Javier Martinez Canillas wrote: ... > I was wondering if the level/edge settings for gpios is working on OMAP. ... > Reading the gpio-omap.txt documentation it says that #interrupt-cells > should be <2> and that a value of 8 is "active low level-sensitive". > > So I tried this: > > &gpmc { > ethernet@5,0 { ... > interrupt-parent = <&gpio6>; > interrupts = <16 8>; /* gpio line 176 */ > interrupt-names = "smsc911x irq"; ... > > But in the smsc911x probe function: > > irq_res->flags & IRQF_TRIGGER_MASK; > > returns 0 which means that no trigger flags where set. > > I took a look to the GPIOs device node definition on omap{3,4,5}.dtsi > and all look like this: > > e.g from omap3.dtsi: > > gpio6: gpio@49058000 { ... > #interrupt-cells = <1>; ... > So, even when the documentation says that all the GPIO device nodes in > OMAP2+ should use a #interrupt-cells property value of <2>, they are > only using <1>. Changing that value to 2 makes hangs the kernel and it > does not boot. Take a look at what the OMAP GPIO driver is plugging in for the of_xlate function; does it correctly handle the case where there are two cells? Is there a default for the flags when no second cell is provided, such that when you set #interrupt-cells to <2>, you're changing away from the default and mis-configuring things? And, did you check for any other interrupts hooked through the GPIO module, for which you'll need to add the second cell into their GPIO specifier throughout the entire device tree? -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html