1.25. Hauppauge TV EEPROM functions and data structures¶
-
enum
tveeprom_audio_processor
¶ Specifies the type of audio processor used on a Hauppauge device.
Constants
TVEEPROM_AUDPROC_NONE
- No audio processor present
TVEEPROM_AUDPROC_INTERNAL
- The audio processor is internal to the video processor
TVEEPROM_AUDPROC_MSP
- The audio processor is a MSPXXXX device
TVEEPROM_AUDPROC_OTHER
- The audio processor is another device
-
struct
tveeprom
¶ Contains the fields parsed from Hauppauge eeproms
Definition
struct tveeprom {
u32 has_radio;
u32 has_ir;
u32 has_MAC_address;
u32 tuner_type;
u32 tuner_formats;
u32 tuner_hauppauge_model;
u32 tuner2_type;
u32 tuner2_formats;
u32 tuner2_hauppauge_model;
u32 audio_processor;
u32 decoder_processor;
u32 model;
u32 revision;
u32 serial_number;
char rev_str[5];
u8 MAC_address[ETH_ALEN];
};
Members
u32 has_radio
- 1 if the device has radio; 0 otherwise.
u32 has_ir
- If has_ir == 0, then it is unknown what the IR capabilities are. Otherwise: bit 0) 1 (= IR capabilities are known); bit 1) IR receiver present; bit 2) IR transmitter (blaster) present.
u32 has_MAC_address
- 0: no MAC, 1: MAC present, 2: unknown.
u32 tuner_type
- type of the tuner (TUNER_*, as defined at include/media/tuner.h).
u32 tuner_formats
- Supported analog TV standards (V4L2_STD_*).
u32 tuner_hauppauge_model
- Hauppauge’s code for the device model number.
u32 tuner2_type
- type of the second tuner (TUNER_*, as defined at include/media/tuner.h).
u32 tuner2_formats
- Tuner 2 supported analog TV standards (V4L2_STD_*).
u32 tuner2_hauppauge_model
- tuner 2 Hauppauge’s code for the device model number.
u32 audio_processor
- analog audio decoder, as defined by enum tveeprom_audio_processor.
u32 decoder_processor
- Hauppauge’s code for the decoder chipset. Unused by the drivers, as they probe the decoder based on the PCI or USB ID.
u32 model
- Hauppauge’s model number
u32 revision
- Card revision number
u32 serial_number
- Card’s serial number
char rev_str[5]
- Card revision converted to number
u8 MAC_address[ETH_ALEN]
- MAC address for the network interface
-
void
tveeprom_hauppauge_analog
(struct i2c_client * c, struct tveeprom * tvee, unsigned char * eeprom_data)¶ Fill struct tveeprom using the contents of the eeprom previously filled at eeprom_data field.
Parameters
struct i2c_client * c
- I2C client struct
struct tveeprom * tvee
- Struct to where the eeprom parsed data will be filled;
unsigned char * eeprom_data
- Array with the contents of the eeprom_data. It should contain 256 bytes filled with the contents of the eeprom read from the Hauppauge device.
-
int
tveeprom_read
(struct i2c_client * c, unsigned char * eedata, int len)¶ Reads the contents of the eeprom found at the Hauppauge devices.
Parameters
struct i2c_client * c
- I2C client struct
unsigned char * eedata
- Array where the eeprom content will be stored.
int len
- Size of eedata array. If the eeprom content will be latter
be parsed by
tveeprom_hauppauge_analog()
, len should be, at least, 256.