Hi,
I'm running camera through DS90UB962 using virtual channel.
I want change the format configuration but after setting, the DS90UB962 not update new format.
But both DS90UB953 and camera have been updated.
Here's the original format configuration:
root@tda-4vm:/opt/edgeai-gst-apps# media-ctl -p Media controller API version 5.10.162 Media device information ------------------------ driver j721e-csi2rx model TI-CSI2RX serial bus info platform:4500000.ticsi2rx hw revision 0x1 driver version 5.10.162 Device topology - entity 1: 4500000.ticsi2rx (17 pads, 17 links, 1 route) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 routes: 0/0 -> 1/0 [ACTIVE] pad0: Sink [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] <- "cdns_csi2rx.4504000.csi-bridge":1 [ENABLED,IMMUTABLE] pad1: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "4500000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE] pad2: Source -> "4500000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE] pad3: Source -> "4500000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE] pad4: Source -> "4500000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE] pad5: Source -> "4500000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE] pad6: Source -> "4500000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE] pad7: Source -> "4500000.ticsi2rx context 6":0 [ENABLED,IMMUTABLE] pad8: Source -> "4500000.ticsi2rx context 7":0 [ENABLED,IMMUTABLE] pad9: Source -> "4500000.ticsi2rx context 8":0 [ENABLED,IMMUTABLE] pad10: Source -> "4500000.ticsi2rx context 9":0 [ENABLED,IMMUTABLE] pad11: Source -> "4500000.ticsi2rx context 10":0 [ENABLED,IMMUTABLE] pad12: Source -> "4500000.ticsi2rx context 11":0 [ENABLED,IMMUTABLE] pad13: Source -> "4500000.ticsi2rx context 12":0 [ENABLED,IMMUTABLE] pad14: Source -> "4500000.ticsi2rx context 13":0 [ENABLED,IMMUTABLE] pad15: Source -> "4500000.ticsi2rx context 14":0 [ENABLED,IMMUTABLE] pad16: Source -> "4500000.ticsi2rx context 15":0 [ENABLED,IMMUTABLE] - entity 19: cdns_csi2rx.4504000.csi-bridge (5 pads, 2 links, 0 route) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] <- "ds90ub960 5-0030":4 [ENABLED,IMMUTABLE] pad1: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "4500000.ticsi2rx":0 [ENABLED,IMMUTABLE] pad2: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] pad3: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] pad4: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] - entity 25: ds90ub960 5-0030 (6 pads, 2 links, 1 route) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev2 routes: 0/0 -> 4/0 [ACTIVE] pad0: Sink [stream:0 fmt:UYVY8_2X8/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] <- "ds90ub953 5-0054":1 [ENABLED,IMMUTABLE] pad1: Sink pad2: Sink pad3: Sink pad4: Source [stream:0 fmt:UYVY8_2X8/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] -> "cdns_csi2rx.4504000.csi-bridge":0 [ENABLED,IMMUTABLE] pad5: Source - entity 34: ds90ub953 5-0054 (2 pads, 2 links, 1 route) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev3 routes: 0/0 -> 1/0 [ACTIVE] pad0: Sink [stream:0 fmt:UYVY8_2X8/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] <- "tevi-ap1302 6-003d":0 [ENABLED,IMMUTABLE] pad1: Source [stream:0 fmt:UYVY8_2X8/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-[ 251.815789] tevi-ap1302 6-003d: ops_get_fmt() range] -> "ds90ub960 5-0030":0 [ENABLED,IMMUTABLE] - entit[ 251.825614] tevi-ap1302 6-003d: ops_get_frame_interval() y 39: tevi-ap1302 6-003d (1 pad, 1 link, 2 routes) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev4 routes: 0/0 -> 0/0 [ACTIVE, IMMUTABLE, SOURCE] 0/0 -> 0/1 [INACTIVE, IMMUTABLE, SOURCE] pad0: Source [stream:0 fmt:UYVY8_2X8/640x480@1/30 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] -> "ds90ub953 5-0054":0 [ENABLED,IMMUTABLE] - entity 45: 4500000.ticsi2rx context 0 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "4500000.ticsi2rx":1 [ENABLED,IMMUTABLE] - entity 51: 4500000.ticsi2rx context 1 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Sink <- "4500000.ticsi2rx":2 [ENABLED,IMMUTABLE] - entity 57: 4500000.ticsi2rx context 2 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video4 pad0: Sink <- "4500000.ticsi2rx":3 [ENABLED,IMMUTABLE] - entity 63: 4500000.ticsi2rx context 3 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video5 pad0: Sink <- "4500000.ticsi2rx":4 [ENABLED,IMMUTABLE] - entity 69: 4500000.ticsi2rx context 4 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video6 pad0: Sink <- "4500000.ticsi2rx":5 [ENABLED,IMMUTABLE]
Configure formats to 1280x720:
root@tda-4vm:/opt/edgeai-gst-apps# media-ctl --set-v4l2 "'tevi-ap1302 6-003d':0 [fmt:UYVY8_2X8/1280x720@1/30 field:none]" [ 3319.943133] tevi-ap1302 6-003d: ops_set_fmt() [ 3319.947495] tevi-ap1302 6-003d: ops_set_fmt() selected mode index [1] [ 3319.953940] tevi-ap1302 6-003d: ops_set_frame_interval() [ 3319.959278] ds90ub953 5-0054: ub953_set_fmt() [ 3319.963632] ds90ub953 5-0054: v4l2_subdev_get_fmt: pad=0x00
Therefore format configuration:
root@tda-4vm:/opt/edgeai-gst-apps# media-ctl -p Media controller API version 5.10.162 Media device information ------------------------ driver j721e-csi2rx model TI-CSI2RX serial bus info platform:4500000.ticsi2rx hw revision 0x1 driver version 5.10.162 Device topology - entity 1: 4500000.ticsi2rx (17 pads, 17 links, 1 route) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 routes: 0/0 -> 1/0 [ACTIVE] pad0: Sink [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] <- "cdns_csi2rx.4504000.csi-bridge":1 [ENABLED,IMMUTABLE] pad1: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "4500000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE] pad2: Source -> "4500000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE] pad3: Source -> "4500000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE] pad4: Source -> "4500000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE] pad5: Source -> "4500000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE] pad6: Source -> "4500000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE] pad7: Source -> "4500000.ticsi2rx context 6":0 [ENABLED,IMMUTABLE] pad8: Source -> "4500000.ticsi2rx context 7":0 [ENABLED,IMMUTABLE] pad9: Source -> "4500000.ticsi2rx context 8":0 [ENABLED,IMMUTABLE] pad10: Source -> "4500000.ticsi2rx context 9":0 [ENABLED,IMMUTABLE] pad11: Source -> "4500000.ticsi2rx context 10":0 [ENABLED,IMMUTABLE] pad12: Source -> "4500000.ticsi2rx context 11":0 [ENABLED,IMMUTABLE] pad13: Source -> "4500000.ticsi2rx context 12":0 [ENABLED,IMMUTABLE] pad14: Source -> "4500000.ticsi2rx context 13":0 [ENABLED,IMMUTABLE] pad15: Source -> "4500000.ticsi2rx context 14":0 [ENABLED,IMMUTABLE] pad16: Source -> "4500000.ticsi2rx context 15":0 [ENABLED,IMMUTABLE] - entity 19: cdns_csi2rx.4504000.csi-bridge (5 pads, 2 links, 0 route) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] <- "ds90ub960 5-0030":4 [ENABLED,IMMUTABLE] pad1: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "4500000.ticsi2rx":0 [ENABLED,IMMUTABLE] pad2: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] pad3: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] pad4: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] - entity 25: ds90ub960 5-0030 (6 pads, 2 links, 1 route) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev2 routes: 0/0 -> 4/0 [ACTIVE] pad0: Sink [stream:0 fmt:UYVY8_2X8/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] <- "ds90ub953 5-0054":1 [ENABLED,IMMUTABLE] pad1: Sink pad2: Sink pad3: Sink pad4: Source [stream:0 fmt:UYVY8_2X8/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] -> "cdns_csi2rx.4504000.csi-bridge":0 [ENABLED,IMMUTABLE] pad5: Source - entity 34: ds90ub953 5-0054 (2 pads, 2 links, 1 route) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev3 routes: 0/0 -> 1/0 [ACTIVE] pad0: Sink [stream:0 fmt:UYVY8_2X8/1280x720 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] <- "tevi-ap1302 6-003d":0 [ENABLED,IMMUTABLE] pad1: Source [stream:0 fmt:UYVY8_2X8/1280x720 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization[ 1927.555972] tevi-ap1302 6-003d: ops_get_fmt() :full-range] -> "ds90ub960 5-0030":0 [ENABLED,IMMUTABLE] -[ 1927.565855] tevi-ap1302 6-003d: ops_get_frame_interval() entity 39: tevi-ap1302 6-003d (1 pad, 1 link, 2 routes) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev4 routes: 0/0 -> 0/0 [ACTIVE, IMMUTABLE, SOURCE] 0/0 -> 0/1 [INACTIVE, IMMUTABLE, SOURCE] pad0: Source [stream:0 fmt:UYVY8_2X8/1280x720@1/30 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] -> "ds90ub953 5-0054":0 [ENABLED,IMMUTABLE] - entity 45: 4500000.ticsi2rx context 0 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "4500000.ticsi2rx":1 [ENABLED,IMMUTABLE] - entity 51: 4500000.ticsi2rx context 1 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Sink <- "4500000.ticsi2rx":2 [ENABLED,IMMUTABLE] - entity 57: 4500000.ticsi2rx context 2 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video4 pad0: Sink <- "4500000.ticsi2rx":3 [ENABLED,IMMUTABLE] - entity 63: 4500000.ticsi2rx context 3 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video5 pad0: Sink <- "4500000.ticsi2rx":4 [ENABLED,IMMUTABLE]
Camera cannot open if I do not update DS90UB962 formt configuration, although it make sense because format is wrong...
Update DS90UB962 formt configuration:
root@tda-4vm:/opt/edgeai-gst-apps# media-ctl --set-v4l2 "'ds90ub960 5-0030':0 [fmt:UYVY8_2X8/1280x720@1/30 field:none]"
[ 3084.551574] ds90ub960 5-0030: ub960_set_fmt()
[ 3084.555933] ds90ub960 5-0030: v4l2_subdev_get_fmt: pad=0x00
Unable to setup formats: Inappropriate ioctl for device (25)
Final format configuration:
root@tda-4vm:/opt/edgeai-gst-apps# media-ctl -p Media controller API version 5.10.162[ 4023.062726] tevi-ap1302 6-003d: ops_get_fmt() Media device information ------------------------ driver j721e-csi2rx model TI-CSI2RX serial bus info platform:4500000.ticsi2rx hw revision 0x1 driver version 5.10.162 Device topology - entity 1: 4500000.ticsi2rx (17 pads, 17 links, 1 route) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 routes: 0/0 -> 1/0 [ACTIVE] pad0: Sink [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] <- "cdns_csi2rx.4504000.csi-bridge":1 [ENABLED,IMMUTABLE] pad1: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "4500000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE] pad2: Source -> "4500000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE] pad3: Source -> "4500000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE] pad4: Source -> "4500000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE] pad5: Source -> "4500000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE] pad6: Source -> "4500000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE] pad7: Source -> "4500000.ticsi2rx context 6":0 [ENABLED,IMMUTABLE] pad8: Source -> "4500000.ticsi2rx context 7":0 [ENABLED,IMMUTABLE] pad9: Source -> "4500000.ticsi2rx context 8":0 [ENABLED,IMMUTABLE] pad10: Source -> "4500000.ticsi2rx context 9":0 [ENABLED,IMMUTABLE] pad11: Source -> "4500000.ticsi2rx context 10":0 [ENABLED,IMMUTABLE] pad12: Source -> "4500000.ticsi2rx context 11":0 [ENABLED,IMMUTABLE] pad13: Source -> "4500000.ticsi2rx context 12":0 [ENABLED,IMMUTABLE] pad14: Source -> "4500000.ticsi2rx context 13":0 [ENABLED,IMMUTABLE] pad15: Source -> "4500000.ticsi2rx context 14":0 [ENABLED,IMMUTABLE] pad16: Source -> "4500000.ticsi2rx context 15":0 [ENABLED,IMMUTABLE] - entity 19: cdns_csi2rx.4504000.csi-bridge (5 pads, 2 links, 0 route) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] <- "ds90ub960 5-0030":4 [ENABLED,IMMUTABLE] pad1: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "4500000.ticsi2rx":0 [ENABLED,IMMUTABLE] pad2: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] pad3: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] pad4: Source [stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] - entity 25: ds90ub960 5-0030 (6 pads, 2 links, 1 route) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev2 routes: 0/0 -> 4/0 [ACTIVE] pad0: Sink [stream:0 fmt:UYVY8_2X8/1280x720 field:none] <- "ds90ub953 5-0054":1 [ENABLED,IMMUTABLE] pad1: Sink pad2: Sink pad3: Sink pad4: Source [stream:0 fmt:UYVY8_2X8/1280x720 field:none] -> "cdns_csi2rx.4504000.csi-bridge":0 [ENABLED,IMMUTABLE] pad5: Source - entity 34: ds90ub953 5-0054 (2 pads, 2 links, 1 route) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev3 routes: 0/0 -> 1/0 [ACTIVE] pad0: Sink [stream:0 fmt:UYVY8_2X8/1280x720 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] <- "tevi-ap1302 6-003d":0 [ENABLED,IMMUTABLE] pad1: Source [stream:0 fmt:UYVY8_2X8/1280x720 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] -> "ds90ub960 5-0030":0 [ENABLED,IMMUTABLE] - entity 39: tevi-ap1302 6-003d (1 pad, 1 link, 2 routes) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev4 routes: 0/0 -> 0/0 [ACTIVE, IMMUTABLE, SOURCE] 0/0 -> 0/1 [INACTIVE, IMMUTABLE, SOURCE] pad0: Source [stream:0 fmt:UYVY8_2X8/1280x720@1/30 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range] -> "ds90ub953 5-0054":0 [ENABLED,IMMUTABLE] - entity 45: 4500000.ticsi2rx context 0 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "4500000.ticsi2rx":1 [ENABLED,IMMUTABLE] - entity 51: 4500000.ticsi2rx context 1 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Sink <- "4500000.ticsi2rx":2 [ENABLED,IMMUTABLE] - entity 57: 4500000.ticsi2rx context 2 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video4 pad0: Sink <- "4500000.ticsi2rx":3 [ENABLED,IMMUTABLE] - entity 63: 4500000.ticsi2rx context 3 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video5 pad0: Sink <- "4500000.ticsi2rx":4 [ENABLED,IMMUTABLE] - entity 69: 4500000.ticsi2rx context 4 (1 pad, 1 link, 0 route) type Node subtype V4L flags 0 device node name /dev/video6 pad0: Sink <- "4500000.ticsi2rx":5 [ENABLED,IMMUTABLE]
After the settings are completed, the camera can operate normally.
But why can 4500000.ticsi2rx & cdns_csi2rx.4504000.csi-bridge not be upgraded ?
And I also cannot get why DS90UB962 need update itself, but DS90UB953 doesn't have to do that ?