Interrupt is not generating in ADXL345 using 4.9 kernel

I am using 4.9 kernel which is having ADXL34x driver configured as module.
After cross compile i am able to detect the device in kernel but ADXL345 interrupt is not generating.

I made this below changes in device tree. I mapped interrupt 5 of the interrupt controller to adxl345 device.
i could not able to see any interrupt generating while i am rotating the device.

Actually i porting this device externally with the beaglebone black board.

pin configuration of ADXL345 device with the beaglebone black board.

Header Pin ADXL345 Pin
======= === ===========
P-9 17 SCL
P-9 18 SDA
P-9 01 GND
P-9 03 VCC

But i did not map INT1 and INT2 pin of ADXL345 device to any of the pin header of Beaglebone black. but i mapped the interrupt number <5> of Interrupt controller to
ADXL345 in devicetree configuration.

&i2c1 {

adxl345@0 {

compatible = “ti,adxl34x”;
reg = <0x53>
interrupt-parent = <&intc>
interrupts = <5>
};
};

can someone please tell me whether i am following the right procedure or not.
if the procedure is correct then ca someone please tell me why interrupt is not generating.

if the procedure is not correct then can someone please help me on this to how to generate interrupt in ADXL345 device.

Well, try again with INT1 or INT2 routed to a pin..

Regards,

Hi Robert,

Will it be fine if i routed INT1 or INT2 to one of the GPIO pin of the P-9 or P-8 header.

If i will do this before that i have to mux that GPIO pin for input mode.
and same pin info i have to configure in device tree under adxl345 node as mentioned below.
as

interrupt-parent = <&gpio>
interrupts =

could you please suggest whether this is the correct procedure or not what I asked above.
could you please suggest the procedure for mapping the INT1 or INT2 pin to any of the
pin header(P-9 or P-8) of the beaglebone black board.

Please kindly help me on this.
Without this configuration i can not able to collect the X,Y,Z axis data.

Thanks
Prakash

Hi Robert,

Will it be fine if i routed INT1 or INT2 to one of the GPIO pin of the P-9 or P-8 header.

If i will do this before that i have to mux that GPIO pin for input mode.
and same pin info i have to configure in device tree under adxl345 node as mentioned below.
as

interrupt-parent = <&gpio>
interrupts = <gpio pin no>

could you please suggest whether this is the correct procedure or not what I asked above.
could you please suggest the procedure for mapping the INT1 or INT2 pin to any of the
pin header(P-9 or P-8) of the beaglebone black board.

You can map it to any un-used pin, as long as you specifiy it..

Please kindly help me on this.
Without this configuration i can not able to collect the X,Y,Z axis data.

That's incorrect, you can always "poll" the data.. It's not IRQ
driven, so it's not as efficient..

Regards,

I don't have an adxl345, you got to ping the list: beagleboard@googlegroups.com

Regards,

For me device pin mapping is done using breddboard to P-9 header of the Beaglebone Black.
I am able to detect the device but while rotating the device i am not getting the X,Y,Z co-ordinate.
Even register update also not happening.

I am trying to read the DATA_READY bit of INT_SOURCE register inside the ISR routine to collect the data of X,Y,Z axis but ISR routine is not calling.

For ISR should run is it required to map INT1 or INT2 pin of ADXL345 from breadboard to any of the pin of the P-9 header so that CPU will get notified and call the device ISR for run.

Can someone please help me on this.

Hi Robert,

I did mapping the INT1 pin one of the GPIO pin of the BBB now it is working fine.ISR is called and i am able to collect the
X,Y,Z axis data from device.