aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common/tuners
diff options
context:
space:
mode:
authorIstvan Varga <istvan_v@mailbox.hu>2011-06-03 09:55:24 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-07-27 16:52:33 -0400
commit4911085fa3342d2ccb04f84c2987305b86785ebf (patch)
treef697336284c985c7f3c0aa40add79f070edb1046 /drivers/media/common/tuners
parentfbe4a29f2f6523b8b839debb19baa49461a302be (diff)
[media] xc4000: updated standards table
This patch makes the following changes to the standards table: - added 'u16 int_freq' to struct XC_TV_STANDARD (needed for analog TV and radio, 0 for DVB-T) - added new standard for SECAM-D/K video with PAL-D/K audio - the 'int_freq' values are now specified in the table - changed VideoMode for NTSC and PAL-B/G standards Signed-off-by: Istvan Varga <istvan_v@mailbox.hu> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/common/tuners')
-rw-r--r--drivers/media/common/tuners/xc4000.c67
1 files changed, 35 insertions, 32 deletions
diff --git a/drivers/media/common/tuners/xc4000.c b/drivers/media/common/tuners/xc4000.c
index 15e4e99ad9cb..65dd948bf6a6 100644
--- a/drivers/media/common/tuners/xc4000.c
+++ b/drivers/media/common/tuners/xc4000.c
@@ -93,7 +93,7 @@ struct xc4000_priv {
93}; 93};
94 94
95/* Misc Defines */ 95/* Misc Defines */
96#define MAX_TV_STANDARD 23 96#define MAX_TV_STANDARD 24
97#define XC_MAX_I2C_WRITE_LENGTH 64 97#define XC_MAX_I2C_WRITE_LENGTH 64
98 98
99/* Signal Types */ 99/* Signal Types */
@@ -171,6 +171,7 @@ struct XC_TV_STANDARD {
171 const char *Name; 171 const char *Name;
172 u16 AudioMode; 172 u16 AudioMode;
173 u16 VideoMode; 173 u16 VideoMode;
174 u16 int_freq;
174}; 175};
175 176
176/* Tuner standards */ 177/* Tuner standards */
@@ -189,39 +190,41 @@ struct XC_TV_STANDARD {
189#define XC4000_DK_SECAM_A2DK1 12 190#define XC4000_DK_SECAM_A2DK1 12
190#define XC4000_DK_SECAM_A2LDK3 13 191#define XC4000_DK_SECAM_A2LDK3 13
191#define XC4000_DK_SECAM_A2MONO 14 192#define XC4000_DK_SECAM_A2MONO 14
192#define XC4000_L_SECAM_NICAM 15 193#define XC4000_DK_SECAM_NICAM 15
193#define XC4000_LC_SECAM_NICAM 16 194#define XC4000_L_SECAM_NICAM 16
194#define XC4000_DTV6 17 195#define XC4000_LC_SECAM_NICAM 17
195#define XC4000_DTV8 18 196#define XC4000_DTV6 18
196#define XC4000_DTV7_8 19 197#define XC4000_DTV8 19
197#define XC4000_DTV7 20 198#define XC4000_DTV7_8 20
198#define XC4000_FM_Radio_INPUT2 21 199#define XC4000_DTV7 21
199#define XC4000_FM_Radio_INPUT1 22 200#define XC4000_FM_Radio_INPUT2 22
201#define XC4000_FM_Radio_INPUT1 23
200 202
201static struct XC_TV_STANDARD XC4000_Standard[MAX_TV_STANDARD] = { 203static struct XC_TV_STANDARD XC4000_Standard[MAX_TV_STANDARD] = {
202 {"M/N-NTSC/PAL-BTSC", 0x0000, 0x8020}, 204 {"M/N-NTSC/PAL-BTSC", 0x0000, 0x80A0, 4500},
203 {"M/N-NTSC/PAL-A2", 0x0000, 0x8020}, 205 {"M/N-NTSC/PAL-A2", 0x0000, 0x80A0, 4600},
204 {"M/N-NTSC/PAL-EIAJ", 0x0040, 0x8020}, 206 {"M/N-NTSC/PAL-EIAJ", 0x0040, 0x80A0, 4500},
205 {"M/N-NTSC/PAL-Mono", 0x0078, 0x8020}, 207 {"M/N-NTSC/PAL-Mono", 0x0078, 0x80A0, 4500},
206 {"B/G-PAL-A2", 0x0000, 0x8059}, 208 {"B/G-PAL-A2", 0x0000, 0x8159, 5640},
207 {"B/G-PAL-NICAM", 0x0004, 0x8059}, 209 {"B/G-PAL-NICAM", 0x0004, 0x8159, 5740},
208 {"B/G-PAL-MONO", 0x0078, 0x8059}, 210 {"B/G-PAL-MONO", 0x0078, 0x8159, 5500},
209 {"I-PAL-NICAM", 0x0080, 0x8049}, 211 {"I-PAL-NICAM", 0x0080, 0x8049, 6240},
210 {"I-PAL-NICAM-MONO", 0x0078, 0x8049}, 212 {"I-PAL-NICAM-MONO", 0x0078, 0x8049, 6000},
211 {"D/K-PAL-A2", 0x0000, 0x8049}, 213 {"D/K-PAL-A2", 0x0000, 0x8049, 6380},
212 {"D/K-PAL-NICAM", 0x0080, 0x8049}, 214 {"D/K-PAL-NICAM", 0x0080, 0x8049, 6200},
213 {"D/K-PAL-MONO", 0x0078, 0x8049}, 215 {"D/K-PAL-MONO", 0x0078, 0x8049, 6500},
214 {"D/K-SECAM-A2 DK1", 0x0000, 0x8049}, 216 {"D/K-SECAM-A2 DK1", 0x0000, 0x8049, 6340},
215 {"D/K-SECAM-A2 L/DK3", 0x0000, 0x8049}, 217 {"D/K-SECAM-A2 L/DK3", 0x0000, 0x8049, 6000},
216 {"D/K-SECAM-A2 MONO", 0x0078, 0x8049}, 218 {"D/K-SECAM-A2 MONO", 0x0078, 0x8049, 6500},
217 {"L-SECAM-NICAM", 0x8080, 0x0009}, 219 {"D/K-SECAM-NICAM", 0x0080, 0x8049, 6200},
218 {"L'-SECAM-NICAM", 0x8080, 0x4009}, 220 {"L-SECAM-NICAM", 0x8080, 0x0009, 6200},
219 {"DTV6", 0x00C0, 0x8002}, 221 {"L'-SECAM-NICAM", 0x8080, 0x4009, 6200},
220 {"DTV8", 0x00C0, 0x800B}, 222 {"DTV6", 0x00C0, 0x8002, 0},
221 {"DTV7/8", 0x00C0, 0x801B}, 223 {"DTV8", 0x00C0, 0x800B, 0},
222 {"DTV7", 0x00C0, 0x8007}, 224 {"DTV7/8", 0x00C0, 0x801B, 0},
223 {"FM Radio-INPUT2", 0x0008, 0x9800}, 225 {"DTV7", 0x00C0, 0x8007, 0},
224 {"FM Radio-INPUT1", 0x0008, 0x9000} 226 {"FM Radio-INPUT2", 0x0008, 0x9800,10700},
227 {"FM Radio-INPUT1", 0x0008, 0x9000,10700}
225}; 228};
226 229
227static int xc4000_readreg(struct xc4000_priv *priv, u16 reg, u16 *val); 230static int xc4000_readreg(struct xc4000_priv *priv, u16 reg, u16 *val);