Re: [PATCH v5 00/11] Add support for BCM2835 camera interface (unicam)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Stefan,

On 16/02/2022 21:57, Stefan Wahren wrote:
Hi Jean-Michel,

Am 08.02.22 um 16:50 schrieb Jean-Michel Hautbois:
Hello !

...

In order to properly configure the media pipeline, it is needed to call
the usual ioctls, and configure routing in order to send the embedded
data from the sensor to the "unicam-embedded" device node :

```
media=0
media-ctl -d${media} -l "'imx219 2-0010':0->'unicam-subdev':0 [1]"
media-ctl -d${media} -l "'unicam-subdev':1->'unicam-image':0 [1]"
media-ctl -d${media} -v -R "'unicam-subdev' [0/0->1/0[1],0/1->2/0[1]]"
media-ctl -d${media} -V "'imx219 2-0010':0/0 [fmt:SRGGB10_1X10/3280x2464 field:none]"
v4l2-ctl -d0 --set-fmt-video width=3280,height=2464,pixelformat='pRAA',field=none
media-ctl -d${media} -v -V "'imx219 2-0010':0/1 [fmt:METADATA_8/16384x1 field:none]"
media-ctl -d${media} -p
```

i tried to test the unicam driver on a Raspberry Pi 4 with the imx219
camera (based on 5.17-rc4). The unicam & imx219 driver probes and
/dev/video0 is created.

If a execute the first media-ctl command, it complains with invalid
argument 22. Is there a more fool-proof variant to configure this (a
script or something else)? I never used the unicam driver before.

Here is the output of

$ mediactl -d0 -p


Based on your output, I suppose the issue is the naming of the imx219 media entity ('imx219 2-0010' vs 'imx219 5-0010').
You could add a '-v' in the line to help you I suppose.

A more bullet-proof version of the commands is certainly doable, not sure how though as I would not like to rewrite a libcamera-like command ;-).

Media controller API version 5.17.0

Media device information
------------------------
driver          unicam
model           unicam
serial
bus info        platform:fe801000.csi
hw revision     0x0
driver version  5.17.0

Device topology
- entity 1: unicam-subdev (3 pads, 3 links, 2 routes)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev0
     routes:
         0/0 -> 1/0 [ACTIVE]
         0/1 -> 2/0 [ACTIVE]
     pad0: Sink
         [stream:0 fmt:unknown/0x0]
         [stream:1 fmt:unknown/0x0]
         <- "imx219 5-0010":0 [ENABLED,IMMUTABLE]
     pad1: Source
         [stream:0 fmt:unknown/0x0]
         -> "unicam-image":0 [ENABLED,IMMUTABLE]
     pad2: Source
         [stream:0 fmt:unknown/0x0]
         -> "unicam-embedded":0 [ENABLED,IMMUTABLE]

- entity 5: imx219 5-0010 (1 pad, 1 link, 2 routes)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev1
     routes:
         0/0 -> 0/0 [ACTIVE, IMMUTABLE, SOURCE]
         0/0 -> 0/1 [ACTIVE, SOURCE]
     pad0: Source
         [stream:0 fmt:SRGGB10_1X10/3280x2464 field:none colorspace:raw
          crop.bounds:(8,8)/3280x2464
          crop:(8,8)/3280x2464]
         [stream:1 fmt:METADATA_8/16384x1 field:none
          crop.bounds:(8,8)/3280x2464
          crop:(8,8)/3280x2464]
         -> "unicam-subdev":0 [ENABLED,IMMUTABLE]

- entity 9: unicam-image (1 pad, 1 link, 0 route)
             type Node subtype V4L flags 1
             device node name /dev/video0
     pad0: Sink
         <- "unicam-subdev":1 [ENABLED,IMMUTABLE]

- entity 15: unicam-embedded (1 pad, 1 link, 0 route)
              type Node subtype V4L flags 0
              device node name /dev/video1
     pad0: Sink
         <- "unicam-subdev":2 [ENABLED,IMMUTABLE]




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux