mirror of
https://github.com/DigitalDevices/dddvb.git
synced 2023-10-10 13:37:43 +02:00
add some symbol rate modes
This commit is contained in:
parent
22475860d5
commit
310a5e0f05
@ -1516,12 +1516,12 @@ static int mod3_set_ari(struct ddb_mod *mod, u32 rate)
|
|||||||
|
|
||||||
static int mod3_set_sample_rate(struct ddb_mod *mod, u32 rate)
|
static int mod3_set_sample_rate(struct ddb_mod *mod, u32 rate)
|
||||||
{
|
{
|
||||||
u32 cic, inc;
|
u32 cic, inc, bypass = 0;
|
||||||
|
|
||||||
switch (rate) {
|
switch (rate) {
|
||||||
/* 2^31 * freq*4*cic / 245.76Mhz */
|
/* 2^31 * freq*4*cic / 245.76Mhz */
|
||||||
case SYS_DVBT_6:
|
case SYS_DVBT_6:
|
||||||
inc = 1917396114;
|
inc = 0x72492492;
|
||||||
cic = 8;
|
cic = 8;
|
||||||
break;
|
break;
|
||||||
case SYS_DVBT_7:
|
case SYS_DVBT_7:
|
||||||
@ -1533,19 +1533,45 @@ static int mod3_set_sample_rate(struct ddb_mod *mod, u32 rate)
|
|||||||
inc = 1917396114;
|
inc = 1917396114;
|
||||||
cic = 6;
|
cic = 6;
|
||||||
break;
|
break;
|
||||||
|
case SYS_DVBC_6900:
|
||||||
|
inc = 0x73000000; //1929379840;
|
||||||
|
cic = 8;
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
inc = 0x47e00000; //1929379840;
|
||||||
|
cic = 10;
|
||||||
|
bypass = 2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SYS_J83B_64_6: /* 5056941 */
|
||||||
|
inc = 0x695a5a1d;
|
||||||
|
cic = 10;
|
||||||
|
break;
|
||||||
|
case SYS_J83B_256_6: /* 5360537 */
|
||||||
|
inc = 0x6fad87da;
|
||||||
|
cic = 10;
|
||||||
|
break;
|
||||||
|
|
||||||
case SYS_ISDBT_6:
|
case SYS_ISDBT_6:
|
||||||
inc = 1988410754;
|
inc = 0x7684BD82; //1988410754;
|
||||||
cic = 7;
|
cic = 7;
|
||||||
break;
|
break;
|
||||||
case SYS_DVBS2_22:
|
case SYS_DVBS2_22:
|
||||||
inc = 1922389333;
|
inc = 0x72955555; // 1922389333;
|
||||||
cic = 5;
|
cic = 5;
|
||||||
|
bypass = 2;
|
||||||
|
break;
|
||||||
|
case SYS_DVBS2_24:
|
||||||
|
inc = 0x7d000000;
|
||||||
|
cic = 5;
|
||||||
|
bypass = 2;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
ddbwritel(mod->port->dev, inc, SDR_CHANNEL_ARICW(mod->port->nr));
|
ddbwritel(mod->port->dev, inc, SDR_CHANNEL_ARICW(mod->port->nr));
|
||||||
ddbwritel(mod->port->dev, cic << 8, SDR_CHANNEL_CONFIG(mod->port->nr));
|
ddbwritel(mod->port->dev, (cic << 8) | (bypass << 4),
|
||||||
|
SDR_CHANNEL_CONFIG(mod->port->nr));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user