linux/drivers/media/dvb/siano/smsir.h
<<
>>
Prefs
   1/****************************************************************
   2
   3Siano Mobile Silicon, Inc.
   4MDTV receiver kernel modules.
   5Copyright (C) 2006-2009, Uri Shkolnik
   6
   7This program is free software: you can redistribute it and/or modify
   8it under the terms of the GNU General Public License as published by
   9the Free Software Foundation, either version 2 of the License, or
  10(at your option) any later version.
  11
  12 This program is distributed in the hope that it will be useful,
  13but WITHOUT ANY WARRANTY; without even the implied warranty of
  14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15GNU General Public License for more details.
  16
  17You should have received a copy of the GNU General Public License
  18along with this program.  If not, see <http://www.gnu.org/licenses/>.
  19
  20****************************************************************/
  21
  22#ifndef __SMS_IR_H__
  23#define __SMS_IR_H__
  24
  25#include <linux/input.h>
  26
  27#define IR_DEV_NAME_MAX_LEN             23 /* "SMS IR kbd type nn\0" */
  28#define IR_KEYBOARD_LAYOUT_SIZE 64
  29#define IR_DEFAULT_TIMEOUT              100
  30
  31enum ir_kb_type {
  32        SMS_IR_KB_DEFAULT_TV,
  33        SMS_IR_KB_HCW_SILVER
  34};
  35
  36enum rc5_keyboard_address {
  37        KEYBOARD_ADDRESS_TV1 = 0,
  38        KEYBOARD_ADDRESS_TV2 = 1,
  39        KEYBOARD_ADDRESS_TELETEXT = 2,
  40        KEYBOARD_ADDRESS_VIDEO = 3,
  41        KEYBOARD_ADDRESS_LV1 = 4,
  42        KEYBOARD_ADDRESS_VCR1 = 5,
  43        KEYBOARD_ADDRESS_VCR2 = 6,
  44        KEYBOARD_ADDRESS_EXPERIMENTAL = 7,
  45        KEYBOARD_ADDRESS_SAT1 = 8,
  46        KEYBOARD_ADDRESS_CAMERA = 9,
  47        KEYBOARD_ADDRESS_SAT2 = 10,
  48        KEYBOARD_ADDRESS_CDV = 12,
  49        KEYBOARD_ADDRESS_CAMCORDER = 13,
  50        KEYBOARD_ADDRESS_PRE_AMP = 16,
  51        KEYBOARD_ADDRESS_TUNER = 17,
  52        KEYBOARD_ADDRESS_RECORDER1 = 18,
  53        KEYBOARD_ADDRESS_PRE_AMP1 = 19,
  54        KEYBOARD_ADDRESS_CD_PLAYER = 20,
  55        KEYBOARD_ADDRESS_PHONO = 21,
  56        KEYBOARD_ADDRESS_SATA = 22,
  57        KEYBOARD_ADDRESS_RECORDER2 = 23,
  58        KEYBOARD_ADDRESS_CDR = 26,
  59        KEYBOARD_ADDRESS_LIGHTING = 29,
  60        KEYBOARD_ADDRESS_LIGHTING1 = 30, /* KEYBOARD_ADDRESS_HCW_SILVER */
  61        KEYBOARD_ADDRESS_PHONE = 31,
  62        KEYBOARD_ADDRESS_NOT_RC5 = 0xFFFF
  63};
  64
  65enum ir_protocol {
  66        IR_RC5,
  67        IR_RCMM
  68};
  69
  70struct keyboard_layout_map_t {
  71        enum ir_protocol ir_protocol;
  72        enum rc5_keyboard_address rc5_kbd_address;
  73        u16 keyboard_layout_map[IR_KEYBOARD_LAYOUT_SIZE];
  74};
  75
  76struct smscore_device_t;
  77
  78struct ir_t {
  79        struct input_dev *input_dev;
  80        enum ir_kb_type ir_kb_type;
  81        char name[IR_DEV_NAME_MAX_LEN+1];
  82        u16 *keyboard_layout_map;
  83        u32 timeout;
  84        u32 controller;
  85};
  86
  87int sms_ir_init(struct smscore_device_t *coredev);
  88void sms_ir_exit(struct smscore_device_t *coredev);
  89void sms_ir_event(struct smscore_device_t *coredev,
  90                        const char *buf, int len);
  91
  92#endif /* __SMS_IR_H__ */
  93
  94
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.