• James Hogan's avatar
    [media] media: rc: change 32bit NEC scancode format · 18bc1744
    James Hogan authored
    Change 32bit NEC scancode format (used by Apple and TiVo remotes) to
    encode the data with the correct bit order. Previously the raw bits were
    used without being bit reversed, now each 16bit half is bit reversed
    compared to before.
    
    So for the raw NEC data:
      (LSB/First) 0xAAaaCCcc (MSB/Last)
    (where traditionally AA=address, aa=~address, CC=command, cc=~command)
    
    We now generate the scancodes:
      (MSB) 0x0000AACC (LSB) (normal NEC)
      (MSB) 0x00AAaaCC (LSB) (extended NEC, address check wrong)
      (MSB) 0xaaAAccCC (LSB) (32-bit NEC, command check wrong)
    
    Note that the address byte order in 32-bit NEC scancodes is different to
    that of the extended NEC scancodes. I chose this way as it maintains the
    order of the bits in the address/command fields, and CC is clearly
    intended to be the LSB of the command if the TiVo codes are anything to
    go by so it makes sense for AA to also be the LSB.
    
    The TiVo keymap is updated accordingly.
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Cc: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Cc: Jarod Wilson <jarod@redhat.com>
    Cc: linux-media@vger.kernel.org
    Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
    18bc1744
ir-nec-decoder.c 5.83 KB