I have an image sensor attached to CSI E (CSI4). I can successfully capture raw data from it using v4l2-ctl, so the CSI is working properly, however, I cannot use nvarguscamerasrc from gstreamer. I suspect there’s something wrong in my DTS file linking nvcsi and vi together. Here is the relevant excerpt:
vi@15c10000 {
num-channels = <1>;
status = "okay";
ports {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ov2740_vi_in1: endpoint {
port-index = <4>;
bus-width = <2>;
remote-endpoint = <&ov2740_csi_out1>;
};
};
};
};
nvcsi@15a00000 {
status = "okay";
num-channels = <1>;
#address-cells = <1>;
#size-cells = <0>;
channel@0 {
reg = <0>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ov2740_csi_in1: endpoint@0 {
port-index = <4>;
bus-width = <2>;
remote-endpoint = <&ov2740_out1>;
};
};
port@1 {
reg = <1>;
ov2740_csi_out1: endpoint@1 {
remote-endpoint = <&ov2740_vi_in1>;
};
};
};
};
};
Here is the log:
[ 59.734526] ov2740 2-0036: Enable CSI in Function ov2740_start_streaming
[ 61.252968] fence timeout on [ffffffc1f3a49900] after 1500ms
[ 61.253042] tegra194-vi5 15c10000.vi: no reply from camera processor
[ 61.253049] tegra194-vi5 15c10000.vi: vi capture get status failed
[ 61.253339] name=[nvhost_sync:31], current value=0 waiting value=1
[ 61.253480] ---- mlocks ----
[ 61.253589]
[ 61.253630] ---- syncpts ----
[ 61.253733] id 22 (gv11b_510_user) min 29 max 0 refs 1 (previous client : )
[ 61.253882] id 34 (gv11b_506) min 3 max 3 refs 1 (previous client : )
[ 61.253999] id 35 (gv11b_505) min 4 max 4 refs 1 (previous client : )
[ 61.254116] id 36 (gv11b_504) min 3 max 3 refs 1 (previous client : )
[ 61.254257] id 37 (gv11b_503) min 3 max 3 refs 1 (previous client : )
[ 61.254373] id 38 (gv11b_502) min 3 max 3 refs 1 (previous client : )
[ 61.255334]
[ 61.255376] ---- channels ----
[ 61.255476]
[ 61.255476] channel 2 - 15820000.se
[ 61.255476]
[ 61.255596] NvHost basic channel registers:
[ 61.255676] CMDFIFO_STAT_0: 00002040
[ 61.255745] CMDFIFO_RDATA_0: 80060200
[ 61.256007] CMDP_OFFSET_0: 00000000
[ 61.259141] CMDP_CLASS_0: 00000000
[ 61.262600] CHANNELSTAT_0: 00000000
[ 61.266504] The CDMA sync queue is empty.
[ 61.270627]
[ 61.271910]
[ 61.271910] channel 3 - 15830000.se
[ 61.271910]
[ 61.278403] NvHost basic channel registers:
[ 61.282556] CMDFIFO_STAT_0: 00002040
[ 61.286204] CMDFIFO_RDATA_0: 10300004
[ 61.290082] CMDP_OFFSET_0: 00000000
[ 61.293630] CMDP_CLASS_0: 00000000
[ 61.297085] CHANNELSTAT_0: 00000000
[ 61.300780] The CDMA sync queue is empty.
[ 61.304922]
[ 61.306462]
[ 61.306462] channel 4 - 15840000.se
[ 61.306462]
[ 61.312956] NvHost basic channel registers:
[ 61.317156] CMDFIFO_STAT_0: 00002040
[ 61.320831] CMDFIFO_RDATA_0: 01410208
[ 61.324508] CMDP_OFFSET_0: 00000000
[ 61.328176] CMDP_CLASS_0: 00000000
[ 61.331853] CHANNELSTAT_0: 00000000
[ 61.335522] The CDMA sync queue is empty.
[ 61.339462]
[ 61.341035]
[ 61.341035] ---- host general irq ----
[ 61.341035]
[ 61.347796] sync_intc0mask = 0x00000001
[ 61.351712] sync_intmask = 0x50000003
[ 61.355385]
[ 61.355385] ---- host syncpt irq mask ----
[ 61.355385]
[ 61.362480]
[ 61.362480] ---- host syncpt irq status ----
[ 61.362480]
[ 61.369882] syncpt_thresh_cpu0_int_status(0) = 0x00000000
[ 61.374816] syncpt_thresh_cpu0_int_status(1) = 0x00000000
[ 61.380502] syncpt_thresh_cpu0_int_status(2) = 0x00000000
[ 61.386011] syncpt_thresh_cpu0_int_status(3) = 0x00000000
[ 61.391526] syncpt_thresh_cpu0_int_status(4) = 0x00000000
[ 61.396778] syncpt_thresh_cpu0_int_status(5) = 0x00000000
[ 61.402314] syncpt_thresh_cpu0_int_status(6) = 0x00000000
[ 61.407798] syncpt_thresh_cpu0_int_status(7) = 0x00000000
[ 61.413316] syncpt_thresh_cpu0_int_status(8) = 0x00000000
[ 61.418648] syncpt_thresh_cpu0_int_status(9) = 0x00000000
[ 61.424172] syncpt_thresh_cpu0_int_status(10) = 0x00000000
[ 61.429418] syncpt_thresh_cpu0_int_status(11) = 0x00000000
[ 61.435194] syncpt_thresh_cpu0_int_status(12) = 0x00000000
[ 61.440352] syncpt_thresh_cpu0_int_status(13) = 0x00000000
[ 61.445781] syncpt_thresh_cpu0_int_status(14) = 0x00000000
[ 61.451459] syncpt_thresh_cpu0_int_status(15) = 0x00000000
[ 61.456888] syncpt_thresh_cpu0_int_status(16) = 0x00000000
[ 61.462328] syncpt_thresh_cpu0_int_status(17) = 0x00000000
[ 61.467747] syncpt_thresh_cpu0_int_status(18) = 0x00000000
[ 61.472908] syncpt_thresh_cpu0_int_status(19) = 0x00000000
[ 61.478336] syncpt_thresh_cpu0_int_status(20) = 0x00000000
[ 61.484009] syncpt_thresh_cpu0_int_status(21) = 0x00000000