2.29. 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

has_radio

1 if the device has radio; 0 otherwise.

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.

has_MAC_address

0: no MAC, 1: MAC present, 2: unknown.

tuner_type

type of the tuner (TUNER_*, as defined at include/media/tuner.h).

tuner_formats

Supported analog TV standards (V4L2_STD_*).

tuner_hauppauge_model

Hauppauge's code for the device model number.

tuner2_type

type of the second tuner (TUNER_*, as defined at include/media/tuner.h).

tuner2_formats

Tuner 2 supported analog TV standards (V4L2_STD_*).

tuner2_hauppauge_model

tuner 2 Hauppauge's code for the device model number.

audio_processor

analog audio decoder, as defined by enum tveeprom_audio_processor.

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.

model

Hauppauge's model number

revision

Card revision number

serial_number

Card's serial number

rev_str

Card revision converted to number

MAC_address

MAC address for the network interface

void tveeprom_hauppauge_analog(struct tveeprom *tvee, unsigned char *eeprom_data)

Fill struct tveeprom using the contents of the eeprom previously filled at eeprom_data field.

Parameters

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.