mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 06:31:58 +02:00
media: i2c: imx214: Add sensor's pixel matrix size
Set effective and active sensor pixel sizes as shown in product brief[1]. [1]: https://www.mouser.com/datasheet/2/897/ProductBrief_IMX214_20150428-1289331.pdf Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: André Apitzsch <git@apitzsch.eu> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
2ae9f9780d
commit
79e3a67a20
|
|
@ -36,6 +36,14 @@
|
|||
#define IMX214_EXPOSURE_STEP 1
|
||||
#define IMX214_EXPOSURE_DEFAULT 3184
|
||||
|
||||
/* IMX214 native and active pixel array size */
|
||||
#define IMX214_NATIVE_WIDTH 4224U
|
||||
#define IMX214_NATIVE_HEIGHT 3136U
|
||||
#define IMX214_PIXEL_ARRAY_LEFT 8U
|
||||
#define IMX214_PIXEL_ARRAY_TOP 8U
|
||||
#define IMX214_PIXEL_ARRAY_WIDTH 4208U
|
||||
#define IMX214_PIXEL_ARRAY_HEIGHT 3120U
|
||||
|
||||
static const char * const imx214_supply_name[] = {
|
||||
"vdda",
|
||||
"vddd",
|
||||
|
|
@ -634,14 +642,31 @@ static int imx214_get_selection(struct v4l2_subdev *sd,
|
|||
{
|
||||
struct imx214 *imx214 = to_imx214(sd);
|
||||
|
||||
if (sel->target != V4L2_SEL_TGT_CROP)
|
||||
return -EINVAL;
|
||||
switch (sel->target) {
|
||||
case V4L2_SEL_TGT_CROP:
|
||||
mutex_lock(&imx214->mutex);
|
||||
sel->r = *__imx214_get_pad_crop(imx214, sd_state, sel->pad,
|
||||
sel->which);
|
||||
mutex_unlock(&imx214->mutex);
|
||||
return 0;
|
||||
|
||||
mutex_lock(&imx214->mutex);
|
||||
sel->r = *__imx214_get_pad_crop(imx214, sd_state, sel->pad,
|
||||
sel->which);
|
||||
mutex_unlock(&imx214->mutex);
|
||||
return 0;
|
||||
case V4L2_SEL_TGT_NATIVE_SIZE:
|
||||
sel->r.top = 0;
|
||||
sel->r.left = 0;
|
||||
sel->r.width = IMX214_NATIVE_WIDTH;
|
||||
sel->r.height = IMX214_NATIVE_HEIGHT;
|
||||
return 0;
|
||||
|
||||
case V4L2_SEL_TGT_CROP_DEFAULT:
|
||||
case V4L2_SEL_TGT_CROP_BOUNDS:
|
||||
sel->r.top = IMX214_PIXEL_ARRAY_TOP;
|
||||
sel->r.left = IMX214_PIXEL_ARRAY_LEFT;
|
||||
sel->r.width = IMX214_PIXEL_ARRAY_WIDTH;
|
||||
sel->r.height = IMX214_PIXEL_ARRAY_HEIGHT;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static int imx214_entity_init_state(struct v4l2_subdev *subdev,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user