I am writing a device tree overlay file for a custom cape containing a 
touchscreen , and am having problems mapping a GPIO line as an interrupt to 
be handled by a device driver.
I cannot get interrupt pulses on my GPIO line to invoke the ISR in the 
device driver.

I have reached the limits of my BBB debug capabilities - I'm looking for 
any suggestions about how to find
the disconnect  between the pin and the ISR.

Thanks,
Bill
-------------------------
What I have so far:
My .dts file compiles, is loaded, configures the pins. the driver maps its 
ISR to the IRQ obtained from devm_request_threaded_irq(), 
and I have verified with a scope that the hardware is generating Interrupt 
requests on the correct pin.

The applicable fragments from my overlay are:

    fragment@0 {
        target = <&am33xx_pinmux>;
        __overlay__ {
                pinctrl-single,pins = <
                    0x90 0x37      /* INT   gpio2_2,     MODE7, INPUT, 
PULLUP */
                    0x44 0x17      /* RESET gpio1_17,    MODE7, OUTPUT, 
PULLUP */
               >;
         };
    };

    fragment@1{
        target = <&i2c2>;
        __overlay__ {
            #address-cells = <1>;
            #size-cells = <0>;
            status = "okay";

            /* Capacitive Touch Panel */
            edt_ft5x06@38 {
                status = "okay";
                compatible = "edt,edt-ft5x06";
                /*compatible = "ft5x0x_ts";*/
                pinctrl-names = "default";
                pinctrl-0 = <&pharm_ctp_pins>;
                
                reg = <0x38>;
                interrupt-parent = <&gpio2>;
                interrupts = <2 1>;
                
                reset-gpios = <&gpio1 17 1>;
                
                touchscreen-size-x = <480>;
                touchscreen-size-y = <272>;
            };
         };
    };

The pins are properly configured as confirmed by 
/sys/kernel/debug/pinctrl/44e10800.pinmux/*
Debug prints in the driver confirms its probe function runs cleanly, and 
the ISR is never called.
/proc/interrupts confirms that an IRQ is assigned as GPIO to the driver 
(with either compatible driver).



-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to