Commit | Line | Data |
---|---|---|
1c11d546 MK |
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 | |
09a29b77 | 7 | * it under the terms of the GNU General Public License version 2 as |
1c11d546 MK |
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 | #include "sms-cards.h" | |
21 | ||
22 | struct usb_device_id smsusb_id_table[] = { | |
14a638cd | 23 | #ifdef CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS |
1c11d546 MK |
24 | { USB_DEVICE(0x187f, 0x0010), |
25 | .driver_info = SMS1XXX_BOARD_SIANO_STELLAR }, | |
26 | { USB_DEVICE(0x187f, 0x0100), | |
27 | .driver_info = SMS1XXX_BOARD_SIANO_STELLAR }, | |
28 | { USB_DEVICE(0x187f, 0x0200), | |
29 | .driver_info = SMS1XXX_BOARD_SIANO_NOVA_A }, | |
30 | { USB_DEVICE(0x187f, 0x0201), | |
31 | .driver_info = SMS1XXX_BOARD_SIANO_NOVA_B }, | |
32 | { USB_DEVICE(0x187f, 0x0300), | |
33 | .driver_info = SMS1XXX_BOARD_SIANO_VEGA }, | |
14a638cd | 34 | #endif |
44f71c3f MK |
35 | { USB_DEVICE(0x2040, 0x1700), |
36 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_CATAMOUNT }, | |
37 | { USB_DEVICE(0x2040, 0x1800), | |
38 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_OKEMO_A }, | |
39 | { USB_DEVICE(0x2040, 0x1801), | |
40 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B }, | |
3f7d99f6 MK |
41 | { USB_DEVICE(0x2040, 0x2000), |
42 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD }, | |
43 | { USB_DEVICE(0x2040, 0x2009), | |
44 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD }, | |
45 | { USB_DEVICE(0x2040, 0x200a), | |
46 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD }, | |
47 | { USB_DEVICE(0x2040, 0x2010), | |
48 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD }, | |
49 | { USB_DEVICE(0x2040, 0x2019), | |
50 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD }, | |
44f71c3f MK |
51 | { USB_DEVICE(0x2040, 0x5500), |
52 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | |
3d843c92 MK |
53 | { USB_DEVICE(0x2040, 0x5510), |
54 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | |
3dfbe31f MK |
55 | { USB_DEVICE(0x2040, 0x5520), |
56 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | |
57 | { USB_DEVICE(0x2040, 0x5530), | |
58 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | |
44f71c3f MK |
59 | { USB_DEVICE(0x2040, 0x5580), |
60 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | |
61 | { USB_DEVICE(0x2040, 0x5590), | |
62 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | |
1c11d546 MK |
63 | { } /* Terminating entry */ |
64 | }; | |
65 | MODULE_DEVICE_TABLE(usb, smsusb_id_table); | |
66 | ||
67 | static struct sms_board sms_boards[] = { | |
68 | [SMS_BOARD_UNKNOWN] = { | |
69 | .name = "Unknown board", | |
70 | }, | |
1c11d546 | 71 | [SMS1XXX_BOARD_SIANO_STELLAR] = { |
cf1cfe1b | 72 | .name = "Siano Stellar Digital Receiver", |
1c11d546 | 73 | .type = SMS_STELLAR, |
a745f0a1 | 74 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-stellar-dvbt-01.fw", |
1c11d546 MK |
75 | }, |
76 | [SMS1XXX_BOARD_SIANO_NOVA_A] = { | |
cf1cfe1b | 77 | .name = "Siano Nova A Digital Receiver", |
1c11d546 | 78 | .type = SMS_NOVA_A0, |
a745f0a1 | 79 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-nova-a-dvbt-01.fw", |
1c11d546 MK |
80 | }, |
81 | [SMS1XXX_BOARD_SIANO_NOVA_B] = { | |
cf1cfe1b | 82 | .name = "Siano Nova B Digital Receiver", |
1c11d546 | 83 | .type = SMS_NOVA_B0, |
a745f0a1 | 84 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-nova-b-dvbt-01.fw", |
1c11d546 MK |
85 | }, |
86 | [SMS1XXX_BOARD_SIANO_VEGA] = { | |
cf1cfe1b | 87 | .name = "Siano Vega Digital Receiver", |
1c11d546 MK |
88 | .type = SMS_VEGA, |
89 | }, | |
44f71c3f MK |
90 | [SMS1XXX_BOARD_HAUPPAUGE_CATAMOUNT] = { |
91 | .name = "Hauppauge Catamount", | |
92 | .type = SMS_STELLAR, | |
93 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-stellar-dvbt-01.fw", | |
94 | }, | |
95 | [SMS1XXX_BOARD_HAUPPAUGE_OKEMO_A] = { | |
96 | .name = "Hauppauge Okemo-A", | |
97 | .type = SMS_NOVA_A0, | |
98 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-nova-a-dvbt-01.fw", | |
99 | }, | |
100 | [SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B] = { | |
101 | .name = "Hauppauge Okemo-B", | |
102 | .type = SMS_NOVA_B0, | |
103 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-nova-b-dvbt-01.fw", | |
104 | }, | |
105 | [SMS1XXX_BOARD_HAUPPAUGE_WINDHAM] = { | |
7a9b5fc5 | 106 | .name = "Hauppauge WinTV MiniStick", |
44f71c3f | 107 | .type = SMS_NOVA_B0, |
7a8f4ccf | 108 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-hcw-55xxx-dvbt-02.fw", |
44f71c3f | 109 | }, |
3f7d99f6 MK |
110 | [SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD] = { |
111 | .name = "Hauppauge WinTV MiniCard", | |
112 | .type = SMS_NOVA_B0, | |
113 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-hcw-55xxx-dvbt-02.fw", | |
114 | }, | |
1c11d546 MK |
115 | }; |
116 | ||
117 | struct sms_board *sms_get_board(int id) | |
118 | { | |
119 | BUG_ON(id >= ARRAY_SIZE(sms_boards)); | |
120 | ||
121 | return &sms_boards[id]; | |
122 | } | |
123 |