diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-12-30 20:41:32 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-12-30 20:41:32 -0500 |
commit | f54a6ec0fd85002d94d05b4bb679508eeb066683 (patch) | |
tree | 0f24dd66cce563d2c5e7656c2489e5b96eef31f9 /drivers/media/dvb/frontends/stb6100.h | |
parent | 5ed1836814d908f45cafde0e79cb85314ab9d41d (diff) | |
parent | 134179823b3ca9c8b98e0631906459dbb022ff9b (diff) |
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: (583 commits)
V4L/DVB (10130): use USB API functions rather than constants
V4L/DVB (10129): dvb: remove deprecated use of RW_LOCK_UNLOCKED in frontends
V4L/DVB (10128): modify V4L documentation to be a valid XHTML
V4L/DVB (10127): stv06xx: Avoid having y unitialized
V4L/DVB (10125): em28xx: Don't do AC97 vendor detection for i2s audio devices
V4L/DVB (10124): em28xx: expand output formats available
V4L/DVB (10123): em28xx: fix reversed definitions of I2S audio modes
V4L/DVB (10122): em28xx: don't load em28xx-alsa for em2870 based devices
V4L/DVB (10121): em28xx: remove worthless Pinnacle PCTV HD Mini 80e device profile
V4L/DVB (10120): em28xx: remove redundant Pinnacle Dazzle DVC 100 profile
V4L/DVB (10119): em28xx: fix corrupted XCLK value
V4L/DVB (10118): zoran: fix warning for a variable not used
V4L/DVB (10116): af9013: Fix gcc false warnings
V4L/DVB (10111a): usbvideo.h: remove an useless blank line
V4L/DVB (10111): quickcam_messenger.c: fix a warning
V4L/DVB (10110): v4l2-ioctl: Fix warnings when using .unlocked_ioctl = __video_ioctl2
V4L/DVB (10109): anysee: Fix usage of an unitialized function
V4L/DVB (10104): uvcvideo: Add support for video output devices
V4L/DVB (10102): uvcvideo: Ignore interrupt endpoint for built-in iSight webcams.
V4L/DVB (10101): uvcvideo: Fix bulk URB processing when the header is erroneous
...
Diffstat (limited to 'drivers/media/dvb/frontends/stb6100.h')
-rw-r--r-- | drivers/media/dvb/frontends/stb6100.h | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/drivers/media/dvb/frontends/stb6100.h b/drivers/media/dvb/frontends/stb6100.h new file mode 100644 index 000000000000..395d056599a6 --- /dev/null +++ b/drivers/media/dvb/frontends/stb6100.h | |||
@@ -0,0 +1,115 @@ | |||
1 | /* | ||
2 | STB6100 Silicon Tuner | ||
3 | Copyright (C) Manu Abraham (abraham.manu@gmail.com) | ||
4 | |||
5 | Copyright (C) ST Microelectronics | ||
6 | |||
7 | This program is free software; you can redistribute it and/or modify | ||
8 | it under the terms of the GNU General Public License as published by | ||
9 | the Free Software Foundation; either version 2 of the License, or | ||
10 | (at your option) any later version. | ||
11 | |||
12 | This program is distributed in the hope that it will be useful, | ||
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | GNU General Public License for more details. | ||
16 | |||
17 | You should have received a copy of the GNU General Public License | ||
18 | along with this program; if not, write to the Free Software | ||
19 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
20 | */ | ||
21 | |||
22 | #ifndef __STB_6100_REG_H | ||
23 | #define __STB_6100_REG_H | ||
24 | |||
25 | #include <linux/dvb/frontend.h> | ||
26 | #include "dvb_frontend.h" | ||
27 | |||
28 | #define STB6100_LD 0x00 | ||
29 | #define STB6100_LD_LOCK (1 << 0) | ||
30 | |||
31 | #define STB6100_VCO 0x01 | ||
32 | #define STB6100_VCO_OSCH (0x01 << 7) | ||
33 | #define STB6100_VCO_OSCH_SHIFT 7 | ||
34 | #define STB6100_VCO_OCK (0x03 << 5) | ||
35 | #define STB6100_VCO_OCK_SHIFT 5 | ||
36 | #define STB6100_VCO_ODIV (0x01 << 4) | ||
37 | #define STB6100_VCO_ODIV_SHIFT 4 | ||
38 | #define STB6100_VCO_OSM (0x0f << 0) | ||
39 | |||
40 | #define STB6100_NI 0x02 | ||
41 | #define STB6100_NF_LSB 0x03 | ||
42 | |||
43 | #define STB6100_K 0x04 | ||
44 | #define STB6100_K_PSD2 (0x01 << 2) | ||
45 | #define STB6100_K_PSD2_SHIFT 2 | ||
46 | #define STB6100_K_NF_MSB (0x03 << 0) | ||
47 | |||
48 | #define STB6100_G 0x05 | ||
49 | #define STB6100_G_G (0x0f << 0) | ||
50 | #define STB6100_G_GCT (0x07 << 5) | ||
51 | |||
52 | #define STB6100_F 0x06 | ||
53 | #define STB6100_F_F (0x1f << 0) | ||
54 | |||
55 | #define STB6100_DLB 0x07 | ||
56 | |||
57 | #define STB6100_TEST1 0x08 | ||
58 | |||
59 | #define STB6100_FCCK 0x09 | ||
60 | #define STB6100_FCCK_FCCK (0x01 << 6) | ||
61 | |||
62 | #define STB6100_LPEN 0x0a | ||
63 | #define STB6100_LPEN_LPEN (0x01 << 4) | ||
64 | #define STB6100_LPEN_SYNP (0x01 << 5) | ||
65 | #define STB6100_LPEN_OSCP (0x01 << 6) | ||
66 | #define STB6100_LPEN_BEN (0x01 << 7) | ||
67 | |||
68 | #define STB6100_TEST3 0x0b | ||
69 | |||
70 | #define STB6100_NUMREGS 0x0c | ||
71 | |||
72 | |||
73 | #define INRANGE(val, x, y) (((x <= val) && (val <= y)) || \ | ||
74 | ((y <= val) && (val <= x)) ? 1 : 0) | ||
75 | |||
76 | #define CHKRANGE(val, x, y) (((val >= x) && (val < y)) ? 1 : 0) | ||
77 | |||
78 | struct stb6100_config { | ||
79 | u8 tuner_address; | ||
80 | u32 refclock; | ||
81 | }; | ||
82 | |||
83 | struct stb6100_state { | ||
84 | struct i2c_adapter *i2c; | ||
85 | |||
86 | const struct stb6100_config *config; | ||
87 | struct dvb_tuner_ops ops; | ||
88 | struct dvb_frontend *frontend; | ||
89 | struct tuner_state status; | ||
90 | |||
91 | u32 frequency; | ||
92 | u32 srate; | ||
93 | u32 bandwidth; | ||
94 | u32 reference; | ||
95 | }; | ||
96 | |||
97 | #if defined(CONFIG_DVB_STB6100) || (defined(CONFIG_DVB_STB6100_MODULE) && defined(MODULE)) | ||
98 | |||
99 | extern struct dvb_frontend *stb6100_attach(struct dvb_frontend *fe, | ||
100 | struct stb6100_config *config, | ||
101 | struct i2c_adapter *i2c); | ||
102 | |||
103 | #else | ||
104 | |||
105 | static inline struct dvb_frontend *stb6100_attach(struct dvb_frontend *fe, | ||
106 | struct stb6100_config *config, | ||
107 | struct i2c_adapter *i2c) | ||
108 | { | ||
109 | printk(KERN_WARNING "%s: Driver disabled by Kconfig\n", __func__); | ||
110 | return NULL; | ||
111 | } | ||
112 | |||
113 | #endif //CONFIG_DVB_STB6100 | ||
114 | |||
115 | #endif | ||