The Ep93xx LIRC driver

As promised, I’m posting a patch here for LIRC to support an IR detector plugged into the EP93xx processor’s IO ports.

To apply the patch you’ll need to be able to build from LIRC’s CVS repository. Grab the latest lirc down and then get this gzipped patch. From there, apply the patch and build lirc. Detailed instructions:

weebox:/home/matthew/build/lirc# zcat ../ep93xx.patch.gz | patch -p1
patching file
patching file drivers/
patching file drivers/lirc_dev/lirc_dev.c
patching file drivers/lirc_ep93xx/
patching file drivers/lirc_ep93xx/lirc_ep93xx.c
patching file
weebox:/home/matthew/build/lirc# ./
processing /home/matthew/build/build/lirc
Running libtoolize...
...lots more output, takes a very long time...
daemons/ installing `./compile'
daemons/ installing `./depcomp'
Running autoconf ...
Creating ...
weebox:/home/matthew/build/lirc# ./
[Choose Driver configuration / Other / EP93xx IO driver]
[Configure the software as you see fit]
[Save configuration & run configure] written by Karsten Scheibler, 1999-JUN-28
If you have problems or questions please consult the mailing list
Configuration: .setup.config, executable shell script:
...lots more output, takes a fair while....
config.status: executing depfiles commands
You will have to use the lirc_ep93xx kernel module.
Now enter 'make' and 'make install' to compile and install the package.
weebox:/home/matthew/build/lirc# make
make  all-recursive
make[1]: Entering directory `/home/matthew/build/lirc'
Making all in drivers
make[2]: Entering directory `/home/matthew/build/lirc/drivers'
Making all in lirc_dev
make[3]: Entering directory `/home/matthew/build/lirc/drivers/lirc_dev'
...lots more stuff...
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/matthew/build/lirc'
make[1]: Leaving directory `/home/matthew/build/lirc'
weebox:/home/matthew/build/lirc# make install
... lots of installation stuff...
weebox:/home/matthew/build/lirc# modprobe lirc_ep93xx
weebox:/home/matthew/build/lirc# mode2
[point remote at detector and press buttons]
pulse 459815
space 3943
pulse 606
space 900
pulse 597
space 1898
pulse 604
...and so on...

The infra-red receiver should be plugged onto IO pin 0 (though this is configurable at module load time). Please let me know how you get on if you try this, I’ll aim to deal with any features needed or bugs found.

Filed under: WeeBox Project
Posted at 14:04:00 BST on 15th July 2006.

About Matt Godbolt

Matt Godbolt is a C++ developer working in Chicago in the finance industry.