DisplayPort Intel® FPGA IPユーザーガイド

ID 683273
日付 10/16/2023
Public
ドキュメント目次

6.5. HDCP 2.3 RX のアーキテクチャー

レシーバーブロックでは、接続している HDCP 2.3 デバイスからの、メインストリーム属性 (MSA) を含む保護されているビデオおよびセカンダリー・データを復号化します。HDCP 2.3 レシーバーブロックの構造レイヤーは、HDCP 2.3 トランスミッター・ブロックと同じです。
図 35. HDCP 2.3 RX IP のアーキテクチャー・ブロック図

HDCP 2.3 RX コアは完全な自律型です。DisplayPort アプリケーションの場合、HDCP トランスミッターと HDCP レシーバーが AUX チャネルを介して HDCP レジスター値を通信します。Enable GPU control パラメーターをオンにし、 Nios® II プロセッサーを使用して、HDCP レジスターポート ( Avalon®メモリーマップド・インターフェイス) を介して HDCP 2.3 RX コアを駆動します。HDCP レジスターポートは公開されておらず、Support HDCP 2.3 パラメーターを有効にすると自動的に駆動されます。

HDCP 仕様の要件により、HDCP 2.3 RX コアを DCP 発行のプロダクション・キー、つまり Global Constant (lc128)、RSA private key (kprivrx)、および RSA Public Key Certificate (certrx) でプログラムする必要があります。IP は、HDCP Key ポート (rx_hdcp インターフェイス) を介してコアの外部にあるオンチップメモリーからキーを取得します。オンチップメモリーでは、次の表に示す配置でキーデータを格納する必要があります。

表 39.  HDCP 2.3 RX Keyポートのアドレス指定
アドレス コンテンツ
8'hE3 lc128[127:96]
8'hE2 lc128[95:64]
8'hE1 lc128[63:32]
8'hE0 lc128[31:0]
8'hDF kprivrx_p[511:480]
... ...
8'hD0 kprivrx_p[31:0]
8'hCF kprivrx_q[511:480]
... ...
8'hC0 kprivrx_q[31:0]
8'hBF kprivrx_dp[511:480]
... ...
8'hB0 kprivrx_dp[31:0]
8'hAF kprivrx_dq[511:480]
... ...
8'hA0 kprivrx_dq[31:0]
8'h9F kprivrx_qinv[511:480]
... ...
8'h90 kprivrx_qinv[31:0]
8'h83–8'h8F 予約済み
8'h82 {16’d0, certrx[4175:4160]}
8'h81 certrx[4159:4128]
... ...
8'h01 certrx[63:32]
8'h00 certrx[31:0]

ビデオストリームおよびセカンダリー・データ・レイヤーでは、ビデオおよびセカンダリー・データ入力ポートを介してオーディオおよびビデオコンテンツを受信し、復号化操作を実行します。ビデオストリームおよびセカンダリー・レイヤーでは、DisplayPort IP によって提供される暗号化ステータス信号 (ESS) を検出し、フレームを復号化するタイミングを決定します。

HDCP 2.3 RX コアをリピーター・アップストリーム・インターフェイスとして実装するには、IP で特定の情報 (ReceiverID ListRxInfo など) をアップストリーム・トランスミッターに伝播し、HMAC の計算に使用する必要があります。リピーターのダウンストリーム・インターフェイス (TX) では、リピーター・メッセージ・ポート (rx_rpt_msg インターフェイス) を介して Avalon®メモリーマップド・インターフェイス 使用してこの情報を提供する必要があります。同じクロックソースを使用して、HDCP レジスターポートと (または DisplayPort Intel® FPGA IP のコントローラー・インターフェイス) およびリピーター・メッセージ・ポートのクロックを駆動することができます。

以下の表に RX レジスター と RX リピーターレジスターのマッピングを定義します。

表 40.  HDCP 2.3 RX レジスターのマッピング
アドレス レジスター R/W リセット Bit ビット名 詳細
0x40 CTRL RW 0x00000000 31 Reserved 予約済み
30 CP_IRQ_DET 書き込み専用。RXSTATUS レジスターの CP_IRQ_STATUS フラグをリセットするには 1 に設定します。
29 STOP_DET 書き込み専用。HDCP メッセージの終了を示すには 1 に設定します。
28:1 Reserved 予約済み
0 TYPE

0: タイプ 0 のコンテンツストリーム。

1: タイプ 1 のコンテンツストリーム。
注: Non-Repeater モードにのみ適用されます。
0x41 RXSTATUS RO 0x00000000 31:19 Reserved 予約済み
18 CP_IRQ_STATUS

0: HDCP 2.3 イベントはありません。

1: 1 つの HDCP 2.3 イベントが発生し、HPD 割り込みが発生しました。

17:5 Reserved 予約済み
4 LINK_INTEGRITY_FAILURE RxStatus[4:0]。

詳細は、DisplayPort 仕様バージョン 2.3 の HDCP を参照してください。

3 REAUTH_IRQ
2 PAIRING_AVAILABLE
1 HPRIME_AVAILABLE
0 READY
0x42 MESSAGES RW 0x00000000 31:8 Reserved 予約済み
7:0 MESSAGES バーストモードで IP へまたは IP からのメッセージ (バイト単位) の書き込みまたは読み出し。
0x43 RXCAPS RO 0x00020002 31:24 Reserved 予約済み
23:16 VERSION デフォルト値は 0x02 です。
15:2 RECEIVER_CAPABILITY_MASK 予約済み。0 として読み出されます。
1 HDCP_CAPABLE デフォルト値は 0x01 です。RX は HDCP 2.3 対応であること示します。
0 REPEATER

0: RX がエンドポイント・レシーバーであることを示します。

1: RX がダウンストリーム接続をサポートするリピーターであることを示します。

0x44 STRMTYP_L RW 0x00000000 31:0 STRMTYP_L

リピーターモード以外で動作している場合は使用されません。

MSTモードで動作する場合、ビット 1 からビット 31 は、タイムスロット 1 からタイムスロット 31 のストリーム・コンテンツ・タイプを表します。ビット 0 は未使用です。

SST モードで動作する場合、ビット 0 はストリーム・コンテンツ・タイプを表します。ビット 1 からビット 31 は未使用です。

0x45 STRMTYP_H RW 0x00000000 31:0 STRMTYP_H

リピーターモード以外で動作している場合は使用されません。

MSTモードで動作する場合、ビット0からビット31は、タイムスロット32からタイムスロット63からタイムスロット63のストリーム・コンテンツ・タイプを表します。

SSTモードで動作する場合、すべてのビットは未使用です。

表 41.  HDCP 2.3 RX リピーターレジスターのマッピング
アドレス レジスター R/W リセット Bit ビット名 詳細
0x00 RPT_RCVDID_LIST WO 0x00000000 31:8 Reserved 予約済み
7:0 RCVDID_LIST ReceiverID_List のバイト書き込み (ビッグ・エンディアン順)
0x01 RPT_RXINFO RW 0x00000000 31:19 Reserved 予約済み
18 REQUEST 読み取り専用。コアでアサートすることで、RCVDID_LISTRXINFO を要求します。これは通常、接続アップストリームで再認証がトリガーされると発生します。REQUEST がアサートされると、READY もアサートされることに注意してください。
17 READY 読み取り専用。コアでアサートし、RCVDID_LIST および RXINFO が処理されていることを示します。このビットのアサート後に、RCVDID_LIST および RXINFO を書き込みます。
16 VALID RCVDID_LIST および RXINFO が書き込まれると1に設定されます。RCVDID_LIST および RXINFO が読み出されると、コアによってセルフクリアされます。
15:0 RXINFO

[15:12]: 予約済み

[11:9]: DEPTH

[8:4]: DEVICE_COUNT

[3]: MAX_DEVS_EXCEEDED

[2]: MAX_CASCADE_EXCEEDED

[1]: HDCP2_REPEATER_DOWNSTREAM

[0]: HDCP1_DEVICE_DOWNSTREAM

0x02 RPT_TYPE RO 0x00000000 31:9 Reserved 予約済み
8 VALID コアでアサートされ、コンテンツのストリームの TYPE が有効なことを示します。TYPE が読み出されるとコアによってセルフクリアされます。
7:0 TYPE

0x00: タイプ0のコンテンツストリーム

0x01: タイプ1のコンテンツストリーム

0x02-0xFF: 予約済み。タイプ1のコンテンツストリームとして扱われます。

0x03 RPT_MISC RW 0x00000000 31:1 Reserved 予約済み
0 REPEATER

ダウンストリームが接続されていない場合、または接続ダウンストリームが HDCP 2.3 に対応していない場合に 0 に設定されます。これは、レシーバー IP はエンドポイント・レシーバーであり、リピーターではないことを意味します。

接続ダウンストリームがHDCPに対応している場合は1に設定されます。