Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
778 Views

how to write a costum gpio interrupt driver

I want to write a custom gpio interrupt driver. I just want to trigger the led in interrup handle function. 

In my probe function I register interrupt and initial the registers. 

I can see the interrupt number in /proc/interrupt after booting.  

Like below 

197: 0 0 GIC gpio_key 

but the interrupt handle function nerver execute. 

What is the problem with the driver?
0 Kudos
5 Replies
Altera_Forum
Honored Contributor I
63 Views

Altera_Forum
Honored Contributor I
63 Views

Thanks in advance. 

I'm having trouble compiling my custom device driver. I'm using the 14.1 tools.  

 

My compiled linux is in /home/user1/linux-socfpga  

My cross compiler is in /home/user1/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_linux/bin/arm-linux-gnueabihf- 

 

My device driver is in /home/user1/newDriver 

 

I'VE TRIED LOTS OF THINGS - and googled for a few hours  

 

One was -- from the newDriver directory I tried: 

# ] make ARCH=arm CROSS_COMPILE=/home/user1/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_linux/bin/arm-linux-gnueabihf- KERNEL_SRC=/home/user1/linux-socfpga 

 

IT TRIES BUT CAN'T FIND the kernel header files. 

 

Any help would be greatly appreicated.
Altera_Forum
Honored Contributor I
63 Views

 

--- Quote Start ---  

Thanks in advance. 

I'm having trouble compiling my custom device driver. I'm using the 14.1 tools.  

 

My compiled linux is in /home/user1/linux-socfpga  

My cross compiler is in /home/user1/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_linux/bin/arm-linux-gnueabihf- 

 

My device driver is in /home/user1/newDriver 

 

I'VE TRIED LOTS OF THINGS - and googled for a few hours  

 

One was -- from the newDriver directory I tried:# ] make ARCH=arm CROSS_COMPILE=/home/user1/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_linux/bin/arm-linux-gnueabihf- KERNEL_SRC=/home/user1/linux-socfpga 

 

IT TRIES BUT CAN'T FIND the kernel header files. 

 

Any help would be greatly appreicated. 

--- Quote End ---  

 

 

SOLUTION: Here is the Makefile 

 

 

KERNEL_DIR=/home/user1/linux-socfpga 

obj-m := testDriver.o 

PWD := $(shell pwd) 

default: 

$(MAKE) M=$(PWD) ARCH=arm CROSS_COMPILE=/home/user1/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_linux/bin/arm-linux-gnueabihf- -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules 

clean: 

$(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) clean
Altera_Forum
Honored Contributor I
63 Views

Hey jpe1313, 

 

Can you please specify what is the content of your linux-socfpga? 

Is this : 

 

http://git.rocketboards.org/linux-socfpga.git
Altera_Forum
Honored Contributor I
63 Views

Yes, it is. There are instructions on how to get your Linux release and tools. 

 

http://www.rocketboards.org/foswiki/documentation/gsrd141compilinglinux 

 

and if you want to checkout a different kernel follow these instructions --> 

 

http://rocketboards.org/foswiki/documentation/alterasocltsirtkernel  

 

Hope that helps.
Reply