drivers/media/dvb-frontends/mxl692_defs.h

Source file repositories/reference/linux-study-clean/drivers/media/dvb-frontends/mxl692_defs.h

File Facts

System
Linux kernel
Corpus path
drivers/media/dvb-frontends/mxl692_defs.h
Extension
.h
Size
14848 bytes
Lines
540
Domain
Driver Families
Bucket
drivers/media
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct MXL_EAGLE_FW_DOWNLOAD_CB_PAYLOAD_T {
	u32  total_len;
	u32  downloaded_len;
};

/* Struct used of I2C protocol between host and Eagle, internal use only */
struct __packed MXL_EAGLE_HOST_MSG_HEADER_T {
	u8   opcode;
	u8   seqnum;
	u8   payload_size;
	u8   status;
	u32  checksum;
};

/* Device version information struct */
struct __packed MXL_EAGLE_DEV_VER_T {
	u8   chip_id;
	u8   firmware_ver[MXL_EAGLE_VERSION_SIZE];
	u8   mxlware_ver[MXL_EAGLE_VERSION_SIZE];
};

/* Xtal configuration struct */
struct __packed MXL_EAGLE_DEV_XTAL_T {
	u8   xtal_cap;           /* accepted range is 1..31 pF. Default is 26 */
	u8   clk_out_enable;
	u8   clk_out_div_enable;   /* clock out freq is xtal freq / 6 */
	u8   xtal_sharing_enable; /* if enabled set xtal_cap to 25 pF */
	u8   xtal_calibration_enable;  /* enable for master, disable for slave */
};

/* GPIO direction struct, internally used in GPIO configuration API */
struct __packed MXL_EAGLE_DEV_GPIO_DIRECTION_T {
	u8   gpio_number;
	u8   gpio_direction;
};

/* GPO level struct, internally used in GPIO configuration API */
struct __packed MXL_EAGLE_DEV_GPO_LEVEL_T {
	u8   gpio_number;
	u8   gpo_level;
};

/* Device Status struct */
struct MXL_EAGLE_DEV_STATUS_T {
	u8   temperature;
	u8   demod_type;
	u8   power_mode;
	u8   cpu_utilization_percent;
};

/* Device interrupt configuration struct */
struct __packed MXL_EAGLE_DEV_INTR_CFG_T {
	u32  intr_mask;
	u8   edge_trigger;
	u8   positive_trigger;
	u8   global_enable_interrupt;
};

/* MPEG pad drive parameters, used on MPEG output configuration */
/* See MXL_EAGLE_IO_MUX_DRIVE_MODE_E */
struct MXL_EAGLE_MPEG_PAD_DRIVE_T {
	u8   pad_drv_mpeg_syn;
	u8   pad_drv_mpeg_dat;
	u8   pad_drv_mpeg_val;
	u8   pad_drv_mpeg_clk;
};

/* MPEGOUT parameter struct, used in MPEG output configuration */
struct MXL_EAGLE_MPEGOUT_PARAMS_T {
	u8   mpeg_parallel;
	u8   msb_first;
	u8   mpeg_sync_pulse_width;    /* See MXL_EAGLE_MPEG_DATA_FORMAT_E */
	u8   mpeg_valid_pol;
	u8   mpeg_sync_pol;
	u8   mpeg_clk_pol;
	u8   mpeg3wire_mode_enable;
	u8   mpeg_clk_freq;
	struct MXL_EAGLE_MPEG_PAD_DRIVE_T mpeg_pad_drv;
};

/* QAM Demodulator parameters struct, used in QAM params configuration */
struct __packed MXL_EAGLE_QAM_DEMOD_PARAMS_T {
	u8   annex_type;
	u8   qam_type;
	u8   iq_flip;
	u8   search_range_idx;
	u8   spur_canceller_enable;
	u32  symbol_rate_hz;
	u32  symbol_rate_256qam_hz;
};

Annotation

Implementation Notes