ROCK5Bのユニークな特徴であるHDMI入力(HDMI input)の設定方法について説明します。
ROCK5BのHDMI入力は、HDMI2.0 4k(2160p 60Hz)キャプチャに対応しています。HDMI入力端子の形状はmicro HDMI(タイプD)です。

動作テスト

ROCK5BのHDMI入力はビデオデバイスとして認識され、/dev/video0が割り当てられます。
HDMI入力の情報はv4l2(Video for linux 2)ツールで取得できます。

HDMI入力のデバイス情報を確認する

$ v4l2-ctl -d /dev/video0 -D
Driver Info:
       Driver name      : rk_hdmirx
       Card type        : rk_hdmirx
       Bus info         : fdee0000.hdmirx-controller
       Driver version   : 5.10.66
       Capabilities     : 0x84201000
               Video Capture Multiplanar
               Streaming
               Extended Pix Format
               Device Capabilities
       Device Caps      : 0x04201000
               Video Capture Multiplanar
               Streaming
               Extended Pix Format

HDMI入力の解像度とイメージフォーマットを確認する

$ v4l2-ctl -d /dev/video0 --get-fmt-video
Format Video Capture Multiplanar:
       Width/Height      : 3840/2160
       Pixel Format      : 'NV12' (Y/CbCr 4:2:0)
       Field             : None
       Number of planes  : 1
       Flags             : premultiplied-alpha, 0x000000fe
       Colorspace        : SMPTE 170M
       Transfer Function : Default
       YCbCr/HSV Encoding: Unknown (0x000000ff)
       Quantization      : Default
       Plane 0           :
          Bytes per Line : 3840
          Size Image     : 12441600

タイミング情報を取得する

$ v4l2-ctl -d /dev/video0 --get-dv-timings
DV timings:
       Active width: 3840
       Active height: 2160
       Total width: 4120
       Total height: 2250
       Frame format: progressive
       Polarities: -vsync -hsync
       Pixelclock: 297000000 Hz (32.04 frames per second)
       Horizontal frontporch: 88
       Horizontal sync: 44
       Horizontal backporch: 148
       Vertical frontporch: 8
       Vertical sync: 10
       Vertical backporch: 72
       Standards: 
       Flags:

HDMI入力をキャプチャする

v4l2-ctl --verbose -d /dev/video0 --set-fmt-video=width=3840,height=2160,pixelformat='NV12' --stream-mmap=4 --stream-skip=3 --stream-count=5 --stream-to=/home/rock/hdmiin4k.yuv --stream-poll

キャプチャしたイメージファイルを再生する

ffplay -f rawvideo -video_size 3840x2160 -pixel_format nv12 /home/rock/hdmiin4k.yuv

オーディオ入力の確認

ROCK5Bには2系統のオーディオ入力があります。ひとつがHDMI入力、もうひとつがイヤホンジャックです。

arecordコマンドでオーディオ入力デバイスを確認できます。

$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 2: rockchipes8316 [rockchip-es8316], device 0: fe470000.i2s-ES8316 HiFi es8316.7-0011-0 [fe470000.i2s-ES8316 HiFi es8316.7-0011-0]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 3: rockchiphdmiin [rockchip,hdmiin], device 0: fddf8000.i2s-dummy_codec hdmiin-dc-0 [fddf8000.i2s-dummy_codec hdmiin-dc-0]
 Subdevices: 1/1
 Subdevice #0: subdevice #0

上記の通り、カード3にHDMI入力のオーディオ入力が割り当てられています。以下のコマンドでオーディオもキャプチャできます。

# オーディオを5秒、キャプチャする
$ arecord -Dhw:3,0 -d 5 -f cd -r 44100 -c 2 -t wav /tmp/hdmiin_audio.wav
# イヤホン端子から再生する
$ aplay -D plughw:2,0 /tmp/hdmiin_audio.wav

トラブルシューティング

オーディオを録音できない(read error: Input/output error)

典型例な不具合例は、arecordコマンドで「read error: Input/output error」等、ALSAドライバのエラーが発生し、オーディオを録音できないケースです。
HDMI入力にオーディオ信号が入力されているか、ご確認ください。

参考

Rock5/guide/hdmiin – Radxa Wiki