Camera 2 cannot get image

Hi, we are using Jetson Nano with RX(TP2854) to capture the images. We use TP2854 to connect Camera 1(0,1 port) and Camera 2(2,3 port). Camera 1 works normally, but camera 2 always gets timeout message. Did we miss anything or is there any other method we could try? We compared the MIPI signal waveform channel 0 and channel 1, and they are both similar.
The attachments are waveform images. The Yellow one is Channel 0, and the green one is Channel 1 for your information.

Version: L4T R32.2
Command: (Channel 0 works, but Channel 1 not work)

channel0: gst-launch-1.0 -v v4l2src device=/dev/video0 ! 'video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=(fraction)30/1' ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420' ! nvoverlaysink
channel1: gst-launch-1.0 -v v4l2src device=/dev/video1 ! 'video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=(fraction)30/1' ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420' ! nvoverlaysink

Here is dmesg for your reference.

root@tegra-ubuntu:~# dmesg
[    8.793599] hub 2-0:1.0: 4 ports detected
[    8.894557] usb usb1: usb_suspend_both: status 0
[    8.926110] eth0: 0xffffff800a4bd000, 00:04:4b:e5:dd:a3, IRQ 403
[    8.980738] NFSD: starting 90-second grace period (net ffffff8009fc0140)
[   12.083334] r8168: eth0: link up
[   12.959127] tegra-xusb 70090000.xusb: Upgrade port 0 to USB3.0
[   12.959132] tegra-xusb 70090000.xusb: Upgrade port 1 to USB3.0
[   13.060312] usb usb2: usb_suspend_both: status 0
[   14.963018] tegra-xusb 70090000.xusb: entering ELPG
[   14.964597] tegra-pmc: PMC tegra_pmc_utmi_phy_enable_sleepwalk : port 1, speed 0
[   14.965284] tegra-pmc: PMC tegra_pmc_utmi_phy_enable_sleepwalk : port 2, speed 0
[   14.967828] tegra-xusb 70090000.xusb: entering ELPG done
[   66.126188] random: crng init done
[   66.130056] random: 7 urandom warning(s) missed due to ratelimiting
[  136.671852] tp2854 6-0044: tegracam sensor driver:tp2854_v2.0.6
[  136.695703] vi 54080000.vi: subdev tp2854 6-0044 bound
[  136.700254] video4linux video0: disable override control
[  136.702757] tp2854 6-0044: tp2854_write_reg: i2c write, 0x40 = 4
[  136.710315] tegra_mipi_cal 700e3000.mipical: tegra_mipi_bias_pad_enable
[  136.710560] tp2854 6-0044: tp2854_write_reg: i2c write, 0x2 = 0
[  136.716814] tp2854 6-0044: tp2854_write_reg: i2c write, 0x3 = a
[  136.723006] tp2854 6-0044: tp2854_write_reg: i2c write, 0x7 = c0
[  136.729501] tp2854 6-0044: tp2854_write_reg: i2c write, 0xb = c0
[  136.734778] tp2854 6-0044: tp2854_write_reg: i2c write, 0x40 = 8
[  136.739966] tp2854 6-0044: tp2854_write_reg: i2c write, 0x6 = b2
[  136.740122] tp2854 6-0044: tp2854_write_reg: i2c write, 0x23 = 0
[  136.740277] tp2854 6-0044: tp2854_write_reg: i2c write, 0x40 = 4
[  136.745296] vi 54080000.vi: Calibrate csi port 0
[  136.745299] vi 54080000.vi: Calibrate csi numlanes 4
[  136.745585] tp2854 6-0044: tp2854_write_reg: i2c write, 0x40 = 8
[  136.750752] tp2854 6-0044: tp2854_write_reg: i2c write, 0x23 = 2
[  136.750907] tp2854 6-0044: tp2854_write_reg: i2c write, 0x40 = 4
[  136.778855] tp2854 6-0044: tp2854_write_reg: i2c write, 0xc = 3
[  136.785198] tp2854 6-0044: tp2854_write_reg: i2c write, 0xd = 52
[  136.791569] tp2854 6-0044: tp2854_write_reg: i2c write, 0x15 = 3
[  136.797817] tp2854 6-0044: tp2854_write_reg: i2c write, 0x16 = d2
[  136.804281] tp2854 6-0044: tp2854_write_reg: i2c write, 0x17 = 80
[  136.810600] tp2854 6-0044: tp2854_write_reg: i2c write, 0x18 = 29
[  136.816910] tp2854 6-0044: tp2854_write_reg: i2c write, 0x19 = 38
[  136.823327] tp2854 6-0044: tp2854_write_reg: i2c write, 0x1a = 47
[  136.829634] tp2854 6-0044: tp2854_write_reg: i2c write, 0x1c = 8
[  136.835849] tp2854 6-0044: tp2854_write_reg: i2c write, 0x1d = 98
[  136.842270] tp2854 6-0044: tp2854_write_reg: i2c write, 0x20 = 30
[  136.848634] tp2854 6-0044: tp2854_write_reg: i2c write, 0x21 = 84
[  136.855048] tp2854 6-0044: tp2854_write_reg: i2c write, 0x22 = 36
[  136.861456] tp2854 6-0044: tp2854_write_reg: i2c write, 0x23 = 3c
[  136.867753] tp2854 6-0044: tp2854_write_reg: i2c write, 0x2b = 60
[  136.874255] tp2854 6-0044: tp2854_write_reg: i2c write, 0x2c = a
[  136.880479] tp2854 6-0044: tp2854_write_reg: i2c write, 0x2d = 30
[  136.887052] tp2854 6-0044: tp2854_write_reg: i2c write, 0x2e = 70
[  136.893357] tp2854 6-0044: tp2854_write_reg: i2c write, 0x30 = 48
[  136.899663] tp2854 6-0044: tp2854_write_reg: i2c write, 0x31 = bb
[  136.906083] tp2854 6-0044: tp2854_write_reg: i2c write, 0x32 = 2e
[  136.912408] tp2854 6-0044: tp2854_write_reg: i2c write, 0x33 = 90
[  136.918783] tp2854 6-0044: tp2854_write_reg: i2c write, 0x35 = 5
[  136.926188] tp2854 6-0044: tp2854_write_reg: i2c write, 0x38 = 0
[  136.932449] tp2854 6-0044: tp2854_write_reg: i2c write, 0x39 = 1c
[  136.938886] tp2854 6-0044: tp2854_write_reg: i2c write, 0x4e = 0
[  136.945803] tp2854 6-0044: tp2854_write_reg: i2c write, 0x4f = 0
[  136.952026] tp2854 6-0044: tp2854_write_reg: i2c write, 0xf5 = f0
[  136.958934] tp2854 6-0044: tp2854_write_reg: i2c write, 0xfa = 8
[  136.966754] tp2854 6-0044: tp2854_write_reg: i2c write, 0x40 = 8
[  136.974147] tp2854 6-0044: tp2854_write_reg: i2c write, 0x1 = f8
[  136.981679] tp2854 6-0044: tp2854_write_reg: i2c write, 0x2 = 1
[  136.988206] tp2854 6-0044: tp2854_write_reg: i2c write, 0x8 = f
[  136.994811] tp2854 6-0044: tp2854_write_reg: i2c write, 0x13 = 4
[  137.002700] tp2854 6-0044: tp2854_write_reg: i2c write, 0x14 = 4
[  137.010821] tp2854 6-0044: tp2854_write_reg: i2c write, 0x15 = 0
[  137.017335] tp2854 6-0044: tp2854_write_reg: i2c write, 0x20 = 44
[  137.023997] tp2854 6-0044: tp2854_write_reg: i2c write, 0x34 = 1b
[  137.031112] tp2854 6-0044: tp2854_write_reg: i2c write, 0x40 = 4
[  137.038820] tp2854 6-0044: tp2854_write_reg: i2c write, 0x17 = 80
[  137.045953] tp2854 6-0044: tp2854_write_reg: i2c write, 0x1a = 47
[  137.054977] tp2854 6-0044: tp2854_write_reg: i2c write, 0x19 = 38
[  137.061863] tp2854 6-0044: tp2854_write_reg: i2c write, 0x1c = 8
[  137.071016] tp2854 6-0044: tp2854_write_reg: i2c write, 0x1d = 98
[  137.078968] tp2854 6-0044: tp2854_write_reg: i2c write, 0x2 = c0
[  137.086973] tp2854 6-0044: tp2854_write_reg: i2c write, 0xd = 72
[  137.095153] tp2854 6-0044: tp2854_write_reg: i2c write, 0x14 = 10
[  137.103198] tp2854 6-0044: tp2854_write_reg: i2c write, 0xf4 = 20
[  137.111257] tp2854 6-0044: tp2854_write_reg: i2c write, 0x28 = 0
[  137.119209] tp2854 6-0044: tp2854_write_reg: i2c write, 0x2c = 4a
[  137.126654] tp2854 6-0044: tp2854_write_reg: i2c write, 0x6 = 32
[  137.134842] tp2854 6-0044: tp2854_write_reg: i2c write, 0x40 = 8
[  137.142516] tp2854 6-0044: tp2854_write_reg: i2c write, 0x1 = f8
[  137.149439] tp2854 6-0044: tp2854_write_reg: i2c write, 0x2 = 1
[  137.156212] tp2854 6-0044: tp2854_write_reg: i2c write, 0x8 = f
[  137.163316] tp2854 6-0044: tp2854_write_reg: i2c write, 0x13 = 4
[  137.171109] tp2854 6-0044: tp2854_write_reg: i2c write, 0x14 = 56
[  137.179604] tp2854 6-0044: tp2854_write_reg: i2c write, 0x15 = a
[  137.186402] tp2854 6-0044: tp2854_write_reg: i2c write, 0x20 = 14
[  137.193218] tp2854 6-0044: tp2854_write_reg: i2c write, 0x34 = 1b
[  137.199772] tp2854 6-0044: tp2854_write_reg: i2c write, 0x40 = 4
[  137.207611] tp2854 6-0045: tegracam sensor driver:tp2854_v2.0.6
[  137.230926] vi 54080000.vi: subdev tp2854 6-0045 bound
[  137.232006] video4linux video1: disable override control
[  137.232459] tp2854 6-0045: tp2854_write_reg: i2c write, 0x40 = 4
[  137.240080] tp2854 6-0045: tp2854_write_reg: i2c write, 0x2 = 0
[  137.246631] tp2854 6-0045: tp2854_write_reg: i2c write, 0x3 = a
[  137.253182] tp2854 6-0045: tp2854_write_reg: i2c write, 0x7 = c0
[  137.259789] tp2854 6-0045: tp2854_write_reg: i2c write, 0xb = c0
[  137.266398] tp2854 6-0045: tp2854_write_reg: i2c write, 0xc = 3
[  137.272988] tp2854 6-0045: tp2854_write_reg: i2c write, 0xd = 52
[  137.279496] tp2854 6-0045: tp2854_write_reg: i2c write, 0x15 = 3
[  137.286045] tp2854 6-0045: tp2854_write_reg: i2c write, 0x16 = d2
[  137.292996] tp2854 6-0045: tp2854_write_reg: i2c write, 0x17 = 80
[  137.299773] tp2854 6-0045: tp2854_write_reg: i2c write, 0x18 = 29
[  137.306650] tp2854 6-0045: tp2854_write_reg: i2c write, 0x19 = 38
[  137.313387] tp2854 6-0045: tp2854_write_reg: i2c write, 0x1a = 47
[  137.320256] tp2854 6-0045: tp2854_write_reg: i2c write, 0x1c = 8
[  137.326818] tp2854 6-0045: tp2854_write_reg: i2c write, 0x1d = 98
[  137.333435] tp2854 6-0045: tp2854_write_reg: i2c write, 0x20 = 30
[  137.340123] tp2854 6-0045: tp2854_write_reg: i2c write, 0x21 = 84
[  137.346855] tp2854 6-0045: tp2854_write_reg: i2c write, 0x22 = 36
[  137.353513] tp2854 6-0045: tp2854_write_reg: i2c write, 0x23 = 3c
[  137.360161] tp2854 6-0045: tp2854_write_reg: i2c write, 0x2b = 60
[  137.366745] tp2854 6-0045: tp2854_write_reg: i2c write, 0x2c = a
[  137.374386] tp2854 6-0045: tp2854_write_reg: i2c write, 0x2d = 30
[  137.381038] tp2854 6-0045: tp2854_write_reg: i2c write, 0x2e = 70
[  137.387620] tp2854 6-0045: tp2854_write_reg: i2c write, 0x30 = 48
[  137.394361] tp2854 6-0045: tp2854_write_reg: i2c write, 0x31 = bb
[  137.400991] tp2854 6-0045: tp2854_write_reg: i2c write, 0x32 = 2e
[  137.407677] tp2854 6-0045: tp2854_write_reg: i2c write, 0x33 = 90
[  137.414243] tp2854 6-0045: tp2854_write_reg: i2c write, 0x35 = 5
[  137.421847] tp2854 6-0045: tp2854_write_reg: i2c write, 0x38 = 0
[  137.428376] tp2854 6-0045: tp2854_write_reg: i2c write, 0x39 = 1c
[  137.435634] tp2854 6-0045: tp2854_write_reg: i2c write, 0x4e = 0
[  137.442302] tp2854 6-0045: tp2854_write_reg: i2c write, 0x4f = 0
[  137.449727] tp2854 6-0045: tp2854_write_reg: i2c write, 0xf5 = f0
[  137.456505] tp2854 6-0045: tp2854_write_reg: i2c write, 0xfa = 8
[  137.462969] tp2854 6-0045: tp2854_write_reg: i2c write, 0x40 = 8
[  137.469647] tp2854 6-0045: tp2854_write_reg: i2c write, 0x1 = f8
[  137.476227] tp2854 6-0045: tp2854_write_reg: i2c write, 0x2 = 1
[  137.482749] tp2854 6-0045: tp2854_write_reg: i2c write, 0x8 = f
[  137.489436] tp2854 6-0045: tp2854_write_reg: i2c write, 0x13 = 4
[  137.495934] tp2854 6-0045: tp2854_write_reg: i2c write, 0x14 = 4
[  137.502398] tp2854 6-0045: tp2854_write_reg: i2c write, 0x15 = 0
[  137.509200] tp2854 6-0045: tp2854_write_reg: i2c write, 0x20 = 44
[  137.515775] tp2854 6-0045: tp2854_write_reg: i2c write, 0x34 = 1b
[  137.523233] tp2854 6-0045: tp2854_write_reg: i2c write, 0x40 = 4
[  137.530456] tp2854 6-0045: tp2854_write_reg: i2c write, 0x17 = 80
[  137.537775] tp2854 6-0045: tp2854_write_reg: i2c write, 0x1a = 47
[  137.544401] tp2854 6-0045: tp2854_write_reg: i2c write, 0x19 = 38
[  137.551626] tp2854 6-0045: tp2854_write_reg: i2c write, 0x1c = 8
[  137.559134] tp2854 6-0045: tp2854_write_reg: i2c write, 0x1d = 98
[  137.565763] tp2854 6-0045: tp2854_write_reg: i2c write, 0x2 = c0
[  137.572339] tp2854 6-0045: tp2854_write_reg: i2c write, 0xd = 72
[  137.579458] tp2854 6-0045: tp2854_write_reg: i2c write, 0x14 = 10
[  137.586329] tp2854 6-0045: tp2854_write_reg: i2c write, 0xf4 = 20
[  137.593116] tp2854 6-0045: tp2854_write_reg: i2c write, 0x28 = 0
[  137.599672] tp2854 6-0045: tp2854_write_reg: i2c write, 0x2c = 4a
[  137.606444] tp2854 6-0045: tp2854_write_reg: i2c write, 0x6 = 32
[  137.612937] tp2854 6-0045: tp2854_write_reg: i2c write, 0x40 = 8
[  137.619409] tp2854 6-0045: tp2854_write_reg: i2c write, 0x1 = f8
[  137.626138] tp2854 6-0045: tp2854_write_reg: i2c write, 0x2 = 1
[  137.633916] tp2854 6-0045: tp2854_write_reg: i2c write, 0x8 = f
[  137.640447] tp2854 6-0045: tp2854_write_reg: i2c write, 0x13 = 4
[  137.646931] tp2854 6-0045: tp2854_write_reg: i2c write, 0x14 = 56
[  137.654981] tp2854 6-0045: tp2854_write_reg: i2c write, 0x15 = a
[  137.662362] tp2854 6-0045: tp2854_write_reg: i2c write, 0x20 = 14
[  137.669946] tp2854 6-0045: tp2854_write_reg: i2c write, 0x34 = 1b
[  137.676685] tp2854 6-0045: tp2854_write_reg: i2c write, 0x40 = 4
[  137.768343] tegra_mipi_cal 700e3000.mipical: tegra_mipi_bias_pad_disable
[  166.915891] tegra_mipi_cal 700e3000.mipical: tegra_mipi_bias_pad_enable
[  166.940343] tp2854 6-0044: tp2854_write_reg: i2c write, 0x40 = 8
[  166.953026] tp2854 6-0044: tp2854_write_reg: i2c write, 0x6 = b2
[  166.960042] tp2854 6-0044: tp2854_write_reg: i2c write, 0x23 = 0
[  166.967948] tp2854 6-0044: tp2854_write_reg: i2c write, 0x40 = 4
[  166.979919] vi 54080000.vi: Calibrate csi port 0
[  166.979925] vi 54080000.vi: Calibrate csi numlanes 4
[  166.980290] tp2854 6-0044: tp2854_write_reg: i2c write, 0x40 = 8
[  166.994352] tp2854 6-0044: tp2854_write_reg: i2c write, 0x23 = 2
[  167.002654] tp2854 6-0044: tp2854_write_reg: i2c write, 0x40 = 4
[  167.039541] tp2854 6-0045: tp2854_write_reg: i2c write, 0x40 = 8
[  167.053210] tp2854 6-0045: tp2854_write_reg: i2c write, 0x6 = b2
[  167.062917] tp2854 6-0045: tp2854_write_reg: i2c write, 0x23 = 0
[  167.070695] tp2854 6-0045: tp2854_write_reg: i2c write, 0x40 = 4
[  167.083577] vi 54080000.vi: Calibrate csi port 2
[  167.083588] vi 54080000.vi: Calibrate csi numlanes 4
[  167.084519] tp2854 6-0045: tp2854_write_reg: i2c write, 0x40 = 8
[  167.098629] tp2854 6-0045: tp2854_write_reg: i2c write, 0x23 = 2
[  167.106908] tp2854 6-0045: tp2854_write_reg: i2c write, 0x40 = 4
[  167.651015] vi 54080000.vi: cil_settingtime was autocalculated
[  167.651020] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  167.651243] tp2854 6-0045: tp2854_write_reg: i2c write, 0x40 = 8
[  167.666077] tp2854 6-0045: tp2854_write_reg: i2c write, 0x6 = b2
[  167.675290] tp2854 6-0045: tp2854_write_reg: i2c write, 0x23 = 0
[  167.684754] tp2854 6-0045: tp2854_write_reg: i2c write, 0x40 = 4
[  167.900679] video4linux video1: frame start syncpt timeout! index:0
[  167.907336] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  167.907342] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  167.907346] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  167.907350] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040041
[  167.907401] vi 54080000.vi: cil_settingtime was autocalculated
[  167.907405] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  167.907417] video4linux video1: free_ring_buffers: capture init latency is 256 ms
[  168.108657] video4linux video1: frame start syncpt timeout! index:0
[  168.115318] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  168.115324] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  168.115328] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  168.115332] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  168.115383] vi 54080000.vi: cil_settingtime was autocalculated
[  168.115387] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  168.316654] video4linux video1: frame start syncpt timeout! index:0
[  168.323307] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  168.323312] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  168.323316] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  168.323320] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  168.323371] vi 54080000.vi: cil_settingtime was autocalculated
[  168.323376] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  168.524623] video4linux video1: frame start syncpt timeout! index:0
[  168.531276] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  168.531282] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  168.531286] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  168.531290] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  168.531340] vi 54080000.vi: cil_settingtime was autocalculated
[  168.531345] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  168.732607] video4linux video1: frame start syncpt timeout! index:0
[  168.739257] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  168.739262] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  168.739266] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  168.739270] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  168.739321] vi 54080000.vi: cil_settingtime was autocalculated
[  168.739325] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  168.940592] video4linux video1: frame start syncpt timeout! index:0
[  168.947239] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  168.947244] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  168.947249] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  168.947253] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  168.947303] vi 54080000.vi: cil_settingtime was autocalculated
[  168.947307] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  169.148570] video4linux video1: frame start syncpt timeout! index:0
[  169.155217] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  169.155222] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  169.155227] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  169.155231] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  169.155281] vi 54080000.vi: cil_settingtime was autocalculated
[  169.155285] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  169.356558] video4linux video1: frame start syncpt timeout! index:0
[  169.363215] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  169.363221] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  169.363225] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  169.363229] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  169.363292] vi 54080000.vi: cil_settingtime was autocalculated
[  169.363298] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  169.564537] video4linux video1: frame start syncpt timeout! index:0
[  169.571299] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  169.571306] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  169.571310] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  169.571314] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  169.571367] vi 54080000.vi: cil_settingtime was autocalculated
[  169.571372] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  169.772469] video4linux video1: frame start syncpt timeout! index:0
[  169.779114] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  169.779119] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  169.779124] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  169.779128] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  169.779180] vi 54080000.vi: cil_settingtime was autocalculated
[  169.779184] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  169.980454] video4linux video1: frame start syncpt timeout! index:0
[  169.987205] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  169.987211] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  169.987215] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  169.987219] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  169.987271] vi 54080000.vi: cil_settingtime was autocalculated
[  169.987275] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  170.188433] video4linux video1: frame start syncpt timeout! index:0
[  170.195071] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  170.195076] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  170.195080] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  170.195085] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  170.195136] vi 54080000.vi: cil_settingtime was autocalculated
[  170.195141] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  170.396485] video4linux video1: frame start syncpt timeout! index:0
[  170.403209] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  170.403215] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  170.403219] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  170.403223] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  170.403273] vi 54080000.vi: cil_settingtime was autocalculated
[  170.403277] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  170.604399] video4linux video1: frame start syncpt timeout! index:0
[  170.611031] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  170.611036] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  170.611040] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  170.611044] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  170.611096] vi 54080000.vi: cil_settingtime was autocalculated
[  170.611100] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  170.812441] video4linux video1: frame start syncpt timeout! index:0
[  170.819080] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  170.819085] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  170.819090] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  170.819094] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  170.819147] vi 54080000.vi: cil_settingtime was autocalculated
[  170.819151] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  171.020371] video4linux video1: frame start syncpt timeout! index:0
[  171.027004] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  171.027010] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  171.027014] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  171.027018] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  171.027071] vi 54080000.vi: cil_settingtime was autocalculated
[  171.027075] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  171.228401] video4linux video1: frame start syncpt timeout! index:0
[  171.235034] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  171.235039] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  171.235043] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  171.235048] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  171.235100] vi 54080000.vi: cil_settingtime was autocalculated
[  171.235104] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  171.436353] video4linux video1: frame start syncpt timeout! index:0
[  171.443043] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  171.443049] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  171.443053] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  171.443057] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  171.443108] vi 54080000.vi: cil_settingtime was autocalculated
[  171.443112] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  171.644360] video4linux video1: frame start syncpt timeout! index:0
[  171.650987] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  171.650992] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  171.650997] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  171.651001] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  171.651052] vi 54080000.vi: cil_settingtime was autocalculated
[  171.651056] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  171.852351] video4linux video1: frame start syncpt timeout! index:0
[  171.859077] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  171.859082] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  171.859086] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  171.859090] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  171.859142] vi 54080000.vi: cil_settingtime was autocalculated
[  171.859146] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  172.060338] video4linux video1: frame start syncpt timeout! index:0
[  172.066952] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  172.066957] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  172.066961] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  172.066965] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  172.067016] vi 54080000.vi: cil_settingtime was autocalculated
[  172.067021] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  172.268321] video4linux video1: frame start syncpt timeout! index:0
[  172.275040] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  172.275045] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  172.275049] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  172.275053] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  172.275104] vi 54080000.vi: cil_settingtime was autocalculated
[  172.275108] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  172.476305] video4linux video1: frame start syncpt timeout! index:0
[  172.482918] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  172.482922] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  172.482926] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  172.482930] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  172.482981] vi 54080000.vi: cil_settingtime was autocalculated
[  172.482985] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  172.684292] video4linux video1: frame start syncpt timeout! index:0
[  172.691020] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  172.691025] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  172.691030] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  172.691034] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  172.691087] vi 54080000.vi: cil_settingtime was autocalculated
[  172.691091] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  172.892278] video4linux video1: frame start syncpt timeout! index:0
[  172.898889] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  172.898895] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  172.898899] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  172.898903] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  172.898955] vi 54080000.vi: cil_settingtime was autocalculated
[  172.898959] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  173.100261] video4linux video1: frame start syncpt timeout! index:0
[  173.106980] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  173.106985] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  173.106989] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  173.106993] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  173.107045] vi 54080000.vi: cil_settingtime was autocalculated
[  173.107049] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  173.308243] video4linux video1: frame start syncpt timeout! index:0
[  173.314847] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  173.314852] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  173.314856] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  173.314860] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  173.314911] vi 54080000.vi: cil_settingtime was autocalculated
[  173.314915] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  173.516186] video4linux video1: frame start syncpt timeout! index:0
[  173.522901] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  173.522907] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  173.522911] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  173.522915] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  173.522966] vi 54080000.vi: cil_settingtime was autocalculated
[  173.522970] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  173.724212] video4linux video1: frame start syncpt timeout! index:0
[  173.730813] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  173.730819] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  173.730823] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  173.730827] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  173.730878] vi 54080000.vi: cil_settingtime was autocalculated
[  173.730882] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  173.932200] video4linux video1: frame start syncpt timeout! index:0
[  173.938909] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  173.938914] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  173.938918] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  173.938922] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  173.938974] vi 54080000.vi: cil_settingtime was autocalculated
[  173.938978] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  174.140181] video4linux video1: frame start syncpt timeout! index:0
[  174.146781] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  174.146785] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  174.146790] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  174.146794] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  174.146846] vi 54080000.vi: cil_settingtime was autocalculated
[  174.146850] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  174.348134] video4linux video1: frame start syncpt timeout! index:0
[  174.354838] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  174.354843] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  174.354847] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  174.354851] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  174.354901] vi 54080000.vi: cil_settingtime was autocalculated
[  174.354905] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  174.556106] video4linux video1: frame start syncpt timeout! index:0
[  174.562707] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  174.562712] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  174.562716] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  174.562720] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  174.562772] vi 54080000.vi: cil_settingtime was autocalculateds
[  174.562776] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  174.764092] video4linux video1: frame start syncpt timeout! index:0
[  174.770791] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  174.770796] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  174.770800] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  174.770804] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  174.770856] vi 54080000.vi: cil_settingtime was autocalculated
[  174.770860] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  174.972078] video4linux video1: frame start syncpt timeout! index:0
[  174.978673] video4linux video1: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[  174.978678] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[  174.978682] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[  174.978687] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[  174.978741] vi 54080000.vi: cil_settingtime was autocalculated
[  174.978745] vi 54080000.vi: csi clock settle time: 13, cil settle time: 10
[  174.979035] tp2854 6-0045: tp2854_write_reg: i2c write, 0x40 = 8
[  174.990626] tp2854 6-0045: tp2854_write_reg: i2c write, 0x23 = 2
[  174.997228] tp2854 6-0045: tp2854_write_reg: i2c write, 0x40 = 4
[  175.524795] tegra_mipi_cal 700e3000.mipical: tegra_mipi_bias_pad_disable
root@tegra-ubuntu:~#

3 dtsi files is for your reference, too.
File:tegra210-porg-tp2854.dtsi

#include "tegra210-camera-tp2854.dtsi"

#define CAM1_PWDN		TEGRA_GPIO(S, 7)
#define CAM2_PWDN		TEGRA_GPIO(T, 0)

/ {
    host1x {
		i2c@546c0000 {
			nc_tp2854_a@44 {
				status = "enabled";
				reset-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
			};

			nc_tp2854_a@45 {
				status = "enabled";
				reset-gpios = <&gpio CAM2_PWDN GPIO_ACTIVE_HIGH>;
			};
		};
	};

    gpio@6000d000 {
		camera-control-output-low {
			gpio-hog;
			output-low;
			gpios = < CAM1_PWDN 0  CAM2_PWDN 0>;
			label = "cam1-pwdn", "cam2-pwdn";
		};
	};
};

File: tegra210-camera-tp2854.dtsi

#include <dt-bindings/media/camera.h>
#include <dt-bindings/platform/t210/t210.h>

/ {
	host1x {
		vi_base: vi {
			num-channels = <2>;
			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				vi_port0: port@0 {
					reg = <0>;
					nc_tp2854_vi_in0: endpoint {
						port-index = <0>;
						bus-width = <4>;
						remote-endpoint = <&nc_tp2854_csi_out0>;
					};
				};
				vi_port1: port@1 {
					reg = <1>;
					nc_tp2854_vi_in1: endpoint {
						port-index = <2>;
						bus-width = <4>;
						remote-endpoint = <&nc_tp2854_csi_out1>;
					};
				};
			};
		};

		csi_base: nvcsi {
			num-channels = <2>;
			#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>;
						nc_tp2854_csi_in0: endpoint@0 {
							port-index = <0>;
							bus-width = <4>;
							remote-endpoint = <&nc_tp2854_out0>;
						};
					};
					csi_chan0_port1: port@1 {
						reg = <1>;
						nc_tp2854_csi_out0: endpoint@1 {
							remote-endpoint = <&nc_tp2854_vi_in0>;
						};
					};
				};
			};
			csi_chan1: channel@1 {
				reg = <1>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					csi_chan1_port0: port@2 {
						reg = <0>;
						nc_tp2854_csi_in1: endpoint@2 {
							port-index = <2>;
							bus-width = <4>;
							remote-endpoint = <&nc_tp2854_out1>;
						};
					};
					csi_chan1_port1: port@3 {
						reg = <1>;
						nc_tp2854_csi_out1: endpoint@3 {
							remote-endpoint = <&nc_tp2854_vi_in1>;
						};
					};
				};
			};
		};

		i2c@546c0000 {
			tp2854_single_cam0: nc_tp2854_a@44 {
				compatible = "nc,tp2854_mipi";
				/* I2C device address */
				reg = <0x44>;

				/* V4L2 device node location */
				devnode = "video0";

				/* Physical dimensions of sensor */
				physical_w = "3.680";
				physical_h = "2.760";

				sensor_model = "tp2854_0";

				use_sensor_mode_id = "true";

				/* Define any required hw resources needed by driver */
				/* ie. clocks, io pins, power sources */
				avdd-reg = "vana";
				iovdd-reg = "vif";
				dvdd-reg = "vdig";

				/**
				* ==== Modes ====
				* A modeX node is required to support v4l2 driver
				* implementation with NVIDIA camera software stack
				*
				* == Signal properties ==
				*
				* phy_mode = "";
				* PHY mode used by the MIPI lanes for this device
				*
				* tegra_sinterface = "";
				* CSI Serial interface connected to tegra
				* Incase of virtual HW devices, use virtual
				* For SW emulated devices, use host
				*
				* pix_clk_hz = "";
				* Sensor pixel clock used for calculations like exposure and framerate
				*
				* readout_orientation = "0";
				* Based on camera module orientation.
				* Only change readout_orientation if you specifically
				* Program a different readout order for this mode
				*
				* == Image format Properties ==
				*
				* active_w = "";
				* Pixel active region width
				*
				* active_h = "";
				* Pixel active region height
				*
				* pixel_t = "";
				* The sensor readout pixel pattern
				*
				* line_length = "";
				* Pixel line length (width) for sensor mode.
				*
				* == Source Control Settings ==
				*
				* Gain factor used to convert fixed point integer to float
				* Gain range [min_gain/gain_factor, max_gain/gain_factor]
				* Gain step [step_gain/gain_factor is the smallest step that can be configured]
				* Default gain [Default gain to be initialized for the control.
				*     use min_gain_val as default for optimal results]
				* Framerate factor used to convert fixed point integer to float
				* Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
				* Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
				* Default Framerate [Default framerate to be initialized for the control.
				*     use max_framerate to get required performance]
				* Exposure factor used to convert fixed point integer to float
				* For convenience use 1 sec = 1000000us as conversion factor
				* Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
				* Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
				* Default Exposure Time [Default exposure to be initialized for the control.
				*     Set default exposure based on the default_framerate for optimal exposure settings]
				*
				* gain_factor = ""; (integer factor used for floating to fixed point conversion)
				* min_gain_val = ""; (ceil to integer)
				* max_gain_val = ""; (ceil to integer)
				* step_gain_val = ""; (ceil to integer)
				* default_gain = ""; (ceil to integer)
				* Gain limits for mode
				*
				* exposure_factor = ""; (integer factor used for floating to fixed point conversion)
				* min_exp_time = ""; (ceil to integer)
				* max_exp_time = ""; (ceil to integer)
				* step_exp_time = ""; (ceil to integer)
				* default_exp_time = ""; (ceil to integer)
				* Exposure Time limits for mode (sec)
				*
				* framerate_factor = ""; (integer factor used for floating to fixed point conversion)
				* min_framerate = ""; (ceil to integer)
				* max_framerate = ""; (ceil to integer)
				* step_framerate = ""; (ceil to integer)
				* default_framerate = ""; (ceil to integer)
				* Framerate limits for mode (fps)
				*
				* embedded_metadata_height = "";
				* Sensor embedded metadata height in units of rows.
				* If sensor does not support embedded metadata value should be 0.
				*/
				mode0 { /* TP2854_MODE_1920x1080_30FPS */
					mclk_khz = "27000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "1920";
					active_h = "1080";
					pixel_t = "yuv_uyvy16";
					readout_orientation = "0";
					line_length = "2200";
					inherent_gain = "1";
					mclk_multiplier = "2.75";
					pix_clk_hz = "742500000"; /*pixel clock = mclk * PLL Multipler*/ /*pixel_clk_hz = 2200 * 1125 * 30 = 742500000*/

					gain_factor = "16";
					framerate_factor = "30000000";
					exposure_factor = "1000000";
					min_gain_val = "0"; /* 1.00x */
					max_gain_val = "170"; /* 10.66x */
					step_gain_val = "1";
					default_gain = "0"; /* 1.00x */
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					min_framerate = "30000000"; /* 30.0 fps */
					max_framerate = "30000000"; /* 30.0 fps *//*max_framerate = pix_clk_hz / (line_length * minimum frame length)*/
					step_framerate = "1";
					default_framerate = "30000000"; /* 30.0 fps */
					min_exp_time = "30"; /* us */
					max_exp_time = "660000"; /* us *//*max_exp_time = (maximum coarse integration time) * line_length / pix_clk_hz * 1000000*/
					step_exp_time = "1";
					default_exp_time = "33334"; /* us */

					embedded_metadata_height = "0";
				};
				mode1 { /* TP2854_MODE_1080x720_30FPS */
					mclk_khz = "27000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "1280";
					active_h = "720";
					pixel_t = "yuv_yuyv16";
					readout_orientation = "0";
					line_length = "1650";
					inherent_gain = "1";
					mclk_multiplier = "2.75";
					pix_clk_hz = "742500000";

					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 = "30000000"; /* 30.0 fps */
					max_framerate = "30000000"; /* 30.0 fps */
					step_framerate = "1";
					default_framerate = "30000000"; /* 30.0 fps */
					min_exp_time = "13"; /* us */
					max_exp_time = "683709"; /* 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>;
						nc_tp2854_out0: endpoint {
							port-index = <0>;
							bus-width = <4>;
							remote-endpoint = <&nc_tp2854_csi_in0>;
						};
					};
				};
			};
	
			tp2854_single_cam1: nc_tp2854_a@45 {
				compatible = "nc,tp2854_mipi";
				/* I2C device address */
				reg = <0x45>;

				/* V4L2 device node location */
				devnode = "video1";

				/* Physical dimensions of sensor */
				physical_w = "3.680";
				physical_h = "2.760";

				sensor_model = "tp2854_1";

				use_sensor_mode_id = "true";

				/* Define any required hw resources needed by driver */
				/* ie. clocks, io pins, power sources */
				avdd-reg = "vana";
				iovdd-reg = "vif";
				dvdd-reg = "vdig";

				/**
				* ==== Modes ====
				* A modeX node is required to support v4l2 driver
				* implementation with NVIDIA camera software stack
				*
				* == Signal properties ==
				*
				* phy_mode = "";
				* PHY mode used by the MIPI lanes for this device
				*
				* tegra_sinterface = "";
				* CSI Serial interface connected to tegra
				* Incase of virtual HW devices, use virtual
				* For SW emulated devices, use host
				*
				* pix_clk_hz = "";
				* Sensor pixel clock used for calculations like exposure and framerate
				*
				* readout_orientation = "0";
				* Based on camera module orientation.
				* Only change readout_orientation if you specifically
				* Program a different readout order for this mode
				*
				* == Image format Properties ==
				*
				* active_w = "";
				* Pixel active region width
				*
				* active_h = "";
				* Pixel active region height
				*
				* pixel_t = "";
				* The sensor readout pixel pattern
				*
				* line_length = "";
				* Pixel line length (width) for sensor mode.
				*
				* == Source Control Settings ==
				*
				* Gain factor used to convert fixed point integer to float
				* Gain range [min_gain/gain_factor, max_gain/gain_factor]
				* Gain step [step_gain/gain_factor is the smallest step that can be configured]
				* Default gain [Default gain to be initialized for the control.
				*     use min_gain_val as default for optimal results]
				* Framerate factor used to convert fixed point integer to float
				* Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
				* Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
				* Default Framerate [Default framerate to be initialized for the control.
				*     use max_framerate to get required performance]
				* Exposure factor used to convert fixed point integer to float
				* For convenience use 1 sec = 1000000us as conversion factor
				* Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
				* Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
				* Default Exposure Time [Default exposure to be initialized for the control.
				*     Set default exposure based on the default_framerate for optimal exposure settings]
				*
				* gain_factor = ""; (integer factor used for floating to fixed point conversion)
				* min_gain_val = ""; (ceil to integer)
				* max_gain_val = ""; (ceil to integer)
				* step_gain_val = ""; (ceil to integer)
				* default_gain = ""; (ceil to integer)
				* Gain limits for mode
				*
				* exposure_factor = ""; (integer factor used for floating to fixed point conversion)
				* min_exp_time = ""; (ceil to integer)
				* max_exp_time = ""; (ceil to integer)
				* step_exp_time = ""; (ceil to integer)
				* default_exp_time = ""; (ceil to integer)
				* Exposure Time limits for mode (sec)
				*
				* framerate_factor = ""; (integer factor used for floating to fixed point conversion)
				* min_framerate = ""; (ceil to integer)
				* max_framerate = ""; (ceil to integer)
				* step_framerate = ""; (ceil to integer)
				* default_framerate = ""; (ceil to integer)
				* Framerate limits for mode (fps)
				*
				* embedded_metadata_height = "";
				* Sensor embedded metadata height in units of rows.
				* If sensor does not support embedded metadata value should be 0.
				*/
				mode0 { /* TP2854_MODE_1920x1080_30FPS */
					mclk_khz = "27000";
					num_lanes = "4";
					tegra_sinterface = "serial_c";
					phy_mode = "DPHY";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "1920";
					active_h = "1080";
					pixel_t = "yuv_uyvy16";
					readout_orientation = "0";
					line_length = "2200";
					inherent_gain = "1";
					mclk_multiplier = "2.75";
					pix_clk_hz = "742500000"; /*pixel clock = mclk * PLL Multipler*/ /*pixel_clk_hz = 2200 * 1125 * 30 = 742500000*/

					gain_factor = "16";
					framerate_factor = "30000000";
					exposure_factor = "1000000";
					min_gain_val = "0"; /* 1.00x */
					max_gain_val = "170"; /* 10.66x */
					step_gain_val = "1";
					default_gain = "0"; /* 1.00x */
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					min_framerate = "30000000"; /* 30.0 fps */
					max_framerate = "30000000"; /* 30.0 fps *//*max_framerate = pix_clk_hz / (line_length * minimum frame length)*/
					step_framerate = "1";
					default_framerate = "30000000"; /* 30.0 fps */
					min_exp_time = "30"; /* us */
					max_exp_time = "660000"; /* us *//*max_exp_time = (maximum coarse integration time) * line_length / pix_clk_hz * 1000000*/
					step_exp_time = "1";
					default_exp_time = "33334"; /* us */

					embedded_metadata_height = "0";
				};
				mode1 { /* TP2854_MODE_1080x720_30FPS */
					mclk_khz = "27000";
					num_lanes = "4";
					tegra_sinterface = "serial_c";
					phy_mode = "DPHY";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "1280";
					active_h = "720";
					pixel_t = "yuv_yuyv16";
					readout_orientation = "0";
					line_length = "1650";
					inherent_gain = "1";
					mclk_multiplier = "2.75";
					pix_clk_hz = "742500000";

					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 = "30000000"; /* 30.0 fps */
					max_framerate = "30000000"; /* 30.0 fps */
					step_framerate = "1";
					default_framerate = "30000000"; /* 30.0 fps */
					min_exp_time = "13"; /* us */
					max_exp_time = "683709"; /* 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>;
						nc_tp2854_out1: endpoint {
							port-index = <2>;
							bus-width = <4>;
							remote-endpoint = <&nc_tp2854_csi_in1>;
						};
					};
				};
			};
		};
    };

	lens_tp2854@RBPCV2 {
		min_focus_distance = "0.0";
		hyper_focal = "0.0";
		focal_length = "3.04";
		f_number = "2.0";
		aperture = "0.0";
	};
};

/ {
	tcp: 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 = <8>;
		max_lane_speed = <3000000>;
		min_bits_per_pixel = <8>;
		vi_peak_byte_per_pixel = <2>;
		vi_bw_margin_pct = <25>;
		max_pixel_rate = <270000>;
		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 vendor.
		 */
		modules {
			cam_module0: module0 {
				badge = "porg_front_RBPCV2";
				position = "front";
				orientation = "1";
				cam_module0_drivernode0: drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "tp2854 0-0044";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/nc_tp2854_a@44";
				};
				cam_module0_drivernode1: drivernode1 {
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_tp2854@RBPCV2/";
				};
			};
			cam_module1: module1 {
				badge = "porg_rear_RBPCV2";
				position = "rear";
				orientation = "1";
				cam_module1_drivernode0: drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "tp2854 1-0045";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/nc_tp2854_a@45";
				};
				cam_module1_drivernode1: drivernode1 {
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_tp2854@RBPCV2/";
				};
			};
		};
	};
};

File: tegra210-porg-plugin-manager.dtsi

/ {
	plugin-manager {
		fragement@0 {
			ids = ">=3448-0000-100", ">=3448-0002-100";
			override@0 {
				target = <&ina3221x>;
				_overlay_ {
					channel@0 {
						ti,rail-name = "POM_5V_IN";
					};
					channel@1 {
						ti,rail-name = "POM_5V_GPU";
					};
				};
			};

		};

		fragment@1 {
			ids = ">=3448-0000-101", ">=3448-0002-101";
			override@0 {
				target = <&max77620_sd0>;
				_overlay_ {
					regulator-min-microvolt = <600000>;
				};
			};
		};

		fragment@2 {
			ids = "<3448-0000-200", "<3448-0002-200";
			override@0 {
				target = <&tegra_i2s4>;
				_overlay_ {
					regulator-supplies = "vdd-1v8-audio-hv", "vdd-1v8-audio-hv-bias";
					vdd-1v8-audio-hv-supply = <&max77620_sd3>;
					vdd-1v8-audio-hv-bias-supply = <&max77620_sd3>;
					fsync-width = <15>;
					status = "okay";
				};
			};

			override@1 {
				target = <&tegra_i2s4>;
				_overlay_ {
					status = "okay";
				};
			};

			override@2 {
				target = <&sound_card>;
				_overlay_ {
					nvidia,dai-link-1 {
						cpu-dai = <&tegra_i2s4>;
						cpu-dai-name = "I2S4";
					};
				};
			};
		};

		fragment@3 {
			ids = ">=3448-0002-100";
			override@0 {
				target = <&sdhci3>;
				_overlay_ {
					status = "okay";
				};
			};

			override@1 {
				target = <&sdhci0>;
				_overlay_ {
					status = "disabled";
				};
			};
		};

		fragment@4 {
			ids = "3449-0000-000";
			override@0 {
				target = <&suspend_gpio>;
				_overlay_ {
					status = "disabled";
				};
			};

			override@1 {
				target = <&p3449_vdd_usb_hub_en>;
				_overlay_ {
					gpio = <&gpio TEGRA_GPIO(A, 6) 0>;
					enable-active-low;
					gpio-open-drain;
				};
			};

			override@2 {
				target = <&{/xusb_padctl@7009f000/ports/usb2-1}>;
				_overlay_ {
					vbus-supply = <&p3449_vdd_usb_hub_en>;
				};
			};
		};

		fragment@5 {
			ids = "3449-0000-100", "3449-0000-200";
			override@0 {
				target = <&suspend_gpio>;
				_overlay_ {
					status = "disabled";
				};
			};

			override@1 {
				target = <&p3449_vdd_usb_hub_en>;
				_overlay_ {
					gpio = <&gpio TEGRA_GPIO(A, 6) 0>;
					enable-active-high;
				};
			};

			override@2 {
				target = <&{/xusb_padctl@7009f000/ports/usb2-1}>;
				_overlay_ {
					vbus-supply = <&p3449_vdd_usb_hub_en>;
				};
			};
		};

		fragement@6 {
                        odm-data = "enable-tegra-wdt";
                        override@0 {
                                target = <&tegra_wdt>;
                                _overlay_ {
                                        status = "okay";
                                };
                        };
                };

                fragement@7 {
                        odm-data = "enable-pmic-wdt";
                        override@0 {
                                target = <&spmic_wdt>;
                                _overlay_ {
                                        status = "okay";
                                };
                        };
                };

                fragement@8 {
                        odm-data = "enable-pmic-wdt",
                                "enable-tegra-wdt";
                        override@0 {
                                target = <&soft_wdt>;
                                _overlay_ {
                                        status = "disabled";
                                };
                        };
                };

		fragement@9 {
			ids = ">=3448-0000-300", ">=3448-0002-300";
			override@0 {
				target = <&max77620_ldo6>;
				_overlay_ {
                                        status = "disabled";
				};
			};
			override@1 {
				target = <&sdhci2>;
				_overlay_ {
					keep-power-in-suspend;
					non-removable;
				};
			};

			/* tp2854 dual sensor module */
			override@2 {
				target = <&tp2854_single_cam0>;
				_overlay_ {
					status = "okay";
				};
			};
			override@3 {
				target = <&cam_module0>;
				_overlay_ {
					status = "okay";
					badge = "porg_front_RBPCV2";
					position = "front";
					orientation = "1";
				};
			};
			override@4 {
				target = <&cam_module0_drivernode0>;
				_overlay_ {
					status = "okay";
					pcl_id = "v4l2_sensor";
					devname = "tp2854 6-0010";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tp2854@44/nc_tp2854_a@44";
				};
			};
			override@5 {
				target = <&cam_module0_drivernode1>;
				_overlay_ {
					status = "okay";
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_tp2854@RBPCV2/";
				};
			};
			override@6 {
				target = <&tp2854_single_cam1>;
				_overlay_ {
					status = "okay";
				};
			};
			override@7 {
				target = <&cam_module1>;
				_overlay_ {
					status = "okay";
					badge = "porg_front_RBPCV2";
					position = "front";
					orientation = "1";
				};
			};
			override@8 {
				target = <&cam_module1_drivernode0>;
				_overlay_ {
					status = "okay";
					pcl_id = "v4l2_sensor";
					devname = "tp2854 6-0010";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tp2854@45/nc_tp2854_a@45";
				};
			};
			override@9 {
				target = <&cam_module1_drivernode1>;
				_overlay_ {
					status = "okay";
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_tp2854@RBPCV2/";
				};
			};

			/* Enable VI ports */
			override@10 {
				target = <&vi_base>;
				_overlay_ {
					num-channels=<2>;
				};
			};
			override@11 {
				target = <&vi_port0>;
				_overlay_ {
					status = "okay";
				};
			};
			override@12 {
				target = <&vi_port1>;
				_overlay_ {
					status = "okay";
				};
			};
			override@13 {
				target = <&nc_tp2854_vi_in0>;
				_overlay_ {
					status = "okay";
					port-index = <0>;
					bus-width = <4>;
					remote-endpoint = <&nc_tp2854_csi_out0>;
				};
			};
			override@14 {
				target = <&nc_tp2854_vi_in1>;
				_overlay_ {
					status = "okay";
					port-index = <2>;
					bus-width = <4>;
					remote-endpoint = <&nc_tp2854_csi_out1>;
				};
			};

			/* Enable CSI ports */
			override@15 {
				target = <&csi_base>;
				_overlay_ {
					num-channels=<2>;
				};
			};
			override@16 {
				target = <&csi_chan0>;
				_overlay_ {
					status = "okay";
				};
			};
			override@17 {
				target = <&csi_chan0_port0>;
				_overlay_ {
					status = "okay";
				};
			};
			override@18 {
				target = <&nc_tp2854_csi_in0>;
				_overlay_ {
					status = "okay";
					port-index = <0>;
					bus-width = <4>;
					remote-endpoint = <&nc_tp2854_out0>;
				};
			};
			override@19 {
				target = <&csi_chan0_port1>;
				_overlay_ {
					status = "okay";
				};
			};
			override@20 {
				target = <&nc_tp2854_csi_out0>;
				_overlay_ {
					status = "okay";
					remote-endpoint = <&nc_tp2854_vi_in0>;
				};
			};
			override@21 {
				target = <&csi_chan1>;
				_overlay_ {
					status = "okay";
				};
			};
			override@22 {
				target = <&csi_chan1_port0>;
				_overlay_ {
					status = "okay";
				};
			};
			override@23 {
				target = <&nc_tp2854_csi_in1>;
				_overlay_ {
					status = "okay";
					port-index = <2>;
					bus-width = <4>;
					remote-endpoint = <&nc_tp2854_out1>;
				};
			};
			override@24 {
				target = <&csi_chan1_port1>;
				_overlay_ {
					status = "okay";
				};
			};
			override@25 {
				target = <&nc_tp2854_csi_out1>;
				_overlay_ {
					status = "okay";
					/*remote-endpoint = <&nc_tp2854_vi_in1>;*/
				};
			};

			/* tegra-camera-platform settings */
			override@26 {
				target = <&tcp>;
				_overlay_ {
					num_csi_lanes = <8>;
					max_lane_speed = <3000000>;
					min_bits_per_pixel = <8>;
					vi_peak_byte_per_pixel = <2>;
					vi_bw_margin_pct = <25>;
					max_pixel_rate = <270000>;
					isp_peak_byte_per_pixel = <5>;
					isp_bw_margin_pct = <25>;
				};
			};
		};
	};
};

Thanks a lot.

B.R.
Roland


hello roland6001,

just wondering it’s same situation as Topic 1063729, would like to have double confirmation.

did your testing procedure always launch 1st-camera(0x44) then you cannot receive 2nd-camera frame via camera(0x45)?
could you please restart the board, try to launch 2nd-camera(0x45) directly to avoid interference for testing.
thanks

Hi Jerry,

We did try to launch 2nd-camera via (0,1) port and it works, too. Currently, launching 1 camera is always workable via (0,1) port no matter 1st-Camera or 2nd-Camera. But (2,3) port is always NOT workable, even if we only connect 2nd camera still not works. We are confused how to make (2,3) port work.

Thanks a lot.

B.R.
Roland

hello roland6001,

it seems there’s control error according to the register error reporting,

vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040

please access Tegra X1 (SoC) Technical Reference Manual through Jetson Download Center,
you may check the register of CSI1_CSI_CILA_STATUS_0 for bit descriptions.
please also contact with your sensor vendor for further investigation.
thanks

Hi Jerry,

Actually we did some test already. It shows TP2854->port0/1 is OK and TP2854->port2/3 is NG. We used the same TP2854 to connect different port and got different results. We are trying to figure out what is happening. The attachment is for your reference. It shows our test result.

B.R.
Roland

hello roland6001,

hold-on,
according to the diagram, you’re connected TP2854 to CSI-E/F.
the code-snippet of the port-index setting from your device tree configuration was wrong.
you should set it to port-index=4

BTW,
how about connect your TP2854 to CSI-C/D for verification?

Hi Jerry,

We set it to port-index=4, and it works.
Thanks for your support.

B.R.
Roland