summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/dibusb
diff options
context:
space:
mode:
authorPatrick Boettcher <devnull@localhost>2005-03-11 09:11:05 +0000
committerPatrick Boettcher <devnull@localhost>2005-03-11 09:11:05 +0000
commitd39d6e54b5640e55b4e70de65e257f44e3bbb7a1 (patch)
tree245121d870621b0f6e5c846b5f0a634a19fe87a3 /linux/drivers/media/dvb/dibusb
parent7b5ccf36aa561479c769b01606a62bd849c51b6e (diff)
downloadmediapointer-dvb-s2-d39d6e54b5640e55b4e70de65e257f44e3bbb7a1.tar.gz
mediapointer-dvb-s2-d39d6e54b5640e55b4e70de65e257f44e3bbb7a1.tar.bz2
HanfTek UMT-010: adapted the pll-programming, the usb-ids and the firmware name to the new firmware (thanks to Sunny Liu from HanfTek)
Diffstat (limited to 'linux/drivers/media/dvb/dibusb')
-rw-r--r--linux/drivers/media/dvb/dibusb/dvb-dibusb-core.c8
-rw-r--r--linux/drivers/media/dvb/dibusb/dvb-dibusb-fe-i2c.c51
-rw-r--r--linux/drivers/media/dvb/dibusb/dvb-dibusb-usb.c4
3 files changed, 29 insertions, 34 deletions
diff --git a/linux/drivers/media/dvb/dibusb/dvb-dibusb-core.c b/linux/drivers/media/dvb/dibusb/dvb-dibusb-core.c
index a6d1f1bfb..dbf806bd6 100644
--- a/linux/drivers/media/dvb/dibusb/dvb-dibusb-core.c
+++ b/linux/drivers/media/dvb/dibusb/dvb-dibusb-core.c
@@ -97,7 +97,7 @@ MODULE_PARM_DESC(rc_key_repeat_count, "how many key repeats will be dropped befo
#define USB_PID_UNK_HYPER_PALTEK_COLD 0x005e
#define USB_PID_UNK_HYPER_PALTEK_WARM 0x005f
#define USB_PID_HANFTEK_UMT_010_COLD 0x0001
-#define USB_PID_HANFTEK_UMT_010_WARM 0x0025
+#define USB_PID_HANFTEK_UMT_010_WARM 0x0015
#define USB_PID_YAKUMO_DTT200U_COLD 0x0201
#define USB_PID_YAKUMO_DTT200U_WARM 0x0301
#define USB_PID_WINTV_NOVA_T_USB2_COLD 0x9300
@@ -234,9 +234,9 @@ static struct dibusb_device_class dibusb_device_classes[] = {
&dibusb_tuner[DIBUSB_TUNER_COFDM_PANASONIC_ENV57H1XD5],
},
{ UMT2_0, &dibusb_usb_ctrl[2],
- "dvb-dibusb-umt-1.fw",
- 0x01, 0x02,
- 7, 188*21,
+ "dvb-dibusb-umt-2.fw",
+ 0x01, 0x06,
+ 20, 512,
DIBUSB_RC_NO,
&dibusb_demod[DIBUSB_MT352],
&dibusb_tuner[DIBUSB_TUNER_CABLE_LG_TDTP_E102P],
diff --git a/linux/drivers/media/dvb/dibusb/dvb-dibusb-fe-i2c.c b/linux/drivers/media/dvb/dibusb/dvb-dibusb-fe-i2c.c
index 5b80507d1..5cc5723e5 100644
--- a/linux/drivers/media/dvb/dibusb/dvb-dibusb-fe-i2c.c
+++ b/linux/drivers/media/dvb/dibusb/dvb-dibusb-fe-i2c.c
@@ -345,8 +345,6 @@ static int panasonic_cofdm_env57h1xd5_pll_set(struct dvb_frontend_parameters *fe
* BSn = 0 corresponding port is off, high-impedance state (at power-on)
* BSn = 1 corresponding port is on
*/
-
-
static int panasonic_cofdm_env77h11d5_tda6650_init(struct dvb_frontend *fe, u8 pllbuf[4])
{
pllbuf[0] = 0x0b;
@@ -441,55 +439,54 @@ static int panasonic_cofdm_env77h11d5_tda6650_set (struct dvb_frontend_parameter
* 0 1 c2 (always valid)
* 1 0 c4
* 1 1 c6
- *
- *
- *
*/
-
static int lg_tdtp_e102p_tua6034(struct dvb_frontend_parameters* fep, u8 pllbuf[4])
{
u32 div;
- u8 p3210, p4;
+ u8 p210, p3;
#define TUNER_MUL 62500
div = (fep->frequency + 36125000 + TUNER_MUL / 2) / TUNER_MUL;
+// div = ((fep->frequency/1000 + 36166) * 6) / 1000;
if (fep->frequency < 174500000)
- p3210 = 1; // not supported by the tdtp_e102p
+ p210 = 1; // not supported by the tdtp_e102p
else if (fep->frequency < 230000000) // VHF
- p3210 = 2;
+ p210 = 2;
else
- p3210 = 4;
+ p210 = 4;
if (fep->u.ofdm.bandwidth == BANDWIDTH_7_MHZ)
- p4 = 0;
+ p3 = 0;
else
- p4 = 1;
+ p3 = 1;
pllbuf[0] = (div >> 8) & 0x7f;
pllbuf[1] = div & 0xff;
pllbuf[2] = 0xce;
- pllbuf[3] = (p4 << 4) | p3210;
+// pllbuf[2] = 0xcc;
+ pllbuf[3] = (p3 << 3) | p210;
return 0;
}
static int lg_tdtp_e102p_mt352_demod_init(struct dvb_frontend *fe)
{
- static u8 mt352_clock_config[] = { 0x89, 0xb0, 0x2d };
+ static u8 mt352_clock_config[] = { 0x89, 0xb8, 0x2d };
static u8 mt352_reset[] = { 0x50, 0x80 };
static u8 mt352_mclk_ratio[] = { 0x8b, 0x00 };
static u8 mt352_adc_ctl_1_cfg[] = { 0x8E, 0x40 };
- static u8 mt352_agc_cfg[] = { 0x67, 0x14, 0x22 };
- static u8 mt352_sec_agc_cfg[] = { 0x69, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x40, 0x40 };
-
- static u8 mt352_unk [] = { 0xb5, 0x7a };
-
- static u8 mt352_acq_ctl[] = { 0x53, 0x5f };
- static u8 mt352_input_freq_1[] = { 0x56, 0xf1, 0x05 };
+ static u8 mt352_agc_cfg[] = { 0x67, 0x10, 0xa0 };
-// static u8 mt352_capt_range_cfg[] = { 0x75, 0x32 };
+ static u8 mt352_sec_agc_cfg1[] = { 0x6a, 0xff };
+ static u8 mt352_sec_agc_cfg2[] = { 0x6d, 0xff };
+ static u8 mt352_sec_agc_cfg3[] = { 0x70, 0x40 };
+ static u8 mt352_sec_agc_cfg4[] = { 0x7b, 0x03 };
+ static u8 mt352_sec_agc_cfg5[] = { 0x7d, 0x0f };
+
+ static u8 mt352_acq_ctl[] = { 0x53, 0x50 };
+ static u8 mt352_input_freq_1[] = { 0x56, 0x31, 0x06 };
mt352_write(fe, mt352_clock_config, sizeof(mt352_clock_config));
udelay(2000);
@@ -499,15 +496,15 @@ static int lg_tdtp_e102p_mt352_demod_init(struct dvb_frontend *fe)
mt352_write(fe, mt352_adc_ctl_1_cfg, sizeof(mt352_adc_ctl_1_cfg));
mt352_write(fe, mt352_agc_cfg, sizeof(mt352_agc_cfg));
- mt352_write(fe, mt352_sec_agc_cfg, sizeof(mt352_sec_agc_cfg));
-
- mt352_write(fe, mt352_unk, sizeof(mt352_unk));
+ mt352_write(fe, mt352_sec_agc_cfg1, sizeof(mt352_sec_agc_cfg1));
+ mt352_write(fe, mt352_sec_agc_cfg2, sizeof(mt352_sec_agc_cfg2));
+ mt352_write(fe, mt352_sec_agc_cfg3, sizeof(mt352_sec_agc_cfg3));
+ mt352_write(fe, mt352_sec_agc_cfg4, sizeof(mt352_sec_agc_cfg4));
+ mt352_write(fe, mt352_sec_agc_cfg5, sizeof(mt352_sec_agc_cfg5));
mt352_write(fe, mt352_acq_ctl, sizeof(mt352_acq_ctl));
mt352_write(fe, mt352_input_freq_1, sizeof(mt352_input_freq_1));
-// mt352_write(fe, mt352_capt_range_cfg, sizeof(mt352_capt_range_cfg));
-
return 0;
}
diff --git a/linux/drivers/media/dvb/dibusb/dvb-dibusb-usb.c b/linux/drivers/media/dvb/dibusb/dvb-dibusb-usb.c
index a2f4c3172..97cdc1d28 100644
--- a/linux/drivers/media/dvb/dibusb/dvb-dibusb-usb.c
+++ b/linux/drivers/media/dvb/dibusb/dvb-dibusb-usb.c
@@ -143,14 +143,12 @@ int dibusb_streaming(struct usb_dibusb *dib,int onoff)
case DIBUSB2_0:
case DIBUSB2_0B:
case NOVAT_USB2:
+ case UMT2_0:
if (onoff)
return dibusb_ioctl_cmd(dib,DIBUSB_IOCTL_CMD_ENABLE_STREAM,NULL,0);
else
return dibusb_ioctl_cmd(dib,DIBUSB_IOCTL_CMD_DISABLE_STREAM,NULL,0);
break;
- case UMT2_0:
- return dibusb_set_streaming_mode(dib,onoff);
- break;
default:
break;
}