XPm_DevIoctl
EEMI API は、プラットフォーム管理マスターが指定したデバイスに対して特定の動作を実行するために使用します。
Versal デバイスの RPU NODE ID は次のとおりです。
- PM_DEV_RPU0_0
- PM_DEV_RPU0_1
次の表に、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 をスプリット モードまたは結合モードに設定します。 | 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 | ファームウェアにブートの健全性を通知するヘルシー ビットの値を設定します。 | – | ヘルシー ビットの値 | – | – | – |
19 | IOCTL_PROBE_COUNTER_READ | LPD/FPD のプローブ カウンター レジスタを読み出します。 | FPD/LPD 電源ドメイン ID LPD: 0x4210002U FPD: 0x420C003U |
レジスタ設定 - カウンター番号 (ビット 0 ~ 7) - レジスタ タイプ (ビット 8 ~ 15) 0 - LAR_LSR アクセス (要求タイプとカウンター番号を無視) 1 - メイン制御 (カウンター番号を無視) 2 - コンフィギュレーション制御 (カウンター番号を無視) 3 - ステート周期 (カウンター番号を無視) 4 - PortSel 5 - Src 6 - Val - 要求タイプ (ビット 16 ~ 23) 0 - 読み出し要求 1 - 読み出し応答 2 - 書き込み要求 3 - 書き込み応答 4 - LPD 読み出し要求 (LPD のみ) 5 - LPD 読み出し応答 (LPD のみ) 6 - LPD 書き込み要求 (LPD のみ) 7 - LPD 書き込み応答 (LPD のみ) |
– | – | レジスタ値 |
20 | IOCTL_PROBE_COUNTER_WRITE | LPD/FPD のプローブ カウンター レジスタに書き込みます。 | FPD/LPD 電源ドメイン ID LPD: 0x4210002U FPD: 0x420C003U |
レジスタ設定 - カウンター番号 (ビット 0 ~ 7) - レジスタ タイプ (ビット 8 ~ 15) 0 - LAR_LSR アクセス (要求タイプとカウンター番号を無視) 1 - メイン制御 (カウンター番号を無視) 2 - コンフィギュレーション制御 (カウンター番号を無視) 3 - ステート周期 (カウンター番号を無視) 4 - PortSel 5 - Src - 要求タイプ (ビット 16 ~ 23) 0 - 読み出し要求 1 - 読み出し応答 2 - 書き込み要求 3 - 書き込み応答 4 - LPD 読み出し要求 (LPD のみ) 5 - LPD 読み出し応答 (LPD のみ) 6 - LPD 書き込み要求 (LPD のみ) 7 - LPD 書き込み応答 (LPD のみ) |
レジスタに書き込む値 | – | – |
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 割り込みをクリアします。 | 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 またはエラー コード。 |
34 | IOCTL_GET_QOS | デバイスの QoS 値を取得します。 | – | – | – | – | 応答は次の 2 つの値を返します。 0: デフォルトの QoS 値 1: 現在の QoS 値 |
31st ~ 7th | 6th | 5th | 4th | 3rd | 2nd | 1st | 0th |
---|---|---|---|---|---|---|---|
予約 | L2 コントローラー NPI INTR を設定する | AXI4 エラー イベントを有効にする | カラム クロック バッファーを無効にする | プログラムおよびデータ メモリのゼロ化 | カラム クロック バッファーを有効にする | シムのリセット | カラムのリセット |