Ryuz's tech blog

FPGAなどの技術ブログ

Ultra96V2 DisplayPort 挑戦中(作業記録)

はじめに

Ultra96V2 の Display Port 出力に挑戦中です。 なお、現時点ではあくまで作業記録であって、なかなかこれと言った安定した表示方法にたどり着けてはいません。

環境は例によって ikwzmさんのDebian GNU/Linux (v2019.2版) ブートイメージを利用させていただいております。

とりあえず何か絵が出始めたので、自分用メモ書きです。

動作画面

SoCのもつ性能的には、Linux側のメモリからの出力に対して、さらに、ビデオとグラフィックスの2レイヤーをαブレンドしたり、ピクチャーinピクチャーで表示したりできるだけの性能を有しているようですが、如何せんすでにLinuxコマンドプロンプトが表示されている画面にプログラマブルロジックから絵を出そうという話なので、しくじるとLinuxを落としてしまう可能性すらあるわけで、関連要素が多そうです。

参考にした情報

FPGAの部屋

@marsee101さんの下記の記事を大いに参考にさせて頂きました。

なお、さらに元ネタは、ひでみさんのFPGAの内容が薄い本とのことです。

Xilinxの情報

とりあえず主だってはこの辺でしょうか。

読んだだけだとよくわからないのと、どっちみち Linux がどう扱っているかも知らないといけないわけで。

やってみたこと

作ったコード

まだ固まっていませんが試行錯誤中のコードをこの辺りに置いております。

レジスタ操作

レジスタを書き換えるコマンドは先人の手法をマネしてこんなのを作りました。

表示制御に重要そうなのは下記の3つのようです。

下記を実行してから

sudo memwrite 0xfd4aa00c 0xff
sudo memwrite 0xfd4ab120 0x00
sudo memwrite 0xfd4ab070 0x3c

PLに回路をダウンロードすると絵が出るようです。

順番を逆にすると画面が乱れるのでこれも謎です。

戻すには

sudo memwrite 0xfd4aa00c 0x1ff
sudo memwrite 0xfd4ab120 0x007
sudo memwrite 0xfd4ab070 0x57

とすれば値は元に戻りますが画面は復帰しないようです。

いろいろわかってきたこと

PS側に合わせる

Zynqブロックから出力される合成後の信号である

dp_video_ref_clk
dp_live_video_de_out
dp_video_out_hsync
dp_video_out_vsync

に同期して絵作りして

dp_video_in_clk
dp_live_video_in_pixel1

に入れるという事をすると、AV_BUF_AUD_VID_CLK_SOURCE を弄らなくても実は絵が出せる模様です。 ただし、当然ながら出力後のタイミングで入力を作るので映像が遅れて右にずれて絵が出ます。

このケースでは dp_video_ref_clk と dp_video_in_clk を直結して実験しました。

外部でタイミングを作る

次に外部で信号を作る場合、外で作ったビデオ同期を

dp_video_in_clk
dp_live_video_in_vsync
dp_live_video_in_hsync
dp_live_video_in_de_0
dp_live_video_in_pixel1

に入れる方法です。

この場合そのままだと画面が流れるので AV_BUF_AUD_VID_CLK_SOURCE を弄って外部同期にする必要があるようです。

なお、今回は外部のクロックにもそのまま dp_video_in_clk を使ってしまった。

次のアプローチ案

この際なので AV_BUF_AUD_VID_CLK_SOURCE はそのままに、別途カウンタを用意して合成コアの遅延分巻き戻した絵作りができないか企んでみようかなとか考えています。

良くも悪くも勝手にレジスタ書き換えてタイミングマスタを変えるというのは、Linuxのシステム側にはびっくりなわけで、やるならちゃんと手順を踏まねばなりません。 それに対して、もしタイミングマスタそのままで合成できるのであれば、変えるのはブレンド係数だけなので、比較的安全な手順でできる気がします。 問題は、出力タイミングだけ見て、入力タイミングがうまく作れるかどうかですね。固定タイミングを繰り返してくれている分には何とかなるのではないかとは思うのですが、実験してみないと何ともです。

色並びの問題

今、こういうコードで、画面左から 黒-青-緑-赤を期待しているのですが、残念ながらそうなりません。

    reg     [35:0]  tmp_pixel;
    always @* begin
        if ( reg_x == reg_y ) begin
            tmp_pixel = {12'hfff, 12'hfff, 12'hfff};
        end
        else begin
            if ( reg_x < 512 ) begin
                tmp_pixel[0*12 +: 12] = 12'h000;
                tmp_pixel[1*12 +: 12] = 12'h000;
                tmp_pixel[2*12 +: 12] = 12'h000;
            end
            else if ( reg_x < 1024 ) begin
                tmp_pixel[0*12 +: 12] = 12'hfff;
                tmp_pixel[1*12 +: 12] = 12'h000;
                tmp_pixel[2*12 +: 12] = 12'h000;
            end
            else if ( reg_x < 1024+512 ) begin
                tmp_pixel[0*12 +: 12] = 12'h000;
                tmp_pixel[1*12 +: 12] = 12'hfff;
                tmp_pixel[2*12 +: 12] = 12'h000;
            end
            else begin
                tmp_pixel[0*12 +: 12] = 12'h000;
                tmp_pixel[1*12 +: 12] = 12'h000;
                tmp_pixel[2*12 +: 12] = 12'hfff;
            end
        end
    end
    assign dp_live_video_in_pixel1_0 = tmp_pixel;

最初の表示

なぜか V_BLEND_OUTPUT_VID_FORMAT(0xFD4AA014) を 0 -> 1 に書き換えると(RGB出力をYCbCrに変える)と期待した並びになった。 当然 YCbCr なんか意図していないので謎です。

ちなみにmarsee101さんも同じ症状と教えていただきました(有難うございます)。

期待した表示

RGBとYCbCrの変換係数のレジスタが、全然変換係数ではない初期値のようなので、これが何か偶然いい方向に作用しているのかもしれません。

0xfd4aa020 V_BLEND_RGB2YCBCR_COEFF0                 : 0x00001000 (4096)
0xfd4aa024 V_BLEND_RGB2YCBCR_COEFF1                 : 0x00000000 (0)
0xfd4aa028 V_BLEND_RGB2YCBCR_COEFF2                 : 0x00000000 (0)
0xfd4aa02c V_BLEND_RGB2YCBCR_COEFF3                 : 0x00000000 (0)
0xfd4aa030 V_BLEND_RGB2YCBCR_COEFF4                 : 0x00001000 (4096)
0xfd4aa034 V_BLEND_RGB2YCBCR_COEFF5                 : 0x00000000 (0)
0xfd4aa038 V_BLEND_RGB2YCBCR_COEFF6                 : 0x00000000 (0)
0xfd4aa03c V_BLEND_RGB2YCBCR_COEFF7                 : 0x00000000 (0)
0xfd4aa040 V_BLEND_RGB2YCBCR_COEFF8                 : 0x00001000 (4096)

少し追加で実験すると

 V_BLEND_RGB2YCBCR_COEFF0 0x00001000 -> 0x00000000 [23:12] で出している色が消えた
 V_BLEND_RGB2YCBCR_COEFF4 0x00001000 -> 0x00000000 [11:0]  で出している色が消えた
 V_BLEND_RGB2YCBCR_COEFF8 0x00001000 -> 0x00000000 [35:24] で出している色が消えた

という結果でした。 どうやらマトリックスの対応順はbit並び順とは異なるようです(これが原因?)。

Linux のドライバを試してみる(おまけ)

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842105/ZynqMP+DisplayPort+Linux+driver を参考に少し実験してみました。

echo "set_input 1920 1080 0x100e" > /sys/kernel/debug/xlnx-bridge/xlnx_bridge-vid-layer

すると

AV_BUF_LIVE_VID_CONFIG : 0x00000000 -> 0x00000001

という変化が見られました。

続けて

echo "enable" > /sys/kernel/debug/xlnx-bridge/xlnx_bridge-vid-layer

すると、ここでプロンプトが消え

DP_TX_USER_FIFO_OVERFLOW         : 0x00000000 -> 0x00000001
V_BLEND_LAYER0_CONTROL           : 0x00000000 -> 0x00000002
AV_BUF_OUTPUT_AUDIO_VIDEO_SELECT : 0x00000057 -> 0x00000054

という変化が起こっていました

なお

echo "disable" > /sys/kernel/debug/xlnx-bridge/xlnx_bridge-vid-layer

としても表示はもう元には戻らなかったです。

Debian起動直後の DP関連のレジスタのログ

FullHD(1920x1080)のモニタを繋いだ状態で起動して、レジスタをダンプしたところ下記のような感じでした。

0xfd4a0000 DP_LINK_BW_SET                           : 0x0000000a (10)
0xfd4a0004 DP_LANE_COUNT_SET                        : 0x00000002 (2)
0xfd4a0008 DP_ENHANCED_FRAME_EN                     : 0x00000001 (1)
0xfd4a000c DP_TRAINING_PATTERN_SET                  : 0x00000000 (0)
0xfd4a0010 DP_LINK_QUAL_PATTERN_SET                 : 0x00000000 (0)
0xfd4a0014 DP_SCRAMBLING_DISABLE                    : 0x00000000 (0)
0xfd4a0018 DP_DOWNSPREAD_CTRL                       : 0x00000001 (1)
0xfd4a001c DP_SOFTWARE_RESET                        : 0x00000000 (0)
0xfd4a0020 DP_COMP_PATTERN_80BIT_1                  : 0x00000000 (0)
0xfd4a0024 DP_COMP_PATTERN_80BIT_2                  : 0x00000000 (0)
0xfd4a0028 DP_COMP_PATTERN_80BIT_3                  : 0x00000000 (0)
0xfd4a0080 DP_TRANSMITTER_ENABLE                    : 0x00000001 (1)
0xfd4a0084 DP_MAIN_STREAM_ENABLE                    : 0x00000001 (1)
0xfd4a00c0 DP_FORCE_SCRAMBLER_RESET                 : 0x00000000 (0)
0xfd4a00f8 DP_VERSION_REGISTER                      : 0x04010000 (67174400)
0xfd4a00fc DP_CORE_ID                               : 0x01020000 (16908288)
0xfd4a0100 DP_AUX_COMMAND_REGISTER                  : 0x00000800 (2048)
0xfd4a0104 DP_AUX_WRITE_FIFO                        : 0x00000000 (0)
0xfd4a0108 DP_AUX_ADDRESS                           : 0x00000102 (258)
0xfd4a010c DP_AUX_CLOCK_DIVIDER                     : 0x00002864 (10340)
0xfd4a0110 DP_TX_USER_FIFO_OVERFLOW                 : 0x00000000 (0)
0xfd4a0130 DP_INTERRUPT_SIGNAL_STATE                : 0x00000001 (1)
0xfd4a0134 DP_AUX_REPLY_DATA                        : 0x00000000 (0)
0xfd4a0138 DP_AUX_REPLY_CODE                        : 0x00000000 (0)
0xfd4a013c DP_AUX_REPLY_COUNT                       : 0x00000000 (0)
0xfd4a0148 DP_REPLY_DATA_COUNT                      : 0x00000000 (0)
0xfd4a014c DP_REPLY_STATUS                          : 0x00000010 (16)
0xfd4a0150 DP_HPD_DURATION                          : 0x00000000 (0)
0xfd4a0180 DP_MAIN_STREAM_HTOTAL                    : 0x00000898 (2200)
0xfd4a0184 DP_MAIN_STREAM_VTOTAL                    : 0x00000465 (1125)
0xfd4a0188 DP_MAIN_STREAM_POLARITY                  : 0x00000003 (3)
0xfd4a018c DP_MAIN_STREAM_HSWIDTH                   : 0x0000002c (44)
0xfd4a0190 DP_MAIN_STREAM_VSWIDTH                   : 0x00000005 (5)
0xfd4a0194 DP_MAIN_STREAM_HRES                      : 0x00000780 (1920)
0xfd4a0198 DP_MAIN_STREAM_VRES                      : 0x00000438 (1080)
0xfd4a019c DP_MAIN_STREAM_HSTART                    : 0x000000c0 (192)
0xfd4a01a0 DP_MAIN_STREAM_VSTART                    : 0x00000029 (41)
0xfd4a01a4 DP_MAIN_STREAM_MISC0                     : 0x00000020 (32)
0xfd4a01a8 DP_MAIN_STREAM_MISC1                     : 0x00000000 (0)
0xfd4a01ac DP_MAIN_STREAM_M_VID                     : 0x00000000 (0)
0xfd4a01b0 DP_MSA_TRANSFER_UNIT_SIZE                : 0x00000040 (64)
0xfd4a01b4 DP_MAIN_STREAM_N_VID                     : 0x00000000 (0)
0xfd4a01b8 DP_USER_PIX_WIDTH                        : 0x00000001 (1)
0xfd4a01bc DP_USER_DATA_COUNT_PER_LANE              : 0x00000b3e (2878)
0xfd4a01c4 DP_MIN_BYTES_PER_TU                      : 0x00000034 (52)
0xfd4a01c8 DP_FRAC_BYTES_PER_TU                     : 0x00000320 (800)
0xfd4a01cc DP_INIT_WAIT                             : 0x0000000c (12)
0xfd4a0200 DP_PHY_RESET                             : 0x00010000 (65536)
0xfd4a0230 DP_TRANSMIT_PRBS7                        : 0x00000000 (0)
0xfd4a0234 DP_PHY_CLOCK_SELECT                      : 0x00000003 (3)
0xfd4a0238 DP_TX_PHY_POWER_DOWN                     : 0x00000000 (0)
0xfd4a024c DP_PHY_PRECURSOR_LANE_0                  : 0x00000002 (2)
0xfd4a0250 DP_PHY_PRECURSOR_LANE_1                  : 0x00000002 (2)
0xfd4a0280 DP_PHY_STATUS                            : 0x0000001f (31)
0xfd4a0300 DP_TX_AUDIO_CONTROL                      : 0x00000001 (1)
0xfd4a0304 DP_TX_AUDIO_CHANNELS                     : 0x00000001 (1)
0xfd4a0308 DP_TX_AUDIO_INFO_DATA0                   : 0x00000000 (0)
0xfd4a030c DP_TX_AUDIO_INFO_DATA1                   : 0x00000000 (0)
0xfd4a0310 DP_TX_AUDIO_INFO_DATA2                   : 0x00000000 (0)
0xfd4a0314 DP_TX_AUDIO_INFO_DATA3                   : 0x00000000 (0)
0xfd4a0318 DP_TX_AUDIO_INFO_DATA4                   : 0x00000000 (0)
0xfd4a031c DP_TX_AUDIO_INFO_DATA5                   : 0x00000000 (0)
0xfd4a0320 DP_TX_AUDIO_INFO_DATA6                   : 0x00000000 (0)
0xfd4a0324 DP_TX_AUDIO_INFO_DATA7                   : 0x00000000 (0)
0xfd4a0328 DP_TX_M_AUD                              : 0x00000000 (0)
0xfd4a032c DP_TX_N_AUD                              : 0x00000000 (0)
0xfd4a0330 DP_TX_AUDIO_EXT_DATA0                    : 0x00000000 (0)
0xfd4a0334 DP_TX_AUDIO_EXT_DATA1                    : 0x00000000 (0)
0xfd4a0338 DP_TX_AUDIO_EXT_DATA2                    : 0x00000000 (0)
0xfd4a033c DP_TX_AUDIO_EXT_DATA3                    : 0x00000000 (0)
0xfd4a0340 DP_TX_AUDIO_EXT_DATA4                    : 0x00000000 (0)
0xfd4a0344 DP_TX_AUDIO_EXT_DATA5                    : 0x00000000 (0)
0xfd4a0348 DP_TX_AUDIO_EXT_DATA6                    : 0x00000000 (0)
0xfd4a034c DP_TX_AUDIO_EXT_DATA7                    : 0x00000000 (0)
0xfd4a0350 DP_TX_AUDIO_EXT_DATA8                    : 0x00000000 (0)
0xfd4a03a0 DP_INT_STATUS                            : 0x0000e000 (57344)
0xfd4a03a4 DP_INT_MASK                              : 0xf000e000 (4026589184)
0xfd4a03a8 DP_INT_EN                                : 0x00000000 (0)
0xfd4a03ac DP_INT_DS                                : 0x00000000 (0)
0xfd4aa000 V_BLEND_BG_CLR_0                         : 0x00000000 (0)
0xfd4aa004 V_BLEND_BG_CLR_1                         : 0x00000000 (0)
0xfd4aa008 V_BLEND_BG_CLR_2                         : 0x00000000 (0)
0xfd4aa00c V_BLEND_SET_GLOBAL_ALPHA_REG             : 0x000001ff (511)
0xfd4aa014 V_BLEND_OUTPUT_VID_FORMAT                : 0x00000000 (0)
0xfd4aa018 V_BLEND_LAYER0_CONTROL                   : 0x00000000 (0)
0xfd4aa01c V_BLEND_LAYER1_CONTROL                   : 0x00000002 (2)
0xfd4aa020 V_BLEND_RGB2YCBCR_COEFF0                 : 0x00001000 (4096)
0xfd4aa024 V_BLEND_RGB2YCBCR_COEFF1                 : 0x00000000 (0)
0xfd4aa028 V_BLEND_RGB2YCBCR_COEFF2                 : 0x00000000 (0)
0xfd4aa02c V_BLEND_RGB2YCBCR_COEFF3                 : 0x00000000 (0)
0xfd4aa030 V_BLEND_RGB2YCBCR_COEFF4                 : 0x00001000 (4096)
0xfd4aa034 V_BLEND_RGB2YCBCR_COEFF5                 : 0x00000000 (0)
0xfd4aa038 V_BLEND_RGB2YCBCR_COEFF6                 : 0x00000000 (0)
0xfd4aa03c V_BLEND_RGB2YCBCR_COEFF7                 : 0x00000000 (0)
0xfd4aa040 V_BLEND_RGB2YCBCR_COEFF8                 : 0x00001000 (4096)
0xfd4aa044 V_BLEND_IN1CSC_COEFF0                    : 0x00001000 (4096)
0xfd4aa048 V_BLEND_IN1CSC_COEFF1                    : 0x00000000 (0)
0xfd4aa04c V_BLEND_IN1CSC_COEFF2                    : 0x00000000 (0)
0xfd4aa050 V_BLEND_IN1CSC_COEFF3                    : 0x00000000 (0)
0xfd4aa054 V_BLEND_IN1CSC_COEFF4                    : 0x00001000 (4096)
0xfd4aa058 V_BLEND_IN1CSC_COEFF5                    : 0x00000000 (0)
0xfd4aa05c V_BLEND_IN1CSC_COEFF6                    : 0x00000000 (0)
0xfd4aa060 V_BLEND_IN1CSC_COEFF7                    : 0x00000000 (0)
0xfd4aa064 V_BLEND_IN1CSC_COEFF8                    : 0x00001000 (4096)
0xfd4aa068 V_BLEND_LUMA_IN1CSC_OFFSET               : 0x00000000 (0)
0xfd4aa06c V_BLEND_CR_IN1CSC_OFFSET                 : 0x00000000 (0)
0xfd4aa070 V_BLEND_CB_IN1CSC_OFFSET                 : 0x00000000 (0)
0xfd4aa074 V_BLEND_LUMA_OUTCSC_OFFSET               : 0x00000000 (0)
0xfd4aa078 V_BLEND_CR_OUTCSC_OFFSET                 : 0x00000000 (0)
0xfd4aa07c V_BLEND_CB_OUTCSC_OFFSET                 : 0x00000000 (0)
0xfd4aa080 V_BLEND_IN2CSC_COEFF0                    : 0x00001000 (4096)
0xfd4aa084 V_BLEND_IN2CSC_COEFF1                    : 0x00000000 (0)
0xfd4aa088 V_BLEND_IN2CSC_COEFF2                    : 0x00000000 (0)
0xfd4aa08c V_BLEND_IN2CSC_COEFF3                    : 0x00000000 (0)
0xfd4aa090 V_BLEND_IN2CSC_COEFF4                    : 0x00001000 (4096)
0xfd4aa094 V_BLEND_IN2CSC_COEFF5                    : 0x00000000 (0)
0xfd4aa098 V_BLEND_IN2CSC_COEFF6                    : 0x00000000 (0)
0xfd4aa09c V_BLEND_IN2CSC_COEFF7                    : 0x00000000 (0)
0xfd4aa0a0 V_BLEND_IN2CSC_COEFF8                    : 0x00001000 (4096)
0xfd4aa0a4 V_BLEND_LUMA_IN2CSC_OFFSET               : 0x00000000 (0)
0xfd4aa0a8 V_BLEND_CR_IN2CSC_OFFSET                 : 0x00000000 (0)
0xfd4aa0ac V_BLEND_CB_IN2CSC_OFFSET                 : 0x00000000 (0)
0xfd4aa1d0 V_BLEND_CHROMA_KEY_ENABLE                : 0x00000000 (0)
0xfd4aa1d4 V_BLEND_CHROMA_KEY_COMP1                 : 0x00000000 (0)
0xfd4aa1d8 V_BLEND_CHROMA_KEY_COMP2                 : 0x00000000 (0)
0xfd4aa1dc V_BLEND_CHROMA_KEY_COMP3                 : 0x00000000 (0)
0xfd4ab000 AV_BUF_FORMAT                            : 0x00000600 (1536)
0xfd4ab008 AV_BUF_NON_LIVE_LATENCY                  : 0x00000180 (384)
0xfd4ab010 AV_CHBUF0                                : 0x0000003d (61)
0xfd4ab014 AV_CHBUF1                                : 0x0000003d (61)
0xfd4ab018 AV_CHBUF2                                : 0x0000003d (61)
0xfd4ab01c AV_CHBUF3                                : 0x0000003d (61)
0xfd4ab020 AV_CHBUF4                                : 0x0000000d (13)
0xfd4ab024 AV_CHBUF5                                : 0x0000000d (13)
0xfd4ab02c AV_BUF_STC_CONTROL                       : 0x00000000 (0)
0xfd4ab030 AV_BUF_STC_INIT_VALUE0                   : 0x00000000 (0)
0xfd4ab034 AV_BUF_STC_INIT_VALUE1                   : 0x00000000 (0)
0xfd4ab038 AV_BUF_STC_ADJ                           : 0x00000000 (0)
0xfd4ab03c AV_BUF_STC_VIDEO_VSYNC_TS_REG0           : 0x0019fdf8 (1703416)
0xfd4ab040 AV_BUF_STC_VIDEO_VSYNC_TS_REG1           : 0x00000000 (0)
0xfd4ab044 AV_BUF_STC_EXT_VSYNC_TS_REG0             : 0x00000000 (0)
0xfd4ab048 AV_BUF_STC_EXT_VSYNC_TS_REG1             : 0x00000000 (0)
0xfd4ab04c AV_BUF_STC_CUSTOM_EVENT_TS_REG0          : 0x00000000 (0)
0xfd4ab050 AV_BUF_STC_CUSTOM_EVENT_TS_REG1          : 0x00000000 (0)
0xfd4ab054 AV_BUF_STC_CUSTOM_EVENT2_TS_REG0         : 0x00000000 (0)
0xfd4ab058 AV_BUF_STC_CUSTOM_EVENT2_TS_REG1         : 0x00000000 (0)
0xfd4ab070 AV_BUF_OUTPUT_AUDIO_VIDEO_SELECT         : 0x00000057 (87)
0xfd4ab074 AV_BUF_HCOUNT_VCOUNT_INT0                : 0x00000000 (0)
0xfd4ab078 AV_BUF_HCOUNT_VCOUNT_INT1                : 0x00000000 (0)
0xfd4ab07c AV_BUF_DITHER_CONFIG                     : 0x00000000 (0)
0xfd4ab080 DITHER_CONFIG_SEED0                      : 0x00008000 (32768)
0xfd4ab084 DITHER_CONFIG_SEED1                      : 0x00008080 (32896)
0xfd4ab088 DITHER_CONFIG_SEED2                      : 0x00008008 (32776)
0xfd4ab08c DITHER_CONFIG_MAX                        : 0x00000fff (4095)
0xfd4ab090 DITHER_CONFIG_MIN                        : 0x00000000 (0)
0xfd4ab100 PATTERN_GEN_SELECT                       : 0x00000000 (0)
0xfd4ab104 AUD_PATTERN_SELECT1                      : 0x00000000 (0)
0xfd4ab108 AUD_PATTERN_SELECT2                      : 0x00000000 (0)
0xfd4ab120 AV_BUF_AUD_VID_CLK_SOURCE                : 0x00000007 (7)
0xfd4ab124 AV_BUF_SRST_REG                          : 0x00000000 (0)
0xfd4ab128 AV_BUF_AUDIO_RDY_INTERVAL                : 0x00000000 (0)
0xfd4ab12c AV_BUF_AUDIO_CH_CONFIG                   : 0x00000000 (0)
0xfd4ab200 AV_BUF_GRAPHICS_COMP0_SCALE_FACTOR       : 0x00010842 (67650)
0xfd4ab204 AV_BUF_GRAPHICS_COMP1_SCALE_FACTOR       : 0x00010410 (66576)
0xfd4ab208 AV_BUF_GRAPHICS_COMP2_SCALE_FACTOR       : 0x00010842 (67650)
0xfd4ab20c AV_BUF_VIDEO_COMP0_SCALE_FACTOR          : 0x00010101 (65793)
0xfd4ab210 AV_BUF_VIDEO_COMP1_SCALE_FACTOR          : 0x00010101 (65793)
0xfd4ab214 AV_BUF_VIDEO_COMP2_SCALE_FACTOR          : 0x00010101 (65793)
0xfd4ab218 AV_BUF_LIVE_VIDEO_COMP0_SF               : 0x00010101 (65793)
0xfd4ab21c AV_BUF_LIVE_VIDEO_COMP1_SF               : 0x00010101 (65793)
0xfd4ab220 AV_BUF_LIVE_VIDEO_COMP2_SF               : 0x00010101 (65793)
0xfd4ab224 AV_BUF_LIVE_VID_CONFIG                   : 0x00000000 (0)
0xfd4ab228 AV_BUF_LIVE_GFX_COMP0_SF                 : 0x00010101 (65793)
0xfd4ab22c AV_BUF_LIVE_GFX_COMP1_SF                 : 0x00010101 (65793)
0xfd4ab230 AV_BUF_LIVE_GFX_COMP2_SF                 : 0x00010101 (65793)
0xfd4ab234 AV_BUF_LIVE_GFX_CONFIG                   : 0x00000000 (0)
0xfd4ac000 AUDIO_MIXER_VOLUME_CONTROL               : 0x20002000 (536879104)
0xfd4ac004 AUDIO_MIXER_META_DATA                    : 0x00000000 (0)
0xfd4ac008 AUD_CH_STATUS_REG0                       : 0x00000000 (0)
0xfd4ac00c AUD_CH_STATUS_REG1                       : 0x00000000 (0)
0xfd4ac010 AUD_CH_STATUS_REG2                       : 0x00000000 (0)
0xfd4ac014 AUD_CH_STATUS_REG3                       : 0x00000000 (0)
0xfd4ac018 AUD_CH_STATUS_REG4                       : 0x00000000 (0)
0xfd4ac01c AUD_CH_STATUS_REG5                       : 0x00000000 (0)
0xfd4ac020 AUD_CH_A_DATA_REG0                       : 0x00000000 (0)
0xfd4ac024 AUD_CH_A_DATA_REG1                       : 0x00000000 (0)
0xfd4ac028 AUD_CH_A_DATA_REG2                       : 0x00000000 (0)
0xfd4ac02c AUD_CH_A_DATA_REG3                       : 0x00000000 (0)
0xfd4ac030 AUD_CH_A_DATA_REG4                       : 0x00000000 (0)
0xfd4ac034 AUD_CH_A_DATA_REG5                       : 0x00000000 (0)
0xfd4ac038 AUD_CH_B_DATA_REG0                       : 0x00000000 (0)
0xfd4ac03c AUD_CH_B_DATA_REG1                       : 0x00000000 (0)
0xfd4ac040 AUD_CH_B_DATA_REG2                       : 0x00000000 (0)
0xfd4ac044 AUD_CH_B_DATA_REG3                       : 0x00000000 (0)
0xfd4ac048 AUD_CH_B_DATA_REG4                       : 0x00000000 (0)
0xfd4ac04c AUD_CH_B_DATA_REG5                       : 0x00000000 (0)
0xfd4acc00 AUDIO_SOFT_RESET                         : 0x00000000 (0)
0xfd4acc10 PATGEN_CRC_R                             : 0x0000f808 (63496)
0xfd4acc14 PATGEN_CRC_G                             : 0x00007dd4 (32212)
0xfd4acc18 PATGEN_CRC_B                             : 0x0000f808 (63496)

ちなみに

0x0000B060 AV_BUF_STC_SNAPSHOT0
0x0000B064 AV_BUF_STC_SNAPSHOT1

は、読出しを掛けると固まってしまったので、スキップしております。

追記

この後、次回記事 へ続きます