mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 14:50:19 +00:00
[PATCH] dvb: cx22702 frontend driver update
update cx22702 fe driver, add support for using the dvb pll lib, enable cx22702 support in cx88-dvb. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
1622c3fcf4
commit
9990d744be
@ -32,6 +32,7 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include "dvb_frontend.h"
|
#include "dvb_frontend.h"
|
||||||
|
#include "dvb-pll.h"
|
||||||
#include "cx22702.h"
|
#include "cx22702.h"
|
||||||
|
|
||||||
|
|
||||||
@ -203,7 +204,19 @@ static int cx22702_set_tps (struct dvb_frontend* fe, struct dvb_frontend_paramet
|
|||||||
|
|
||||||
/* set PLL */
|
/* set PLL */
|
||||||
cx22702_writereg (state, 0x0D, cx22702_readreg(state,0x0D) &0xfe);
|
cx22702_writereg (state, 0x0D, cx22702_readreg(state,0x0D) &0xfe);
|
||||||
state->config->pll_set(fe, p);
|
if (state->config->pll_set) {
|
||||||
|
state->config->pll_set(fe, p);
|
||||||
|
} else if (state->config->pll_desc) {
|
||||||
|
u8 pllbuf[4];
|
||||||
|
struct i2c_msg msg = { .addr = state->config->pll_address,
|
||||||
|
.buf = pllbuf, .len = 4 };
|
||||||
|
dvb_pll_configure(state->config->pll_desc, pllbuf,
|
||||||
|
p->frequency,
|
||||||
|
p->u.ofdm.bandwidth);
|
||||||
|
i2c_transfer(state->i2c, &msg, 1);
|
||||||
|
} else {
|
||||||
|
BUG();
|
||||||
|
}
|
||||||
cx22702_writereg (state, 0x0D, cx22702_readreg(state,0x0D) | 1);
|
cx22702_writereg (state, 0x0D, cx22702_readreg(state,0x0D) | 1);
|
||||||
|
|
||||||
/* set inversion */
|
/* set inversion */
|
||||||
|
@ -36,6 +36,9 @@ struct cx22702_config
|
|||||||
u8 demod_address;
|
u8 demod_address;
|
||||||
|
|
||||||
/* PLL maintenance */
|
/* PLL maintenance */
|
||||||
|
u8 pll_address;
|
||||||
|
struct dvb_pll_desc *pll_desc;
|
||||||
|
|
||||||
int (*pll_init)(struct dvb_frontend* fe);
|
int (*pll_init)(struct dvb_frontend* fe);
|
||||||
int (*pll_set)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params);
|
int (*pll_set)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params);
|
||||||
};
|
};
|
||||||
|
@ -252,6 +252,7 @@ config VIDEO_SAA7134_DVB
|
|||||||
depends on VIDEO_SAA7134 && DVB_CORE
|
depends on VIDEO_SAA7134 && DVB_CORE
|
||||||
select VIDEO_BUF_DVB
|
select VIDEO_BUF_DVB
|
||||||
select DVB_MT352
|
select DVB_MT352
|
||||||
|
select DVB_CX22702
|
||||||
---help---
|
---help---
|
||||||
This adds support for DVB cards based on the
|
This adds support for DVB cards based on the
|
||||||
Philips saa7134 chip.
|
Philips saa7134 chip.
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
#include <linux/suspend.h>
|
#include <linux/suspend.h>
|
||||||
|
|
||||||
/* those two frontends need merging via linuxtv cvs ... */
|
/* those two frontends need merging via linuxtv cvs ... */
|
||||||
#define HAVE_CX22702 0
|
#define HAVE_CX22702 1
|
||||||
#define HAVE_OR51132 1
|
#define HAVE_OR51132 1
|
||||||
|
|
||||||
#include "cx88.h"
|
#include "cx88.h"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user