include/media/v4l2-mediabus.h
Source file repositories/reference/linux-study-clean/include/media/v4l2-mediabus.h
File Facts
- System
- Linux kernel
- Corpus path
include/media/v4l2-mediabus.h- Extension
.h- Size
- 9973 bytes
- Lines
- 279
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/v4l2-mediabus.hlinux/bitops.h
Detected Declarations
struct v4l2_mbus_config_mipi_csi2struct v4l2_mbus_config_parallelstruct v4l2_mbus_config_mipi_csi1struct v4l2_mbus_configenum v4l2_mbus_csi2_cphy_line_orders_typeenum v4l2_mbus_typefunction v4l2_fill_pix_formatfunction v4l2_fill_mbus_formatfunction v4l2_fill_pix_format_mplanefunction v4l2_fill_mbus_format_mplane
Annotated Snippet
struct v4l2_mbus_config_mipi_csi2 {
unsigned int flags;
unsigned char data_lanes[V4L2_MBUS_CSI2_MAX_DATA_LANES];
unsigned char clock_lane;
unsigned char num_data_lanes;
bool lane_polarities[1 + V4L2_MBUS_CSI2_MAX_DATA_LANES];
enum v4l2_mbus_csi2_cphy_line_orders_type line_orders[V4L2_MBUS_CSI2_MAX_DATA_LANES];
};
/**
* struct v4l2_mbus_config_parallel - parallel data bus configuration
* @flags: media bus (V4L2_MBUS_*) flags
* @bus_width: bus width in bits
* @data_shift: data shift in bits
*/
struct v4l2_mbus_config_parallel {
unsigned int flags;
unsigned char bus_width;
unsigned char data_shift;
};
/**
* struct v4l2_mbus_config_mipi_csi1 - CSI-1/CCP2 data bus configuration
* @clock_inv: polarity of clock/strobe signal
* false - not inverted, true - inverted
* @strobe: false - data/clock, true - data/strobe
* @lane_polarity: the polarities of the clock (index 0) and data lanes
* index (1)
* @data_lane: the number of the data lane
* @clock_lane: the number of the clock lane
*/
struct v4l2_mbus_config_mipi_csi1 {
unsigned char clock_inv:1;
unsigned char strobe:1;
bool lane_polarity[2];
unsigned char data_lane;
unsigned char clock_lane;
};
/**
* enum v4l2_mbus_type - media bus type
* @V4L2_MBUS_UNKNOWN: unknown bus type, no V4L2 mediabus configuration
* @V4L2_MBUS_PARALLEL: parallel interface with hsync and vsync
* @V4L2_MBUS_BT656: parallel interface with embedded synchronisation, can
* also be used for BT.1120
* @V4L2_MBUS_CSI1: MIPI CSI-1 serial interface
* @V4L2_MBUS_CCP2: CCP2 (Compact Camera Port 2)
* @V4L2_MBUS_CSI2_DPHY: MIPI CSI-2 serial interface, with D-PHY
* @V4L2_MBUS_CSI2_CPHY: MIPI CSI-2 serial interface, with C-PHY
* @V4L2_MBUS_DPI: MIPI VIDEO DPI interface
* @V4L2_MBUS_INVALID: invalid bus type (keep as last)
*/
enum v4l2_mbus_type {
V4L2_MBUS_UNKNOWN,
V4L2_MBUS_PARALLEL,
V4L2_MBUS_BT656,
V4L2_MBUS_CSI1,
V4L2_MBUS_CCP2,
V4L2_MBUS_CSI2_DPHY,
V4L2_MBUS_CSI2_CPHY,
V4L2_MBUS_DPI,
V4L2_MBUS_INVALID,
};
/**
* struct v4l2_mbus_config - media bus configuration
* @type: interface type
* @link_freq: The link frequency. See also V4L2_CID_LINK_FREQ control.
* @bus: bus configuration data structure
* @bus.parallel: embedded &struct v4l2_mbus_config_parallel.
* Used if the bus is parallel or BT.656.
* @bus.mipi_csi1: embedded &struct v4l2_mbus_config_mipi_csi1.
* Used if the bus is MIPI Alliance's Camera Serial
* Interface version 1 (MIPI CSI1) or Standard
* Mobile Imaging Architecture's Compact Camera Port 2
* (SMIA CCP2).
* @bus.mipi_csi2: embedded &struct v4l2_mbus_config_mipi_csi2.
* Used if the bus is MIPI Alliance's Camera Serial
* Interface version 2 (MIPI CSI2).
*/
struct v4l2_mbus_config {
enum v4l2_mbus_type type;
u64 link_freq;
union {
struct v4l2_mbus_config_parallel parallel;
struct v4l2_mbus_config_mipi_csi1 mipi_csi1;
struct v4l2_mbus_config_mipi_csi2 mipi_csi2;
} bus;
};
Annotation
- Immediate include surface: `linux/v4l2-mediabus.h`, `linux/bitops.h`.
- Detected declarations: `struct v4l2_mbus_config_mipi_csi2`, `struct v4l2_mbus_config_parallel`, `struct v4l2_mbus_config_mipi_csi1`, `struct v4l2_mbus_config`, `enum v4l2_mbus_csi2_cphy_line_orders_type`, `enum v4l2_mbus_type`, `function v4l2_fill_pix_format`, `function v4l2_fill_mbus_format`, `function v4l2_fill_pix_format_mplane`, `function v4l2_fill_mbus_format_mplane`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.