G720 how to enable HDMI RX (RX:it6625);now it is failed:
the following LOG:
hdmirx_tool
hdmi_get_driver_version, open /dev/hdmirx fail -1
hdmirx tool version: 1.1.0
hdmirx driver version: 0.0.0
- enable hdmi 2) disable hdmi
- get device info 4) check cable
- get video info 6) check video locked
- get audio info 8) check audio locked
- set test edid
a) start observing b) stop observing
h) help q) quit
1
getchar=1
hdmi_enable[1]
hdmi_enable, open /dev/hdmirx fail -1
getchar=
Hi @wr.zeng ,
The hdmirx-tool is only supported on the Genio-1200, which features the SoC’s built-in HDMIRX function.
It does not support external HDMIRX converter chipsets (e.g., IT6625).
Please refer to the HDMI-RX documentation below:
Thanks.
HDMI-RX — IoT Yocto documentation only for G1200. so for G720 external HDMI RX ,what can I do
Hi @wr.zeng ,
What issues or situations are you encountering with the Genio-720 + IT6625 HDMI-RX setup?
Hi @wr.zeng ,
Note that hdmirx-tool is designed specifically for the Genio SoC’s built-in HDMI Rx hardware, and does not support the IT6625.
The IT6625 is an HDMI-to-MIPI CSI bridge — it converts HDMI input into a MIPI CSI signal, so the Genio 720 uses it as a MIPI CSI camera device rather than an HDMI Rx source.
so I shall like YUV RAW sensor ?
Now :plugin HDMI .on desktop can display IT6625. can I display or record hdmi stream from G720
root@genio-520-evk:~# export MEDIA_DEV=$(v4l2-ctl -z platform:$(basename find /sys/bus/platform/devices/ -name "*seninf-top") --list-devices | grep media)
root@genio-520-evk:~# echo ${MEDIA_DEV}
/dev/media1
root@genio-520-evk:~# declare -a VIDEO_DEV=($(for i in find /sys/bus/platform/devices/ -name "*camsv*" | sort; do media-ctl -d ${MEDIA_DEV} --entity “`basem” ; done))deo stream
root@genio-520-evk:~# echo ${VIDEO_DEV[*]}
/dev/video5 /dev/video6 /dev/video7 /dev/video8 /dev/video9 /dev/video10
The following is info from media-ctl -p .if I want display .what can I do ?
Media controller API version 6.6.92
Media device information
driver mtk-seninf
model mtk-seninf
serial
bus info platform:1a004000.seninf-top
hw revision 0x0
driver version 6.6.92
Device topology
-
entity 1: seninf-1 (5 pads, 25 links, 4 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
routes:
0/0 → 1/0 [ACTIVE]
0/0 → 2/0 [ACTIVE]
0/0 → 3/0 [ACTIVE]
0/0 → 4/0 [ACTIVE]
pad0: Sink
[stream:0 fmt:SBGGR10_1X10/1600x1200 field:none colorspace:srgb]
← “it6625 8-0059”:0
pad1: Source
[stream:0 fmt:SBGGR10_1X10/1600x1200 field:none colorspace:srgb]
→ “1a092000.camsv2”:0
→ “1a093000.camsv3”:0
→ “1a094000.camsv4”:0
→ “1a095000.camsv5”:0
→ “1a096000.camsv6”:0
→ “1a097000.camsv7”:0
pad2: Source
[stream:0 fmt:SBGGR10_1X10/1600x1200 field:none colorspace:srgb]
→ “1a092000.camsv2”:0
→ “1a093000.camsv3”:0
→ “1a094000.camsv4”:0
→ “1a095000.camsv5”:0
→ “1a096000.camsv6”:0
→ “1a097000.camsv7”:0
pad3: Source
[stream:0 fmt:SBGGR10_1X10/1600x1200 field:none colorspace:srgb]
→ “1a092000.camsv2”:0
→ “1a093000.camsv3”:0
→ “1a094000.camsv4”:0
→ “1a095000.camsv5”:0
→ “1a096000.camsv6”:0
→ “1a097000.camsv7”:0
pad4: Source
[stream:0 fmt:SBGGR10_1X10/1600x1200 field:none colorspace:srgb]
→ “1a092000.camsv2”:0
→ “1a093000.camsv3”:0
→ “1a094000.camsv4”:0
→ “1a095000.camsv5”:0
→ “1a096000.camsv6”:0
→ “1a097000.camsv7”:0
-
entity 7: it6625 8-0059 (1 pad, 1 link, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Source
[stream:0 fmt:RGB888_1X24/1920x1080 field:none colorspace:rec709]
[dv.caps:BT.656/1120 min:1x1@0 max:10000x10000@600000000 stds:CEA-861,DMT,CVT,GTF caps:interlaced,progressive,reduced-blanking,custom]
[dv.query:out-of-range]
[dv.current:BT.656/1120 1920x1080p60 (2200x1125) stds:CEA-861,DMT flags:can-reduce-fps,CE-video,has-cea861-vic]
→ “seninf-1”:0
-
entity 15: 1a092000.camsv2 (2 pads, 5 links, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev2
pad0: Sink
[stream:0 fmt:SGRBG10_1X10/1920x1080 field:none colorspace:srgb quantization:full-range]
← “seninf-1”:1
← “seninf-1”:2
← “seninf-1”:3
← “seninf-1”:4
pad1: Source
[stream:0 fmt:SGRBG10_1X10/1920x1080 field:none colorspace:srgb quantization:full-range]
→ “1a092000.camsv2 video stream”:0 [ENABLED,IMMUTABLE]
-
entity 18: 1a092000.camsv2 video stream (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video4
pad0: Sink
← “1a092000.camsv2”:1 [ENABLED,IMMUTABLE]
-
entity 34: 1a093000.camsv3 (2 pads, 5 links, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev3
pad0: Sink
[stream:0 fmt:SGRBG10_1X10/1920x1080 field:none colorspace:srgb quantization:full-range]
← “seninf-1”:1
← “seninf-1”:2
← “seninf-1”:3
← “seninf-1”:4
pad1: Source
[stream:0 fmt:SGRBG10_1X10/1920x1080 field:none colorspace:srgb quantization:full-range]
→ “1a093000.camsv3 video stream”:0 [ENABLED,IMMUTABLE]
-
entity 37: 1a093000.camsv3 video stream (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video6
pad0: Sink
← “1a093000.camsv3”:1 [ENABLED,IMMUTABLE]
-
entity 53: 1a094000.camsv4 (2 pads, 5 links, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev4
pad0: Sink
[stream:0 fmt:SGRBG10_1X10/1920x1080 field:none colorspace:srgb quantization:full-range]
← “seninf-1”:1
← “seninf-1”:2
← “seninf-1”:3
← “seninf-1”:4
pad1: Source
[stream:0 fmt:SGRBG10_1X10/1920x1080 field:none colorspace:srgb quantization:full-range]
→ “1a094000.camsv4 video stream”:0 [ENABLED,IMMUTABLE]
-
entity 56: 1a094000.camsv4 video stream (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video7
pad0: Sink
← “1a094000.camsv4”:1 [ENABLED,IMMUTABLE]
-
entity 72: 1a095000.camsv5 (2 pads, 5 links, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev5
pad0: Sink
[stream:0 fmt:SGRBG10_1X10/1920x1080 field:none colorspace:srgb quantization:full-range]
← “seninf-1”:1
← “seninf-1”:2
← “seninf-1”:3
← “seninf-1”:4
pad1: Source
[stream:0 fmt:SGRBG10_1X10/1920x1080 field:none colorspace:srgb quantization:full-range]
→ “1a095000.camsv5 video stream”:0 [ENABLED,IMMUTABLE]
-
entity 75: 1a095000.camsv5 video stream (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video8
pad0: Sink
← “1a095000.camsv5”:1 [ENABLED,IMMUTABLE]
-
entity 91: 1a096000.camsv6 (2 pads, 5 links, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev6
pad0: Sink
[stream:0 fmt:SGRBG10_1X10/1920x1080 field:none colorspace:srgb quantization:full-range]
← “seninf-1”:1
← “seninf-1”:2
← “seninf-1”:3
← “seninf-1”:4
pad1: Source
[stream:0 fmt:SGRBG10_1X10/1920x1080 field:none colorspace:srgb quantization:full-range]
→ “1a096000.camsv6 video stream”:0 [ENABLED,IMMUTABLE]
-
entity 94: 1a096000.camsv6 video stream (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video9
pad0: Sink
← “1a096000.camsv6”:1 [ENABLED,IMMUTABLE]
-
entity 110: 1a097000.camsv7 (2 pads, 5 links, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev7
pad0: Sink
[stream:0 fmt:SGRBG10_1X10/1920x1080 field:none colorspace:srgb quantization:full-range]
← “seninf-1”:1
← “seninf-1”:2
← “seninf-1”:3
← “seninf-1”:4
pad1: Source
[stream:0 fmt:SGRBG10_1X10/1920x1080 field:none colorspace:srgb quantization:full-range]
→ “1a097000.camsv7 video stream”:0 [ENABLED,IMMUTABLE]
-
entity 113: 1a097000.camsv7 video stream (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video10
pad0: Sink
← “1a097000.camsv7”:1 [ENABLED,IMMUTABLE]
Hi @wr.zeng ,
Once the IT6625 board is connected to the Genio 720 EVK, you can enable the stream using the commands below (for example, using FHD@30). The flow is similar to using a regular YUV sensor on the Genio 720 — the only difference is that you’ll need to configure the DV timing for the IT6625 first.
# Set IT6625 v4l2 sub-device and media graph
export MEDIA_DEV=$(v4l2-ctl -z platform:$(basename `find /sys/bus/platform/devices/ -name "*seninf-top"`) --list-devices | grep media)
echo ${MEDIA_DEV}
declare -a VIDEO_DEV=($(for i in `find /sys/bus/platform/devices/ -name "*camsv*" | sort`; do media-ctl -d ${MEDIA_DEV} --entity "`basename $i` video stream" ; done))
echo ${VIDEO_DEV[*]}
IT6625_SUBDEV=/dev/$(basename `find /sys -name v4l-subdev* | grep 8-0059`)
echo ${IT6625_SUBDEV}
v4l2-ctl -d ${IT6625_SUBDEV} --set-dv-bt-timing index=12 # FHD@30
media-ctl -d ${MEDIA_DEV} -l "'it6625 8-0059':0 -> 'seninf-1':0 [1]"
media-ctl -d ${MEDIA_DEV} -l "'seninf-1':1 -> '1a092000.camsv2':0 [1]"
media-ctl -d ${MEDIA_DEV} -V "'it6625 8-0059':0 [fmt:UYVY8_1X16/1920x1080 field:none]"
media-ctl -d ${MEDIA_DEV} -V "'seninf-1':0 [fmt:UYVY8_1X16/1920x1080 field:none]"
media-ctl -d ${MEDIA_DEV} -V "'1a092000.camsv2':0 [fmt:UYVY8_1X16/1920x1080 field:none]"
# Use v4l2-ctl
v4l2-ctl -v width=1920,height=1080,pixelformat=UYVY --stream-mmap -d ${VIDEO_DEV[0]} --verbose --stream-show-delta-now
# Use gstreamer
gst-launch-1.0 v4l2src device=${VIDEO_DEV[0]} ! video/x-raw,width=1920,height=1080,format=UYVY ! v4l2convert output-io-mode=dmabuf-import ! waylandsink sync=false
we burnin firmware into IT6625. it is not need drivers. exec cmd:v4l2-ctl -d
${IT6625_SUBDEV} --set-dv-bt-timing index=12 it is display error VIDIOC_ENUM_DV_TIMINGS: failed: Inappropriate ioctl for device
VIDIOC_S_DV_TIMINGS: failed: Inappropriate ioctl for device 。 for Android Tv .we do the same. it can display picture when Use Camera App
media-ctl -p :display entity 7: it6625 8-0059 (1 pad, 1 link, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Source
[stream:0 fmt:RGB888_1X24/1920x1080 field:none colorspace:rec709]
[dv.caps:BT.656/1120 min:1x1@0 max:10000x10000@600000000 stds:CEA-861,DMT,CVT,GTF caps:interlaced,progressive,reduced-blanking,custom]
[dv.query:out-of-range]
[dv.current:BT.656/1120 1920x1080p60 (2200x1125) stds:CEA-861,DMT flags:can-reduce-fps,CE-video,has-cea861-vic]
→ “seninf-1”:0 。 it is means MIPI CSI Signal be detected ?