G720 how to enable HDMI RX (RX:it6625)

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

  1. enable hdmi 2) disable hdmi
  2. get device info 4) check cable
  3. get video info 6) check video locked
  4. get audio info 8) check audio locked
  5. 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 ?