-
Currently using the Jetson_Linux_R36.4.3_aarch64 version, with hardware being the AGX Orin 64G version.
-
At present, all 16-lane MIPI CSI are in use. CSI-A/B and CSI-C/D are connected to an LT6911UXE chip, inputting 4K60 data using 8-lane dual-port mode, meaning 4 lanes per port, with each port transmitting 1920x2160 format data.
-
CSI-E/F and CSI-G/H are connected to another LT6911UXE chip, also inputting 4K60 data using 8-lane dual-port mode.
-
The current issue is that CSI-A/B and CSI-C/D can use gang mode stitching, but CSI-E/F and CSI-G/H cannot be stitched using gang mode, and the following error is reported.
[ 69.718144] tegra-camrtc-capture-vi tegra-capture-vi: Invalid NVCSI stream Id
[ 69.725554] tegra-camrtc-capture-vi tegra-capture-vi: Invalid NVCSI stream Id
[ 69.732944] Unable to handle kernel NULL pointer dereference at virtual address 00000000000002b8
5、 From the error, it appears that directly using id0-id3 in a gang mode-like configuration results in an error because the CSI channels are port0-7, but the stream channels are 0-5. The VI has only 6 available streams. CSI-E/F and CSI-G/H share one VI port, namely VI-4 and VI-5.
6、Does the AGX Orin platform not support gang mode stitching for CSI-E/F and CSI-G/H? We have tried modifying the tegra-camera driver, and after forcing changes to the driver, we can occasionally obtain the data stream. However, there are instances where data cannot be obtained, and kernel dumps occur sporadically. Can you confirm whether gang mode supports csi_stream_id 4 + csi_stream_id 5?
7、dts:
tegra-capture-vi {
nvidia,vi-mapping =
<0 1>,
<1 1>,
<2 1>,
<3 1>,
<4 0>,
<5 0>;
num-channels = <2>;
status = “okay”;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
status = “okay”;
p3785_vi_in0: endpoint {
status = “okay”;
port-index = <4>;
bus-width = <8>;
remote-endpoint = <&p3785_csi_out0>;
};
};
port@1 {
reg = <1>;
status = “okay”;
p3785_vi_in1: endpoint {
status = “okay”;
port-index = <0>;
bus-width = <8>;
remote-endpoint = <&p3785_csi_out1>;
};
};
};};
i2c@c250000 {
status = “okay”;
6911a@2b {
compatible = “nvidia,lt6911uxe”;
status = “okay”;
reg = <0x2b>;
devnode = “video1”;
/* Interrupt */
interrupt-parent = <&gpio>;
interrupts = <&gpio TEGRA234_MAIN_GPIO(AC,7) IRQ_TYPE_LEVEL_HIGH>;
sensor_model = “p3785”;
reset-gpios = <&gpio TEGRA234_MAIN_GPIO(AC,5) GPIO_ACTIVE_HIGH>;
mode0 { // E2832_1920x1080_60Fps
mclk_khz = “24000”;
num_lanes = “4”;
tegra_sinterface = “serial_a”;
phy_mode = “DPHY”;
discontinuous_clk = “yes”;
dpcm_enable = “false”;
cil_settletime = “0”;active_w = "1920"; active_h = "1080"; mode_type = "rgb"; pixel_phase = "rgb888"; csi_pixel_bit_depth = "24"; readout_orientation = "0"; line_length = "1920"; inherent_gain = "1"; mclk_multiplier = "24"; pix_clk_hz = "250000000"; }; mode1 { // E2832_3840x2160 mclk_khz = "24000"; num_lanes = "8"; tegra_sinterface = "serial_a"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3840"; active_h = "2160"; mode_type = "rgb"; pixel_phase = "rgb888"; csi_pixel_bit_depth = "24"; readout_orientation = "0"; line_length = "3840"; inherent_gain = "1"; mclk_multiplier = "24"; pix_clk_hz = "1000000000"; }; mode2 { // E2832_1280x720_60Fps mclk_khz = "24000"; num_lanes = "4"; tegra_sinterface = "serial_a"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; mode_type = "rgb"; pixel_phase = "rgb888"; csi_pixel_bit_depth = "24"; readout_orientation = "0"; line_length = "1280"; inherent_gain = "1"; mclk_multiplier = "24"; pix_clk_hz = "250000000"; }; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; status = "okay"; p3785_out1: endpoint { status = "okay"; port-index = <0>; bus-width = <8>; remote-endpoint = <&p3785_csi_in1>; }; }; }; }; }; i2c@3180000 { status = "okay"; 6911e@2b{ compatible = "nvidia,lt6911uxe"; status = "okay"; reg = <0x2b>; devnode = "video0"; /* Interrupt */ interrupt-parent = <&gpio>; interrupts = <&gpio TEGRA234_MAIN_GPIO(AC,0) IRQ_TYPE_LEVEL_HIGH>; sensor_model = "p3785"; reset-gpios = <&gpio TEGRA234_MAIN_GPIO(AC,3) GPIO_ACTIVE_HIGH>; mode0 { // E2832_1920x1080_60Fps mclk_khz = "24000"; num_lanes = "4"; tegra_sinterface = "serial_e"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1920"; active_h = "1080"; mode_type = "yuv"; pixel_phase = "uyvy"; csi_pixel_bit_depth = "16"; readout_orientation = "0"; line_length = "2200"; inherent_gain = "1"; mclk_multiplier = "24"; pix_clk_hz = "250000000"; }; mode1 { // E2832_3840x2160 mclk_khz = "24000"; num_lanes = "8"; tegra_sinterface = "serial_e"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3840"; active_h = "2160"; mode_type = "yuv"; pixel_phase = "uyvy"; csi_pixel_bit_depth = "16"; readout_orientation = "0"; line_length = "4400"; inherent_gain = "1"; mclk_multiplier = "24"; pix_clk_hz = "1000000000"; }; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; status = "okay"; p3785_out0: endpoint { status = "okay"; port-index = <4>; bus-width = <8>; remote-endpoint = <&p3785_csi_in0>; }; }; }; }; }; host1x@13e00000 { nvcsi@15a00000 { num-channels = <2>; status = "okay"; #address-cells = <1>; #size-cells = <0>; channel@0 { reg = <0>; status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; status = "okay"; p3785_csi_in0: endpoint@0 { port-index = <4>; bus-width = <8>; remote-endpoint = <&p3785_out0>; }; }; port@1 { reg = <1>; p3785_csi_out0: endpoint@1 { status = "okay"; remote-endpoint = <&p3785_vi_in0>; }; }; }; }; channel@1 { reg = <1>; status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; status = "okay"; p3785_csi_in1: endpoint@2 { port-index = <0>; bus-width = <8>; remote-endpoint = <&p3785_out1>; }; }; port@1 { reg = <1>; p3785_csi_out1: endpoint@3 { status = "okay"; remote-endpoint = <&p3785_vi_in1>; }; }; }; }; }; nvjpg@15380000 { status = "okay"; }; nvdec@15480000 { status = "okay"; }; nvenc@154c0000 { status = "okay"; }; tsec@15500000 { status = "okay"; }; nvjpg@15540000 { status = "okay"; }; crypto@15810000 { status = "okay"; }; crypto@15820000 { status = "okay"; }; crypto@15840000 { status = "okay"; }; nvdla0@15880000 { status = "okay"; }; nvdla1@158c0000 { status = "okay"; }; ofa@15a50000 { status = "okay"; }; pva0@16000000 { status = "okay"; pva0_niso1_ctx0 { status = "okay"; }; pva0_niso1_ctx1 { status = "okay"; }; pva0_niso1_ctx2 { status = "okay"; }; pva0_niso1_ctx3 { status = "okay"; }; pva0_niso1_ctx4 { status = "okay"; }; pva0_niso1_ctx5 { status = "okay"; }; pva0_niso1_ctx6 { status = "okay"; }; pva0_niso1_ctx7 { status = "okay"; }; }; };
tegra-camera-platform {
compatible = “nvidia, tegra-camera-platform”;
/**
* Physical settings to calculate max ISO BW
*
* num_csi_lanes = <>;
* Total number of CSI lanes when all cameras are active
*
* max_lane_speed = <>;
* Max lane speed in Kbit/s
*
* min_bits_per_pixel = <>;
* Min bits per pixel
*
* vi_peak_byte_per_pixel = <>;
* Max byte per pixel for the VI ISO case
*
* vi_bw_margin_pct = <>;
* Vi bandwidth margin in percentage
*
* max_pixel_rate = <>;
* Max pixel rate in Kpixel/s for the ISP ISO case
*
* isp_peak_byte_per_pixel = <>;
* Max byte per pixel for the ISP ISO case
*
* isp_bw_margin_pct = <>;
* Isp bandwidth margin in percentage
*/
num_csi_lanes = <4>;
max_lane_speed = <1500000>;
min_bits_per_pixel = <10>;
vi_peak_byte_per_pixel = <2>;
vi_bw_margin_pct = <25>;
max_pixel_rate = <750000>;
isp_peak_byte_per_pixel = <5>;
isp_bw_margin_pct = <25>;/** * The general guideline for naming badge_info contains 3 parts, and is as follows, * The first part is the camera_board_id for the module; if the module is in a FFD * platform, then use the platform name for this part. * The second part contains the position of the module, ex. "rear" or "front". * The third part contains the last 6 characters of a part number which is found * in the module's specsheet from the vender. */ modules { module0 { status = "okay"; badge = "p3785_ltx6911-1"; position = "bottomleft"; orientation = "1"; drivernode0 { /* Declare PCL support driver (classically known as guid) */ pcl_id = "v4l2_sensor"; status = "okay"; /* Declare the device-tree hierarchy to driver instance */ sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/i2c@0/6911e@2b"; }; }; module1 { status = "okay"; badge = "p3785_ltx6911-2"; position = "bottomright"; orientation = "1"; drivernode0 { /* Declare PCL support driver (classically known as guid) */ pcl_id = "v4l2_sensor"; status = "okay"; /* Declare the device-tree hierarchy to driver instance */ sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@c250000/i2c@0/6911a@2b"; }; }; };
};
This is the log after modifying the tegra-camera driver to forcibly support gang mode stitching for stream 4 and stream 5. Occasionally, there are anomalies where the data stream cannot be obtained, and kernel dumps occur sporadically.
[ 530.718438] update_gang_mode: tegra CAMERA_GANG_R_L: 3
[ 530.718447] update_gang_mode: tegra CAMERA_GANG_L_R: 1
[ 530.718448] update_gang_mode: tegra Gang mode: 3
[ 530.718449] update_gang_mode: tegra Gang valid_ports: 2
[ 530.718450] update_gang_mode_params: tegra width: 1920
[ 530.718452] update_gang_mode_params: tegra height: 2160
[ 530.718453] update_gang_mode_params: tegra bytesperline: 3840
[ 530.718454] update_gang_mode_params: tegra sizeimage: 8294400
[ 530.718455] gang_buffer_offsets: tegra buffer offset[0]: 0
[ 530.718456] gang_buffer_offsets: tegra buffer size[0]: 8294400
[ 530.718457] gang_buffer_offsets: tegra offset: 3840
[ 530.718459] gang_buffer_offsets: tegra buffer offset[1]: 3840
[ 530.718460] gang_buffer_offsets: tegra buffer size[1]: 8294400
[ 530.718461] gang_buffer_offsets: tegra offset: 3840
[ 532.721321] tegra-camrtc-capture-vi tegra-capture-vi: vi_capture_init++
[ 532.721406] tegra194-vi5 13e00000.host1x:vi0@15c00000: chan flags 4163
[ 532.721410] tegra194-vi5 13e00000.host1x:vi0@15c00000: chan mask ffffffffffffffff
[ 532.721412] tegra194-vi5 13e00000.host1x:vi0@15c00000: queue depth 1
[ 532.721413] tegra194-vi5 13e00000.host1x:vi0@15c00000: request size 384
[ 532.721415] tegra194-vi5 13e00000.host1x:vi0@15c00000: csi_stream_id 4
[ 532.721416] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi unit id 0
[ 532.721418] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi2 chan mask ffffffffffffffff
[ 532.729293] tegra194-vi5 13e00000.host1x:vi0@15c00000: 0 GoS tables configured.
[ 532.729298] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control vi_capture_setup 765 msg_id
[ 532.729301] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: sending chan_id 94 msg_id 30
[ 532.730324] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: response chan_id 94 msg_id 17
[ 532.730346] tegra-camrtc-capture-vi tegra-capture-vi: vi_capture_init++
[ 532.730377] (NULL device *): vi_capture_shutdown–
[ 532.730391] tegra-camrtc-capture-vi tegra-capture-vi: vi_capture_init++
[ 532.730429] tegra194-vi5 13e00000.host1x:vi0@15c00000: chan flags 4163
[ 532.730432] tegra194-vi5 13e00000.host1x:vi0@15c00000: chan mask ffffffffffffffff
[ 532.730434] tegra194-vi5 13e00000.host1x:vi0@15c00000: queue depth 1
[ 532.730437] tegra194-vi5 13e00000.host1x:vi0@15c00000: request size 384
[ 532.730439] tegra194-vi5 13e00000.host1x:vi0@15c00000: csi_stream_id 5
[ 532.730441] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi unit id 0
[ 532.730442] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi2 chan mask ffffffffffffffff
[ 532.730463] tegra194-vi5 13e00000.host1x:vi0@15c00000: 0 GoS tables configured.
[ 532.730465] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control vi_capture_setup 765 msg_id
[ 532.730466] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: sending chan_id 95 msg_id 30
[ 532.730528] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: response chan_id 95 msg_id 17
[ 532.730791] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_request: sending chan_id 0 msg_id 1 buf:0
[ 532.730805] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_request: sending chan_id 1 msg_id 1 buf:0
[ 532.731187] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_status: waiting for status, timeout:2500 ms
[ 532.734132] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_control_send_message: header->channel_id : 1 capture->channel_id = 1
[ 532.734137] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control vi_capture_control_send_message 1101 nsg_id
[ 532.734139] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: sending chan_id 1 msg_id 64
[ 532.734243] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: response chan_id 1 msg_id 65
[ 532.734263] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_control_send_message: header->channel_id : 1 capture->channel_id = 1
[ 532.734272] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control vi_capture_control_send_message 1101 nsg_id
[ 532.734278] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: sending chan_id 1 msg_id 54
[ 532.734548] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: response chan_id 1 msg_id 55
[ 532.734555] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_control_send_message: header->channel_id : 1 capture->channel_id = 1
[ 532.734557] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control vi_capture_control_send_message 1101 nsg_id
[ 532.734560] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: sending chan_id 1 msg_id 64
[ 532.735214] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: response chan_id 1 msg_id 65
[ 532.735217] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_control_send_message: header->channel_id : 1 capture->channel_id = 1
[ 532.735219] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_control_send_message: NVCSI stream is already opened for this VI channel
[ 532.735220] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_control_send_message: not returning 0, but sending response for open request
[ 532.735222] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control vi_capture_control_send_message 1101 nsg_id
[ 532.735223] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: sending chan_id 1 msg_id 54
[ 532.735480] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: response chan_id 1 msg_id 55
[ 532.744451] [RCE] ERROR: camera-ip/nvcsi/nvcsi.c:2015 [nvcsi_stream_set_config] "MIPI clock rate not known. Using 250000 kHz
[ 532.744455] [RCE] "
[ 532.744457] [RCE] ERROR: camera-ip/nvcsi/nvcsi.c:2015 [nvcsi_stream_set_config] "MIPI clock rate not known. Using 250000 kHz
[ 532.744459] [RCE] "
[ 532.767351] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_status_callback: status chan_id 1 msg_id 2
[ 532.767365] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_status_callback: status chan_id 0 msg_id 2
[ 532.767374] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_status: waiting for status, timeout:2500 ms
[ 532.864867] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_request: sending chan_id 0 msg_id 1 buf:0
[ 532.864890] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_request: sending chan_id 1 msg_id 1 buf:0
[ 532.864914] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_status: waiting for status, timeout:2500 ms
[ 532.884203] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_status_callback: status chan_id 1 msg_id 2
[ 532.884218] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_status_callback: status chan_id 0 msg_id 2
[ 532.884227] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_status: waiting for status, timeout:2500 ms
[ 532.888472] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_control_send_message: header->channel_id : 1 capture->channel_id = 1
[ 532.888480] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control vi_capture_control_send_message 1101 nsg_id
[ 532.888482] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: sending chan_id 1 msg_id 56
[ 532.888564] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: response chan_id 1 msg_id 57
[ 532.888568] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_control_send_message: header->channel_id : 1 capture->channel_id = 1
[ 532.888570] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_control_send_message: NVCSI stream is already closed for this VI channel
[ 532.888572] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_control_send_message: not returning 0, but sending response for close request
[ 532.888574] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control vi_capture_control_send_message 1101 nsg_id
[ 532.888576] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: sending chan_id 1 msg_id 56
[ 532.888652] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: response chan_id 1 msg_id 57
[ 532.892751] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control vi_capture_release 948 msg_id
[ 532.892756] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: sending chan_id 0 msg_id 20
[ 532.893487] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: response chan_id 0 msg_id 21
[ 532.893546] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_shutdown–
[ 532.893552] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control vi_capture_release 948 msg_id
[ 532.893555] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: sending chan_id 1 msg_id 20
[ 532.894489] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_ivc_send_control: response chan_id 1 msg_id 21
[ 532.894523] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi_capture_shutdown–
Currently, these parts have been modified.
1、channel.c
value -= 4;
for (i = 1; value > 0 && i < TEGRA_CSI_BLOCKS; i++, value -= 4) {
//int next_port = chan->port[i-1] + 2;
if(chan->port[0] >= 4)
{
next_port = chan->port[i-1] + 1;
//next_port = chan->port[i-1] + 2;
}
else
{
next_port = chan->port[i-1] + 2;
}
next_port = (next_port % (NVCSI_PORT_H + 1));
chan->port[i] = next_port;
dev_info(chan->vi->dev, “chan->port[%d] : %d\n”, i, chan->port[i]);
}
2、capture-vi.c
case CAPTURE_PHY_STREAM_OPEN_REQ:
if (chan->is_stream_opened) {
dev_info(chan->dev,
“%s: NVCSI stream is already opened for this VI channel”,
func);
//return 0;
dev_info(chan->dev,
“%s: not returning 0, but sending response for open request”,
func);
}
resp_id = CAPTURE_PHY_STREAM_OPEN_RESP;
capture->stream_id = msg_cpy->phy_stream_open_req.stream_id;
capture->csi_port = msg_cpy->phy_stream_open_req.csi_port;
break;
case CAPTURE_PHY_STREAM_CLOSE_REQ:
if (!chan->is_stream_opened) {
dev_info(chan->dev,
“%s: NVCSI stream is already closed for this VI channel”,
func);
//return 0;
dev_info(chan->dev,
“%s: not returning 0, but sending response for close request”,
func);
}
resp_id = CAPTURE_PHY_STREAM_CLOSE_RESP;
break;
3. After these modifications, CSI stream 4 and stream 5 can be stitched using gang mode, but occasionally data cannot be retrieved, and kernel dumps occur sporadically. Could you confirm whether such modifications are acceptable? Has the driver been updated to support gang mode for CSI stream 4 and stream 5?
I don’t think CSI-E/F CSI-G/H can support gang mode due to this brick only support one streaming but two streaming to support gain mode.
Hello, thank you for your reply.
- Does the current version of the driver not support gang mode? Is there any new submission in the official design that allows AGX Orin CSI-E/F and CSI-G/H to support gang mode, or is it fundamentally unsupported by design?
- I have modified some of the code above, and currently, CSI-E/F and CSI-G/H can forcibly operate in gang mode to stitch and obtain a complete image, but there are occasional kernel dumps. Could you tell me how to modify the driver to support gang mode for CSI-E/F and CSI-G/H?
- If CSI-E/F and CSI-G/H do not support gang mode, is the only option to create two video nodes and perform stitching at the user level? Are there any other solutions available on Jetson?
The HW design of CSI-E/F CSI-G/H don’t support gang mode.
Thanks
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.