From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Chen Meng J 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 Signed-off-by: yangz1x --- .../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 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