diff options
author | Mauro Carvalho Chehab <devnull@localhost> | 2005-06-17 16:51:46 +0000 |
---|---|---|
committer | Mauro Carvalho Chehab <devnull@localhost> | 2005-06-17 16:51:46 +0000 |
commit | b874cc6194caf3668a3740145aa243a632af1395 (patch) | |
tree | 062784ab21ff0857ef6610a67a396c071ec03d72 | |
parent | fb357277f41089e56f45f5545e0f94682f15dcee (diff) | |
download | mediapointer-dvb-s2-b874cc6194caf3668a3740145aa243a632af1395.tar.gz mediapointer-dvb-s2-b874cc6194caf3668a3740145aa243a632af1395.tar.bz2 |
Add tda1004x.h file. This is necessary to compile saa7134-dvb.c
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
-rw-r--r-- | v4l/ChangeLog | 6 | ||||
-rw-r--r-- | v4l/tda1004x.h | 86 |
2 files changed, 92 insertions, 0 deletions
diff --git a/v4l/ChangeLog b/v4l/ChangeLog index 2ee098804..3043e76b2 100644 --- a/v4l/ChangeLog +++ b/v4l/ChangeLog @@ -1,8 +1,14 @@ +2005-06-17 16:50 mchehab + * tda1004x.h: + + - added to allow compiling saa7134-dvb.c + 2005-06-17 18:51 nshmyrev * saa7134-cards.c: - Fix detection of ADS PCI saa713x. +>>>>>>> 1.54 2005-06-17 12:25 mchehab * saa6752hs.c: - Changed struct to be compatible with older gcc's diff --git a/v4l/tda1004x.h b/v4l/tda1004x.h new file mode 100644 index 000000000..8659c5264 --- /dev/null +++ b/v4l/tda1004x.h @@ -0,0 +1,86 @@ + /* + Driver for Philips tda1004xh OFDM Frontend + + (c) 2004 Andrew de Quincey + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + */ + +#ifndef TDA1004X_H +#define TDA1004X_H + +#include <linux/dvb/frontend.h> +#include <linux/firmware.h> + +enum tda10046_xtal { + TDA10046_XTAL_4M, + TDA10046_XTAL_16M, +}; + +enum tda10046_agc { + TDA10046_AGC_DEFAULT, /* original configuration */ + TDA10046_AGC_IFO_AUTO_NEG, /* IF AGC only, automatic, negtive */ + TDA10046_AGC_IFO_AUTO_POS, /* IF AGC only, automatic, positive */ + TDA10046_AGC_TDA827X, /* IF AGC only, special setup for tda827x */ +}; + +enum tda10046_if { + TDA10046_FREQ_3617, /* original config, 36,166 MHZ */ + TDA10046_FREQ_3613, /* 36,13 MHZ */ + TDA10046_FREQ_045, /* low IF, 4.0, 4.5, or 5.0 MHZ */ + TDA10046_FREQ_052, /* low IF, 5.1667 MHZ for tda9889 */ +}; + +struct tda1004x_config +{ + /* the demodulator's i2c address */ + u8 demod_address; + + /* does the "inversion" need inverted? */ + u8 invert; + + /* Does the OCLK signal need inverted? */ + u8 invert_oclk; + + /* Xtal frequency, 4 or 16MHz*/ + enum tda10046_xtal xtal_freq; + + /* IF frequency */ + enum tda10046_if if_freq; + + /* AGC configuration */ + enum tda10046_agc agc_config; + + /* PLL maintenance */ + int (*pll_init)(struct dvb_frontend* fe); + void (*pll_sleep)(struct dvb_frontend* fe); + int (*pll_set)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params); + + /* request firmware for device */ + /* set this to NULL if the card has a firmware EEPROM */ + int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); +}; + +extern struct dvb_frontend* tda10045_attach(const struct tda1004x_config* config, + struct i2c_adapter* i2c); + +extern struct dvb_frontend* tda10046_attach(const struct tda1004x_config* config, + struct i2c_adapter* i2c); + +extern int tda1004x_write_byte(struct dvb_frontend* fe, int reg, int data); + +#endif // TDA1004X_H |