media: i2c: adv748x: Implement get_mbus_config
Implement the newly introduced get_mbus_config operation to report the number of currently used data lanes on the MIPI CSI-2 interface. Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
147d5ea15c
commit
a61b1b5d41
|
@ -214,9 +214,40 @@ unlock:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int adv748x_csi2_get_mbus_config(struct v4l2_subdev *sd, unsigned int pad,
|
||||
struct v4l2_mbus_config *config)
|
||||
{
|
||||
struct adv748x_csi2 *tx = adv748x_sd_to_csi2(sd);
|
||||
|
||||
if (pad != ADV748X_CSI2_SOURCE)
|
||||
return -EINVAL;
|
||||
|
||||
config->type = V4L2_MBUS_CSI2_DPHY;
|
||||
switch (tx->active_lanes) {
|
||||
case 1:
|
||||
config->flags = V4L2_MBUS_CSI2_1_LANE;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
config->flags = V4L2_MBUS_CSI2_2_LANE;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
config->flags = V4L2_MBUS_CSI2_3_LANE;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
config->flags = V4L2_MBUS_CSI2_4_LANE;
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct v4l2_subdev_pad_ops adv748x_csi2_pad_ops = {
|
||||
.get_fmt = adv748x_csi2_get_format,
|
||||
.set_fmt = adv748x_csi2_set_format,
|
||||
.get_mbus_config = adv748x_csi2_get_mbus_config,
|
||||
};
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue