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 }, | |
41 | { USB_DEVICE(0x2040, 0x5500), | |
42 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | |
3d843c92 MK |
43 | { USB_DEVICE(0x2040, 0x5510), |
44 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | |
3dfbe31f MK |
45 | { USB_DEVICE(0x2040, 0x5520), |
46 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | |
47 | { USB_DEVICE(0x2040, 0x5530), | |
48 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | |
44f71c3f MK |
49 | { USB_DEVICE(0x2040, 0x5580), |
50 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | |
51 | { USB_DEVICE(0x2040, 0x5590), | |
52 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | |
1c11d546 MK |
53 | { } /* Terminating entry */ |
54 | }; | |
55 | MODULE_DEVICE_TABLE(usb, smsusb_id_table); | |
56 | ||
57 | static struct sms_board sms_boards[] = { | |
58 | [SMS_BOARD_UNKNOWN] = { | |
59 | .name = "Unknown board", | |
60 | }, | |
1c11d546 | 61 | [SMS1XXX_BOARD_SIANO_STELLAR] = { |
cf1cfe1b | 62 | .name = "Siano Stellar Digital Receiver", |
1c11d546 | 63 | .type = SMS_STELLAR, |
a745f0a1 | 64 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-stellar-dvbt-01.fw", |
1c11d546 MK |
65 | }, |
66 | [SMS1XXX_BOARD_SIANO_NOVA_A] = { | |
cf1cfe1b | 67 | .name = "Siano Nova A Digital Receiver", |
1c11d546 | 68 | .type = SMS_NOVA_A0, |
a745f0a1 | 69 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-nova-a-dvbt-01.fw", |
1c11d546 MK |
70 | }, |
71 | [SMS1XXX_BOARD_SIANO_NOVA_B] = { | |
cf1cfe1b | 72 | .name = "Siano Nova B Digital Receiver", |
1c11d546 | 73 | .type = SMS_NOVA_B0, |
a745f0a1 | 74 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-nova-b-dvbt-01.fw", |
1c11d546 MK |
75 | }, |
76 | [SMS1XXX_BOARD_SIANO_VEGA] = { | |
cf1cfe1b | 77 | .name = "Siano Vega Digital Receiver", |
1c11d546 MK |
78 | .type = SMS_VEGA, |
79 | }, | |
44f71c3f MK |
80 | [SMS1XXX_BOARD_HAUPPAUGE_CATAMOUNT] = { |
81 | .name = "Hauppauge Catamount", | |
82 | .type = SMS_STELLAR, | |
83 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-stellar-dvbt-01.fw", | |
84 | }, | |
85 | [SMS1XXX_BOARD_HAUPPAUGE_OKEMO_A] = { | |
86 | .name = "Hauppauge Okemo-A", | |
87 | .type = SMS_NOVA_A0, | |
88 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-nova-a-dvbt-01.fw", | |
89 | }, | |
90 | [SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B] = { | |
91 | .name = "Hauppauge Okemo-B", | |
92 | .type = SMS_NOVA_B0, | |
93 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-nova-b-dvbt-01.fw", | |
94 | }, | |
95 | [SMS1XXX_BOARD_HAUPPAUGE_WINDHAM] = { | |
7a9b5fc5 | 96 | .name = "Hauppauge WinTV MiniStick", |
44f71c3f | 97 | .type = SMS_NOVA_B0, |
7a8f4ccf | 98 | .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-hcw-55xxx-dvbt-02.fw", |
44f71c3f | 99 | }, |
1c11d546 MK |
100 | }; |
101 | ||
102 | struct sms_board *sms_get_board(int id) | |
103 | { | |
104 | BUG_ON(id >= ARRAY_SIZE(sms_boards)); | |
105 | ||
106 | return &sms_boards[id]; | |
107 | } | |
108 |