[media] fintek-cir: new driver for Fintek LPC SuperIO CIR function
authorJarod Wilson <jarod@redhat.com>
Wed, 25 May 2011 16:35:13 +0000 (13:35 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 25 May 2011 23:07:58 +0000 (20:07 -0300)
commit9bdc79ea07d98386b72e1b6b1613742556fba3af
treecc04b731412592284729e57c78333009e7ccc465
parent8a65a9485832f90e18e2f7069b75a4181e2840c0
[media] fintek-cir: new driver for Fintek LPC SuperIO CIR function

This is a new driver for the Fintek LPC SuperIO CIR function, in the
Fintek F71809 chip. Hardware and datasheets were provided by Fintek, so
thanks go to them for supporting this effort.

This driver started out as a copy of the nuvoton-cir driver, and was
then modified as needed for the Fintek chip. The two share many
similaries, though the buffer handling for the Fintek chip is actually
nearly identical to the mceusb buffer handling, so the parser routine is
almost a drop-in copy of the mceusb buffer parser (a candidate for being
abstracted out into shared code at some point).

This initial code drop *only* supports receive, but the hardware does
support transmit as well. I really haven't even started to look at
what's required, but my guess is that its also pretty similar to mceusb.
Most people are probably only really interested in RX anyway though, so
I think its good to get this out there even with only RX.

(Nb: there are also Fintek-made mceusb receivers, which presumably, this
chip shares CIR hardware with).

This hardware can be found on at least Jetway NC98 boards and derivative
systems, and likely others as well. Functionality was tested with an
NC98 development board, in-kernel decode of RC6 (mce), RC5 (hauppauge)
and NEC-ish (tivo) remotes all successful, as was lirc userspace decode
of the RC6 remote.

CC: Aaron Huang <aaron_huang@fintek.com.tw>
CC: Tom Tsai <tom_tsai@fintek.com.tw>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/rc/Kconfig
drivers/media/rc/Makefile
drivers/media/rc/fintek-cir.c [new file with mode: 0644]
drivers/media/rc/fintek-cir.h [new file with mode: 0644]