aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/dvb/dvb-usb/dib0700_devices.c55
-rw-r--r--drivers/media/dvb/dvb-usb/dvb-usb-ids.h3
2 files changed, 53 insertions, 5 deletions
diff --git a/drivers/media/dvb/dvb-usb/dib0700_devices.c b/drivers/media/dvb/dvb-usb/dib0700_devices.c
index a7088cee1ef9..de36790899b3 100644
--- a/drivers/media/dvb/dvb-usb/dib0700_devices.c
+++ b/drivers/media/dvb/dvb-usb/dib0700_devices.c
@@ -230,6 +230,27 @@ static struct mt2266_config stk7700d_mt2266_config[2] = {
230 } 230 }
231}; 231};
232 232
233static int stk7700P2_frontend_attach(struct dvb_usb_adapter *adap)
234{
235 if (adap->id == 0) {
236 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1);
237 msleep(10);
238 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1);
239 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1);
240 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1);
241 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0);
242 msleep(10);
243 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1);
244 msleep(10);
245 dib7000p_i2c_enumeration(&adap->dev->i2c_adap,1,18,stk7700d_dib7000p_mt2266_config);
246 }
247
248 adap->fe = dvb_attach(dib7000p_attach, &adap->dev->i2c_adap,0x80+(adap->id << 1),
249 &stk7700d_dib7000p_mt2266_config[adap->id]);
250
251 return adap->fe == NULL ? -ENODEV : 0;
252}
253
233static int stk7700d_frontend_attach(struct dvb_usb_adapter *adap) 254static int stk7700d_frontend_attach(struct dvb_usb_adapter *adap)
234{ 255{
235 if (adap->id == 0) { 256 if (adap->id == 0) {
@@ -850,8 +871,10 @@ struct usb_device_id dib0700_usb_id_table[] = {
850 { USB_DEVICE(USB_VID_PINNACLE, USB_PID_PINNACLE_PCTV_DUAL_DIVERSITY_DVB_T) }, 871 { USB_DEVICE(USB_VID_PINNACLE, USB_PID_PINNACLE_PCTV_DUAL_DIVERSITY_DVB_T) },
851 { USB_DEVICE(USB_VID_COMPRO, USB_PID_COMPRO_VIDEOMATE_U500_PC) }, 872 { USB_DEVICE(USB_VID_COMPRO, USB_PID_COMPRO_VIDEOMATE_U500_PC) },
852/* 20 */{ USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_EXPRESS) }, 873/* 20 */{ USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_EXPRESS) },
853/* 21 */{ USB_DEVICE(USB_VID_GIGABYTE, USB_PID_GIGABYTE_U7000) }, 874 { USB_DEVICE(USB_VID_GIGABYTE, USB_PID_GIGABYTE_U7000) },
854/* 22 */{ USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC, USB_PID_ARTEC_T14BR) }, 875 { USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC, USB_PID_ARTEC_T14BR) },
876 { USB_DEVICE(USB_VID_ASUS, USB_PID_ASUS_U3000) },
877 { USB_DEVICE(USB_VID_ASUS, USB_PID_ASUS_U3100) },
855 { 0 } /* Terminating entry */ 878 { 0 } /* Terminating entry */
856}; 879};
857MODULE_DEVICE_TABLE(usb, dib0700_usb_id_table); 880MODULE_DEVICE_TABLE(usb, dib0700_usb_id_table);
@@ -923,7 +946,6 @@ struct dvb_usb_device_properties dib0700_devices[] = {
923 { &dib0700_usb_id_table[20] }, 946 { &dib0700_usb_id_table[20] },
924 { NULL }, 947 { NULL },
925 }, 948 },
926 /* dom : pour Gigabyte U7000 */
927 { "Gigabyte U7000", 949 { "Gigabyte U7000",
928 { &dib0700_usb_id_table[21], NULL }, 950 { &dib0700_usb_id_table[21], NULL },
929 { NULL }, 951 { NULL },
@@ -1010,6 +1032,25 @@ struct dvb_usb_device_properties dib0700_devices[] = {
1010 .num_adapters = 1, 1032 .num_adapters = 1,
1011 .adapter = { 1033 .adapter = {
1012 { 1034 {
1035 .frontend_attach = stk7700P2_frontend_attach,
1036 .tuner_attach = stk7700d_tuner_attach,
1037
1038 DIB0700_DEFAULT_STREAMING_CONFIG(0x02),
1039 },
1040 },
1041
1042 .num_device_descs = 1,
1043 .devices = {
1044 { "ASUS My Cinema U3000 Mini DVBT Tuner",
1045 { &dib0700_usb_id_table[23], NULL },
1046 { NULL },
1047 },
1048 }
1049 }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
1050
1051 .num_adapters = 1,
1052 .adapter = {
1053 {
1013 .frontend_attach = stk7070p_frontend_attach, 1054 .frontend_attach = stk7070p_frontend_attach,
1014 .tuner_attach = dib7070p_tuner_attach, 1055 .tuner_attach = dib7070p_tuner_attach,
1015 1056
@@ -1019,7 +1060,7 @@ struct dvb_usb_device_properties dib0700_devices[] = {
1019 }, 1060 },
1020 }, 1061 },
1021 1062
1022 .num_device_descs = 3, 1063 .num_device_descs = 4,
1023 .devices = { 1064 .devices = {
1024 { "DiBcom STK7070P reference design", 1065 { "DiBcom STK7070P reference design",
1025 { &dib0700_usb_id_table[15], NULL }, 1066 { &dib0700_usb_id_table[15], NULL },
@@ -1032,7 +1073,11 @@ struct dvb_usb_device_properties dib0700_devices[] = {
1032 { "Artec T14BR DVB-T", 1073 { "Artec T14BR DVB-T",
1033 { &dib0700_usb_id_table[22], NULL }, 1074 { &dib0700_usb_id_table[22], NULL },
1034 { NULL }, 1075 { NULL },
1035 } 1076 },
1077 { "ASUS My Cinema U3100 Mini DVBT Tuner",
1078 { &dib0700_usb_id_table[24], NULL },
1079 { NULL },
1080 },
1036 } 1081 }
1037 }, { DIB0700_DEFAULT_DEVICE_PROPERTIES, 1082 }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
1038 1083
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
index 36aeda2b1716..a411430f827b 100644
--- a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
+++ b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
@@ -17,6 +17,7 @@
17#define USB_VID_ANCHOR 0x0547 17#define USB_VID_ANCHOR 0x0547
18#define USB_VID_ANSONIC 0x10b9 18#define USB_VID_ANSONIC 0x10b9
19#define USB_VID_ANUBIS_ELECTRONIC 0x10fd 19#define USB_VID_ANUBIS_ELECTRONIC 0x10fd
20#define USB_VID_ASUS 0x0b05
20#define USB_VID_AVERMEDIA 0x07ca 21#define USB_VID_AVERMEDIA 0x07ca
21#define USB_VID_COMPRO 0x185b 22#define USB_VID_COMPRO 0x185b
22#define USB_VID_COMPRO_UNK 0x145f 23#define USB_VID_COMPRO_UNK 0x145f
@@ -182,5 +183,7 @@
182#define USB_PID_LIFEVIEW_TV_WALKER_TWIN_WARM 0x0513 183#define USB_PID_LIFEVIEW_TV_WALKER_TWIN_WARM 0x0513
183/* dom pour gigabyte u7000 */ 184/* dom pour gigabyte u7000 */
184#define USB_PID_GIGABYTE_U7000 0x7001 185#define USB_PID_GIGABYTE_U7000 0x7001
186#define USB_PID_ASUS_U3000 0x171f
187#define USB_PID_ASUS_U3100 0x173f
185 188
186#endif 189#endif