blob: 4a1191abd936df57986be2f99b44cfcd1f0203ee [file] [log] [blame]
Mauro Carvalho Chehabac19ecc2005-06-23 22:05:09 -07001/*
Mauro Carvalho Chehabac19ecc2005-06-23 22:05:09 -07002 */
3
Hans Verkuil33001012013-05-29 06:59:45 -03004enum tveeprom_audio_processor {
5 /* No audio processor present */
6 TVEEPROM_AUDPROC_NONE,
7 /* The audio processor is internal to the video processor */
8 TVEEPROM_AUDPROC_INTERNAL,
9 /* The audio processor is a MSPXXXX device */
10 TVEEPROM_AUDPROC_MSP,
11 /* The audio processor is another device */
12 TVEEPROM_AUDPROC_OTHER,
13};
14
Linus Torvalds1da177e2005-04-16 15:20:36 -070015struct tveeprom {
16 u32 has_radio;
Hans Verkuilb654fcdc2008-07-22 15:50:31 -030017 /* If has_ir == 0, then it is unknown what the IR capabilities are,
18 otherwise:
19 bit 0: 1 (= IR capabilities are known)
20 bit 1: IR receiver present
21 bit 2: IR transmitter (blaster) present */
22 u32 has_ir;
Steven Toth3ca0ea92005-12-01 00:51:27 -080023 u32 has_MAC_address; /* 0: no MAC, 1: MAC present, 2: unknown */
Linus Torvalds1da177e2005-04-16 15:20:36 -070024
25 u32 tuner_type;
26 u32 tuner_formats;
Hans Verkuilf95006f2005-12-01 00:51:42 -080027 u32 tuner_hauppauge_model;
Linus Torvalds1da177e2005-04-16 15:20:36 -070028
Mauro Carvalho Chehab0f97a932005-09-09 13:04:05 -070029 u32 tuner2_type;
30 u32 tuner2_formats;
Hans Verkuilf95006f2005-12-01 00:51:42 -080031 u32 tuner2_hauppauge_model;
Mauro Carvalho Chehab0f97a932005-09-09 13:04:05 -070032
Linus Torvalds1da177e2005-04-16 15:20:36 -070033 u32 digitizer;
34 u32 digitizer_formats;
35
36 u32 audio_processor;
Mauro Carvalho Chehab0f97a932005-09-09 13:04:05 -070037 u32 decoder_processor;
Linus Torvalds1da177e2005-04-16 15:20:36 -070038
39 u32 model;
40 u32 revision;
41 u32 serial_number;
42 char rev_str[5];
Steven Toth3ca0ea92005-12-01 00:51:27 -080043 u8 MAC_address[6];
Linus Torvalds1da177e2005-04-16 15:20:36 -070044};
45
Mauro Carvalho Chehab0f97a932005-09-09 13:04:05 -070046void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,
Linus Torvalds1da177e2005-04-16 15:20:36 -070047 unsigned char *eeprom_data);
48
49int tveeprom_read(struct i2c_client *c, unsigned char *eedata, int len);