On Tue, Oct 14, 2014 at 4:46 PM, William Lear <wrl...@gmail.com> wrote:
> 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).

This is on 3.14 (note the &gpioX index was one off in v3.8.x)

https://github.com/RobertCNelson/dtb-rebuilder/blob/3.14-ti/src/arm/am335x-bone-bbb-exp-c.dtsi#L50

Regards,

-- 
Robert Nelson
http://www.rcn-ee.com/

-- 
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 beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to