diff options
Diffstat (limited to 'drivers/media/dvb/frontends/dvb-pll.c')
-rw-r--r-- | drivers/media/dvb/frontends/dvb-pll.c | 94 |
1 files changed, 86 insertions, 8 deletions
diff --git a/drivers/media/dvb/frontends/dvb-pll.c b/drivers/media/dvb/frontends/dvb-pll.c index 2a3c2ce7b2aa..f73b5f48e235 100644 --- a/drivers/media/dvb/frontends/dvb-pll.c +++ b/drivers/media/dvb/frontends/dvb-pll.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * $Id: dvb-pll.c,v 1.7 2005/02/10 11:52:02 kraxel Exp $ | ||
3 | * | ||
4 | * descriptions + helper functions for simple dvb plls. | 2 | * descriptions + helper functions for simple dvb plls. |
5 | * | 3 | * |
6 | * (c) 2004 Gerd Knorr <kraxel@bytesex.org> [SuSE Labs] | 4 | * (c) 2004 Gerd Knorr <kraxel@bytesex.org> [SuSE Labs] |
@@ -114,6 +112,92 @@ struct dvb_pll_desc dvb_pll_unknown_1 = { | |||
114 | }; | 112 | }; |
115 | EXPORT_SYMBOL(dvb_pll_unknown_1); | 113 | EXPORT_SYMBOL(dvb_pll_unknown_1); |
116 | 114 | ||
115 | /* Infineon TUA6010XS | ||
116 | * used in Thomson Cable Tuner | ||
117 | */ | ||
118 | struct dvb_pll_desc dvb_pll_tua6010xs = { | ||
119 | .name = "Infineon TUA6010XS", | ||
120 | .min = 44250000, | ||
121 | .max = 858000000, | ||
122 | .count = 3, | ||
123 | .entries = { | ||
124 | { 115750000, 36125000, 62500, 0x8e, 0x03 }, | ||
125 | { 403250000, 36125000, 62500, 0x8e, 0x06 }, | ||
126 | { 999999999, 36125000, 62500, 0x8e, 0x85 }, | ||
127 | }, | ||
128 | }; | ||
129 | EXPORT_SYMBOL(dvb_pll_tua6010xs); | ||
130 | |||
131 | /* Panasonic env57h1xd5 (some Philips PLL ?) */ | ||
132 | struct dvb_pll_desc dvb_pll_env57h1xd5 = { | ||
133 | .name = "Panasonic ENV57H1XD5", | ||
134 | .min = 44250000, | ||
135 | .max = 858000000, | ||
136 | .count = 4, | ||
137 | .entries = { | ||
138 | { 153000000, 36291666, 166666, 0xc2, 0x41 }, | ||
139 | { 470000000, 36291666, 166666, 0xc2, 0x42 }, | ||
140 | { 526000000, 36291666, 166666, 0xc2, 0x84 }, | ||
141 | { 999999999, 36291666, 166666, 0xc2, 0xa4 }, | ||
142 | }, | ||
143 | }; | ||
144 | EXPORT_SYMBOL(dvb_pll_env57h1xd5); | ||
145 | |||
146 | /* Philips TDA6650/TDA6651 | ||
147 | * used in Panasonic ENV77H11D5 | ||
148 | */ | ||
149 | static void tda665x_bw(u8 *buf, int bandwidth) | ||
150 | { | ||
151 | if (bandwidth == BANDWIDTH_8_MHZ) | ||
152 | buf[3] |= 0x08; | ||
153 | } | ||
154 | |||
155 | struct dvb_pll_desc dvb_pll_tda665x = { | ||
156 | .name = "Philips TDA6650/TDA6651", | ||
157 | .min = 44250000, | ||
158 | .max = 858000000, | ||
159 | .setbw = tda665x_bw, | ||
160 | .count = 12, | ||
161 | .entries = { | ||
162 | { 93834000, 36249333, 166667, 0xca, 0x61 /* 011 0 0 0 01 */ }, | ||
163 | { 123834000, 36249333, 166667, 0xca, 0xa1 /* 101 0 0 0 01 */ }, | ||
164 | { 161000000, 36249333, 166667, 0xca, 0xa1 /* 101 0 0 0 01 */ }, | ||
165 | { 163834000, 36249333, 166667, 0xca, 0xc2 /* 110 0 0 0 10 */ }, | ||
166 | { 253834000, 36249333, 166667, 0xca, 0x62 /* 011 0 0 0 10 */ }, | ||
167 | { 383834000, 36249333, 166667, 0xca, 0xa2 /* 101 0 0 0 10 */ }, | ||
168 | { 443834000, 36249333, 166667, 0xca, 0xc2 /* 110 0 0 0 10 */ }, | ||
169 | { 444000000, 36249333, 166667, 0xca, 0xc3 /* 110 0 0 0 11 */ }, | ||
170 | { 583834000, 36249333, 166667, 0xca, 0x63 /* 011 0 0 0 11 */ }, | ||
171 | { 793834000, 36249333, 166667, 0xca, 0xa3 /* 101 0 0 0 11 */ }, | ||
172 | { 444834000, 36249333, 166667, 0xca, 0xc3 /* 110 0 0 0 11 */ }, | ||
173 | { 861000000, 36249333, 166667, 0xca, 0xe3 /* 111 0 0 0 11 */ }, | ||
174 | } | ||
175 | }; | ||
176 | EXPORT_SYMBOL(dvb_pll_tda665x); | ||
177 | |||
178 | /* Infineon TUA6034 | ||
179 | * used in LG TDTP E102P | ||
180 | */ | ||
181 | static void tua6034_bw(u8 *buf, int bandwidth) | ||
182 | { | ||
183 | if (BANDWIDTH_7_MHZ != bandwidth) | ||
184 | buf[3] |= 0x08; | ||
185 | } | ||
186 | |||
187 | struct dvb_pll_desc dvb_pll_tua6034 = { | ||
188 | .name = "Infineon TUA6034", | ||
189 | .min = 44250000, | ||
190 | .max = 858000000, | ||
191 | .count = 3, | ||
192 | .setbw = tua6034_bw, | ||
193 | .entries = { | ||
194 | { 174500000, 36166667, 62500, 0xce, 0x01 }, | ||
195 | { 230000000, 36166667, 62500, 0xce, 0x02 }, | ||
196 | { 999999999, 36166667, 62500, 0xce, 0x04 }, | ||
197 | }, | ||
198 | }; | ||
199 | EXPORT_SYMBOL(dvb_pll_tua6034); | ||
200 | |||
117 | /* ----------------------------------------------------------- */ | 201 | /* ----------------------------------------------------------- */ |
118 | /* code */ | 202 | /* code */ |
119 | 203 | ||
@@ -160,9 +244,3 @@ EXPORT_SYMBOL(dvb_pll_configure); | |||
160 | MODULE_DESCRIPTION("dvb pll library"); | 244 | MODULE_DESCRIPTION("dvb pll library"); |
161 | MODULE_AUTHOR("Gerd Knorr"); | 245 | MODULE_AUTHOR("Gerd Knorr"); |
162 | MODULE_LICENSE("GPL"); | 246 | MODULE_LICENSE("GPL"); |
163 | |||
164 | /* | ||
165 | * Local variables: | ||
166 | * c-basic-offset: 8 | ||
167 | * End: | ||
168 | */ | ||