How to receive the Embedded data from a YUV camera

Please check the trace log if any clue for your settings.

vi_trace_923.txt (1016.0 KB)

I check the trace, also has the CHANSEL_SHORT_FRAME error, please help to analysis, thanks!

Boost the clocks to check if still show the short frame.

sudo su
echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/isp/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked
cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate |tee /sys/kernel/debug/bpmp/debug/clk/vi/rate
cat /sys/kernel/debug/bpmp/debug/clk/isp/max_rate | tee  /sys/kernel/debug/bpmp/debug/clk/isp/rate
cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate
cat /sys/kernel/debug/bpmp/debug/clk/emc/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/emc/rate

root@tegra-ubuntu-pos:/home/mi# ./boostclk.sh
873000000
1215000000
624999572
4266000000
root@tegra-ubuntu-pos:/home/mi#

after boost the clocks, the short frame still happen, and the kernel print the message

“1970-01-05T05:43:21.835934+08:00 tegra-ubuntu-pos kernel: tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 262144
1970-01-05T05:43:21.835948+08:00 tegra-ubuntu-pos kernel: tegra-camrtc-capture-vi tegra-capture-vi: 0, 0, 0, 0“

30 times one second.

This tell the embedded data incomplete.

You mean the deserializer didn’t send the correct embedded data (0x12) to nvcsi ?

No could be the embedded_metadata_height incorrect.

Try 3/2/1

The sensor vendor said the line number is 4(2 lines sensor emba + 2 lines isp emba), and I will try it refer your suggestion.

Both them are 0x12 type?

yes, they are.

Confirm by checking the trace log.

Thanks

Hi,

Which log do you want? I have supply vi_trace_923.txt, is that enough?

This log is short frame error for the height set the 1948?

What’s the log set the 1944?

The log name vi_trace_923.txt is set the 1948,

The log name vi_trace_0922.txt is set the 1944

Both of them show short frame. Maybe decrease more to check.

But the real resolution, emba is 2592x4, image is 2592x1944, how to config the resolution in dtsi and struct camera_common_frmfmt?

Modify below in your sensor driver.

 static const struct camera_common_frmfmt imx219_frmfmt[] = {
358  	{{3280, 2464},	imx219_21fps, 1, 0, IMX219_MODE_3280x2464_21FPS},
359  	/* Add modes with no device tree support after below */
360  	{{3280, 1848},	imx219_28fps, 1, 0, IMX219_MODE_3280x1848_28FPS},
361  	{{1920, 1080},	imx219_30fps, 1, 0, IMX219_MODE_1920x1080_30FPS},
362  	{{1640, 1232},	imx219_30fps, 1, 0, IMX219_MODE_1640x1232_30FPS},
363  	{{1280, 720},	imx219_60fps, 1, 0, IMX219_MODE_1280x720_60FPS},
364  };

Hi,

I have config the camera_common_frmfmt and test that.