(NvOdmDevice) Error BadParameter: 0x32314142 pixelFormat not found under current active buffer type

Hi,

What’s the meaning of the following error message from nvcamera-daemon ?

(NvOdmDevice) Error BadParameter: 0x32314142 pixelFormat not found under current active buffer type (in dvs/git/dirty/git-master_linux/camera-partner/imager/src/V4L2Device.cpp, function setActivePixelFormat(), line 1440)

0x32314142 seems to mean “BA12”

and in linux sources I have found

include/uapi/linux/videodev2.h:#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12  GRGR.. BGBG.. */

which means “BA12” is grbg_12,

but why does nvcamera-daemon ask for “grbg_12” ?

What should I check/fix in the dts or sensor driver I develop ?

This is with 28.2.1

Answering myself :)

It seems to come from a wrong

pixel_phase = "grbg"

entry in mode0 in my dts file

My sensor provides actually rggb and that’s also what my driver says.

Is that pixel_phase entry needed ?

hello phdm,

yes, we’re now using new properties.

  • mode_type
  • csi_pixel_bit_depth
  • pixel_phase

please access [Sensor Driver Programming Guide] from the [L4T Documentation]
please check the Property-Value Pairs descriptions of these properties.
thanks

I have checked kernel sources (l4t 28.2.1 version) and noticed that the kernel uses mode_type, csi_pixel_bit_depth, and pixel_phase only if pixel_t is not defined.
nvcamera-daemon (l4t 28,2,1) however uses pixel_phase even if pixel_t is defined.
That’s an unexpected discrepancy.

hello phdm,

thanks for point out,
please notice below from the [Sensor Driver Programming Guide]

pixel_t property is deprecated and replaced with these properties:
• mode_type
• csi_pixel_bit_depth
• pixel_phase

please update your sensor device tree accordingly.
thanks