2

Neaded your help on lirc. I want to use lirc for decoding of ir signals. I am using a custom board based on Cortex A8 with 2.6.37 kernel and IR is received thru’ serial port. I can see UART interrupts coming properly when I press the button of the IR remote.

But when I try to run the configure script with device=all or device=serial and run make and make install as mentioned in the installation page on lirc.org, It sends me an error that the kernel configuration is invalid.

But still I am able to generate the .ko files(lirc_dev and lirc_serial) needed for loading the kernel modules but not able to insert lirc_serial module as I am using a port having mmio and the port used by lirc is io mapped. My virtual adddress is 0xfa022000 and physical address is 0x48022000(using ttyO1). Can I use lirc for this address. Do I need to make any change in the code? Also I cannot install directly on the board I am using as I could not build the kernel source code on the board due to minimal things present on the board.So am running the setup on some other machine and cross compiling for arm. So I could not have the configuration files placed at the right locations also the node(/dev/lirc0) is not made. Shall I make the node manually or will inserting the modules do the work? Also do I need to have the configuration files at proper location before inserting the modules? Also does it have any dependency with the kernel version? Please suggest me the steps for cross compiling and loading the kernel modules on my own and also let me know which all conf files or other files are required to be present for making the things work. I would really be very thankful to you for the help. I have been trying it for the past 2 weeks. Regards Harman.

1 Answers1

0

/dev/lirc0 should be created automatically if lirc_serial is loaded successfully. If it's not created, module was not loaded correctly.

lirc_serial does work with mmio - see 'iommap' module's param. You'll need to set it to 1 for mmio to work.

You'll also need to use 'io' and 'irq' params to setup your address and irq.

I'm using UDOO board with Cortex A9 CPU and could get my mmio and irq information from /proc/tty/driver/IMX-uart.

My kernel is newer though - it's 3.0.35 and I'm not sure if all of that will work in your case.

I was eventually able to load lirc_serial, but it still didn't work, so I had to connect my IR receiver directly to GPIO and write my own kernel driver based on lirc_rpi to make it working: http://funny-embeddings.blogspot.com/2013/12/udoo-adding-ir-and-building-lirc-kernel.html

Oleg Gryb
  • 5,122
  • 1
  • 28
  • 40