XPm_DevIoctl EEMI API は、プラットフォーム管理マスターが指定したデバイスに対して特定の動作を実行するために使用します。
Versal デバイスの RPU NODE ID は次のとおりです。
- PM_DEV_RPU0_0
- PM_DEV_RPU0_1
Versal プライム シリーズ Gen 2 および Versal AI エッジ シリーズ Gen 2 デバイスの RPU NODE ID は次のとおりです。
- PM_DEV_RPU_A_0
- PM_DEV_RPU_A_1
- PM_DEV_RPU_B_0
- PM_DEV_RPU_B_1
- PM_DEV_RPU_C_1
- PM_DEV_RPU_D_0
- PM_DEV_RPU_D_1
- PM_DEV_RPU_E_0
- PM_DEV_RPU_E_1
- PM_DEV_RPU_C_0
次の表に、Versal デバイスでサポートされる動作を示します。
| ID | 名称 | 説明 | 引数 | ||||
|---|---|---|---|---|---|---|---|
| ノード ID | Arg1 | Arg2 | Arg3 | 戻り値 | |||
| 0 | IOCTL_GET_RPU_OPER_MODE | 現在の RPU の動作モードを返します。 | RPU NODE ID | - | - | - | 動作モード: 0: LOCKSTEP 1: SPLIT |
| 1 | IOCTL_SET_RPU_OPER_MODE | RPU の動作モードを設定します。 | RPU NODE ID | 動作モードの値 0: LOCKSTEP 1: SPLIT |
- | - | - |
| 2 | IOCTL_RPU_BOOT_ADDR_CONFIG | RPU のブート アドレスを設定します。 |
RPU NODE ID |
ブート アドレスの設定値 0: LOVEC/TCM 1: HIVEC/OCM |
- | - | - |
| 3 | IOCTL_TCM_COMB_CONFIG | TCM をスプリット モードまたは結合モードに設定します。 注記: これは Versal AI エッジ シリーズ Gen 2 および Versal プライム シリーズ Gen 2 デバイスには適用されません。
|
NODE_RPU_0 NODE_RPU_1 |
設定値 (スプリット/結合) 0: SPLIT 1: COMB |
- | - | - |
| 4 | IOCTL_SET_TAPDELAY_BYPASS | タップ遅延バイパスを有効/無効にします。 | NODE_QSPI | タップ遅延のタイプ 2: QSPI |
タップ遅延イネーブル、ディスエーブル 0: DISABLE 1: ENABLE |
- | - |
| 6 | IOCTL_SD_DLL_RESET | SD デバイスの DLL ロジックをリセットします。 | NODE_SD_0、 NODE_SD_1 |
SD DLL リセット タイプ 0: ASSERT 1: RELEASE 2: PULSE |
- | - | - |
| 7 | IOCTL_SET_SD_TAPDELAY | SD デバイスの入力/出力タップ遅延を設定します。 |
NODE_SD_0、 NODE_SD_1 |
設定するタップ遅延のタイプ 0: INPUT 1: OUTPUT |
タップ遅延の設定値 | - | - |
| 12 | IOCTL_WRITE_GGS (グローバル汎用ストレージ) | GGS レジスタに値を書き込みます。 | - | GGS レジスタ インデックス (0/1/2/3) | レジスタに書き込む値 | - | - |
| 13 | IOCTL_READ_GGS (グローバル汎用ストレージ) | GGS レジスタの値を返します。 | - | GGS レジスタ インデックス (0/1/2/3) | - | - | レジスタ値 |
| 14 | IOCTL_WRITE_PGGS (永続的なグローバル汎用ストレージ) | PGGS レジスタに値を書き込みます。 | - | PGGS レジスタ インデックス (0/1/2/3) | レジスタに書き込む値 | - | - |
| 15 | IOCTL_READ_PGGS (永続的なグローバル汎用ストレージ) | PGGS レジスタの値を返します。 | - | PGGS レジスタ インデックス (0/1/2/3) | - | - | レジスタ値 |
| 17 | IOCTL_SET_BOOT_HEALTH_STATUS | ファームウェアにブートの健全性を通知するヘルシー ビットの値を設定します。 | - | ヘルシー ビットの値 | - | - | - |
| 21 | IOCTL_OSPI_MUX_SELECT | OSPI AXI マルチプレクサーを選択します。 | NODE_OSPI | 動作モード 0: DMA を選択 1: リニアを選択 2: モードを取得 |
- | - | モードを取得 0: DMA 1: リニア |
| 22 | IOCTL_USB_SET_STATE | USB コントローラーのデバイス電力ステートを設定します。 | NODE_USB_0 | 要求された電力ステート 0: D0 1: D1 2: D2 3: D3 |
- | - | - |
| 23 | IOCTL_GET_LAST_RESET_REASON | 最後のシステム リセットの要因を取得します。 | - | - | - | - |
0 – システム外部で POR ボタンが押された 1 – ソフトウェアによる内部 POR が発生した 2 - ほかのいずれか 1 つの SSIT スライスによって POR が発生した 3 - エラーにより POR が発生した 7 - JTAG TAP によりシステム リセットが開始された 8 - エラーによりシステム リセットが開始された 9 - ソフトウェアによりシステム リセットが開始された 10 - ほかのいずれか 1 つの SSIT スライスによってシステム リセットが発生した 15 – 無効なリセット要因 |
| 24 | IOCTL_AIE_ISR_CLEAR |
AI エンジン NPI 割り込みをクリアします。 注記: この機能は、現時点で Versal AI エッジ シリーズ Gen 2 および Versal プライム シリーズ Gen 2 デバイスではサポートされません。
|
DEV_AIE (0x18224072U) | 4 ビット NPI 割り込みクリア マスク (wtc) ビット <3-0> が割り込み <3-0> に対応 |
- | - | - |
| 28 |
IOCTL_READ_REG |
特定のノード ID 用の特定のオフセット アドレスを安全に読み出すために使用します。 | - | オフセット | count (=1) | - | - |
| 29 | IOCTL_MASK_WRITE_REG | 特定のノード ID 用の特定のオフセット アドレスを安全に書き込むために使用します。 | - | オフセット | mask | 値 | - |
| 33 | IOCTL_AIE_OPS | パーティションの初期化および取り壊し用の AIEML/AIE1 ランタイム動作です。 | DEV_AIE またはパーティションのノード ID (現在は使用されていない)。 | Arg1(15:0): 動作の対象となるパーティションの開始カラム。 Arg1(31:16): パーティションのカラム数 (またはパーティションの最後のカラム)。 |
動作の red 値。各ビットが 1 つの動作に関連付けられます。 ビット値が 1 の場合、動作を実行する必要があることを示します。 |
- | XST_SUCCESS またはエラー コード。 |
| 39 | IOCTL_AIE2PS_OPS | AIE2PS ランタイム動作 | 変更なし | AIE2PS 動作のバッファー サイズ | バッファー物理アドレスの上位 32 ビット | バッファー物理アドレスの下位 32 ビット | |
| 34 | IOCTL_GET_QOS | デバイスの QoS 値を取得します。 注記: この機能は、現時点で Versal AI エッジ シリーズ Gen 2 および Versal プライム シリーズ Gen 2 デバイスではサポートされません。
|
- | - | - | - | 応答は次の 2 つの値を返します。 0: デフォルトの QoS 値 1: 現在の QoS 値 |
| 35 | IOCTL_GET_APU_OPER_MODE | 現在の APU の動作モードを返します。 注記: この機能は、Versal AI エッジ シリーズ Gen 2 および Versal プライム シリーズ Gen 2 デバイスでのみサポートされます。
|
Versal プライム シリーズ Gen 2 および Versal AI エッジ シリーズ Gen 2 デバイスの APU ノード ID | - | - | - | 動作モード: 0: SPLIT 1: LOCKSTEP |
| 36 | IOCTL_SET_APU_OPER_MODE | APU の動作モードを設定します。 注記: この機能は、Versal AI エッジ シリーズ Gen 2 および Versal プライム シリーズ Gen 2 デバイスでのみサポートされます。
|
Versal プライム シリーズ Gen 2 および Versal AI エッジ シリーズ Gen 2 デバイスの APU ノード ID | 動作モードの値: 0: SPLIT 1: LOCKSTEP |
- | - | - |
| 37 | IOCTL_PREPARE_DDR_SHUTDOWN 1 | LPDDR SDRAM デバイスのシャットダウンを準備します。 | PM_DEV_DDR_0 | - | - | - | XST_SUCCESS または XPM_INVALID_DEVICE_ID または XPM_ERR_DEVICE_STATUS またはその他のエラー コード |
| 38 | IOCTL_GET_SSIT_TEMP | SYSMON ノード ID + SLR 番号 注記: この機能は、現時点で Versal AI エッジ シリーズ Gen 2 および Versal プライム シリーズ Gen 2 デバイスではサポートされません。
|
ローカル SYSMON 最小/最大温度レジスタ オフセット | - | - | - | SSIT 温度データ |
|
|||||||
| 31st ~ 10th | 9th | 8th | 7th | 6th | 5th | 4th | 3rd | 2nd | 1st | 0th |
|---|---|---|---|---|---|---|---|---|---|---|
| 予約 | Memtile のゼロ化 (AI エンジン 2 でのみサポート) | データ メモリのゼロ化 | プログラム メモリのゼロ化 | L2 コントローラー NPI INTR を設定する | AXI4 エラー イベントを有効にする | カラム クロック バッファーを無効にする | プログラムおよびデータ メモリのゼロ化 | カラム クロック バッファーを有効にする | シムのリセット | カラムのリセット |
| 動作 | 値 |
|---|---|
| カラムのリセット | 1 |
| シムのリセット | 2 |
| UC のゼロ化 | 3 |
| カラム クロック バッファーを有効にする | 4 |
| ハンドシェイク動作 | 5 |
| ハードウェア エラー ステータスをクリアする | 6 |
| 開始するカラム位置 | 7 |
| データ メモリとプログラム メモリをゼロ化する | 8 |
| AXIMM の分離 | 9 |
| NMU のコンフィギュレーション | 10 |
| 特権メモリを無効にする | 11 |
| メモリ インターリーブを無効にする | 12 |
| UC DMA トランザクションを一時停止する | 13 |
| NoC DMA トランザクションを一時停止する | 14 |
| ECC スクラブ周期を設定する | 15 |
| カラム クロック バッファーを無効にする | 16 |
| ハードウェア エラー割り込みを設定する | 17 |
| ハードウェア エラー割り込みをマスクする | 18 |
| 特権メモリを有効にする | 19 |
| AXI-MM エラー イベントを有効にする | 32 |
| L2 コントローラー NPI 割り込みを設定する | 64 |
| プログラム メモリのゼロ化 | 128 |
| データ メモリのゼロ化 | 256 |
| メモリ タイルのゼロ化 | 512 |