diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-22 10:38:37 -0500 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-22 10:38:37 -0500 |
commit | fcc9d2e5a6c89d22b8b773a64fb4ad21ac318446 (patch) | |
tree | a57612d1888735a2ec7972891b68c1ac5ec8faea /drivers/media/dvb/siano/sms-cards.h | |
parent | 8dea78da5cee153b8af9c07a2745f6c55057fe12 (diff) |
Diffstat (limited to 'drivers/media/dvb/siano/sms-cards.h')
-rw-r--r-- | drivers/media/dvb/siano/sms-cards.h | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/drivers/media/dvb/siano/sms-cards.h b/drivers/media/dvb/siano/sms-cards.h new file mode 100644 index 00000000000..d8cdf756f7c --- /dev/null +++ b/drivers/media/dvb/siano/sms-cards.h | |||
@@ -0,0 +1,123 @@ | |||
1 | /* | ||
2 | * Card-specific functions for the Siano SMS1xxx USB dongle | ||
3 | * | ||
4 | * Copyright (c) 2008 Michael Krufky <mkrufky@linuxtv.org> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation; | ||
9 | * | ||
10 | * Software distributed under the License is distributed on an "AS IS" | ||
11 | * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. | ||
12 | * | ||
13 | * See the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
18 | */ | ||
19 | |||
20 | #ifndef __SMS_CARDS_H__ | ||
21 | #define __SMS_CARDS_H__ | ||
22 | |||
23 | #include <linux/usb.h> | ||
24 | #include "smscoreapi.h" | ||
25 | #include "smsir.h" | ||
26 | |||
27 | #define SMS_BOARD_UNKNOWN 0 | ||
28 | #define SMS1XXX_BOARD_SIANO_STELLAR 1 | ||
29 | #define SMS1XXX_BOARD_SIANO_NOVA_A 2 | ||
30 | #define SMS1XXX_BOARD_SIANO_NOVA_B 3 | ||
31 | #define SMS1XXX_BOARD_SIANO_VEGA 4 | ||
32 | #define SMS1XXX_BOARD_HAUPPAUGE_CATAMOUNT 5 | ||
33 | #define SMS1XXX_BOARD_HAUPPAUGE_OKEMO_A 6 | ||
34 | #define SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B 7 | ||
35 | #define SMS1XXX_BOARD_HAUPPAUGE_WINDHAM 8 | ||
36 | #define SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD 9 | ||
37 | #define SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2 10 | ||
38 | #define SMS1XXX_BOARD_SIANO_NICE 11 | ||
39 | #define SMS1XXX_BOARD_SIANO_VENICE 12 | ||
40 | |||
41 | struct sms_board_gpio_cfg { | ||
42 | int lna_vhf_exist; | ||
43 | int lna_vhf_ctrl; | ||
44 | int lna_uhf_exist; | ||
45 | int lna_uhf_ctrl; | ||
46 | int lna_uhf_d_ctrl; | ||
47 | int lna_sband_exist; | ||
48 | int lna_sband_ctrl; | ||
49 | int lna_sband_d_ctrl; | ||
50 | int foreign_lna0_ctrl; | ||
51 | int foreign_lna1_ctrl; | ||
52 | int foreign_lna2_ctrl; | ||
53 | int rf_switch_vhf; | ||
54 | int rf_switch_uhf; | ||
55 | int rf_switch_sband; | ||
56 | int leds_power; | ||
57 | int led0; | ||
58 | int led1; | ||
59 | int led2; | ||
60 | int led3; | ||
61 | int led4; | ||
62 | int ir; | ||
63 | int eeprom_wp; | ||
64 | int mrc_sense; | ||
65 | int mrc_pdn_resetn; | ||
66 | int mrc_gp0; /* mrcs spi int */ | ||
67 | int mrc_gp1; | ||
68 | int mrc_gp2; | ||
69 | int mrc_gp3; | ||
70 | int mrc_gp4; | ||
71 | int host_spi_gsp_ts_int; | ||
72 | }; | ||
73 | |||
74 | struct sms_board { | ||
75 | enum sms_device_type_st type; | ||
76 | char *name, *fw[DEVICE_MODE_MAX]; | ||
77 | struct sms_board_gpio_cfg board_cfg; | ||
78 | char *rc_codes; /* Name of IR codes table */ | ||
79 | |||
80 | /* gpios */ | ||
81 | int led_power, led_hi, led_lo, lna_ctrl, rf_switch; | ||
82 | }; | ||
83 | |||
84 | struct sms_board *sms_get_board(unsigned id); | ||
85 | |||
86 | extern struct smscore_device_t *coredev; | ||
87 | |||
88 | enum SMS_BOARD_EVENTS { | ||
89 | BOARD_EVENT_POWER_INIT, | ||
90 | BOARD_EVENT_POWER_SUSPEND, | ||
91 | BOARD_EVENT_POWER_RESUME, | ||
92 | BOARD_EVENT_BIND, | ||
93 | BOARD_EVENT_SCAN_PROG, | ||
94 | BOARD_EVENT_SCAN_COMP, | ||
95 | BOARD_EVENT_EMERGENCY_WARNING_SIGNAL, | ||
96 | BOARD_EVENT_FE_LOCK, | ||
97 | BOARD_EVENT_FE_UNLOCK, | ||
98 | BOARD_EVENT_DEMOD_LOCK, | ||
99 | BOARD_EVENT_DEMOD_UNLOCK, | ||
100 | BOARD_EVENT_RECEPTION_MAX_4, | ||
101 | BOARD_EVENT_RECEPTION_3, | ||
102 | BOARD_EVENT_RECEPTION_2, | ||
103 | BOARD_EVENT_RECEPTION_1, | ||
104 | BOARD_EVENT_RECEPTION_LOST_0, | ||
105 | BOARD_EVENT_MULTIPLEX_OK, | ||
106 | BOARD_EVENT_MULTIPLEX_ERRORS | ||
107 | }; | ||
108 | |||
109 | int sms_board_event(struct smscore_device_t *coredev, | ||
110 | enum SMS_BOARD_EVENTS gevent); | ||
111 | |||
112 | int sms_board_setup(struct smscore_device_t *coredev); | ||
113 | |||
114 | #define SMS_LED_OFF 0 | ||
115 | #define SMS_LED_LO 1 | ||
116 | #define SMS_LED_HI 2 | ||
117 | int sms_board_led_feedback(struct smscore_device_t *coredev, int led); | ||
118 | int sms_board_power(struct smscore_device_t *coredev, int onoff); | ||
119 | int sms_board_lna_control(struct smscore_device_t *coredev, int onoff); | ||
120 | |||
121 | extern int sms_board_load_modules(int id); | ||
122 | |||
123 | #endif /* __SMS_CARDS_H__ */ | ||