My hardware connection path is: AWR2243 → DS90UB953-Q1 → DS90UB960-Q1 → Orin
AWR2243 uses 4 lanes, and it’s data output rate is 400 Mbps/lane.
The configuration of AWR2243 is:
awr2243@28 {
compatible = "ti,awr2243";
mclk = "extperiph1";
physical_w = "10.4";
physical_h = "10.4";
sensor_model = "awr2243";
use_decibel_gain = "false";
use_sensor_mode_id = "true";
physical-addr = <0x28>;
#address-cells = <0x1>;
#size-cells = <0x0>;
status = "disabled";
reg = <0x60>;
devnode = "video0";
serializer = <0x4c>;
deserializer = <0x4d>;
phandle = <0x2fc>;
mode0 {
mclk_khz = "200000";
num_lanes = <4>;
tegra_sinterface = "serial_a";
phy_mode = "DPHY";
discontinuous_clk = "yes";
dpcm_enable = "false";
cil_settletime = <1>;
readout_orientation = <0>;
vc_id = <0>;
dynamic_pixel_bit_depth = <8>;
csi_pixel_bit_depth = <8>;
mode_type = "bayer";
pixel_phase = "rggb";
active_w = "4096";
active_h = "512";
line_length = "4096";
inherent_gain = <1>;
mclk_multiplier = <2>;
pix_clk_hz = "200000000";
serdes_pix_clk_hz = "800000000";
gain_factor = "10";
min_gain_val = <0>;
max_gain_val = <52>;
step_gain_val = <2>;
default_gain = <0>;
min_hdr_ratio = <1>;
max_hdr_ratio = <1>;
framerate_factor = "1000000";
min_framerate = "1500000";
max_framerate = "30000000";
step_framerate = <1>;
default_framerate = "30000000";
exposure_factor = "1000000";
min_exp_time = "30";
max_exp_time = "660000";
step_exp_time = <1>;
default_exp_time = "33334";
embedded_metadata_height = <1>;
};
ports {
#address-cells = <0x1>;
#size-cells = <0x0>;
status = "disabled";
port@0 {
reg = <0x0>;
endpoint {
vc-id = <0x0>;
status = "disabled";
port-index = <0x0>;
bus-width = <0x4>;
remote-endpoint = <0x40>;
phandle = <0x2fd>;
};
};
};
};
Actually all control of the AWR224 is done by the radar controller via SPI. Orin only needs to receive data.
I use “v4l2-ctl --set-fmt-video=width=4096,height=512,pixelformat=RGGB --stream-mmap --stream-count=1 -d /dev/video0 --stream-to=radar .raw --stream-poll” to receive data, the log is as follows:
[ 204.791593] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: stream=0, vc=2, csi_port=0
[ 204.791595] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: vi_port=0
[ 204.791882] awr2243 20-0062: awr2243_s_stream: enable
[ 207.282682] tegra194-vi5 13e40000.host1x:vi0@15c00000: vi_capture_status: capture status timed out
[ 207.291951] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 207.301112] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 207.311892] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 207.319618] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0, vi_port=0
[ 207.331273] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_start_streaming: csi_pt=0, st_id=0, vc_id=0, pg_mode=0x0
[ 207.331275] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_set_config: stream_id=0, csi_port=0
[ 207.331278] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_set_config: cil_settingtime is pulled from device
[ 207.331280] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 207.339001] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: stream=0, vc=2, csi_port=0
[ 207.339004] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 2
[ 207.349790] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
The content of the trace is as follows:
# tracer: nop
#
# entries-in-buffer/entries-written: 11/11 #P:8
#
# _-----=> irqs-off
# / _----=> need-resched
# | / _---=> hardirq/softirq
# || / _--=> preempt-depth
# ||| / delay
# TASK-PID CPU# |||| TIMESTAMP FUNCTION
# | | | |||| | |
kworker/4:2-144 [004] .... 204.786527: rtcpu_vinotify_event: tstamp:7222406823 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:231102632800 data:0x379d580010000000
kworker/4:2-144 [004] .... 204.786530: rtcpu_vinotify_event: tstamp:7222406973 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:231102639296 data:0x0000000031000001
kworker/4:2-144 [004] .... 204.786530: rtcpu_vinotify_event: tstamp:7222407126 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:231102695488 data:0x379d550010000000
kworker/4:2-144 [004] .... 204.786530: rtcpu_vinotify_event: tstamp:7222407257 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:231102702048 data:0x0000000031000002
kworker/4:2-144 [004] .... 204.842887: rtcpu_nvcsi_intr: tstamp:7222622095 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000088
kworker/4:2-144 [004] .... 204.842888: rtcpu_nvcsi_intr: tstamp:7222622095 class:GLOBAL type:PHY_INTR0 phy:0 cil:1 st:0 vc:0 status:0x00000088
kworker/4:2-144 [004] .... 204.842888: rtcpu_nvcsi_intr: tstamp:7222626125 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x01c00000
kworker/4:2-144 [004] .... 204.842889: rtcpu_nvcsi_intr: tstamp:7222626125 class:GLOBAL type:PHY_INTR0 phy:0 cil:1 st:0 vc:0 status:0x00c00000
kworker/4:2-144 [004] .... 207.366408: rtcpu_nvcsi_intr: tstamp:7302860381 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000088
kworker/4:2-144 [004] .... 207.366412: rtcpu_nvcsi_intr: tstamp:7302860381 class:GLOBAL type:PHY_INTR0 phy:0 cil:1 st:0 vc:0 status:0x00000088
kworker/4:2-144 [004] .... 212.745563: rtcpu_string: tstamp:7470580683 id:0x04010000 str:"VM0 deactivating."
Is there something wrong with the configuration or do I need to do something extra?
How to configure the parameters of the CSI receiver in jetpack 5.0.2?