From: Sakari Ailus <sakari.ai...@linux.intel.com>

Add CSI-2 bus specific configuration to the frame descriptors. This allows
obtaining the virtual channel and data type information for each stream
the transmitter is sending.

Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+rene...@ragnatech.se>
---
 include/media/v4l2-subdev.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
index ac1f7ee4cdb978ad..ffd98e4f368358a6 100644
--- a/include/media/v4l2-subdev.h
+++ b/include/media/v4l2-subdev.h
@@ -317,6 +317,17 @@ struct v4l2_subdev_audio_ops {
        int (*s_stream)(struct v4l2_subdev *sd, int enable);
 };
 
+/**
+ * struct v4l2_mbus_frame_desc_entry_csi2
+ *
+ * @channel: CSI-2 virtual channel
+ * @data_type: CSI-2 data type ID
+ */
+struct v4l2_mbus_frame_desc_entry_csi2 {
+       u8 channel;
+       u8 data_type;
+};
+
 /**
  * enum v4l2_mbus_frame_desc_entry - media bus frame description flags
  *
@@ -340,11 +351,16 @@ enum v4l2_mbus_frame_desc_flags {
  *             %FRAME_DESC_FL_BLOB is not set.
  * @length:    number of octets per frame, valid if @flags
  *             %V4L2_MBUS_FRAME_DESC_FL_LEN_MAX is set.
+ * @bus:       Bus specific frame descriptor parameters
+ * @bus.csi2:  CSI-2 specific bus configuration
  */
 struct v4l2_mbus_frame_desc_entry {
        enum v4l2_mbus_frame_desc_flags flags;
        u32 pixelcode;
        u32 length;
+       union {
+               struct v4l2_mbus_frame_desc_entry_csi2 csi2;
+       } bus;
 };
 
 #define V4L2_FRAME_DESC_ENTRY_MAX      4
-- 
2.19.1

Reply via email to