drivers/media/i2c/alvium-csi2.h

Source file repositories/reference/linux-study-clean/drivers/media/i2c/alvium-csi2.h

File Facts

System
Linux kernel
Corpus path
drivers/media/i2c/alvium-csi2.h
Extension
.h
Size
15107 bytes
Lines
477
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 alvium_avail_feat {
	u64 rev_x:1;
	u64 rev_y:1;
	u64 int_autop:1;
	u64 black_lvl:1;
	u64 gain:1;
	u64 gamma:1;
	u64 contrast:1;
	u64 sat:1;
	u64 hue:1;
	u64 whiteb:1;
	u64 sharp:1;
	u64 auto_exp:1;
	u64 auto_gain:1;
	u64 auto_whiteb:1;
	u64 dev_temp:1;
	u64 acq_abort:1;
	u64 acq_fr:1;
	u64 fr_trigger:1;
	u64 exp_acq_line:1;
	u64 reserved:45;
};

struct alvium_avail_mipi_fmt {
	u64 yuv420_8_leg:1;
	u64 yuv420_8:1;
	u64 yuv420_10:1;
	u64 yuv420_8_csps:1;
	u64 yuv420_10_csps:1;
	u64 yuv422_8:1;
	u64 yuv422_10:1;
	u64 rgb888:1;
	u64 rgb666:1;
	u64 rgb565:1;
	u64 rgb555:1;
	u64 rgb444:1;
	u64 raw6:1;
	u64 raw7:1;
	u64 raw8:1;
	u64 raw10:1;
	u64 raw12:1;
	u64 raw14:1;
	u64 jpeg:1;
	u64 reserved:45;
};

struct alvium_avail_bayer {
	u8 mono:1;
	u8 gr:1;
	u8 rg:1;
	u8 gb:1;
	u8 bg:1;
	u8 reserved:3;
};

struct alvium_mode {
	struct v4l2_rect crop;
	struct v4l2_mbus_framefmt fmt;
	u32 width;
	u32 height;
};

struct alvium_pixfmt {
	u32 code;
	u32 colorspace;
	u64 mipi_fmt_regval;
	u64 bay_fmt_regval;
	u8 id;
	u8 is_raw;
	u8 fmt_av_bit;
	u8 bay_av_bit;
};

struct alvium_ctrls {
	struct v4l2_ctrl_handler handler;
	struct v4l2_ctrl *pixel_rate;
	struct v4l2_ctrl *link_freq;
	struct v4l2_ctrl *auto_exp;
	struct v4l2_ctrl *exposure;
	struct v4l2_ctrl *auto_wb;
	struct v4l2_ctrl *blue_balance;
	struct v4l2_ctrl *red_balance;
	struct v4l2_ctrl *auto_gain;
	struct v4l2_ctrl *gain;
	struct v4l2_ctrl *saturation;
	struct v4l2_ctrl *hue;
	struct v4l2_ctrl *contrast;
	struct v4l2_ctrl *gamma;
	struct v4l2_ctrl *sharpness;
	struct v4l2_ctrl *hflip;

Annotation

Implementation Notes