• Jarod Wilson's avatar
    [media] IR: add driver for Nuvoton w836x7hg integrated CIR · 6d2f5c27
    Jarod Wilson authored
    This is a new ir-core pnp driver for the Nuvoton w836x7hg integrated CIR
    function. The chip is found on at least the ASRock ION 330HT boxes and
    apparently, on a number of Intel DP55-series motherboards:
    
    http://www.asrock.com/nettop/overview.asp?Model=ION%20330HT
    http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=17685&lang=eng
    
    This driver was made possible by a hardware donation from Nuvoton, along
    with sample code (in the form of an lirc driver) and datasheet, so huge
    thanks to them for supporting this effort. Note that this driver
    constitutes a massive rewrite, porting from the lirc interfaces to the
    ir-core interfaces, and restructuring the driver to look more like Maxim
    Levitsky's ene_ir driver (as well as generally making it look more like
    kernel code).
    
    There's some work left to be done on this driver, to fully support the
    range of functionality possible, but receive and IR power-on/wake are
    both functional (may require setting wake key under another OS atm). The
    hardware I've got (one of the ASRock boxes) only supports RX, so TX is
    completely untested as of yet. Certain RX parameters, like sample
    resolution and RX IRQ sample length trigger level could possibly stand
    to be made tweakable via modparams or sysfs nodes, but the current
    values work well enough for me w/an MCE RC6A remote.
    
    The original lirc driver carried support for the Windows MCE IR
    keyboard/mouse device, which I plan to add back generically, in a way
    that should be usable by any raw IR receiver (or at least by this driver
    and the mceusb driver).
    
    Suspend and resume have also been tested, the power button on my remote
    can be used to wake the machine, and CIR functionality resumes just
    fine. Module unload/reload has also been tested, though not extensively
    or repetitively. Also tested to work with the lirc bridge plugin for
    userspace decoding.
    Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    6d2f5c27
Kconfig 4.59 KB