Simultaneous connection of two Raspberry Pi Camera V2

v4l2-ctl --list-devices

vi-output, imx219 30-0010 (platform:54080000.vi:0):
	/dev/video0

vi-output, imx219 31-0010 (platform:54080000.vi:5):
	/dev/video1

media-ctl -p -d /dev/media0

Media controller API version 0.1.0

Media device information
------------------------
driver          vi
model           NVIDIA Tegra Video Input Device
serial          
bus info        
hw revision     0x3
driver version  0.0.0

Device topology
- entity 1: nvcsi--2 (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
	pad0: Sink
		<- "imx219 30-0010":0 [ENABLED]
	pad1: Source
		-> "vi-output, imx219 30-0010":0 [ENABLED]

- entity 4: imx219 30-0010 (1 pad, 1 link)
            type V4L2 subdev subtype Sensor flags 0
            device node name /dev/v4l-subdev1
	pad0: Source
		[fmt:SRGGB10_1X10/1280x720 field:none colorspace:srgb]
		-> "nvcsi--2":0 [ENABLED]

- entity 6: vi-output, imx219 30-0010 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video0
	pad0: Sink
		<- "nvcsi--2":1 [ENABLED]

- entity 18: nvcsi--1 (2 pads, 2 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev2
	pad0: Sink
		<- "imx219 31-0010":0 [ENABLED]
	pad1: Source
		-> "vi-output, imx219 31-0010":0 [ENABLED]

- entity 21: imx219 31-0010 (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev3
	pad0: Source
		[fmt:SRGGB10_1X10/3280x2464 field:none colorspace:srgb]
		-> "nvcsi--1":0 [ENABLED]

- entity 23: vi-output, imx219 31-0010 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video1
	pad0: Sink
		<- "nvcsi--1":1 [ENABLED]

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! ‘video/x-raw(memory:NVMM),width=1280, height=720, framerate=30/1, format=NV12’ ! nvvidconv flip-method=0 ! ‘video/x-raw,width=640, height=480, format=(string)UYVY’ ! nvvidconv ! nvegltransform ! nveglglessink -e

Setting pipeline to PAUSED ...

Using winsys: x11 
Pipeline is live and does not need PREROLL ...
Got context from element 'eglglessink0': gst.egl.EGLDisplay=context, display=(GstEGLDisplay)NULL;
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3280 x 2464 FR = 21,000000 fps Duration = 47619048 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 3280 x 1848 FR = 28,000001 fps Duration = 35714284 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 59,999999 fps Duration = 16666667 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 120,000005 fps Duration = 8333333 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 4 
   Output Stream W = 1280 H = 720 
   seconds to Run    = 0 
   Frame Rate = 120,000005 
GST_ARGUS: PowerService: requested_clock_Hz=6048000
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
^Chandling interrupt.
Interrupt: Stopping pipeline ...
EOS on shutdown enabled -- Forcing EOS on the pipeline
Waiting for EOS...
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
Execution ended after 0:00:04.245766040
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
GST_ARGUS: Cleaning up
GST_ARGUS: 
PowerServiceHwVic::cleanupResources
CONSUMER: Done Success
GST_ARGUS: Done Success
Setting pipeline to NULL ...
Freeing pipeline ...

dmesg | grep imx219

[    3.580410] imx219 30-0010: tegracam sensor driver:imx219_v2.0.6
[    3.606567] imx219 31-0010: tegracam sensor driver:imx219_v2.0.6
[    4.578752] vi 54080000.vi: subdev imx219 30-0010 bound
[    4.579471] vi 54080000.vi: subdev imx219 31-0010 bound
[  345.055162] imx219 30-0010: imx219_power_on: power on
[  345.118384] imx219 30-0010: imx219_set_gain: val: 71 (/16) [times], gain: 199
[  345.118930] imx219 30-0010: imx219_set_exposure: val: 29999 [us], coarse_time: 1475 [lines]
[  345.120128] imx219 30-0010: imx219_set_frame_rate: val: 30000001e-6 [fps], frame_length: 1639 [lines]
[  345.177118] imx219 30-0010: imx219_power_off: power off
[  345.177236] imx219 31-0010: imx219_power_on: power on
[  345.294933] imx219 31-0010: imx219_power_off: power off
[  345.295038] imx219 30-0010: imx219_power_on: power on
[  345.318297] imx219 30-0010: imx219_power_off: power off
[  345.318499] imx219 31-0010: imx219_power_on: power on
[  345.341729] imx219 31-0010: imx219_power_off: power off
[  345.344452] imx219 30-0010: imx219_power_on: power on
[  345.367759] imx219 30-0010: imx219_power_off: power off
[  345.368009] imx219 31-0010: imx219_power_on: power on
[  345.391253] imx219 31-0010: imx219_power_off: power off
[  345.415826] imx219 31-0010: imx219_power_on: power on
[  345.439043] imx219 31-0010: imx219_power_off: power off
[  345.439288] imx219 30-0010: imx219_power_on: power on
[  345.462517] imx219 30-0010: imx219_power_off: power off
[  345.462697] imx219 30-0010: imx219_power_on: power on
[  345.485950] imx219 30-0010: imx219_power_off: power off
[  345.486170] imx219 30-0010: imx219_power_on: power on
[  345.509733] imx219 30-0010: imx219_power_off: power off
[  345.546095] imx219 31-0010: imx219_power_on: power on
[  345.569274] imx219 31-0010: imx219_power_off: power off
[  345.569441] imx219 30-0010: imx219_power_on: power on
[  345.592633] imx219 30-0010: imx219_power_off: power off
[  345.592875] imx219 30-0010: imx219_power_on: power on
[  345.616223] imx219 30-0010: imx219_power_off: power off
[  345.616647] imx219 30-0010: imx219_power_on: power on
[  345.640093] imx219 30-0010: imx219_power_off: power off
[  345.920997] imx219 30-0010: imx219_power_on: power on
[  345.944266] imx219 30-0010: imx219_set_frame_rate: val: 120000000e-6 [fps], frame_length: 409 [lines]
[  345.945262] imx219 30-0010: imx219_set_gain: val: 16 (/16) [times], gain: 0
[  345.945736] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 405 [lines]
[  345.945740] imx219 30-0010: imx219_set_exposure: val: 8333 [us], coarse_time: 405 [lines]
[  345.949261] imx219 30-0010: imx219_set_frame_rate: val: 30000001e-6 [fps], frame_length: 1639 [lines]
[  345.950324] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  345.950329] imx219 30-0010: imx219_set_exposure: val: 33330 [us], coarse_time: 1635 [lines]
[  345.994944] imx219 30-0010: imx219_set_gain: val: 16 (/16) [times], gain: 0
[  345.995417] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  345.995422] imx219 30-0010: imx219_set_exposure: val: 33330 [us], coarse_time: 1635 [lines]
[  345.996363] imx219 30-0010: imx219_set_frame_rate: val: 30000001e-6 [fps], frame_length: 1639 [lines]
[  346.002546] imx219 30-0010: imx219_set_frame_rate: val: 120000000e-6 [fps], frame_length: 409 [lines]
[  346.012095] imx219 30-0010: imx219_set_frame_rate: val: 30000001e-6 [fps], frame_length: 1639 [lines]
[  346.240710] imx219 30-0010: imx219_set_gain: val: 20 (/16) [times], gain: 52
[  346.275141] imx219 30-0010: imx219_set_gain: val: 24 (/16) [times], gain: 86
[  346.309575] imx219 30-0010: imx219_set_gain: val: 27 (/16) [times], gain: 105
[  346.343922] imx219 30-0010: imx219_set_gain: val: 30 (/16) [times], gain: 120
[  346.344622] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  346.344627] imx219 30-0010: imx219_set_exposure: val: 33329 [us], coarse_time: 1635 [lines]
[  346.378355] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  346.378361] imx219 30-0010: imx219_set_exposure: val: 33330 [us], coarse_time: 1635 [lines]
[  346.412794] imx219 30-0010: imx219_set_gain: val: 31 (/16) [times], gain: 124
[  346.413410] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  346.413416] imx219 30-0010: imx219_set_exposure: val: 33329 [us], coarse_time: 1635 [lines]
[  346.447166] imx219 30-0010: imx219_set_gain: val: 32 (/16) [times], gain: 128
[  346.447718] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  346.447723] imx219 30-0010: imx219_set_exposure: val: 33330 [us], coarse_time: 1635 [lines]
[  346.481616] imx219 30-0010: imx219_set_gain: val: 34 (/16) [times], gain: 136
[  346.516007] imx219 30-0010: imx219_set_gain: val: 37 (/16) [times], gain: 146
[  346.550352] imx219 30-0010: imx219_set_gain: val: 39 (/16) [times], gain: 151
[  346.584822] imx219 30-0010: imx219_set_gain: val: 41 (/16) [times], gain: 157
[  346.619141] imx219 30-0010: imx219_set_gain: val: 43 (/16) [times], gain: 161
[  346.653599] imx219 30-0010: imx219_set_gain: val: 44 (/16) [times], gain: 163
[  346.654274] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  346.654279] imx219 30-0010: imx219_set_exposure: val: 33329 [us], coarse_time: 1635 [lines]
[  346.687967] imx219 30-0010: imx219_set_gain: val: 45 (/16) [times], gain: 165
[  346.688814] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  346.688824] imx219 30-0010: imx219_set_exposure: val: 33330 [us], coarse_time: 1635 [lines]
[  346.722348] imx219 30-0010: imx219_set_gain: val: 47 (/16) [times], gain: 169
[  346.722948] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  346.722953] imx219 30-0010: imx219_set_exposure: val: 33329 [us], coarse_time: 1635 [lines]
[  346.756768] imx219 30-0010: imx219_set_gain: val: 48 (/16) [times], gain: 171
[  346.757441] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  346.757447] imx219 30-0010: imx219_set_exposure: val: 33330 [us], coarse_time: 1635 [lines]
[  346.791252] imx219 30-0010: imx219_set_gain: val: 50 (/16) [times], gain: 175
[  346.791865] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  346.791871] imx219 30-0010: imx219_set_exposure: val: 33329 [us], coarse_time: 1635 [lines]
[  346.825565] imx219 30-0010: imx219_set_gain: val: 56 (/16) [times], gain: 183
[  346.826113] imx219 30-0010: imx219_set_exposure: val: 29999 [us], coarse_time: 1475 [lines]
[  346.859983] imx219 30-0010: imx219_set_gain: val: 58 (/16) [times], gain: 186
[  346.894372] imx219 30-0010: imx219_set_gain: val: 59 (/16) [times], gain: 187
[  346.928807] imx219 30-0010: imx219_set_gain: val: 60 (/16) [times], gain: 188
[  346.997648] imx219 30-0010: imx219_set_gain: val: 62 (/16) [times], gain: 190
[  347.032011] imx219 30-0010: imx219_set_gain: val: 64 (/16) [times], gain: 192
[  347.066606] imx219 30-0010: imx219_set_gain: val: 65 (/16) [times], gain: 193
[  347.100776] imx219 30-0010: imx219_set_gain: val: 67 (/16) [times], gain: 195
[  347.203991] imx219 30-0010: imx219_set_gain: val: 68 (/16) [times], gain: 196
[  347.272904] imx219 30-0010: imx219_set_gain: val: 70 (/16) [times], gain: 198
[  349.457148] imx219 30-0010: imx219_power_off: power off

gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! ‘video/x-raw(memory:NVMM),width=1280, height=720, framerate=30/1, format=NV12’ ! nvvidconv flip-method=0 ! ‘video/x-raw,width=640, height=480, format=(string)UYVY’ ! nvvidconv ! nvegltransform ! nveglglessink -e

Setting pipeline to PAUSED ...

Using winsys: x11 
Pipeline is live and does not need PREROLL ...
Got context from element 'eglglessink0': gst.egl.EGLDisplay=context, display=(GstEGLDisplay)NULL;
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3280 x 2464 FR = 21,000000 fps Duration = 47619048 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 3280 x 1848 FR = 28,000001 fps Duration = 35714284 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 59,999999 fps Duration = 16666667 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 120,000005 fps Duration = 8333333 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 1 
   Camera mode  = 4 
   Output Stream W = 1280 H = 720 
   seconds to Run    = 0 
   Frame Rate = 120,000005 
GST_ARGUS: PowerService: requested_clock_Hz=6048000
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
^Chandling interrupt.
Interrupt: Stopping pipeline ...
EOS on shutdown enabled -- Forcing EOS on the pipeline
Waiting for EOS...
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
Execution ended after 0:00:06.491259268
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
GST_ARGUS: Cleaning up
GST_ARGUS: 
PowerServiceHwVic::cleanupResources
CONSUMER: Done Success
GST_ARGUS: Done Success
Setting pipeline to NULL ...
Freeing pipeline ...

dmesg | grep imx219

[  404.698012] imx219 30-0010: imx219_power_on: power on
[  404.767445] imx219 30-0010: imx219_set_gain: val: 70 (/16) [times], gain: 198
[  404.767955] imx219 30-0010: imx219_set_exposure: val: 29999 [us], coarse_time: 1475 [lines]
[  404.768937] imx219 30-0010: imx219_set_frame_rate: val: 30000001e-6 [fps], frame_length: 1639 [lines]
[  404.825999] imx219 30-0010: imx219_power_off: power off
[  404.826104] imx219 31-0010: imx219_power_on: power on
[  404.943553] imx219 31-0010: imx219_power_off: power off
[  404.943696] imx219 30-0010: imx219_power_on: power on
[  404.966985] imx219 30-0010: imx219_power_off: power off
[  404.967199] imx219 31-0010: imx219_power_on: power on
[  404.990475] imx219 31-0010: imx219_power_off: power off
[  404.994828] imx219 30-0010: imx219_power_on: power on
[  405.018099] imx219 30-0010: imx219_power_off: power off
[  405.018291] imx219 31-0010: imx219_power_on: power on
[  405.041530] imx219 31-0010: imx219_power_off: power off
[  405.061170] imx219 31-0010: imx219_power_on: power on
[  405.084347] imx219 31-0010: imx219_power_off: power off
[  405.084519] imx219 30-0010: imx219_power_on: power on
[  405.107740] imx219 30-0010: imx219_power_off: power off
[  405.107914] imx219 30-0010: imx219_power_on: power on
[  405.131191] imx219 30-0010: imx219_power_off: power off
[  405.131478] imx219 30-0010: imx219_power_on: power on
[  405.154833] imx219 30-0010: imx219_power_off: power off
[  405.185761] imx219 31-0010: imx219_power_on: power on
[  405.208940] imx219 31-0010: imx219_power_off: power off
[  405.209132] imx219 30-0010: imx219_power_on: power on
[  405.232327] imx219 30-0010: imx219_power_off: power off
[  405.232559] imx219 30-0010: imx219_power_on: power on
[  405.255855] imx219 30-0010: imx219_power_off: power off
[  405.256113] imx219 30-0010: imx219_power_on: power on
[  405.279509] imx219 30-0010: imx219_power_off: power off
[  406.634927] imx219 30-0010: imx219_power_on: power on
[  406.658269] imx219 30-0010: imx219_set_frame_rate: val: 120000000e-6 [fps], frame_length: 409 [lines]
[  406.659500] imx219 30-0010: imx219_set_gain: val: 16 (/16) [times], gain: 0
[  406.659990] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 405 [lines]
[  406.659994] imx219 30-0010: imx219_set_exposure: val: 8333 [us], coarse_time: 405 [lines]
[  406.661240] imx219 30-0010: imx219_set_frame_rate: val: 30000001e-6 [fps], frame_length: 1639 [lines]
[  406.664970] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  406.664976] imx219 30-0010: imx219_set_exposure: val: 33330 [us], coarse_time: 1635 [lines]
[  406.711231] imx219 30-0010: imx219_set_gain: val: 16 (/16) [times], gain: 0
[  406.711758] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  406.711763] imx219 30-0010: imx219_set_exposure: val: 33330 [us], coarse_time: 1635 [lines]
[  406.713030] imx219 30-0010: imx219_set_frame_rate: val: 30000001e-6 [fps], frame_length: 1639 [lines]
[  406.719540] imx219 30-0010: imx219_set_frame_rate: val: 120000000e-6 [fps], frame_length: 409 [lines]
[  406.729097] imx219 30-0010: imx219_set_frame_rate: val: 30000001e-6 [fps], frame_length: 1639 [lines]
[  406.957660] imx219 30-0010: imx219_set_gain: val: 20 (/16) [times], gain: 52
[  406.992121] imx219 30-0010: imx219_set_gain: val: 24 (/16) [times], gain: 86
[  407.026570] imx219 30-0010: imx219_set_gain: val: 27 (/16) [times], gain: 105
[  407.030695] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  407.030700] imx219 30-0010: imx219_set_exposure: val: 33329 [us], coarse_time: 1635 [lines]
[  407.060801] imx219 30-0010: imx219_set_gain: val: 30 (/16) [times], gain: 120
[  407.095231] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  407.095237] imx219 30-0010: imx219_set_exposure: val: 33330 [us], coarse_time: 1635 [lines]
[  407.129605] imx219 30-0010: imx219_set_gain: val: 31 (/16) [times], gain: 124
[  407.130156] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  407.130162] imx219 30-0010: imx219_set_exposure: val: 33329 [us], coarse_time: 1635 [lines]
[  407.164095] imx219 30-0010: imx219_set_gain: val: 32 (/16) [times], gain: 128
[  407.198403] imx219 30-0010: imx219_set_gain: val: 34 (/16) [times], gain: 136
[  407.199110] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  407.199116] imx219 30-0010: imx219_set_exposure: val: 33330 [us], coarse_time: 1635 [lines]
[  407.232808] imx219 30-0010: imx219_set_gain: val: 36 (/16) [times], gain: 143
[  407.267333] imx219 30-0010: imx219_set_gain: val: 39 (/16) [times], gain: 151
[  407.268002] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  407.268006] imx219 30-0010: imx219_set_exposure: val: 33329 [us], coarse_time: 1635 [lines]
[  407.301617] imx219 30-0010: imx219_set_gain: val: 41 (/16) [times], gain: 157
[  407.302280] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  407.302285] imx219 30-0010: imx219_set_exposure: val: 33330 [us], coarse_time: 1635 [lines]
[  407.336033] imx219 30-0010: imx219_set_gain: val: 42 (/16) [times], gain: 159
[  407.370489] imx219 30-0010: imx219_set_gain: val: 43 (/16) [times], gain: 161
[  407.404818] imx219 30-0010: imx219_set_gain: val: 44 (/16) [times], gain: 163
[  407.405392] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  407.405398] imx219 30-0010: imx219_set_exposure: val: 33329 [us], coarse_time: 1635 [lines]
[  407.439281] imx219 30-0010: imx219_set_gain: val: 45 (/16) [times], gain: 165
[  407.473681] imx219 30-0010: imx219_set_gain: val: 47 (/16) [times], gain: 169
[  407.474283] imx219 30-0010: imx219_set_exposure: exposure limited by frame_length: 1635 [lines]
[  407.474288] imx219 30-0010: imx219_set_exposure: val: 33330 [us], coarse_time: 1635 [lines]
[  407.508045] imx219 30-0010: imx219_set_gain: val: 49 (/16) [times], gain: 173
[  407.542451] imx219 30-0010: imx219_set_gain: val: 55 (/16) [times], gain: 182
[  407.543174] imx219 30-0010: imx219_set_exposure: val: 29999 [us], coarse_time: 1475 [lines]
[  407.577000] imx219 30-0010: imx219_set_gain: val: 57 (/16) [times], gain: 185
[  407.611325] imx219 30-0010: imx219_set_gain: val: 58 (/16) [times], gain: 186
[  407.645651] imx219 30-0010: imx219_set_gain: val: 59 (/16) [times], gain: 187
[  407.714799] imx219 30-0010: imx219_set_gain: val: 61 (/16) [times], gain: 189
[  407.749189] imx219 30-0010: imx219_set_gain: val: 63 (/16) [times], gain: 191
[  407.783269] imx219 30-0010: imx219_set_gain: val: 65 (/16) [times], gain: 193
[  407.817726] imx219 30-0010: imx219_set_gain: val: 67 (/16) [times], gain: 195
[  407.886538] imx219 30-0010: imx219_set_gain: val: 68 (/16) [times], gain: 196
[  407.955411] imx219 30-0010: imx219_set_gain: val: 69 (/16) [times], gain: 197
[  407.989699] imx219 30-0010: imx219_set_gain: val: 70 (/16) [times], gain: 198
[  411.334176] imx219 30-0010: imx219_power_off: power off

Regards!

extract_proc.dts

...
tegra-camera-platform {
		isp_bw_margin_pct = <0x19>;
		compatible = "nvidia, tegra-camera-platform";
		max_pixel_rate = <0x3a980>;
		num_csi_lanes = <0x4>;
		vi_peak_byte_per_pixel = <0x2>;
		status = "okay";
		max_lane_speed = <0x16e360>;
		vi_bw_margin_pct = <0x19>;
		min_bits_per_pixel = <0xa>;
		isp_peak_byte_per_pixel = <0x5>;

		modules {

			module0 {
				badge = "porg_front_RBPCV2";
				position = "front";
				orientation = [31 00];

				drivernode1 {
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/";
				};

				drivernode0 {
					devname = "imx219 30-0010";
					pcl_id = "v4l2_sensor";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9546@70/i2c@0/rbpcv2_imx219_a@10";
				};
			};

			module1 {
				badge = "porg_rear_RBPCV2";
				position = "rear";
				orientation = [32 00];

				drivernode1 {
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/";
				};

				drivernode0 {
					devname = "imx219 31-0010";
					pcl_id = "v4l2_sensor";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9546@70/i2c@1/rbpcv2_imx219_f@10";
				};
			};
		};
	};
...

Did not change!

Regards!

Could you attached the extract_proc.dts

https://mvp.my1.ru/extract_proc.rar

The port@2 and port@3 should be port@0 and port@1 for the channel@1

channel@1 {
				phandle = <0x11a>;
				reg = <0x1>;
				linux,phandle = <0x11a>;

				ports {
					#address-cells = <0x1>;
					#size-cells = <0x0>;

					port@3 {
						phandle = <0x11d>;
						reg = <0x1>;
						linux,phandle = <0x11d>;

						endpoint@3 {
							remote-endpoint = <0x115>;
							phandle = <0x11e>;
							linux,phandle = <0x11e>;
						};
					};

					port@2 {
						phandle = <0x11b>;
						reg = <0x0>;
						linux,phandle = <0x11b>;

						endpoint@2 {
							port-index = <0x5>;
							remote-endpoint = <0x11f>;
							bus-width = <0x2>;
							phandle = <0x11c>;
							linux,phandle = <0x11c>;
						};
					};
				};
			};

I changed port@2 and port@3 to port@0 and port@1.
Problem still exists.

I took port@2 and port@3 from
kernel_src\hardware\nvidia\platform\t210\porg\kernel-dts\porg-platforms\tegra210-camera-rbpcv2-dual-imx219.dtsi

csi_chan1: channel@1 {
				reg = <1>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					csi_chan1_port0: port@2 {
						reg = <0>;
						rbpcv2_imx219_csi_in1: endpoint@2 {
							port-index = <4>;
							bus-width = <2>;
							remote-endpoint = <&rbpcv2_imx219_out1>;
						};
					};
					csi_chan1_port1: port@3 {
						reg = <1>;
						rbpcv2_imx219_csi_out1: endpoint@3 {
							remote-endpoint = <&rbpcv2_imx219_vi_in1>;
						};
					};
				};
			};

If I swap it

devname = "imx219 30-0010";
proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9546@70/i2c@0/rbpcv2_imx219_a@10";

with this

devname = "imx219 31-0010";
proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9546@70/i2c@1/rbpcv2_imx219_f@10";

then I can connect to a second physical camera. This CSI_F and second port of mux i2c.
But in this case sensor-id 1/0 always access to the same device (it’s SECOND physical camera).

And the logs (dmesg | grep imx219) will contain “31-0010” instead of “30-0010”.

Regards!

It worked

module0 {
				badge = "porg_center_RBPCV2";
				position = "center";
				orientation = [31 00];

				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "imx219 30-0010";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9546@70/i2c@0/rbpcv2_imx219_a@10";							
				};

				drivernode1 {
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/";
				};
			};
			
module1 {
				badge = "porg_top_RBPCV2";
				position = "top";
				orientation = [31 00];

				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "imx219 31-0010";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9546@70/i2c@1/rbpcv2_imx219_f@10";			
				};

				drivernode1 {
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/";
				};
			};

I change “front” and “rear” to “center” and “top”.

How these names influence work?
Why don’t work “front” and “rear”?

Don’t know why it not working on your case. However tegra210-camera-rbpcv2-dual-imx219.dtsi working without problem for they are defined as “front” and “rear”

Could you modify the badge to check if any different?

When I use the code

badge = "porg_front_RBPCV2";
position = "front";
badge = "porg_rear_RBPCV2";
position = "rear";

then the cameras do not work normally. In this case sensor-id 1/0 always access to the same physical device.

I checked the following options:

badge = "porg_center_RBPCV2";
position = "center";
badge = "porg_top_RBPCV2";
position = "top";

badge = "imx219_top_RBPCV2";
position = "top"; 
badge = "imx219_center_RBPCV2";
position = "center";

badge = "imx219_front_RBPCV2";
position = "front"; 
badge = "imx219_rear_RBPCV2";
position = "rear";

It’s working options for two cameras.

Could you change the “RBPCV2” to any others strings to try?

Sorry for delay.

I researched the third part of “badge”.
This affects the hue of the image.
Next options CH06P1, P5V27C, A6V26, liimx185, 123456 - work with porg_front/rear.

CH06P1 and P5V27C - many purple hue.
RBPCV2 (with imx219_front/rear) - natural color, but there is a little purple hue on the sides.
A6V26 - natural color, but there is a little purple hue throughout the frame
liimx185 - natural color, but one camera is brighter than another.
123456 - low saturation.

I guess there is a more detailed list for the third part of “badge”, is not it?

Regards!

Actually the badge information is the tag for loading the ISP configure you can’t apply any of them from the reference board.

My problem is same while accessing two cameras one after the other it is capturing images from first connected camera .
Can any one help with this issue
Thank you…

Review your device tree in tegra_camera_platform{}, if still have problem please file new topic.

Thanks