• Jarod Wilson's avatar
    [media] fintek-cir: new driver for Fintek LPC SuperIO CIR function · 9bdc79ea
    Jarod Wilson authored
    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: default avatarJarod Wilson <jarod@redhat.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    9bdc79ea
fintek-cir.c 18.1 KB