Tc358745 in JetPack 6.2.1

Hi there,

For the last two days i have been trying to get a tc358743 hdi2csi module to work on my orin developer kit. I installed the latest OS (6.2.1) via the sdk manager. The tc358743 board was tested on a raspi and works there.

I tried different dtbi files and tc drivers from this forum but failed to get /dev/video* show up.

As I don’t want to fiddle around with the sdkmanager, I am building all things locally on the orin board.
So far I managed to build the kernel and kernel module using GitHub - jetsonhacks/jetson-orin-kernel-builder: Build the Linux kernel and modules on board the Jetson AGX Orin, Orin Nano or Orin NX (great help!) and compile a new dtb file that includes my dtsi.

  • kernel is in /boot/Image (modules and initrd as well)
  • dtb is /boot/dtb/tegra234-p3768-0000+p3767-0004-nv-super.dtb (extlinux.conf + FDT …)

Strangely, on boot the tc358743 module is not loaded.
When i modprobe it, nothing happens (expect i see it in lsmod now).
Scanning /dev/i2c2 shows the 0x0f so the device should be recognized.
However, no matter what i try, there is no /dev/video* and strangely also no debug output of the module loading in dmesg at all.

Any hints? Or a set of working c/h and dtsi files?

Thanks,

Simon

Hi @simon268

Could you share how are you defining your device-tree to include the tc358743 hdi2csi module?

Also, let me share the official camera development guide from NVIDIA:

Enrique Ramirez
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com
Website: www.ridgerun.com

I copied the file from one of the tc358743 threads here, not sure which one, i tried multiple versions with no success…

tc358743.dtsi.txt (7.6 KB)

I then included it in tegra234-p3768-0000+p3767-xxxx-nv-common.dtsi and rebuilt and copied the dtb file. I verified that this is loaded by changing the model= string and checking for that model of the running system matches that.

Oh wait, i think i proceeded one step further. I did not compile the nvidia-oot modules and had some module table mismatch warnings that i ignored because the modules did not look like being important right now.

After building the oot modules, a lot of things changed:
I can see the debug output and the module initializes (but crashes during a v4l read).

Thinking about it makes sense, the mipi/csi stuff most likely uses some oot module stuff as well.

I will report back once i got more details on my crashes.

Ok i got it working. I used the c files from this thread: Orin fails to capture frame - uncorr_err: request timed out after 2500 ms - #10 by user74491

And built an overlay (tegra234-tc358743.dts.txt) that i include in the boot/extlinux file.

Loading this edid file (1080p30.txt):

v4l2-ctl --set-edid=file=1080p30edid --fix-edid-checksums -v width=1920,height=1080,pixelformat=UYVY --set-dv-bt-timings query -V

BT timings set
Format Video Capture:
        Width/Height      : 1920/1080
        Pixel Format      : 'UYVY' (UYVY 4:2:2)
        Field             : None
        Bytes per Line    : 3840
        Size Image        : 4147200
        Colorspace        : SMPTE 170M
        Transfer Function : Default (maps to Rec. 709)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Limited Range)
        Flags             : 

I get 30fps 1920x1080:

v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --set-ctrl bypass_mode=0 --stream-mmap --stream-count=200

New timings found
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps

Now the strange thing is: I have to connect the camera to the connector CAM1 and i get /dev/video0 ?!

Why? I expected that i have to use CAM0 for video0.

When i connect the cam to CAM0 i also get /dev/video0 but no video and the 2.5s timeout warnings.

My next goal is to get 1080p60 to work. Any hints? Do i need modifications to my dts file? Any EDID recommendation?

Thanks

That’ good news!

The behavior you are getting about video0 is expected. The video devices are created using the lowest one available, so if in your systems there’s no other video device, it will register video0. If there’s already a video0, it will register the next one as video1.

I now that you are defining a “devnode” device-tree property, but that’s ignored.

Regarding the timeout issue using CAM0, I think you should review your device-tree settings from the working node, and apply the same settings. I mean, num_lanes, bud-width, etc. Also lane-polarity could affect, see this information:

Regarding the 1080p60 test, have you tried updating just the EDID file?
00 FF FF FF FF FF FF 00 52 62 88 88 00 88 88 88
1C 15 01 03 80 A0 5A 78 0A 0D C9 A0 57 47 98 27
12 48 4C 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 1D 80 18 71 1C 16 20 58 2C
25 00 80 38 21 00 00 9E 01 1D 80 18 71 38 2D 40
58 2C 45 00 80 38 74 00 00 1E 00 00 00 FC 00 44
43 44 5A 2D 48 32 43 20 4D 4F 44 0A 00 00 00 FD
00 14 78 01 FF 10 00 0A 20 20 20 20 20 20 01 B9
02 03 1A 71 47 A2 22 22 22 22 22 22 23 09 07 01
83 01 00 00 65 03 0C 00 10 00 01 1D 80 18 71 38
2D 40 58 2C 45 00 80 38 74 00 00 1E 01 1D 80 18
71 38 2D 40 58 2C 45 00 80 38 74 00 00 1E 01 1D
80 18 71 38 2D 40 58 2C 45 00 80 38 74 00 00 1E
01 1D 80 18 71 38 2D 40 58 2C 45 00 80 38 74 00
00 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6D

Enrique Ramirez
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com
Website: www.ridgerun.com

Ok thats good to know. That video0 thing was looking really strange to me.

If i connect my device to CAM1 and use your EDID it shows up as 1920x1080@60 on the pc connected via hdmi/tc358743. Thats good.

However, when i start (using the dtb from above), the grabber stays at 30fps:

v4l2-ctl --set-edid=file=1080p60edid --fix-edid-checksums -V
Format Video Capture:
        Width/Height      : 1920/1080
        Pixel Format      : 'UYVY' (UYVY 4:2:2)
        Field             : None
        Bytes per Line    : 3840
        Size Image        : 4147200
        Colorspace        : SMPTE 170M
        Transfer Function : Default (maps to Rec. 709)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Limited Range)
        Flags             : 

v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --set-ctrl bypass_mode=0 --stream-mmap --stream-count=200
New timings found
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps

When i change the dts file to have 4 lanes on cam1, it does not start and i get 2.5s timeouts in the log:

[   22.429752] tc358743 9-000f: tc358743_s_edid, pad 0, start block 0, blocks 2
[   22.429765] tc358743 9-000f: tc358743_disable_edid:
[   22.430150] tc358743 9-000f: I2C write 0x8544 = 0x00
[   22.430294] tc358743 9-000f: I2C write 0x85ca = 0x00
[   22.430437] tc358743 9-000f: I2C write 0x85cb = 0x01
[   22.430440] tc358743 9-000f: i2c wr reg=8c00: len=130 is too big!
[   22.433792] tc358743 9-000f: I2C write 128 bytes from address 0x8c00
[   22.433797] tc358743 9-000f: tc358743_enable_edid
[   22.433799] tc358743 9-000f: tc358743_enable_edid:
[   22.433802] tc358743 9-000f: tc358743_enable_interrupts: cable connected = 1
[   22.433948] tc358743 9-000f: I2C write 0x8512 = 0xce
[   22.434192] tc358743 9-000f: I2C write 0x8513 = 0xdf
[   22.434333] tc358743 9-000f: I2C write 0x8515 = 0x3d
[   22.434473] tc358743 9-000f: I2C write 0x8516 = 0xfe
[   22.434610] tc358743 9-000f: I2C write 0x851b = 0xfd
[   22.434612] tc358743 9-000f: function tc358743_s_ctrl_detect_tx_5v
[   22.434615] tc358743 9-000f: function tx_5v_power_present
[   22.434810] tc358743 9-000f: tc358743_enable_edid completed successfully
[   22.434811] tc358743 9-000f: tc358743_s_edid completed successfully
[   22.536029] tc358743 9-000f: tc358743_delayed_work_enable_hotplug:
[   22.536568] tc358743 9-000f: I2C write 0x8544 = 0x01
[   23.969791] tc358743 9-000f:   jc- reading HDMI_INT0 HDMI_INT1  
[   23.970324] tc358743 9-000f: I2C write 0x850b = 0x02
[   23.970330] tc358743 9-000f: tc358743_hdmi_misc_int_handler: MISC_INT =0x02
[   23.970335] tc358743 9-000f:  in function no_sync
[   23.970530] tc358743 9-000f:  in function no_signal
[   23.970791] tc358743 9-000f: tc358743_format_change: Format changed
[   23.970795] tc358743 9-000f:  in function no_signal
[   23.970990] tc358743 9-000f:  in function no_sync
[   23.971184] tc358743 9-000f:   jc-  made it past no_signal and no_sync
[   23.973475] tc358743 9-000f: line 520 : tc358743_get_detected_timings: width 1920 heigh 1080 interlaced 0
[   23.973488] tc358743 9-000f: enable_stream: disable
[   23.973630] tc358743 9-000f: I2C write 0x857f = 0xd0
[   23.974019] tc358743 9-000f: I2C write 0x0004 = 0x0c14
[   23.974023] tc358743 9-000f: after mutex_unlock - 823:enable_stream: end
[   23.974027] tc358743 9-000f: tc358743_format_change: Format changed. New format: 1920x1080p30.00 (2200x1125)
[   23.974561] tc358743 9-000f: I2C write 0x8503 = 0xe0
[   23.974564] tc358743 9-000f: tc358743_hdmi_clk_int_handler: CLK_INT =0x20
[   23.974567] tc358743 9-000f: tc358743_hdmi_clk_int_handler: DE size or position has changed
[   23.974569] tc358743 9-000f:  in function no_signal
[   23.974760] tc358743 9-000f:  in function no_sync
[   23.974970] tc358743 9-000f: tc358743_format_change: Format changed
[   23.974972] tc358743 9-000f:  in function no_signal
[   23.975167] tc358743 9-000f:  in function no_sync
[   23.975362] tc358743 9-000f:   jc-  made it past no_signal and no_sync
[   23.977657] tc358743 9-000f: line 520 : tc358743_get_detected_timings: width 1920 heigh 1080 interlaced 0
[   23.977664] tc358743 9-000f: enable_stream: disable
[   23.977803] tc358743 9-000f: I2C write 0x857f = 0xd0
[   23.978187] tc358743 9-000f: I2C write 0x0004 = 0x0c14
[   23.978190] tc358743 9-000f: after mutex_unlock - 823:enable_stream: end
[   23.978192] tc358743 9-000f: tc358743_format_change: Format changed. New format: 1920x1080p30.00 (2200x1125)
[   23.978361] tc358743 9-000f: I2C write 0x0014 = 0x0200
[   26.111780] tc358743 9-000f: Calling tc358743_get_fmt
[   26.111790] tc358743 9-000f: tc358743_get_fmt starting... 
[   26.111793] tc358743 9-000f:  in function no_signal
[   26.112048] tc358743 9-000f:  in function no_sync
[   26.112246] tc358743 9-000f:   jc-  made it past no_signal and no_sync
[   26.114458] tc358743 9-000f: line 520 : tc358743_get_detected_timings: width 1920 heigh 1080 interlaced 0
[   26.114465] tc358743 9-000f:   tc358743_get_fmt : format width 1920
[   26.114466] tc358743 9-000f:   tc358743_get_fmt : format height 1080
[   26.114468] tc358743 9-000f:   tc358743_get_fmt : fmt_code: 4106
[   26.114469] tc358743 9-000f:   tc358743_get_fmt : RGB888 code: 4106
[   26.114470] tc358743 9-000f:   tc358743_get_fmt :UYVY8 code: 8207
[   26.114470] tc358743 9-000f: tc358743_get_fmt complete
[   26.114472] tc358743 9-000f: tc358743_set_fmt(), ret: 0
[   26.114474] tc358743 9-000f: Set format code: 8207
[   26.114475] tc358743 9-000f: Good code 8207
[   26.114667] tc358743 9-000f: Calling tc358743_get_fmt
[   26.114668] tc358743 9-000f: tc358743_get_fmt starting... 
[   26.114669] tc358743 9-000f:  in function no_signal
[   26.114857] tc358743 9-000f:  in function no_sync
[   26.115046] tc358743 9-000f:   jc-  made it past no_signal and no_sync
[   26.117238] tc358743 9-000f: line 520 : tc358743_get_detected_timings: width 1920 heigh 1080 interlaced 0
[   26.117244] tc358743 9-000f:   tc358743_get_fmt : format width 1920
[   26.117245] tc358743 9-000f:   tc358743_get_fmt : format height 1080
[   26.117246] tc358743 9-000f:   tc358743_get_fmt : fmt_code: 4106
[   26.117248] tc358743 9-000f:   tc358743_get_fmt : RGB888 code: 4106
[   26.117249] tc358743 9-000f:   tc358743_get_fmt :UYVY8 code: 8207
[   26.117251] tc358743 9-000f: tc358743_get_fmt complete
[   26.117252] tc358743 9-000f: tc358743_set_fmt(), ret: 0
[   26.117254] tc358743 9-000f: Set format code: 8207
[   26.117255] tc358743 9-000f: Good code 8207
[   26.117257] tc358743 9-000f: enable_stream: disable
[   26.117397] tc358743 9-000f: I2C write 0x857f = 0xd0
[   26.117887] tc358743 9-000f: I2C write 0x0004 = 0x0c14
[   26.117890] tc358743 9-000f: after mutex_unlock - 823:enable_stream: end
[   26.118319] tc358743 9-000f: tc358743_set_pll:
[   26.118321] tc358743 9-000f: tc358743_set_pll: pllctl0 : 12375
[   26.118323] tc358743 9-000f: tc358743_set_pll: pllctl1 : 531
[   26.118324] tc358743 9-000f: tc358743_set_pll: pllctl0_new  : 12375
[   26.118326] tc358743 9-000f: tc358743_set_pll: hsck : 594000000
[   26.118327] tc358743 9-000f: tc358743_set_pll: pdata->refclk_hz : 27000000
[   26.118329] tc358743 9-000f: function tc358743_num_csi_lanes_needed : fps(bt)  30   bits_pr_pixel 16 
[   26.118331] tc358743 9-000f: function tc358743_num_csi_lanes_needed : bps 1188000000   bps_pr_lane 594000000 
[   26.118333] tc358743 9-000f: function tc358743_num_csi_lanes_needed : ET.width 2200   ET.height 1125 
[   26.118334] tc358743 9-000f: tc358743_set_csi: lanes is using in_use
[   26.118336] tc358743 9-000f: function tc358743_num_csi_lanes_needed : fps(bt)  30   bits_pr_pixel 16 
[   26.118337] tc358743 9-000f: function tc358743_num_csi_lanes_needed : bps 1188000000   bps_pr_lane 594000000 
[   26.118339] tc358743 9-000f: function tc358743_num_csi_lanes_needed : ET.width 2200   ET.height 1125 
[   26.118340] tc358743 9-000f:   jc- set_csi : Lanes needed: 2
[   26.118341] tc358743 9-000f: function tc358743_num_csi_lanes_in_use
[   26.118605] tc358743 9-000f:   jc- set_csi : Lanes in use: 1
[   26.118607] tc358743 9-000f: tc358743_set_csi:  jc- lanes : 2
[   26.118820] tc358743 9-000f: function tc358743_reset
[   26.118982] tc358743 9-000f: I2C write 0x0002 = 0x0e00
[   26.119145] tc358743 9-000f: I2C write 0x0002 = 0x0c00
[   26.119147] tc358743 9-000f: tc358743_set_csi:  jc- post reset lanes= 2
[   26.119359] tc358743 9-000f: I2C write 0x014c = 0x00000001
[   26.119573] tc358743 9-000f: I2C write 0x0150 = 0x00000001
[   26.119900] tc358743 9-000f: I2C write 0x0210 = 0x00000e80
[   26.120135] tc358743 9-000f: I2C write 0x0214 = 0x00000003
[   26.120353] tc358743 9-000f: I2C write 0x0218 = 0x00001403
[   26.120569] tc358743 9-000f: I2C write 0x021c = 0x00000000
[   26.120785] tc358743 9-000f: I2C write 0x0220 = 0x00000103
[   26.121001] tc358743 9-000f: I2C write 0x0224 = 0x00004882
[   26.121217] tc358743 9-000f: I2C write 0x0228 = 0x00000008
[   26.121431] tc358743 9-000f: I2C write 0x022c = 0x00000002
[   26.121646] tc358743 9-000f: I2C write 0x0230 = 0x00000002
[   26.121972] tc358743 9-000f: I2C write 0x0234 = 0x00000007
[   26.122199] tc358743 9-000f: I2C write 0x0238 = 0x00000000
[   26.122413] tc358743 9-000f: I2C write 0x0204 = 0x00000001
[   26.122626] tc358743 9-000f: I2C write 0x0518 = 0x00000001
[   26.122839] tc358743 9-000f: I2C write 0x0500 = 0xa3008082
[   26.123052] tc358743 9-000f: I2C write 0x0500 = 0xb4000312
[   26.123265] tc358743 9-000f: I2C write 0x0500 = 0xd5000012
[   26.123478] tc358743 9-000f: I2C write 0x0500 = 0xa6000004
[   26.124960] tc358743 9-000f:   jc- D0W : 0 
[   26.124964] tc358743 9-000f:   jc- D1W : 0 
[   26.124966] tc358743 9-000f:   jc- D2W : 1 
[   26.124967] tc358743 9-000f:   jc- D3W : 1 
[   26.124969] tc358743 9-000f:   jc- HSTXVREGEN : 7 
[   26.124971] tc358743 9-000f: function tc358743_set_csi_color_space
[   26.124973] tc358743 9-000f: tc358743_set_csi_color_space: YCbCr 422 16-bit
[   26.125305] tc358743 9-000f: I2C write 0x8573 = 0xc1
[   26.125636] tc358743 9-000f: I2C write 0x8576 = 0x60
[   26.126129] tc358743 9-000f: I2C write 0x0004 = 0x0cd4
[   26.126132] tc358743 9-000f:   jc-- Called tc358743_set_fmt, completed successfully
[   26.126204] tc358743 9-000f: Calling tc358743_g_input_status
[   26.126206] tc358743 9-000f:  in function no_signal
[   26.126404] tc358743 9-000f:  in function no_sync
[   26.126596] tc358743 9-000f: tc358743_g_input_status: status =0x0
[   26.126599] tc358743 9-000f: Now getting and setting dv timings
[   26.126601] tc358743 9-000f: Calling tc358743_query_dv_timings
[   26.126602] tc358743 9-000f:  in function no_signal
[   26.126789] tc358743 9-000f:  in function no_sync
[   26.126977] tc358743 9-000f:   jc-  made it past no_signal and no_sync
[   26.129186] tc358743 9-000f: line 520 : tc358743_get_detected_timings: width 1920 heigh 1080 interlaced 0
[   26.129193] tc358743 9-000f: tc358743_query_dv_timings: 1920x1080p30.00 (2200x1125)
[   26.129199] tc358743 9-000f: start of -  tc358743_s_dv_timings
[   26.129201] tc358743 9-000f: tc358743_s_dv_timings: no change
[   26.129216] tc358743 9-000f: Calling tc358743_query_dv_timings
[   26.129218] tc358743 9-000f:  in function no_signal
[   26.129415] tc358743 9-000f:  in function no_sync
[   26.129609] tc358743 9-000f:   jc-  made it past no_signal and no_sync
[   26.131791] tc358743 9-000f: line 520 : tc358743_get_detected_timings: width 1920 heigh 1080 interlaced 0
[   26.131796] tc358743 9-000f: tc358743_query_dv_timings: 1920x1080p30.00 (2200x1125)
[   26.131806] tc358743 9-000f:   jc- Calling tc358743_g_dv_timings
[   26.131807] tc358743 9-000f:   jc- state passed 
[   26.131808] tc358743 9-000f:   jc- timings passed 
[   26.146710] tc358743 9-000f: function tc358743_s_power
[   26.146718]   jc- csi5 csi5_power_on
[   26.157365] tegra-camrtc-capture-vi tegra-capture-vi:   jc-- vi5_ops.c : vi5_capture_dequeue : before vi_capture_status 
[   26.157372]   jc- in vi_capture_status 
[   26.157374]   jc- in vi_capture_status : capture initialized 
[   26.157375]   jc- in vi_capture_status : valid channel ID found 
[   26.157375]   jc- in vi_capture_status : after wait timeout...
[   26.159261]   jc- csi5  csi5_start_streaming:  csi_pt=2, st_id=2, vc_id=0, pg_mode=0x0
[   26.159268]   jc- csi5  csi5_stream_set_config: stream_id=2, csi_port=2
[   26.159270]   jc- csi5 cil_settletime is pulled from device of_node
[   26.159272]   jc- csi5 cil_setttime is 0
[   26.159274] t194-nvcsi 13e00000.host1x:nvcsi@15a00000:    X-- brick_config.phy_mode : 0
[   26.159277] t194-nvcsi 13e00000.host1x:nvcsi@15a00000:    X-- brick_config.lane_polarity[index] : 0
[   26.159279] t194-nvcsi 13e00000.host1x:nvcsi@15a00000:    X-- csi5_stream_set_config : before s_data
[   26.159280] t194-nvcsi 13e00000.host1x:nvcsi@15a00000:    X-- using hardcode 5940
[   26.159282] t194-nvcsi 13e00000.host1x:nvcsi@15a00000:    X-- mipi_clock_rate is : 297000
[   26.159284] t194-nvcsi 13e00000.host1x:nvcsi@15a00000:    X-- sizeof(msg) is : 280
[   26.159285] t194-nvcsi 13e00000.host1x:nvcsi@15a00000:    X-- valid ports is : 1
[   26.159286] t194-nvcsi 13e00000.host1x:nvcsi@15a00000:    X-- vi port is : 0
[   26.159673] tc358743 9-000f: Calling tc358743_s_stream - start of attempt 
[   26.159676] tc358743 9-000f: enable_stream: enable
[   26.159913] tc358743 9-000f: I2C write 0x0238 = 0x00000000
[   26.160160] tc358743 9-000f: I2C write 0x0238 = 0x00000001
[   26.160307] tc358743 9-000f: I2C write 0x857f = 0xc0
[   26.160695] tc358743 9-000f: I2C write 0x0004 = 0x0cd7
[   26.160698] tc358743 9-000f: after mutex_unlock - 823:enable_stream: end
[   28.896036] tegra-camrtc-capture-vi tegra-capture-vi:   jc-- vi5_ops.c : uncorr_err: request timed out after 2500 ms
[   28.896064] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[   28.897426] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[   28.897439] tegra-camrtc-capture-vi tegra-capture-vi:   jc-- vi5_ops.c : vi5_capture_dequeue : before vi_capture_status 
[   28.897441]   jc- in vi_capture_status 
[   28.897442]   jc- in vi_capture_status : capture initialized 
[   28.897443]   jc- in vi_capture_status : valid channel ID found 
[   28.897444]   jc- in vi_capture_status : after wait timeout...
[   31.424206] tegra-camrtc-capture-vi tegra-capture-vi:   jc-- vi5_ops.c : uncorr_err: request timed out after 2500 ms
[   31.424226] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[   31.425910] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[   31.425927] tc358743 9-000f: Calling tc358743_s_stream - start of attempt 
[   31.425932] tc358743 9-000f: enable_stream: enable
[   31.426165] tc358743 9-000f: I2C write 0x0238 = 0x00000000
[   31.426382] tc358743 9-000f: I2C write 0x0238 = 0x00000001
[   31.426520] tc358743 9-000f: I2C write 0x857f = 0xc0
[   31.426894] tc358743 9-000f: I2C write 0x0004 = 0x0cd7
[   31.426896] tc358743 9-000f: after mutex_unlock - 823:enable_stream: end
[   31.426900]   jc- csi5_stop_streaming: csi5 csi_pt=2, st_id=2, vc_id=0, pg_mode=0x0
[   31.431187] tc358743 9-000f: function tc358743_s_power
[   31.431193]   jc- csi5 csi5_power_off

Can you confirm that CAM1 is connected to the 4 lanes and this should work? Anything wrong in my dts?

This is my current dts:

tegra234-tc358743_4lane.dts.txt (7.5 KB)

Update: I managed to get 60fps 1920x1080 UYVY in gstreamer using the dts posted earlier and this edid file: 1920x1080@60.edid.txt (528 Bytes)

Thanks for your help!