clear-pkgs-linux-iot-lts2018/1179-media-intel-ipu4-ov495...

79 lines
2.5 KiB
Diff
Raw Permalink Normal View History

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Chen Meng J <meng.j.chen@intel.com>
Date: Mon, 9 Sep 2019 15:28:42 +0800
Subject: [PATCH] media: intel-ipu4: ov495: add frame description
add frame description for ov495.
Change-Id: I4d987ac4011f93e6a12138eb8eedda9f752bf038
Tracked-On: #H1507395471
Tracked-On: #PKT-2798
Signed-off-by: Chen Meng J <meng.j.chen@intel.com>
Signed-off-by: yangz1x <zhonghuax.yang@intel.com>
---
.../i2c/crlmodule/crl_ov495_configuration.h | 41 +++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/drivers/media/i2c/crlmodule/crl_ov495_configuration.h b/drivers/media/i2c/crlmodule/crl_ov495_configuration.h
2020-10-27 02:14:06 +08:00
index 6884cf503bb4..97c16a0abe23 100644
--- a/drivers/media/i2c/crlmodule/crl_ov495_configuration.h
+++ b/drivers/media/i2c/crlmodule/crl_ov495_configuration.h
@@ -131,6 +131,44 @@ static struct crl_register_write_rep ov495_1280x1080_regs[] = {
{0x0000, CRL_REG_LEN_DELAY, 0x0a},
};
+static struct crl_arithmetic_ops ov495_frame_desc_width_ops[] = {
+ {
+ .op = CRL_ASSIGNMENT,
+ .operand.entity_type = CRL_DYNAMIC_VAL_OPERAND_TYPE_VAR_REF,
+ .operand.entity_val = CRL_VAR_REF_OUTPUT_WIDTH,
+ },
+};
+
+static struct crl_arithmetic_ops ov495_frame_desc_height_ops[] = {
+ {
+ .op = CRL_ASSIGNMENT,
+ .operand.entity_type = CRL_DYNAMIC_VAL_OPERAND_TYPE_CONST,
+ .operand.entity_val = 4,
+ },
+};
+
+static struct crl_frame_desc ov495_frame_desc[] = {
+ {
+ .flags.entity_val = 0,
+ .bpp.entity_type = CRL_DYNAMIC_VAL_OPERAND_TYPE_VAR_REF,
+ .bpp.entity_val = CRL_VAR_REF_BITSPERPIXEL,
+ .pixelcode.entity_val = MEDIA_BUS_FMT_FIXED,
+ .length.entity_val = 0,
+ .start_line.entity_val = 0,
+ .start_pixel.entity_val = 0,
+ .width = {
+ .ops_items = ARRAY_SIZE(ov495_frame_desc_width_ops),
+ .ops = ov495_frame_desc_width_ops,
+ },
+ .height = {
+ .ops_items = ARRAY_SIZE(ov495_frame_desc_height_ops),
+ .ops = ov495_frame_desc_height_ops,
+ },
+ .csi2_channel.entity_val = 0,
+ .csi2_data_type.entity_val = 0x12,
+ },
+};
+
static struct crl_mode_rep ov495_modes[] = {
{
.sd_rects_items = ARRAY_SIZE(ov495_1280_1080_rects),
@@ -279,6 +317,9 @@ struct crl_sensor_configuration ov495_crl_configuration = {
.csi_fmts_items = ARRAY_SIZE(ov495_crl_csi_data_fmt),
.csi_fmts = ov495_crl_csi_data_fmt,
+ .frame_desc_entries = ARRAY_SIZE(ov495_frame_desc),
+ .frame_desc_type = CRL_V4L2_MBUS_FRAME_DESC_TYPE_CSI2,
+ .frame_desc = ov495_frame_desc,
};
#endif /* __CRLMODULE_OV495_CONFIGURATION_H_ */
--
https://clearlinux.org