Skip to content

Commit

Permalink
media: atmel: atmel-isi: add support for mono sensors, GRAY and Y16
Browse files Browse the repository at this point in the history
This adds support for GREY and Y16 formats, based on Y10 mbus codes.
Y16 needs to go through preview path in the ISI, with 2 pixels per word,
and it fits the Y16 format. The ISI data lines need to be MSB aligned with
the sensor data lines.
GREY format in 8 bits per pixel is done by dropping the 2 LSB bits
from the Y10 format, and packed as 4 pixels per word.

Suggested-by: Wenyou Yang <[email protected]>
Signed-off-by: Eugen Hristev <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
  • Loading branch information
ehristev authored and mchehab committed Dec 16, 2019
1 parent 374d968 commit b567bf8
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 1 deletion.
13 changes: 12 additions & 1 deletion drivers/media/platform/atmel/atmel-isi.c
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,8 @@ static void configure_geometry(struct atmel_isi *isi)
u32 fourcc = isi->current_fmt->fourcc;

isi->enable_preview_path = fourcc == V4L2_PIX_FMT_RGB565 ||
fourcc == V4L2_PIX_FMT_RGB32;
fourcc == V4L2_PIX_FMT_RGB32 ||
fourcc == V4L2_PIX_FMT_Y16;

/* According to sensor's output format to set cfg2 */
cfg2 = isi->current_fmt->swap;
Expand Down Expand Up @@ -990,6 +991,16 @@ static const struct isi_format isi_formats[] = {
.mbus_code = MEDIA_BUS_FMT_VYUY8_2X8,
.bpp = 2,
.swap = ISI_CFG2_YCC_SWAP_MODE_1,
}, {
.fourcc = V4L2_PIX_FMT_GREY,
.mbus_code = MEDIA_BUS_FMT_Y10_1X10,
.bpp = 1,
.swap = ISI_CFG2_GS_MODE_2_PIXEL | ISI_CFG2_GRAYSCALE,
}, {
.fourcc = V4L2_PIX_FMT_Y16,
.mbus_code = MEDIA_BUS_FMT_Y10_1X10,
.bpp = 2,
.swap = ISI_CFG2_GS_MODE_2_PIXEL | ISI_CFG2_GRAYSCALE,
},
};

Expand Down
2 changes: 2 additions & 0 deletions drivers/media/platform/atmel/atmel-isi.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@
#define ISI_CFG1_THMASK_BEATS_16 (2 << 13)

/* Bitfields in CFG2 */
#define ISI_CFG2_GS_MODE_2_PIXEL (0 << 11)
#define ISI_CFG2_GS_MODE_1_PIXEL (1 << 11)
#define ISI_CFG2_GRAYSCALE (1 << 13)
#define ISI_CFG2_COL_SPACE_YCbCr (0 << 15)
#define ISI_CFG2_COL_SPACE_RGB (1 << 15)
Expand Down

0 comments on commit b567bf8

Please sign in to comment.