XPm_DevIoctl EEMI API - 2022.1 日本語

Versal ACAP システム ソフトウェア開発者向けガイド (UG1304)

Document ID
UG1304
Release Date
2022-04-21
Version
2022.1 日本語

XPm_DevIoctl EEMI API は、プラットフォーム管理マスターが指定したデバイスに対して特定の動作を実行するために使用します。

次の表に、Versal ACAP でサポートされる動作を示します。

表 1. XPm_DevIoctl の動作
ID 名称 説明 引数
ノード ID Arg1 Arg2 Arg3 戻り値
0 IOCTL_GET_RPU_OPER_MODE 現在の RPU の動作モードを返します。 NODE_RPU_0

NODE_RPU_1

動作モード:

0: LOCKSTEP

1: SPLIT

1 IOCTL_SET_RPU_OPER_MODE RPU の動作モードを設定します。 NODE_RPU_0 NODE_RPU_1 動作モードの値

0: LOCKSTEP

1: SPLIT

2 IOCTL_RPU_BOOT_ADDR_CONFIG RPU のブート アドレスを設定します。

NODE_RPU_0

NODE_RPU_1

ブート アドレスの設定値

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 値

注記: IOCTL_GET_QOS は現在、AI エンジン パーティション ノードの AI エンジン クロック周波数のみをサポートします。デフォルトの QoS は元のブート時の分周値を示し、現在の QoS 値は設定されている現在の分周値を示します。
表 2. 動作
31st ~ 7th 6th 5th 4th 3rd 2nd 1st 0th
予約 L2 コントローラー NPI INTR を設定する AXI4 エラー イベントを有効にする カラム クロック バッファーを無効にする プログラムおよびデータ メモリのゼロ化 カラム クロック バッファーを有効にする シムのリセット カラムのリセット