[libcamera-devel] RockPi 4 and imx219 video sensor capture
Helen Koike
helen.koike at collabora.com
Wed Dec 11 23:45:57 CET 2019
Hi Joacim,
On 12/11/19 3:14 PM, Joacim Zetterling wrote:
> Hi!
>
> My name is Joacim Zetterling and I'm following Your work of the Rockchip ISP implementation with a big interest (having a project involving a RockPi 4 and the imx219 camera sensor).
> And I'm hopping You have some time to answer some questions?
Sure
>
> I have an own buildroot system with mainline u-boot and Your kernel branch for the RKISP (v12), modified the buildroot with Your libcamera package and an own implementation of the imx219 driver (based on the mainline version).
>
> Every seems OK, ISP, driver, camera etc. but I can not capture any correct images and is hopping You can give me some hints. I'm usually only working with network drivers and switches ;-).
>
> I've posted some logs down below in the mail.
>
> Some questions!
> How did You test the ISP+driver? With libcam/cam for the ov5647?
I'm streaming with libcamera
cam -c "ov5647 4-0036" -C --file="/tmp/libcamframe#.data" -s width=1280,height=960
And viewing the files with:
ffplay -loglevel warning -v info -f rawvideo -pixel_format nv12 -video_size 1280x960 nfsshare/arm64_rootfs/tmp/libcamframe-000013.data
You need to patch libcamera, the branch I was using was this one:
https://gitlab.collabora.com/koike/libcamera.git
I have a more up-to-date version, but for some reason I can't push to my repo (probably some silly local setting error), but it should work with the current one.
> Can You use v4l2-ctl or media-ctl to capture images in Your system?
Yes
> Do You have examples of v4l2-ctl or media-ctl sequences?
# Sensor
--------
v4l2-ctl --set-subdev-fmt pad=0,width=1280,height=960,code=0x3001 -d /dev/v4l-subdev1
root at rockpi:~# v4l2-ctl --get-subdev-fmt 0 -d /dev/v4l-subdev1
ioctl: VIDIOC_SUBDEV_G_FMT (pad=0)
Width/Height : 1280/960
Mediabus Code : 0x3001 (MEDIA_BUS_FMT_SBGGR8_1X8)
Field : None
Colorspace : Default
Transfer Function : Default (maps to Rec. 709)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
# ISP
--------
v4l2-ctl --set-subdev-fmt pad=0,width=1280,height=960,code=0x3001 -d /dev/v4l-subdev0
v4l2-ctl --set-subdev-fmt pad=2,width=800,height=600,code=0x2008 -d /dev/v4l-subdev0
v4l2-ctl --get-subdev-fmt 0 -d /dev/v4l-subdev0
ioctl: VIDIOC_SUBDEV_G_FMT (pad=0)
Width/Height : 1280/960
Mediabus Code : 0x3001 (MEDIA_BUS_FMT_SBGGR8_1X8)
Field : None
Colorspace : Default
Transfer Function : Default (maps to Rec. 709)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
v4l2-ctl --get-subdev-fmt 2 -d /dev/v4l-subdev0
ioctl: VIDIOC_SUBDEV_G_FMT (pad=2)
Width/Height : 800/600
Mediabus Code : 0x2008 (MEDIA_BUS_FMT_YUYV8_2X8)
Field : None
Colorspace : Default
Transfer Function : Default (maps to Rec. 709)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Full Range
# Main capture
--------------
v4l2-ctl -v width=1280,height=960,pixelformat=NV12 -d /dev/video1
v4l2-ctl -V -d /dev/video1
Format Video Capture Multiplanar:
Width/Height : 1280/960
Pixel Format : 'NV12' (Y/CbCr 4:2:0)
Field : None
Number of planes : 1
Flags :
Colorspace : Default
Transfer Function : Default
YCbCr/HSV Encoding: Default
Quantization : Full Range
Plane 0 :
Bytes per Line : 1280
Size Image : 1843200
# Stream
---------
v4l2-ctl --stream-mmap --stream-count=10 -d /dev/video1 --stream-to=/tmp/test.raw
ffplay -loglevel warning -v info -f rawvideo -pixel_format nv12 -video_size "1280x960" /tmp/test.raw
NOTE: there is a bug setting the format on pad 2 in the ISP (fix is wip), but it should work anyway.
> What kind of system are You using?
I'm using a Debian through nfs
>
> If You need any help of investigate or test, I'm gladly to help You! ;-)
Thanks!
>
> Regards!
> /Joacim
>
> #########################################################
> Log of a running session:
> #########################################################
>
> U-Boot 2020.01-rc4 (Dec 11 2019 - 09:19:21 +0100)
>
> Model: Radxa ROCK Pi 4
> DRAM: 3.9 GiB
> PMIC: RK808
> MMC: dwmmc at fe320000: 1, sdhci at fe330000: 0
> Loading Environment from MMC... Card did not respond to voltage select!
> *** Warning - No block device, using default environment
>
> In: serial at ff1a0000
> Out: serial at ff1a0000
> Err: serial at ff1a0000
> Model: Radxa ROCK Pi 4
> rockchip_dnl_key_pressed: adc_channel_single_shot fail!
> Net: eth0: ethernet at fe300000
> Hit any key to stop autoboot: 0
> Card did not respond to voltage select!
> switch to partitions #0, OK
> mmc1 is current device
> Scanning mmc 1:4...
> Found /extlinux/extlinux.conf
> Retrieving file: /extlinux/extlinux.conf
> 290 bytes read in 11 ms (25.4 KiB/s)
> 1: kernel-mainline
> Retrieving file: /Image
> 26155520 bytes read in 1802 ms (13.8 MiB/s)
> append: earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 coherent_pool=1m earlyprintk console=ttyS2,1500000n8 video=HDMI-A-1:12
> 80x1024 at 60 root=/dev/mmcblk1p5 rootwait rw rootfstype=ext4 init=/sbin/init ipv6.disable=1 loglevel=9
> Retrieving file: /rk3399-rock-pi-4.dtb
> 54919 bytes read in 17 ms (3.1 MiB/s)
> ## Flattened Device Tree blob at 01f00000
> Booting using the fdt blob at 0x1f00000
> Loading Device Tree to 00000000f5f14000, end 00000000f5f24686 ... OK
>
> Starting kernel ...
>
> [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
> [ 0.000000] Linux version 5.4.0-rc1 (joaze at wsevst-c0022) (gcc version 8.3.0 (Buildroot 2020.02-git-00280-gaf42fc988e-dirt
> y)) #1 SMP PREEMPT Wed Dec 11 09:18:01 CET 2019
> [ 0.000000] Machine model: Radxa ROCK Pi 4
> [ 0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
> [ 0.000000] printk: bootconsole [uart8250] enabled
> [ 0.000000] efi: Getting EFI parameters from FDT:
> [ 0.000000] efi: UEFI not found.
> [ 0.000000] cma: Reserved 32 MiB at 0x00000000f6000000
> [ 0.000000] NUMA: No NUMA configuration found
> [ 0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x00000000f7ffffff]
> [ 0.000000] NUMA: NODE_DATA [mem 0xf57e0800-0xf57e1fff]
> [ 0.000000] Zone ranges:
> [ 0.000000] DMA32 [mem 0x0000000000200000-0x00000000f7ffffff]
> [ 0.000000] Normal empty
> [ 0.000000] Movable zone start for each node
> [ 0.000000] Early memory node ranges
> [ 0.000000] node 0: [mem 0x0000000000200000-0x00000000f7ffffff]
> [ 0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000000f7ffffff]
> [ 0.000000] On node 0 totalpages: 1015296
> [ 0.000000] DMA32 zone: 15864 pages used for memmap
> [ 0.000000] DMA32 zone: 0 pages reserved
> [ 0.000000] DMA32 zone: 1015296 pages, LIFO batch:63
> [ 0.000000] psci: probing for conduit method from DT.
> [ 0.000000] psci: PSCIv1.0 detected in firmware.
> [ 0.000000] psci: Using standard PSCI v0.2 function IDs
> [ 0.000000] psci: Trusted OS migration not required
> [ 0.000000] psci: SMC Calling Convention v1.0
> [ 0.000000] percpu: Embedded 22 pages/cpu s52952 r8192 d28968 u90112
> [ 0.000000] pcpu-alloc: s52952 r8192 d28968 u90112 alloc=22*4096
> [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [0] 4 [0] 5
> [ 0.000000] Detected VIPT I-cache on CPU0
> [ 0.000000] CPU features: detected: ARM erratum 845719
> [ 0.000000] CPU features: detected: GIC system register CPU interface
> [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 999432
> [ 0.000000] Policy zone: DMA32
> [ 0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 coherent_pool=1m earlyprintk console=ttyS2
> ,1500000n8 video=HDMI-A-1:1280x1024 at 60 root=/dev/mmcblk1p5 rootwait rw rootfstype=ext4 init=/sbin/init ipv6.disable=1 loglev
> el=9
> ...
> ...
> ...
> #
> #
> # media-ctl -p -d /dev/media0
> Media controller API version 5.4.0
>
> Media device information
> ------------------------
> driver rkisp1
> model rkisp1
> serial
> bus info platform: rkisp1
> hw revision 0x0
> driver version 5.4.0
>
> Device topology
> - entity 1: rkisp1-isp-subdev (4 pads, 5 links)
> type V4L2 subdev subtype Unknown flags 0
> device node name /dev/v4l-subdev0
> pad0: Sink
> [fmt:SRGGB10_1X10/800x600 field:none
> crop.bounds:(0,0)/800x600
> crop:(0,0)/800x600]
> <- "imx219 4-0010":0 [ENABLED]
> pad1: Sink
> [fmt:FIXED/800x600 field:none]
> <- "rkisp1-input-params":0 [ENABLED]
> pad2: Source
> [fmt:YUYV8_2X8/800x600 field:none
> crop.bounds:(0,0)/800x600
> crop:(0,0)/800x600]
> -> "rkisp1_mainpath":0 [ENABLED]
> -> "rkisp1_selfpath":0 [ENABLED]
> pad3: Source
> [fmt:FIXED/800x600 field:none]
> -> "rkisp1-statistics":0 [ENABLED]
>
> - entity 6: rkisp1_selfpath (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video0
> pad0: Sink
> <- "rkisp1-isp-subdev":2 [ENABLED]
>
> - entity 10: rkisp1_mainpath (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video1
> pad0: Sink
> <- "rkisp1-isp-subdev":2 [ENABLED]
>
> - entity 14: rkisp1-statistics (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video2
> pad0: Sink
> <- "rkisp1-isp-subdev":3 [ENABLED]
>
> - entity 18: rkisp1-input-params (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video3
> pad0: Source
> -> "rkisp1-isp-subdev":1 [ENABLED]
>
> - entity 22: imx219 4-0010 (1 pad, 1 link)
> type V4L2 subdev subtype Sensor flags 0
> device node name /dev/v4l-subdev1
> pad0: Source
> [fmt:SBGGR10_1X10/1920x1080 at 10000/300000 field:none]
> -> "rkisp1-isp-subdev":0 [ENABLED]
> #
> # v4l2-ctl -d /dev/video0 --all
> Driver Info:
> Driver name : rkisp1
> Card type : rkisp1
> Bus info : platform: rkisp1
> Driver version : 5.4.0
> Capabilities : 0x84201000
> Video Capture Multiplanar
> Streaming
> Extended Pix Format
> Device Capabilities
> Device Caps : 0x04201000
> Video Capture Multiplanar
> Streaming
> Extended Pix Format
> Media Driver Info:
> Driver name : rkisp1
> Model : rkisp1
> Serial :
> Bus info : platform: rkisp1
> Media version : 5.4.0
> Hardware revision: 0x00000000 (0)
> Driver version : 5.4.0
> Interface Info:
> ID : 0x03000007
> Type : V4L Video
> Entity Info:
> ID : 0x00000006 (6)
> Name : rkisp1_selfpath
> Function : V4L2 I/O
> Pad 0x01000009 : 0: Sink
> Link 0x0200001e: from remote pad 0x1000004 of entity 'rkisp1-isp-subdev': Data, Enabled
> Priority: 2
> Format Video Capture Multiplanar:
> Width/Height : 800/600
> Pixel Format : 'YUYV' (YUYV 4:2:2)
> Field : None
> Number of planes : 1
> Flags :
> Colorspace : Default
> Transfer Function : Default
> YCbCr/HSV Encoding: Default
> Quantization : Full Range
> Plane 0 :
> Bytes per Line : 1600
> Size Image : 960000
> #
> # v4l2-ctl -d /dev/v4l-subdev1 --all
> Priority: 0
> Frequency for tuner 0: 0 (0.000000 MHz)
> Tuner 0:
> Name :
> Type : unknown
> Capabilities : 62.5 kHz
> Frequency range : 0.000 MHz - 0.000 MHz
> Signal strength/AFC : 0%/0
> Current audio mode : mono
> Available subchannels:
> Modulator 0:
> Name :
> Type : unknown
> Capabilities : 62.5 kHz
> Frequency range : 0.0 MHz - 0.0 MHz
> Subchannel modulation:
> Video input : 0 (: ok)
> Video output: 0 ()
> Audio input : 0 ()
> Audio output: 0 ()
> Format Video Capture:
> Width/Height : 0/0
> Pixel Format : '' ()
> Field : Any
> Bytes per Line : 0
> Size Image : 0
> Colorspace : Default
> Transfer Function : Default (maps to Rec. 709)
> YCbCr/HSV Encoding: Default (maps to ITU-R 601)
> Quantization : Default (maps to Full Range)
> Format Video Output:
> Width/Height : 0/0
> Pixel Format : '' ()
> Field : Any
> Bytes per Line : 0
> Size Image : 0
> Colorspace : Default
> Transfer Function : Default (maps to Rec. 709)
> YCbCr/HSV Encoding: Default (maps to ITU-R 601)
> Quantization : Default (maps to Full Range)
> Format Video Output Overlay:
> Left/Top : 0/0
> Width/Height: 0/0
> Field : Any
> Chroma Key : 0x00000000
> Global Alpha: 0x00
> Clip Count : 0
> Clip Bitmap : Yes, 0 bits of 0 are set
> Framebuffer Format:
> Capability :
> Flags :
> Width : 0
> Height : 0
> Pixel Format : ''
> Bytes per Line: 0
> Size image : 0
> Colorspace : Default
> Format Sliced VBI Capture:
> Service Set :
> Service Line 0: /
> Service Line 1: /
> Service Line 2: /
> Service Line 3: /
> Service Line 4: /
> Service Line 5: /
> Service Line 6: /
> Service Line 7: /
> Service Line 8: /
> Service Line 9: /
> Service Line 10: /
> Service Line 11: /
> Service Line 12: /
> Service Line 13: /
> Service Line 14: /
> Service Line 15: /
> Service Line 16: /
> Service Line 17: /
> Service Line 18: /
> Service Line 19: /
> Service Line 20: /
> Service Line 21: /
> Service Line 22: /
> Service Line 23: /
> I/O Size : 0
> Format Sliced VBI Output:
> Service Set :
> Service Line 0: /
> Service Line 1: /
> Service Line 2: /
> Service Line 3: /
> Service Line 4: /
> Service Line 5: /
> Service Line 6: /
> Service Line 7: /
> Service Line 8: /
> Service Line 9: /
> Service Line 10: /
> Service Line 11: /
> Service Line 12: /
> Service Line 13: /
> Service Line 14: /
> Service Line 15: /
> Service Line 16: /
> Service Line 17: /
> Service Line 18: /
> Service Line 19: /
> Service Line 20: /
> Service Line 21: /
> Service Line 22: /
> Service Line 23: /
> I/O Size : 0
> Format VBI Capture:
> Sampling Rate : 0 Hz
> Offset : 0 samples (nan secs after leading edge)
> Samples per Line: 0
> Sample Format : ''
> Start 1st Field : 0
> Count 1st Field : 0
> Start 2nd Field : 0
> Count 2nd Field : 0
> Format VBI Output:
> Sampling Rate : 0 Hz
> Offset : 0 samples (nan secs after leading edge)
> Samples per Line: 0
> Sample Format : ''
> Start 1st Field : 0
> Count 1st Field : 0
> Start 2nd Field : 0
> Count 2nd Field : 0
> Format SDR Capture:
> Sample Format : '' ()
> Buffer Size : 0
> Format SDR Output:
> Sample Format : '' ()
> Buffer Size : 0
> Format Metadata Capture:
> Sample Format : '' ()
> Buffer Size : 0
> Format Metadata Output:
> Sample Format : '' ()
> Buffer Size : 0
> Crop Capability Video Capture:
> Bounds : Left 0, Top 0, Width 0, Height 0
> Default : Left 0, Top 0, Width 0, Height 0
> Pixel Aspect: 0/0
> Crop Capability Video Output:
> Bounds : Left 0, Top 0, Width 0, Height 0
> Default : Left 0, Top 0, Width 0, Height 0
> Pixel Aspect: 0/0
> Selection Video Capture: crop, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: crop_default, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: crop_bounds, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: compose, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: compose_default, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: compose_bounds, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: compose_padded, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: native_size, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: crop, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: crop_default, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: crop_bounds, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: compose, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: compose_default, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: compose_bounds, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: compose_padded, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: native_size, Left 0, Top 0, Width 0, Height 0, Flags:
> JPEG compression:
> Quality: 0
> Markers: 0x00000000
> Streaming Parameters Video Capture:
> Frames per second: invalid (0/0)
> Read buffers : 0
> Streaming Parameters Video Output:
> Frames per second: invalid (0/0)
> Write buffers : 0
>
> User Controls
>
> exposure 0x00980911 (int) : min=0 max=4095 step=1 default=1575 value=1575 flags=volatile
> digital_gain 0x00980913 (int) : min=256 max=43663 step=1 default=256 value=256 flags=volatile
> horizontal_flip 0x00980914 (bool) : default=0 value=0
> vertical_flip 0x00980915 (bool) : default=0 value=0
>
> Image Source Controls
>
> vertical_blanking 0x009e0901 (int) : min=686 max=686 step=1 default=686 value=686
> horizontal_blanking 0x009e0902 (int) : min=1524 max=1524 step=1 default=1524 value=1524
> analog_gain 0x009e0903 (int) : min=256 max=2816 step=1 default=512 value=512 flags=volatile
>
> Image Processing Controls
>
> link_frequency 0x009f0901 (intmenu): min=0 max=0 default=0 value=0
> 0: 456000000 (0x1b2e0200)
> pixel_rate 0x009f0902 (int64) : min=0 max=182463120 step=1 default=182463120 value=182463120 flags=rea
> d-only
> test_pattern 0x009f0903 (menu) : min=0 max=13 default=0 value=0
> 0: Disabled
> 1: Solid Black
> 2: Solid White
> 3: Solid Red
> 4: Solid Green
> 5: Solid Blue
> 6: Color Bar
> 7: Fade to Grey Color Bar
> 8: PN9
> 9: 16 Split Color Bar
> 10: 16 Split Inverted Color Bar
> 11: Column Counter
> 12: Inverted Column Counter
> 13: PN31
> # cam -c "imx219 4-0010" -C --file="frame#.data" -s width=1280,height=720,pixelformat=7
> Using camera imx219 4-0010
> Camera configuration adjusted
> [0:06:35.214317519] INFO Camera camera.cpp:654 configuring streams: (0) 1280x720-0x3231564e
> [0:06:36.220371770] ERR V4L2 v4l2_videodevice.cpp:935 /dev/video1[cap]: Failed to queue buffer 2: Input/output error
hmm, I need to take a better look.
Also, I'll see if I can get a rpi camera v2 to test this.
btw, I have a WIP branch (with a bunch of non-ready things, tests, todos, and temporary commits), but is the one I'm
constantly testing, in case you want to check:
https://gitlab.collabora.com/koike/linux/tree/rockchip/isp/v12
Let me know if the commands above work or not.
Thanks
Helen
> Can't queue request
> #
> # media-ctl -d /dev/media0 --set-v4l2 '"imx219 4-0010":0[fmt:SBGGR10_1X10/2592x1944]'
> # media-ctl -d /dev/media0 --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10_1X10/2592x1944]'
> # media-ctl -d /dev/media0 --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/2592x1944]'
> # media-ctl -d /dev/media0 --set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV8_2X8/2592x1944]'
> # media-ctl -d /dev/media0 --set-v4l2 '"rkisp1-isp-subdev":2[crop:(0,0)/2592x1944]'
> # v4l2-ctl -d /dev/video0 --set-selection=target=crop,top=336,left=432,width=1920,height=1080 --set-fmt-video=width=1280,height=720,pixelformat=NV21 --stream-mmap=3 --stream-to=mp_yuv.out --stream-count=1 --stream-poll
> VIDIOC_G_SELECTION: failed: Invalid argument
> select timeout
> #
> # media-ctl -p -d /dev/media0
> Media controller API version 5.4.0
>
> Media device information
> ------------------------
> driver rkisp1
> model rkisp1
> serial
> bus info platform: rkisp1
> hw revision 0x0
> driver version 5.4.0
>
> Device topology
> - entity 1: rkisp1-isp-subdev (4 pads, 5 links)
> type V4L2 subdev subtype Unknown flags 0
> device node name /dev/v4l-subdev0
> pad0: Sink
> [fmt:SBGGR10_1X10/2592x1944 field:none
> crop.bounds:(0,0)/2592x1944
> crop:(0,0)/2592x1944]
> <- "imx219 4-0010":0 [ENABLED]
> pad1: Sink
> [fmt:FIXED/800x600 field:none]
> <- "rkisp1-input-params":0 []
> pad2: Source
> [fmt:YUYV8_2X8/2592x1944 field:none
> crop.bounds:(0,0)/2592x1944
> crop:(0,0)/2592x1944]
> -> "rkisp1_mainpath":0 [ENABLED]
> -> "rkisp1_selfpath":0 []
> pad3: Source
> [fmt:FIXED/800x600 field:none]
> -> "rkisp1-statistics":0 []
>
> - entity 6: rkisp1_selfpath (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video0
> pad0: Sink
> <- "rkisp1-isp-subdev":2 []
>
> - entity 10: rkisp1_mainpath (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video1
> pad0: Sink
> <- "rkisp1-isp-subdev":2 [ENABLED]
>
> - entity 14: rkisp1-statistics (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video2
> pad0: Sink
> <- "rkisp1-isp-subdev":3 []
>
> - entity 18: rkisp1-input-params (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video3
> pad0: Source
> -> "rkisp1-isp-subdev":1 []
>
> - entity 22: imx219 4-0010 (1 pad, 1 link)
> type V4L2 subdev subtype Sensor flags 0
> device node name /dev/v4l-subdev1
> pad0: Source
> [fmt:SBGGR10_1X10/3280x2464 at 10000/210000 field:none]
> -> "rkisp1-isp-subdev":0 [ENABLED]
>
> # v4l2-ctl -d /dev/video0 --all
> Driver Info:
> Driver name : rkisp1
> Card type : rkisp1
> Bus info : platform: rkisp1
> Driver version : 5.4.0
> Capabilities : 0x84201000
> Video Capture Multiplanar
> Streaming
> Extended Pix Format
> Device Capabilities
> Device Caps : 0x04201000
> Video Capture Multiplanar
> Streaming
> Extended Pix Format
> Media Driver Info:
> Driver name : rkisp1
> Model : rkisp1
> Serial :
> Bus info : platform: rkisp1
> Media version : 5.4.0
> Hardware revision: 0x00000000 (0)
> Driver version : 5.4.0
> Interface Info:
> ID : 0x03000007
> Type : V4L Video
> Entity Info:
> ID : 0x00000006 (6)
> Name : rkisp1_selfpath
> Function : V4L2 I/O
> Pad 0x01000009 : 0: Sink
> Link 0x0200001e: from remote pad 0x1000004 of entity 'rkisp1-isp-subdev': Data
> Priority: 2
> Format Video Capture Multiplanar:
> Width/Height : 1280/720
> Pixel Format : 'NV21' (Y/CrCb 4:2:0)
> Field : None
> Number of planes : 1
> Flags :
> Colorspace : Default
> Transfer Function : Default
> YCbCr/HSV Encoding: Default
> Quantization : Full Range
> Plane 0 :
> Bytes per Line : 1280
> Size Image : 1382400
> # v4l2-ctl -d /dev/v4l-subdev1 --all
> Priority: 0
> Frequency for tuner 0: 0 (0.000000 MHz)
> Tuner 0:
> Name :
> Type : unknown
> Capabilities : 62.5 kHz
> Frequency range : 0.000 MHz - 0.000 MHz
> Signal strength/AFC : 0%/0
> Current audio mode : mono
> Available subchannels:
> Modulator 0:
> Name :
> Type : unknown
> Capabilities : 62.5 kHz
> Frequency range : 0.0 MHz - 0.0 MHz
> Subchannel modulation:
> Video input : 0 (: ok)
> Video output: 0 ()
> Audio input : 0 ()
> Audio output: 0 ()
> Format Video Capture:
> Width/Height : 0/0
> Pixel Format : '' ()
> Field : Any
> Bytes per Line : 0
> Size Image : 0
> Colorspace : Default
> Transfer Function : Default (maps to Rec. 709)
> YCbCr/HSV Encoding: Default (maps to ITU-R 601)
> Quantization : Default (maps to Full Range)
> Format Video Output:
> Width/Height : 0/0
> Pixel Format : '' ()
> Field : Any
> Bytes per Line : 0
> Size Image : 0
> Colorspace : Default
> Transfer Function : Default (maps to Rec. 709)
> YCbCr/HSV Encoding: Default (maps to ITU-R 601)
> Quantization : Default (maps to Full Range)
> Format Video Output Overlay:
> Left/Top : 0/0
> Width/Height: 0/0
> Field : Any
> Chroma Key : 0x00000000
> Global Alpha: 0x00
> Clip Count : 0
> Clip Bitmap : Yes, 0 bits of 0 are set
> Framebuffer Format:
> Capability :
> Flags :
> Width : 0
> Height : 0
> Pixel Format : ''
> Bytes per Line: 0
> Size image : 0
> Colorspace : Default
> Format Sliced VBI Capture:
> Service Set :
> Service Line 0: /
> Service Line 1: /
> Service Line 2: /
> Service Line 3: /
> Service Line 4: /
> Service Line 5: /
> Service Line 6: /
> Service Line 7: /
> Service Line 8: /
> Service Line 9: /
> Service Line 10: /
> Service Line 11: /
> Service Line 12: /
> Service Line 13: /
> Service Line 14: /
> Service Line 15: /
> Service Line 16: /
> Service Line 17: /
> Service Line 18: /
> Service Line 19: /
> Service Line 20: /
> Service Line 21: /
> Service Line 22: /
> Service Line 23: /
> I/O Size : 0
> Format Sliced VBI Output:
> Service Set :
> Service Line 0: /
> Service Line 1: /
> Service Line 2: /
> Service Line 3: /
> Service Line 4: /
> Service Line 5: /
> Service Line 6: /
> Service Line 7: /
> Service Line 8: /
> Service Line 9: /
> Service Line 10: /
> Service Line 11: /
> Service Line 12: /
> Service Line 13: /
> Service Line 14: /
> Service Line 15: /
> Service Line 16: /
> Service Line 17: /
> Service Line 18: /
> Service Line 19: /
> Service Line 20: /
> Service Line 21: /
> Service Line 22: /
> Service Line 23: /
> I/O Size : 0
> Format VBI Capture:
> Sampling Rate : 0 Hz
> Offset : 0 samples (nan secs after leading edge)
> Samples per Line: 0
> Sample Format : ''
> Start 1st Field : 0
> Count 1st Field : 0
> Start 2nd Field : 0
> Count 2nd Field : 0
> Format VBI Output:
> Sampling Rate : 0 Hz
> Offset : 0 samples (nan secs after leading edge)
> Samples per Line: 0
> Sample Format : ''
> Start 1st Field : 0
> Count 1st Field : 0
> Start 2nd Field : 0
> Count 2nd Field : 0
> Format SDR Capture:
> Sample Format : '' ()
> Buffer Size : 0
> Format SDR Output:
> Sample Format : '' ()
> Buffer Size : 0
> Format Metadata Capture:
> Sample Format : '' ()
> Buffer Size : 0
> Format Metadata Output:
> Sample Format : '' ()
> Buffer Size : 0
> Crop Capability Video Capture:
> Bounds : Left 0, Top 0, Width 0, Height 0
> Default : Left 0, Top 0, Width 0, Height 0
> Pixel Aspect: 0/0
> Crop Capability Video Output:
> Bounds : Left 0, Top 0, Width 0, Height 0
> Default : Left 0, Top 0, Width 0, Height 0
> Pixel Aspect: 0/0
> Selection Video Capture: crop, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: crop_default, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: crop_bounds, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: compose, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: compose_default, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: compose_bounds, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: compose_padded, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Capture: native_size, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: crop, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: crop_default, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: crop_bounds, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: compose, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: compose_default, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: compose_bounds, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: compose_padded, Left 0, Top 0, Width 0, Height 0, Flags:
> Selection Video Output: native_size, Left 0, Top 0, Width 0, Height 0, Flags:
> JPEG compression:
> Quality: 0
> Markers: 0x00000000
> Streaming Parameters Video Capture:
> Frames per second: invalid (0/0)
> Read buffers : 0
> Streaming Parameters Video Output:
> Frames per second: invalid (0/0)
> Write buffers : 0
>
> User Controls
>
> exposure 0x00980911 (int) : min=0 max=4095 step=1 default=1575 value=1575 flags=volatile
> digital_gain 0x00980913 (int) : min=256 max=43663 step=1 default=256 value=256 flags=volatile
> horizontal_flip 0x00980914 (bool) : default=0 value=0
> vertical_flip 0x00980915 (bool) : default=0 value=0
>
> Image Source Controls
>
> vertical_blanking 0x009e0901 (int) : min=36 max=36 step=1 default=36 value=686
> horizontal_blanking 0x009e0902 (int) : min=164 max=164 step=1 default=164 value=1524
> analog_gain 0x009e0903 (int) : min=256 max=2816 step=1 default=512 value=512 flags=volatile
>
> Image Processing Controls
>
> link_frequency 0x009f0901 (intmenu): min=0 max=0 default=0 value=0
> 0: 456000000 (0x1b2e0200)
> pixel_rate 0x009f0902 (int64) : min=180810000 max=180810000 step=1 default=180810000 value=182463120 f
> lags=read-only
> test_pattern 0x009f0903 (menu) : min=0 max=13 default=0 value=0
> 0: Disabled
> 1: Solid Black
> 2: Solid White
> 3: Solid Red
> 4: Solid Green
> 5: Solid Blue
> 6: Color Bar
> 7: Fade to Grey Color Bar
> 8: PN9
> 9: 16 Split Color Bar
> 10: 16 Split Inverted Color Bar
> 11: Column Counter
> 12: Inverted Column Counter
> 13: PN31
> #
>
>
More information about the libcamera-devel
mailing list