Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
[platform/adaptation/renesas_rcar/renesas_kernel.git] / include / media / tveeprom.h
1 /*
2  */
3
4 enum 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
15 #include <linux/if_ether.h>
16
17 struct tveeprom {
18         u32 has_radio;
19         /* If has_ir == 0, then it is unknown what the IR capabilities are,
20            otherwise:
21            bit 0: 1 (= IR capabilities are known)
22            bit 1: IR receiver present
23            bit 2: IR transmitter (blaster) present */
24         u32 has_ir;
25         u32 has_MAC_address; /* 0: no MAC, 1: MAC present, 2: unknown */
26
27         u32 tuner_type;
28         u32 tuner_formats;
29         u32 tuner_hauppauge_model;
30
31         u32 tuner2_type;
32         u32 tuner2_formats;
33         u32 tuner2_hauppauge_model;
34
35         u32 digitizer;
36         u32 digitizer_formats;
37
38         u32 audio_processor;
39         u32 decoder_processor;
40
41         u32 model;
42         u32 revision;
43         u32 serial_number;
44         char rev_str[5];
45         u8 MAC_address[ETH_ALEN];
46 };
47
48 void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,
49                                unsigned char *eeprom_data);
50
51 int tveeprom_read(struct i2c_client *c, unsigned char *eedata, int len);