Use CSI0 connection between orin nano and sc132gs.
The device tree is configured as follows.
/dts-v1/;
/plugin/;
#define CAM0_RST TEGRA234_MAIN_GPIO(H, 3)
#define CAM0_PWDN TEGRA234_MAIN_GPIO(H, 6)
#define CAM1_PWDN TEGRA234_MAIN_GPIO(AC, 0)
#define CAM_I2C_MUX TEGRA234_AON_GPIO(CC, 3)
#include <dt-bindings/tegra234-p3767-0000-common.h>
/ {
overlay-name = "Camera CSSC132-A";
jetson-header-name = "Jetson 24pin CSI Connector";
compatible = JETSON_COMPATIBLE_P3768;
fragment@0 {
target-path = "/";
__overlay__ {
tegra-capture-vi {
num-channels = <1>;
ports {
#address-cells = <1>;
#size-cells = <0>;
vi_port0: port@0 {
reg = <0>;
rbpcv2_cssc132_vi_in0: endpoint {
port-index = <1>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_cssc132_csi_out0>;
};
};
};
};
tegra-camera-platform {
compatible = "nvidia, tegra-camera-platform";
num_csi_lanes = <2>;
max_lane_speed = <1500000>;
min_bits_per_pixel = <8>;
vi_peak_byte_per_pixel = <2>;
vi_bw_margin_pct = <25>;
max_pixel_rate = <2400000>;
isp_peak_byte_per_pixel = <5>;
isp_bw_margin_pct = <25>;
modules {
cam_module0: module0 {
badge = "jakku_front_cssc132";
position = "front";
orientation = "1";
cam_module0_drivernode0: drivernode0 {
pcl_id = "v4l2_sensor";
sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/cam_i2cmux/i2c@0/rbpcv2_cssc132_a@30";
};
};
};
};
bus@0 {
host1x@13e00000 {
nvcsi@15a00000 {
num-channels = <1>;
#address-cells = <1>;
#size-cells = <0>;
csi_chan0: channel@0 {
reg = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
csi_chan0_port0: port@0 {
reg = <0>;
rbpcv2_cssc132_csi_in0: endpoint@0 {
port-index = <1>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_cssc132_out0>;
};
};
csi_chan0_port1: port@1 {
reg = <1>;
rbpcv2_cssc132_csi_out0: endpoint@1 {
remote-endpoint = <&rbpcv2_cssc132_vi_in0>;
};
};
};
};
};
};
cam_i2cmux {
status = "okay";
compatible = "i2c-mux-gpio";
#address-cells = <1>;
#size-cells = <0>;
mux-gpios = <&gpio_aon CAM_I2C_MUX GPIO_ACTIVE_HIGH>;
i2c-parent = <&cam_i2c>;
i2c@0 {
status = "okay";
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
rbpcv2_cssc132_a@30 {
compatible = "nvidia,cs_sc132";
reg = <0x30>;
devnode = "video0";
physical_w = "5.6";
physical_h = "3.1";
sensor_model = "cssc132";
use_sensor_mode_id = "false";
#reset-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
mode0 {
mclk_khz = "24000";
num_lanes = "2";
tegra_sinterface = "serial_a";
phy_mode = "DPHY";
discontinuous_clk = "yes";
dpcm_enable = "false";
cil_settletime = "0";
lane_polarity = "6";
active_w = "1080";
active_h = "1280";
mode_type = "raw";
pixel_phase = "y10";
csi_pixel_bit_depth = "10";
readout_orientation = "0";
line_length = "1696";
inherent_gain = "1";
mclk_multiplier = "2";
pix_clk_hz = "72000000";
gain_factor = "16";
framerate_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "30000000"; /* 30 fps */
step_framerate = "1000000";
default_framerate = "30000000"; /* 30 fps */
min_exp_time = "13"; /* us */
max_exp_time = "222222"; /* us */
step_exp_time = "1";
default_exp_time = "2495"; /* us */
embedded_metadata_height = "0";
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
rbpcv2_cssc132_out0: endpoint {
status = "okay";
port-index = <1>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_cssc132_csi_in0>;
};
};
};
};
};
i2c@1 {
rbpcv2_cssc132_c@30 {
status = "okay";
};
};
};
};
};
};
};
After loading the driver, the system has the following log
[ 487.654267] cssc132 9-0030: probing v4l2 sensor
[ 487.654275] /home/robot/orin_nano_6.2/nvidia_jetson_veye_bsp/drivers_source/modify_sc132gs/cs_sc132.c cs_sc132_probe 878
[ 487.654363] /home/robot/orin_nano_6.2/nvidia_jetson_veye_bsp/drivers_source/modify_sc132gs/cs_sc132.c cs_sc132_parse_dt 655
[ 487.654367] /home/robot/orin_nano_6.2/nvidia_jetson_veye_bsp/drivers_source/modify_sc132gs/cs_sc132.c cs_sc132_power_get 588
[ 487.654436] cssc132 9-0030: tegracam sensor driver:cssc132_v2.0.6
[ 487.654442] /home/robot/orin_nano_6.2/nvidia_jetson_veye_bsp/drivers_source/modify_sc132gs/cs_sc132.c cs_sc132_power_on 506
[ 487.654445] /home/robot/orin_nano_6.2/nvidia_jetson_veye_bsp/drivers_source/modify_sc132gs/cs_sc132.c cs_sc132_fuse_id_setup 784
[ 487.654747] /home/robot/orin_nano_6.2/nvidia_jetson_veye_bsp/drivers_source/modify_sc132gs/cs_sc132.c cs_sc132_read_reg 155
[ 487.654971] /home/robot/orin_nano_6.2/nvidia_jetson_veye_bsp/drivers_source/modify_sc132gs/cs_sc132.c cs_sc132_read_reg 155
[ 487.654978] cssc132 9-0030: read sensor id 0132
[ 487.654983] cssc132 9-0030: camera id is cs-mipi-sc132
[ 487.654986] /home/robot/orin_nano_6.2/nvidia_jetson_veye_bsp/drivers_source/modify_sc132gs/cs_sc132.c cs_sc132_board_setup 844
[ 487.655035] /home/robot/orin_nano_6.2/nvidia_jetson_veye_bsp/drivers_source/modify_sc132gs/cs_sc132.c cs_sc132_power_off 557
[ 487.655077] tegra-camrtc-capture-vi tegra-capture-vi: subdev cssc132 9-0030 bound
[ 487.655611] video4linux video0: tegra_channel_s_ctrl: 10100856 set vi timeout disable 0
[ 487.655916] cssc132 9-0030: Detected CS_MIPI_SC132 camera
[ 487.661879] /home/robot/orin_nano_6.2/nvidia_jetson_veye_bsp/drivers_source/modify_sc132gs/cs_sc132.c cs_sc132_open 860
v4l2-ctl and get the trace log
# tracer: nop
#
# entries-in-buffer/entries-written: 52/52 #P:6
#
# _-------=> irqs-off
# / _------=> need-resched
# | / _-----=> need-resched-lazy
# || / _----=> hardirq/softirq
# ||| / _---=> preempt-depth
# |||| / _--=> preempt-lazy-depth
# ||||| / _-=> migrate-disable
# |||||| / delay
# TASK-PID CPU# ||||||| TIMESTAMP FUNCTION
# | | | ||||||| | |
kworker/4:2-5536 [004] ....... 5838.564028: rtcpu_dbg_set_loglevel: tstamp:183133091354 old:0 new:2
kworker/4:2-5536 [004] ....... 5844.447850: rtcpu_string: tstamp:183317257026 id:0x04010000 str:"VM0 deactivating."
v4l2-ctl-5564 [001] ....... 5854.103305: tegra_channel_open: vi-output, cssc132 9-0030
v4l2-ctl-5564 [001] ....... 5854.109026: tegra_channel_set_power: cssc132 9-0030 : 0x1
v4l2-ctl-5564 [001] ....... 5854.109036: camera_common_s_power: status : 0x1
v4l2-ctl-5564 [001] ....... 5854.109056: tegra_channel_set_power: 13e00000.host1x:nvcsi@15a00000- : 0x1
v4l2-ctl-5564 [001] ....... 5854.109059: csi_s_power: enable : 0x1
v4l2-ctl-5564 [001] ....... 5854.109614: tegra_channel_capture_setup: vnc_id 0 W 1280 H 1080 fmt c4
vi-output, cssc-5565 [003] ....... 5854.120842: vi_task_submit: class_id:48 ch:0 syncpt_id:22 syncpt_thresh:6291 pid:5565 tid:5565
vi-output, cssc-5565 [003] ....... 5854.120851: vi_task_submit: class_id:48 ch:0 syncpt_id:22 syncpt_thresh:6291 pid:5565 tid:5565
vi-output, cssc-5565 [003] ....... 5854.120852: vi_task_submit: class_id:48 ch:0 syncpt_id:22 syncpt_thresh:6291 pid:5565 tid:5565
vi-output, cssc-5565 [003] ....... 5854.120853: vi_task_submit: class_id:48 ch:0 syncpt_id:22 syncpt_thresh:6291 pid:5565 tid:5565
v4l2-ctl-5564 [000] ....... 5854.120870: tegra_channel_set_stream: enable : 0x1
v4l2-ctl-5564 [000] ....... 5854.122302: tegra_channel_set_stream: 13e00000.host1x:nvcsi@15a00000- : 0x1
v4l2-ctl-5564 [000] ....... 5854.122306: csi_s_stream: enable : 0x1
v4l2-ctl-5564 [001] ....... 5854.122711: tegra_channel_set_stream: cssc132 9-0030 : 0x1
kworker/4:2-5536 [004] ....... 5854.143564: rtcpu_string: tstamp:183620629151 id:0x04010000 str:"VM0 activating."
kworker/4:2-5536 [004] ....... 5854.143570: rtcpu_vinotify_event: tstamp:183621349089 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:5875866031744 data:0x799d580010000000
kworker/4:2-5536 [004] ....... 5854.143571: rtcpu_vinotify_event: tstamp:183621349354 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:5875866088672 data:0x0000000031000001
kworker/4:2-5536 [004] ....... 5854.143572: rtcpu_vinotify_event: tstamp:183621349640 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:5875866106848 data:0x799d550010000000
kworker/4:2-5536 [004] ....... 5854.143572: rtcpu_vinotify_event: tstamp:183621349889 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:5875866127104 data:0x0000000007020001
kworker/4:2-5536 [004] ....... 5854.143573: rtcpu_vinotify_event: tstamp:183621350176 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:5875866169504 data:0x0000000031000002
vi-output, cssc-5566 [001] ....... 5856.852594: tegra_channel_capture_setup: vnc_id 0 W 1280 H 1080 fmt c4
vi-output, cssc-5565 [002] ....... 5856.852992: vi_task_submit: class_id:48 ch:0 syncpt_id:22 syncpt_thresh:6291 pid:5565 tid:5565
vi-output, cssc-5565 [002] ....... 5856.853003: vi_task_submit: class_id:48 ch:0 syncpt_id:22 syncpt_thresh:6291 pid:5565 tid:5565
vi-output, cssc-5565 [002] ....... 5856.853005: vi_task_submit: class_id:48 ch:0 syncpt_id:22 syncpt_thresh:6291 pid:5565 tid:5565
vi-output, cssc-5565 [002] ....... 5856.853007: vi_task_submit: class_id:48 ch:0 syncpt_id:22 syncpt_thresh:6291 pid:5565 tid:5565
kworker/4:2-5536 [004] ....... 5856.895473: rtcpu_vinotify_event: tstamp:183706527428 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:5878598177184 data:0x799d580010000000
kworker/4:2-5536 [004] ....... 5856.895476: rtcpu_vinotify_event: tstamp:183706527721 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:5878598234144 data:0x0000000031000001
kworker/4:2-5536 [004] ....... 5856.895477: rtcpu_vinotify_event: tstamp:183706527975 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:5878598252288 data:0x799d550010000000
kworker/4:2-5536 [004] ....... 5856.895478: rtcpu_vinotify_event: tstamp:183706528254 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:5878598272608 data:0x0000000007020001
kworker/4:2-5536 [004] ....... 5856.895479: rtcpu_vinotify_event: tstamp:183706528504 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:5878598319808 data:0x0000000031000002
vi-output, cssc-5566 [003] ....... 5859.412611: tegra_channel_capture_setup: vnc_id 0 W 1280 H 1080 fmt c4
vi-output, cssc-5565 [002] ....... 5859.413092: vi_task_submit: class_id:48 ch:0 syncpt_id:22 syncpt_thresh:6291 pid:5565 tid:5565
vi-output, cssc-5565 [002] ....... 5859.413104: vi_task_submit: class_id:48 ch:0 syncpt_id:22 syncpt_thresh:6291 pid:5565 tid:5565
vi-output, cssc-5565 [002] ....... 5859.413105: vi_task_submit: class_id:48 ch:0 syncpt_id:22 syncpt_thresh:6291 pid:5565 tid:5565
vi-output, cssc-5565 [002] ....... 5859.413106: vi_task_submit: class_id:48 ch:0 syncpt_id:22 syncpt_thresh:6291 pid:5565 tid:5565
kworker/4:2-5536 [004] ....... 5859.471399: rtcpu_vinotify_event: tstamp:183786281031 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:5881158355008 data:0x799d580010000000
kworker/4:2-5536 [004] ....... 5859.471403: rtcpu_vinotify_event: tstamp:183786281295 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:5881158397056 data:0x0000000031000001
kworker/4:2-5536 [004] ....... 5859.471404: rtcpu_vinotify_event: tstamp:183786281585 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:5881158415232 data:0x799d550010000000
kworker/4:2-5536 [004] ....... 5859.471405: rtcpu_vinotify_event: tstamp:183786281835 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:5881158435520 data:0x0000000007020001
kworker/4:2-5536 [004] ....... 5859.471406: rtcpu_vinotify_event: tstamp:183786282118 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:5881158477888 data:0x0000000031000002
v4l2-ctl-5564 [005] ....... 5860.554770: tegra_channel_close: vi-output, cssc132 9-0030
vi-output, cssc-5566 [003] ....... 5861.940426: tegra_channel_capture_setup: vnc_id 0 W 1280 H 1080 fmt c4
v4l2-ctl-5564 [005] ....... 5861.940819: tegra_channel_set_stream: enable : 0x0
v4l2-ctl-5564 [005] ....... 5861.940821: tegra_channel_set_stream: cssc132 9-0030 : 0x0
v4l2-ctl-5564 [005] ....... 5861.942324: tegra_channel_set_stream: 13e00000.host1x:nvcsi@15a00000- : 0x0
v4l2-ctl-5564 [005] ....... 5861.942330: csi_s_stream: enable : 0x0
v4l2-ctl-5564 [002] ....... 5861.945297: tegra_channel_set_power: cssc132 9-0030 : 0x0
v4l2-ctl-5564 [002] ....... 5861.945310: camera_common_s_power: status : 0x0
v4l2-ctl-5564 [002] ....... 5861.945355: tegra_channel_set_power: 13e00000.host1x:nvcsi@15a00000- : 0x0
v4l2-ctl-5564 [002] ....... 5861.945358: csi_s_power: enable : 0x0
The hardware connection has been verified by imx219, and the device tree has also been rewritten based on the successful verification of imx219.
Jetson originally did not support mono 10, but has loaded the mono10 driver.
hello venceplace,
it looks you’ve incorrect port bindings.
since you connect the camera over CSI-0, please revise DT property, port-index = <0> for CSI/VI/Sensor.
Thank you for JeerryChang reply. When I tested imx219, I used csi0 but selected port-index=1, which can work normally. After both imx219 and sc132gs were changed to 0, imx219 can work normally, but sc132gs keeps reporting errors.
trace.200.log (12.8 MB)
This is the exported log, can you help me figure out what the problem is?
[ 994.203300] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 1, flags: 0, err_data 512
[ 994.237002] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 2, flags: 0, err_data 512
[ 994.270325] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 3, flags: 0, err_data 512
[ 994.303537] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 4, flags: 0, err_data 512
[ 994.336840] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 5, flags: 0, err_data 512
[ 994.370141] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 6, flags: 0, err_data 512
[ 994.403507] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 7, flags: 0, err_data 512
[ 994.436690] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 8, flags: 0, err_data 512
[ 994.470525] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 9, flags: 0, err_data 512
[ 994.503815] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 10, flags: 0, err_data 512
[ 994.537058] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 11, flags: 0, err_data 512
[ 994.570243] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 12, flags: 0, err_data 512
[ 994.603461] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 13, flags: 0, err_data 512
[ 994.636764] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 14, flags: 0, err_data 512
[ 994.670065] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 15, flags: 0, err_data 512
[ 994.703496] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 16, flags: 0, err_data 512
hello venceplace,
is it Orin Nano DevKit?
CAM0 is the slot which connected to CSI-B instead of CSI-A.
CAM1 is the slot connected to CSI-C.
please refer to Jetson Orin Nano Developer Kit Carrier Board Specification for reference.
It is not DevKit. It is a self-developed board based on the previous nx Devkit. It is connected to CSI0 and CSIA.
hello venceplace,
you may double check the board schematic,
please see-also Topic 318537 for an example to debug discarding frame corr_err messages.
36.4.3的源码中已经将
frame_err = true打开了,请问如何确认这个是否正确被打开了,另外我重新采购了一块C1901的板卡来调试还是出现一样的错误。请问这个需要从哪里调试。
6.20.trace.log (7.7 MB)
重新抓了一下日志,能帮忙看看是什么问题吗?
kworker/5:1-49 [005] ....... 277.317483: rtcpu_vinotify_event: tstamp:9344062182 cch:0 vi:0 tag:FS channel:0x00 frame:89 vi_tstamp:298994508096 data:0x0000005900000010
kworker/5:1-49 [005] ....... 277.317483: rtcpu_vinotify_event: tstamp:9344062484 cch:0 vi:0 tag:ATOMP_FS channel:0x00 frame:89 vi_tstamp:298994508192 data:0x0000000800000000
kworker/5:1-49 [005] ....... 277.317484: rtcpu_vinotify_event: tstamp:9344062746 cch:0 vi:0 tag:CHANSEL_PXL_SOF channel:0x23 frame:89 vi_tstamp:298994735296 data:0x0000000000000001
kworker/5:1-49 [005] ....... 277.317485: rtcpu_vinotify_event: tstamp:9344063030 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:89 vi_tstamp:298994745056 data:0x0000000008020059
kworker/5:1-49 [005] ....... 277.317486: rtcpu_vinotify_event: tstamp:9344063282 cch:0 vi:0 tag:CHANSEL_FAULT channel:0x23 frame:89 vi_tstamp:298994746496 data:0x0000000000000200
kworker/5:1-49 [005] ....... 277.317486: rtcpu_vinotify_event: tstamp:9344063562 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:89 vi_tstamp:298994825792 data:0x0000000001020059
kworker/5:1-49 [005] ....... 277.317487: rtcpu_vinotify_event: tstamp:9344063811 cch:0 vi:0 tag:CHANSEL_FAULT channel:0x23 frame:89 vi_tstamp:299009732288 data:0x0000000004370202
kworker/5:1-49 [005] ....... 277.317488: rtcpu_vinotify_event: tstamp:9344064088 cch:0 vi:0 tag:ATOMP_FRAME_DONE channel:0x23 frame:89 vi_tstamp:299009733440 data:0x0000000000000000
kworker/5:1-49 [005] ....... 277.317488: rtcpu_vinotify_event: tstamp:9344064346 cch:0 vi:0 tag:CHANSEL_FAULT channel:0x23 frame:89 vi_tstamp:299009735008 data:0x0000000004380240
kworker/5:1-49 [005] ....... 277.317489: rtcpu_vinotify_event: tstamp:9344145434 cch:0 vi:0 tag:FE channel:0x00 frame:89 vi_tstamp:299012510560 data:0x0000005900000020
kworker/5:1-49 [005] ....... 277.317490: rtcpu_vinotify_event: tstamp:9344145691 cch:0 vi:0 tag:ATOMP_FE channel:0x00 frame:89 vi_tstamp:299012510656 data:0x0000000800000000
咨询一下上述三个CHANSEL_FAULT是什么原因导致的。
hello venceplace,
CHANSEL_FAULT channel:0x23 frame:89 vi_tstamp:298994746496 data:0x0000000000000200
0x200 means.. A line ends with fewer pixels than expected. (but, it’s not reporting how many is expected).
CHANSEL_FAULT channel:0x23 frame:89 vi_tstamp:299009732288 data:0x0000000004370202
the last pixel in a frame that is not that of an embedded type.
for instance, that’s bit-31:16 to represent current line, 0x437 it’s the current line in frame, which is 1079-lines. however.. the next CHANSEL_FAULT it shows 0x438, which has additional line reported.
sc132gs 的分辨率为1080 * 1280(宽为1080,高为1280),但是gst-launch-1.0和v4l2都不支持这个分辨率的读写,请问有什么办法读出这个尺寸的摄像头数据吗?
我该如何配置才能使用如图中红色方框的分辨率读取摄像头中的数据。
hello venceplace,
may I know what did you meant it’s not supported with gst-launch-1.0 and v4l2?
please refer to developer guide for the Device Properties section.
here’s DT property, use_sensor_mode_id to select a specific sensor mode.
so,
you may using v4l pipeline with --set-ctrl sensor_mode=Xfor mode selection.
for instance,
$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=720,pixelformat=RG10 --set-ctrl bypass_mode=0 --set-ctrl sensor_mode=4 --stream-mmap --stream-count=100
设备树设置的分辨率为1080 * 1280,然后只有一个mode就是mode0,附带设备树文件。
tegra234-p3767-camera-p3768-cssc132-B.txt (5.6 KB)
sensor文件中提到的分辨率是这样说的
我理解是宽为1080,高为1280。然后我试过nvarguscamerasrc,nvv4l2camerasrc,v4l2src 等插件都无法正常读取BG10的视频流。
hello venceplace,
what’s the sensor mode definition within your sensor driver?
let me taking IMX274 as an example,
please check the camera_common_frmfmt definition of your mode table.
static const struct camera_common_frmfmt imx274_frmfmt[] = {
{{3840, 2160}, imx274_60_fr, 1, 0, IMX274_MODE_3840X2160},
{{1920, 1080}, imx274_60_fr, 1, 0, IMX274_MODE_1920X1080},
{{3856, 4448}, imx274_30_fr, 1, 1, IMX274_MODE_3840X2160_DOL_30FPS},
{{1936, 2264}, imx274_60_fr, 1, 1, IMX274_MODE_1920X1080_DOL_60FPS},
trace.6.27.log (872.6 KB)
这个算正常了吗
hello venceplace,
that’s correct.
here shows one pair of CHANSEL_PXL_SOF/CHANSEL_PXL_EOF to indicate a frame has detected by VI engine. afterwards, it’s ATOMP_FRAME_DONE to indicate it’s complete writing a frame to memory.
please check v4l utility for fetching the frames.
for instance,
$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100
system
Closed
July 30, 2025, 3:58am
23
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.