media: i2c: imx327 fixed bus-type error

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I22aec81da98aa49731283aebf273b2485df91e2d
This commit is contained in:
Zefa Chen
2022-03-28 20:38:16 +08:00
committed by Tao Huang
parent 97d55d0f94
commit ecb29c9635

View File

@@ -881,10 +881,7 @@ static int imx327_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id,
val = 1 << (IMX327_4LANES - 1) |
V4L2_MBUS_CSI2_CHANNEL_0 |
V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
if (imx327->bus_cfg.bus_type == 3)
config->type = V4L2_MBUS_CCP2;
else
config->type = V4L2_MBUS_CSI2_DPHY;
config->type = imx327->bus_cfg.bus_type;
config->flags = val;
return 0;
@@ -1145,7 +1142,7 @@ static long imx327_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
break;
case RKMODULE_GET_LVDS_CFG:
lvds_cfg = (struct rkmodule_lvds_cfg *)arg;
if (imx327->bus_cfg.bus_type == 3)
if (imx327->bus_cfg.bus_type == V4L2_MBUS_CCP2)
memcpy(lvds_cfg, &imx327->cur_mode->lvds_cfg,
sizeof(struct rkmodule_lvds_cfg));
else
@@ -1558,7 +1555,7 @@ static int imx327_get_selection(struct v4l2_subdev *sd,
if (sel->target == V4L2_SEL_TGT_CROP_BOUNDS) {
sel->r.left = CROP_START(imx327->cur_mode->width, DST_WIDTH);
sel->r.width = DST_WIDTH;
if (imx327->bus_cfg.bus_type == 3) {
if (imx327->bus_cfg.bus_type == V4L2_MBUS_CCP2) {
if (imx327->cur_mode->hdr_mode == NO_HDR)
sel->r.top = 21;
else
@@ -1640,29 +1637,33 @@ static int imx327_set_ctrl(struct v4l2_ctrl *ctrl)
switch (ctrl->id) {
case V4L2_CID_EXPOSURE:
shs1 = imx327->cur_vts - ctrl->val - 1;
ret = imx327_write_reg(imx327->client,
IMX327_REG_SHS1_H,
IMX327_REG_VALUE_08BIT,
IMX327_FETCH_HIGH_BYTE_EXP(shs1));
ret |= imx327_write_reg(imx327->client,
IMX327_REG_SHS1_M,
IMX327_REG_VALUE_08BIT,
IMX327_FETCH_MID_BYTE_EXP(shs1));
ret |= imx327_write_reg(imx327->client,
IMX327_REG_SHS1_L,
IMX327_REG_VALUE_08BIT,
IMX327_FETCH_LOW_BYTE_EXP(shs1));
dev_dbg(&client->dev, "set exposure 0x%x, cur_vts 0x%x,shs1 0x%x\n",
ctrl->val, imx327->cur_vts, shs1);
if (imx327->cur_mode->hdr_mode == NO_HDR) {
shs1 = imx327->cur_vts - ctrl->val - 1;
ret = imx327_write_reg(imx327->client,
IMX327_REG_SHS1_H,
IMX327_REG_VALUE_08BIT,
IMX327_FETCH_HIGH_BYTE_EXP(shs1));
ret |= imx327_write_reg(imx327->client,
IMX327_REG_SHS1_M,
IMX327_REG_VALUE_08BIT,
IMX327_FETCH_MID_BYTE_EXP(shs1));
ret |= imx327_write_reg(imx327->client,
IMX327_REG_SHS1_L,
IMX327_REG_VALUE_08BIT,
IMX327_FETCH_LOW_BYTE_EXP(shs1));
dev_dbg(&client->dev, "set exposure 0x%x, cur_vts 0x%x,shs1 0x%x\n",
ctrl->val, imx327->cur_vts, shs1);
}
break;
case V4L2_CID_ANALOGUE_GAIN:
ret = imx327_write_reg(imx327->client,
IMX327_REG_LF_GAIN,
IMX327_REG_VALUE_08BIT,
ctrl->val);
dev_dbg(&client->dev, "set analog gain 0x%x\n",
ctrl->val);
if (imx327->cur_mode->hdr_mode == NO_HDR) {
ret = imx327_write_reg(imx327->client,
IMX327_REG_LF_GAIN,
IMX327_REG_VALUE_08BIT,
ctrl->val);
dev_dbg(&client->dev, "set analog gain 0x%x\n",
ctrl->val);
}
break;
case V4L2_CID_VBLANK:
vts = ctrl->val + imx327->cur_mode->height;
@@ -1893,7 +1894,7 @@ static int imx327_probe(struct i2c_client *client,
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(endpoint),
&imx327->bus_cfg);
if (imx327->bus_cfg.bus_type == 3) {
if (imx327->bus_cfg.bus_type == V4L2_MBUS_CCP2) {
imx327->support_modes = lvds_supported_modes;
imx327->support_modes_num = ARRAY_SIZE(lvds_supported_modes);
} else {