Commit 9990d744 authored by Gerd Knorr's avatar Gerd Knorr Committed by Linus Torvalds

[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: default avatarGerd Knorr <kraxel@bytesex.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 1622c3fc
...@@ -32,6 +32,7 @@ ...@@ -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 ...@@ -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);
if (state->config->pll_set) {
state->config->pll_set(fe, p); 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 ...@@ -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 ...@@ -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 @@ ...@@ -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"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment