Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: mt352 and SkyStar2 (FlexCop IIB) oddities
Hello,
On Monday 28 June 2004 18:54, BStiddien@XentoniX.net wrote:
> Also, I found some oddities when looking at the mt352 driver.
> The TechniSat AirStar2 uses a FlexCop IIB b2c2 chip that works with the
> SkyStar2 module, but in the linuxtv cvs-tree the skystar2.c has the
> following check in master_xfer:
> if ((msgs[i].addr != 0x0e) && (msgs[i].addr != 0x0f) && (msgs[i].addr !=
> 0x68) && (msgs[i].addr != 0x61))
> but the I2C address of the mt352 is/defaults to 0x0f, which causes the
> whole module to fail transferring any I2C messages.
> Adding 0x0f to that if solves this error.
>
you are right. My guess is that the driver has been tested and working
but when the patch was provided, for some reasons this file wasn't patched.
> Another oddity - in master_xfer too - is the following:
> // read command
> if ((num == 2) && (msgs[0].flags == 0) && (msgs[1].flags == I2C_M_RD) &&
> (msgs[0].buf != NULL) && (msgs[1].buf != NULL))
>
> In mt352.c the read command is contains the following:
> struct i2c_msg msg [] = { { .addr = I2C_MT352_ADDR,
> .flags = I2C_M_NOSTART,
> .buf = b0, .len = 1 },
> { .addr = I2C_MT352_ADDR,
> .flags = I2C_M_RD,
> .buf = b1, .len = 1 } };
>
> as I2C_M_NOSTART isn't defined as 0 every read_register command will
> fail too.
> Changing I2C_M_NOSTART to 0 solves the problem and the module can read
> the mt352 registers successfully.
>
you right again.
since I don't have the Infineon tuner supported by the original driver
I cannot say this setting is wrong, but for Samsung tuner it is.
Some othe diffs are:
original
static struct _tuner_info tuner_info [] = {
.fe_frequency_min = 174000000,
.fe_frequency_max = 862000000,
.....
....
}
my patch:
static struct _tuner_info tuner_info [] = {
.fe_frequency_min = 474000000,
.fe_frequency_max = 858000000,
.....
....
}
original:
switch (op->constellation) {
case QAM_16:
tps |= (1 << 14);
break;
case QAM_64:
tps |= (2 << 14);
break;
default:
;
}
my patch:
switch (op->constellation) {
case QAM_16:
tps |= (1 << 4);
break;
case QAM_64:
tps |= (2 << 4);
break;
default:
;
}
also trhe chrage pump and band select values are different.
You may see all the diffs as soon the patch it will be merged into the cvs.
Antonio
> Looking forward to hear some comments/explanations or so.
>
> Greets
> Björn "Keeper" Stiddien
--
--
Esse-Gi s.r.l.
c/o
DigitalTelevision
Tel: (+39) 02/45468220
Home |
Main Index |
Thread Index