Hi.
I have a sensor AR0220 with one of these CFA options (I have 2 sensors one RCCC and one RCCB).
I have migrated/modified the code of another sensor driver (regarding i2c commands).
looking at the oscilloscope when trying to get data from the camera , I see data comming out from the 4 lanes.
question is what are the values of these fields in the dtsi
csi_pixel_bit_depth = "12";
mode_type = "bayer";
pixel_phase = "rggb";
when looking at the log I see these messages
[ +0.486630] tegra194-vi5 15c10000.vi: <i>no reply from camera processor</i>
[ +0.000146] tegra194-vi5 15c10000.vi: vi capture dequeue status failed
looking at this snippet
static int extract_pixel_format(
const char *pixel_t, u32 *format)
{
size_t size = strnlen(pixel_t, OF_MAX_STR_LEN);
if (strncmp(pixel_t, "bayer_bggr10", size) == 0)
*format = V4L2_PIX_FMT_SBGGR10;
else if (strncmp(pixel_t, "bayer_rggb10", size) == 0)
*format = V4L2_PIX_FMT_SRGGB10;
else if (strncmp(pixel_t, "bayer_grbg10", size) == 0)
*format = V4L2_PIX_FMT_SGRBG10;
else if (strncmp(pixel_t, "bayer_bggr12", size) == 0)
*format = V4L2_PIX_FMT_SBGGR12;
else if (strncmp(pixel_t, "bayer_rggb12", size) == 0)
*format = V4L2_PIX_FMT_SRGGB12;
else if (strncmp(pixel_t, "bayer_wdr_pwl_rggb12", size) == 0)
*format = V4L2_PIX_FMT_SRGGB12;
else if (strncmp(pixel_t, "bayer_wdr_dol_rggb10", size) == 0)
*format = V4L2_PIX_FMT_SRGGB10;
else if (strncmp(pixel_t, "bayer_xbggr10p", size) == 0)
*format = V4L2_PIX_FMT_XBGGR10P;
else if (strncmp(pixel_t, "bayer_xrggb10p", size) == 0)
*format = V4L2_PIX_FMT_XRGGB10P;
else {
pr_err("%s: Need to extend format%s\n", __func__, pixel_t);
return -EINVAL;
}
return 0;
}
Seems that these are the only possible values (unless you develop some code above the sensor drive).
TIA