diff --git a/ddbridge/ddbridge-modulator.c b/ddbridge/ddbridge-modulator.c index 531f418..f1c2cfd 100644 --- a/ddbridge/ddbridge-modulator.c +++ b/ddbridge/ddbridge-modulator.c @@ -1519,6 +1519,7 @@ static int mod3_set_sample_rate(struct ddb_mod *mod, u32 rate) u32 cic, inc; switch (rate) { + /* 2^31 * freq*4*cic / 245.76Mhz */ case SYS_DVBT_6: inc = 1917396114; cic = 8; @@ -1536,6 +1537,10 @@ static int mod3_set_sample_rate(struct ddb_mod *mod, u32 rate) inc = 1988410754; cic = 7; break; + case SYS_DVBS2_22: + inc = 1922389333; + cic = 5; + break; default: return -EINVAL; } diff --git a/include/linux/dvb/mod.h b/include/linux/dvb/mod.h index 49fd1a8..3c1d5e4 100644 --- a/include/linux/dvb/mod.h +++ b/include/linux/dvb/mod.h @@ -41,6 +41,7 @@ enum mod_output_rate { SYS_DVBT_7, SYS_DVBT_8, SYS_ISDBT_6 = 16, + SYS_DVBS2_22 = 32, };