[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fc3abf5b-64c7-82c6-ec9c-5c3659c55b49@ideasonboard.com>
Date: Sun, 20 Feb 2022 15:30:48 +0100
From: Jean-Michel Hautbois <jeanmichel.hautbois@...asonboard.com>
To: Stefan Wahren <stefan.wahren@...e.com>
Cc: dave.stevenson@...pberrypi.com, devicetree@...r.kernel.org,
kernel-list@...pberrypi.com, laurent.pinchart@...asonboard.com,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-media@...r.kernel.org, linux-rpi-kernel@...ts.infradead.org,
lukasz@...y.st, mchehab@...nel.org, naush@...pberrypi.com,
robh@...nel.org, tomi.valkeinen@...asonboard.com,
bcm-kernel-feedback-list@...adcom.com
Subject: Re: [PATCH v5 00/11] Add support for BCM2835 camera interface
(unicam)
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]
>
Powered by blists - more mailing lists