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.