diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-06 18:08:58 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-06 18:11:41 -0700 |
commit | 4ef4327b30957a16619ac7d47c749465e62de8c3 (patch) | |
tree | 5c80e853f0d9eadd01b2019d03d2432334393c5e /drivers/media/dvb/frontends/lgs8gxx.h | |
parent | 3989203290fba6fdf6bc4825fbf6526e1bf17977 (diff) | |
parent | a938b8c5be8fe5c28800c9cef4aa43d569aa57a8 (diff) | |
download | blackbird-op-linux-4ef4327b30957a16619ac7d47c749465e62de8c3.tar.gz blackbird-op-linux-4ef4327b30957a16619ac7d47c749465e62de8c3.zip |
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (120 commits)
cx231xx: Convert to snd_card_create()
V4L/DVB (11440): PWC: fix build error when CONFIG_INPUT=m
V4L/DVB (11439): UVC: uvc_status_cleanup(): undefined reference to `input_unregister_device'
V4L/DVB (11438): au0828: fix Kconfig dependance
V4L/DVB (11437): pvrusb2: Drop client_register/unregister stubs
V4L/DVB (11436): radio-mr800: convert to to v4l2_device
V4L/DVB (11435): dsbr100 radio: convert to to v4l2_device
V4L/DVB: zr364xx: remove unused #include <version.h>
V4L/DVB: usbvision: remove unused #include <version.h>
V4L/DVB (11427): gspca - m5602: Minor cleanups
V4L/DVB (11426): gspca - m5602: Don't touch hflip/vflip register on Read/Modify/Write
V4L/DVB (11425): gspca - m5602: Move the vflip quirk to probe stage.
V4L/DVB (11424): gspca - m5602-ov9650: Use the local ctrl cache. Adjust image on vflip.
V4L/DVB (11423): gspca - m5602-ov9650: Add a disconnect hook, setup a ctrl cache ctrl.
V4L/DVB (11422): gspca - m5602-ov9650: Replace a magic constant with a define
V4L/DVB (11421): gspca - m5602-ov9650: Synthesize modesetting.
V4L/DVB (11420): gspca - m5602: Improve error handling in the ov9650 driver
V4L/DVB (11419): gspca - m5602-ov9650: Don't read exposure data from COM1.
V4L/DVB (11418): gspca - m5602-ov9650: Auto white balancing is on by default
V4L/DVB (11417): gspca - m5602-ov9650: Autogain is on by default
...
Diffstat (limited to 'drivers/media/dvb/frontends/lgs8gxx.h')
-rw-r--r-- | drivers/media/dvb/frontends/lgs8gxx.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/drivers/media/dvb/frontends/lgs8gxx.h b/drivers/media/dvb/frontends/lgs8gxx.h new file mode 100644 index 000000000000..321d366a8307 --- /dev/null +++ b/drivers/media/dvb/frontends/lgs8gxx.h @@ -0,0 +1,90 @@ +/* + * Support for Legend Silicon DMB-TH demodulator + * LGS8913, LGS8GL5 + * experimental support LGS8G42, LGS8G52 + * + * Copyright (C) 2007,2008 David T.L. Wong <davidtlwong@gmail.com> + * Copyright (C) 2008 Sirius International (Hong Kong) Limited + * Timothy Lee <timothy.lee@siriushk.com> (for initial work on LGS8GL5) + * + * 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 __LGS8GXX_H__ +#define __LGS8GXX_H__ + +#include <linux/dvb/frontend.h> +#include <linux/i2c.h> + +#define LGS8GXX_PROD_LGS8913 0 +#define LGS8GXX_PROD_LGS8GL5 1 +#define LGS8GXX_PROD_LGS8G42 3 +#define LGS8GXX_PROD_LGS8G52 4 +#define LGS8GXX_PROD_LGS8G54 5 + +struct lgs8gxx_config { + + /* product type */ + u8 prod; + + /* the demodulator's i2c address */ + u8 demod_address; + + /* parallel or serial transport stream */ + u8 serial_ts; + + /* transport stream polarity*/ + u8 ts_clk_pol; + + /* transport stream clock gated by ts_valid */ + u8 ts_clk_gated; + + /* A/D Clock frequency */ + u32 if_clk_freq; /* in kHz */ + + /* IF frequency */ + u32 if_freq; /* in kHz */ + + /*Use External ADC*/ + u8 ext_adc; + + /*External ADC output two's complement*/ + u8 adc_signed; + + /*Sample IF data at falling edge of IF_CLK*/ + u8 if_neg_edge; + + /*IF use Negative center frequency*/ + u8 if_neg_center; + + /* slave address and configuration of the tuner */ + u8 tuner_address; +}; + +#if defined(CONFIG_DVB_LGS8GXX) || \ + (defined(CONFIG_DVB_LGS8GXX_MODULE) && defined(MODULE)) +extern struct dvb_frontend *lgs8gxx_attach(const struct lgs8gxx_config *config, + struct i2c_adapter *i2c); +#else +static inline +struct dvb_frontend *lgs8gxx_attach(const struct lgs8gxx_config *config, + struct i2c_adapter *i2c) { + printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); + return NULL; +} +#endif /* CONFIG_DVB_LGS8GXX */ + +#endif /* __LGS8GXX_H__ */ |