はじめに
AMD XDNA Driver for Linux を覗いてみる (その4)
今回は、レジスタ関連をみてみます。
Ryzen 7040 (Phenix)
Ryzen 7040 (Phenix) のレジスタは、ipu_phx_regs.c です。
const IPU_DEFINE_DEV_INFO(PHX, "RyzenAI-Phoenix", 1502, "amdipu/1502/ipu.sbin", FW_API_HASH_HIGH, FW_API_HASH_LOW);
と、デバイスIDが 0x1502 で、Firmwareのファイル名は、ipu.sbin です。
Ryzen ipu2
Ryzen ipu2 なるデバイスのレジスタもあります。ipu_ipu2_regs.c
const IPU_DEFINE_DEV_INFO_PSP(IPU2, "RyzenAI-ipu2", 17f0, IPU2_PSP_OFFSETS, "amdipu/17f0/ipu.sbin", FW_API_HASH_HIGH, FW_API_HASH_LOW);
デバイスIDが 0x17f0 で、Firmwareのファイル名は、同じで ipu.sbin です。
レジスタの比較
Phenix と IPU2 では、色々とレジスタが違います。
BAR では、
#define PHX_REG_BAR_INDEX 0 #define PHX_MBOX_BAR_INDEX 4 #define PHX_PSP_BAR_INDEX 0 #define PHX_SMU_BAR_INDEX 0 #define PHX_SRAM_BAR_INDEX 2
IPU2
#define IPU2_REG_BAR_INDEX 0 #define IPU2_MBOX_BAR_INDEX 0 #define IPU2_PSP_BAR_INDEX 4 #define IPU2_SMU_BAR_INDEX 5 #define IPU2_SRAM_BAR_INDEX 2
Phenix では、
- REG/MBOX/SMU : BAR-0
- SRAM : BAR-2
- MBOX : BAR-4
でしたが、
IPU-2 では、
になっています。
Phenix では、BAR-0/2/4は64ビットぽいですが、IPU2 では、BAR-4とBAR-5があるのでこちらは32ビットぽいですね。
おわりに
Ryzen 7040に対して、Ryzen 8040は XDNA の動作周波数を 1GHz => 1.6GHz にアップしたものと妄想しています。
となると、デバイスID、0x17f0 の ipu2 は、Ryzen 8050 のことでしょうか?
これによると、ipu2 のサポートは、2024.1.27 なので、Rynze 7040 より後のものであることは確かっポイです。
下記のファイルによると、ipu2 の firmware はまだ公開されていないようです。
下記のコミットを見たら、変更前に、Strix とあるので、8050 決定ですね。

README.md にも書いてありました。
- To run AI applications (test machine): RyzenAI processor, example: Phoenix/Strix
関連ブログ