Thank you. Could you please tell me the places I need to make changes to add bayer16 support in the driver, pls refer the changes I made to add bayer 8 at start of this conversation. The thing is bayer8 support is already present in static const struct tegra_video_format vi2_video_formats structure in
nvidia/drivers/media/platform/tegra/camera/vi/vi2_formats.h and
nvidia/drivers/media/platform/tegra/camera/vi/vi5_formats.h files. The below is the code snippet from the vi5_formats.h file
static const struct tegra_video_format vi5_video_formats = {
/* RAW 6: TODO */
/* RAW 7: TODO */
/* RAW 8 */
TEGRA_VIDEO_FORMAT(RAW8, 8, SRGGB8_1X8, 1, 1, T_R8,
RAW8, SRGGB8, "RGRG.. GBGB.."),
TEGRA_VIDEO_FORMAT(RAW8, 8, SGRBG8_1X8, 1, 1, T_R8,
RAW8, SGRBG8, "GRGR.. BGBG.."),
TEGRA_VIDEO_FORMAT(RAW8, 8, SGBRG8_1X8, 1, 1, T_R8,
RAW8, SGBRG8, "GBGB.. RGRG.."),
TEGRA_VIDEO_FORMAT(RAW8, 8, SBGGR8_1X8, 1, 1, T_R8,
RAW8, SBGGR8, "BGBG.. GRGR.."),
/* RAW 10 */
TEGRA_VIDEO_FORMAT(RAW10, 10, SRGGB10_1X10, 2, 1, T_R16,
RAW10, SRGGB10, "RGRG.. GBGB.."),
TEGRA_VIDEO_FORMAT(RAW10, 10, SGRBG10_1X10, 2, 1, T_R16,
RAW10, SGRBG10, "GRGR.. BGBG.."),
TEGRA_VIDEO_FORMAT(RAW10, 10, SGBRG10_1X10, 2, 1, T_R16,
RAW10, SGBRG10, "GBGB.. RGRG.."),
TEGRA_VIDEO_FORMAT(RAW10, 10, SBGGR10_1X10, 2, 1, T_R16,
RAW10, SBGGR10, "BGBG.. GRGR.."),
/* RAW 12 */
TEGRA_VIDEO_FORMAT(RAW12, 12, SRGGB12_1X12, 2, 1, T_R16,
RAW12, SRGGB12, "RGRG.. GBGB.."),
TEGRA_VIDEO_FORMAT(RAW12, 12, SGRBG12_1X12, 2, 1, T_R16,
RAW12, SGRBG12, "GRGR.. BGBG.."),
TEGRA_VIDEO_FORMAT(RAW12, 12, SGBRG12_1X12, 2, 1, T_R16,
RAW12, SGBRG12, "GBGB.. RGRG.."),
TEGRA_VIDEO_FORMAT(RAW12, 12, SBGGR12_1X12, 2, 1, T_R16,
RAW12, SBGGR12, "BGBG.. GRGR.."),
/* RGB888 */
TEGRA_VIDEO_FORMAT(RGB888, 24, RGB888_1X24, 4, 1, T_A8R8G8B8,
RGB888, ABGR32, "BGRA-8-8-8-8"),
TEGRA_VIDEO_FORMAT(RGB888, 24, RGB888_1X32_PADHI, 4, 1, T_A8B8G8R8,
RGB888, RGB32, "RGB-8-8-8-8"),
The macro expansion for TEGRA_VIDEO_FORMAT is
#define TEGRA_VIDEO_FORMAT (VF_CODE, BPP, MBUS_CODE, FRAC_BPP_NUM, FRAC_BPP_DEN, FORMAT, DATA_TYPE, FOURCC, DESCRIPTION)
In order to add support RAW16 a new line has to be added and please verify if the below args can be used :
VF_CODE = RAW16
BPP = 16
MBUS_CODE = SBGGR16_1X16
FRAC_BPP_NUM = ?? ( probably it is 2)
FRAC_BPP_DEN = ?? ( probably it is 1)
FORMAT = ?? (T_R16 or T_R16_I )
DATA_TYPE = RAW16
FOURCC = SBGGR16
Regards,
Shiva Shankar K.