2.28. Hauppauge TV EEPROM 函数和数据结构

enum tveeprom_audio_processor

指定 Hauppauge 设备上使用的音频处理器的类型。

常量

TVEEPROM_AUDPROC_NONE

不存在音频处理器

TVEEPROM_AUDPROC_INTERNAL

音频处理器是视频处理器的内部组成部分

TVEEPROM_AUDPROC_MSP

音频处理器是 MSPXXXX 设备

TVEEPROM_AUDPROC_OTHER

音频处理器是另一个设备

struct tveeprom

包含从 Hauppauge eeprom 解析的字段

定义:

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];
};

成员

has_radio

如果设备有收音机则为 1;否则为 0。

has_ir

如果 has_ir == 0,则无法知道 IR 功能是什么。否则:位 0) 1 (= IR 功能已知);位 1) 存在 IR 接收器;位 2) 存在 IR 发射器(发射器)。

has_MAC_address

0:无 MAC,1:存在 MAC,2:未知。

tuner_type

调谐器的类型(TUNER_*,如 include/media/tuner.h 中定义)。

tuner_formats

支持的模拟电视标准 (V4L2_STD_*)。

tuner_hauppauge_model

Hauppauge 的设备型号代码。

tuner2_type

第二个调谐器的类型(TUNER_*,如 include/media/tuner.h 中定义)。

tuner2_formats

调谐器 2 支持的模拟电视标准 (V4L2_STD_*)。

tuner2_hauppauge_model

调谐器 2 Hauppauge 的设备型号代码。

audio_processor

模拟音频解码器,如 enum tveeprom_audio_processor 定义。

decoder_processor

Hauppauge 的解码器芯片组代码。驱动程序未使用,因为它们基于 PCI 或 USB ID 探测解码器。

model

Hauppauge 的型号

revision

卡修订号

serial_number

卡的序列号

rev_str

卡修订号转换为数字

MAC_address

网络接口的 MAC 地址

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

使用先前在 eeprom_data 字段中填充的 eeprom 的内容填充 struct tveeprom

参数

struct tveeprom *tvee

结构体,其中将填充解析的 eeprom 数据;

unsigned char *eeprom_data

包含 eeprom_data 内容的数组。它应该包含 256 个字节,其中填充了从 Hauppauge 设备读取的 eeprom 的内容。

int tveeprom_read(struct i2c_client *c, unsigned char *eedata, int len)

读取在 Hauppauge 设备中找到的 eeprom 的内容。

参数

struct i2c_client *c

I2C 客户端结构体

unsigned char *eedata

将存储 eeprom 内容的数组。

int len

eedata 数组的大小。如果 eeprom 内容稍后将由 tveeprom_hauppauge_analog() 解析,则 len 至少应为 256。