11 #ifndef V4L2_MEDIABUS_H
12 #define V4L2_MEDIABUS_H
23 #define V4L2_MBUS_MASTER (1 << 0)
24 #define V4L2_MBUS_SLAVE (1 << 1)
31 #define V4L2_MBUS_HSYNC_ACTIVE_HIGH (1 << 2)
32 #define V4L2_MBUS_HSYNC_ACTIVE_LOW (1 << 3)
33 #define V4L2_MBUS_VSYNC_ACTIVE_HIGH (1 << 4)
34 #define V4L2_MBUS_VSYNC_ACTIVE_LOW (1 << 5)
35 #define V4L2_MBUS_PCLK_SAMPLE_RISING (1 << 6)
36 #define V4L2_MBUS_PCLK_SAMPLE_FALLING (1 << 7)
37 #define V4L2_MBUS_DATA_ACTIVE_HIGH (1 << 8)
38 #define V4L2_MBUS_DATA_ACTIVE_LOW (1 << 9)
40 #define V4L2_MBUS_FIELD_EVEN_HIGH (1 << 10)
42 #define V4L2_MBUS_FIELD_EVEN_LOW (1 << 11)
46 #define V4L2_MBUS_CSI2_1_LANE (1 << 0)
47 #define V4L2_MBUS_CSI2_2_LANE (1 << 1)
48 #define V4L2_MBUS_CSI2_3_LANE (1 << 2)
49 #define V4L2_MBUS_CSI2_4_LANE (1 << 3)
51 #define V4L2_MBUS_CSI2_CHANNEL_0 (1 << 4)
52 #define V4L2_MBUS_CSI2_CHANNEL_1 (1 << 5)
53 #define V4L2_MBUS_CSI2_CHANNEL_2 (1 << 6)
54 #define V4L2_MBUS_CSI2_CHANNEL_3 (1 << 7)
56 #define V4L2_MBUS_CSI2_CONTINUOUS_CLOCK (1 << 8)
57 #define V4L2_MBUS_CSI2_NONCONTINUOUS_CLOCK (1 << 9)
59 #define V4L2_MBUS_CSI2_LANES (V4L2_MBUS_CSI2_1_LANE | V4L2_MBUS_CSI2_2_LANE | \
60 V4L2_MBUS_CSI2_3_LANE | V4L2_MBUS_CSI2_4_LANE)
61 #define V4L2_MBUS_CSI2_CHANNELS (V4L2_MBUS_CSI2_CHANNEL_0 | V4L2_MBUS_CSI2_CHANNEL_1 | \
62 V4L2_MBUS_CSI2_CHANNEL_2 | V4L2_MBUS_CSI2_CHANNEL_3)
87 static inline void v4l2_fill_pix_format(
struct v4l2_pix_format *pix_fmt,
88 const struct v4l2_mbus_framefmt *mbus_fmt)
90 pix_fmt->
width = mbus_fmt->width;
91 pix_fmt->
height = mbus_fmt->height;
92 pix_fmt->
field = mbus_fmt->field;
96 static inline void v4l2_fill_mbus_format(
struct v4l2_mbus_framefmt *mbus_fmt,
100 mbus_fmt->width = pix_fmt->
width;
101 mbus_fmt->height = pix_fmt->
height;
102 mbus_fmt->field = pix_fmt->
field;
104 mbus_fmt->code =
code;