08 Mar, 2012

1 commit


24 Nov, 2011

1 commit


22 Sep, 2011

1 commit


28 Jul, 2011

1 commit

  • This is a custom IR protocol decoder, for the RC-6-ish protocol used by
    the Microsoft Remote Keyboard, apparently developed internally at
    Microsoft, and officially dubbed MCIR-2, per their March 2011 remote and
    transceiver requirements and specifications document, which also touches
    on this IR keyboard/mouse device.

    Its a standard keyboard with embedded thumb stick mouse pointer and
    mouse buttons, along with a number of media keys. The media keys are
    standard RC-6, identical to the signals from the stock MCE remotes, and
    will be handled as such. The keyboard and mouse signals will be decoded
    and delivered to the system by an input device registered specifically
    by this driver.

    Successfully tested with multiple mceusb-driven transceivers, as well as
    with fintek-cir and redrat3 hardware. Essentially, any raw IR hardware
    with enough sampling resolution should be able to use this decoder,
    nothing about it is at all receiver-hardware-specific.

    This work is inspired by lirc_mod_mce:

    The documentation there and code aided in understanding and decoding the
    protocol, but the bulk of the code is actually borrowed more from the
    existing in-kernel decoders than anything. I did recycle the keyboard
    keycode table, a few defines, and some of the keyboard and mouse data
    parsing bits from lirc_mod_mce though.

    Special thanks to James Meyer for providing the hardware, and being
    patient with me as I took forever to get around to writing this.

    callback routine to ensure we don't get any stuck keys, and used
    symbolic names for the keytable. Also cc'ing Florian this time, who I
    believe is the original mod-mce author...

    CC: Florian Demski
    Signed-off-by: Jarod Wilson
    Signed-off-by: Mauro Carvalho Chehab

    Jarod Wilson
     

26 May, 2011

1 commit

  • 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
    CC: Tom Tsai
    Signed-off-by: Jarod Wilson
    Signed-off-by: Mauro Carvalho Chehab

    Jarod Wilson
     

21 May, 2011

1 commit

  • This is a new rc-core device driver for the IR transceivers made by
    RedRat Ltd. (http://redrat.co.uk/). It started out life as an
    out-of-lirc-tree lirc driver, maintained in its own repo on sourceforge,
    by Stephen Cox. He started porting it to what was then ir-core, and I
    finally picked it up about two week ago and did a fairly large overhaul
    on it, and its now into a state where I'm fairly comfortable submitting
    it here for review and inclusion in the kernel. I'm claiming authorship
    of this driver, since while it started out as Stephen's work, its
    definitely a derivative work now, at 876 lines added and 1698 lines
    removed since grabbing it from sourceforge. Stephen's name is retained
    as secondary author though, and credited in the headers. Those
    interested in seeing how the changes evolved can (at least for now) look
    at this branch in my git tree:

    http://git.kernel.org/?p=linux/kernel/git/jarod/linux-2.6-ir.git;a=shortlog;h=refs/heads/redrat3

    That won't be around forever though, and I'm doing this as a single
    commit to go into mainline. Anyway...

    I've successfully tested in-kernel decode of rc5, rc6 and nec remotes,
    as well as lirc userspace decode of rc5 and rc6. There are still some
    quirks here to sort out with rc5 lirc userspace decode, but I'm working
    with the RedRat folks themselves to figure out what's going on there
    (rc5 lirc decode works, but you only get an event on key release --
    in-kernel rc5 decode behaves perfectly fine). Note that lirc decode of
    rc6 is working perfectly. Transmit is also working, tested by pointing
    the redrat3 at an mceusb transceiver, which happily picked up the
    transmitted signals and properly decoded them.

    There's no default remote for this hardware, so its somewhat arbitrarily
    set to use the Hauppauge RC5 keymap by default. Easily changed out by
    way of ir-keytable and irrelevant if you're using lircd for decode.

    CC: Chris Dodge
    CC: Andrew Vincer
    CC: Stephen Cox
    Signed-off-by: Jarod Wilson
    Signed-off-by: Mauro Carvalho Chehab

    Jarod Wilson
     

23 Mar, 2011

1 commit

  • This is a second version of an rc-core based driver for the ITE Tech IT8712F
    CIR and now for a pair of other variants of the IT8512 CIR too.

    This driver should replace the lirc_it87 and lirc_ite8709 currently living in
    the LIRC staging directory.

    The driver should support the ITE8704, ITE8713, ITE8708 and ITE8709 (this last
    one yet untested) PNP ID's.

    The code doesn'te reuse code from the pre-existing LIRC drivers, but has been
    written from scratch using the nuvoton.cir driver as a skeleton.

    This new driver shouldn't exhibit timing problems when running under load (or
    with interrupts disabled for relatively long times). It works OOTB with the
    RC6 MCE remote bundled with the ASUS EEEBox. TX support is implemented, but
    I'm unable to test it since my hardware lacks TX capability.

    Signed-off-by: Juan J. Garcia de Soria
    Tested-by: Stephan Raue
    Signed-off-by: Jarod Wilson
    Signed-off-by: Mauro Carvalho Chehab

    Juan J. Garcia de Soria
     

29 Dec, 2010

9 commits