第 9 章: 電力管理 フ レームワー クの概要
• 処理完了ま たはエ ラ ー と その理由のいずれかを示すス テー タ ス を返す
• PM コ ン ト ロ ー ラ ーか ら のその他の情報
API バージ ョ ンの確認
EEMI API を使用 し て ス レーブ ノ ー ド を管理す る 前に、ATF に実装 さ れてい る EEMI API バージ ョ ンが PMU フ ァ ー ム ウ ェ アに実装 さ れてい る バージ ョ ン と 一致 し てい る こ と を確認す る 必要があ り ます。EEMI API バージ ョ ンは、 メ ジ ャ ー バージ ョ ン を示す上位 16 ビ ッ ト と マ イ ナー バージ ョ ン を示す下位 16 ビ ッ ト に分離 さ れた 32 ビ ッ ト 値です。
こ れ ら 両方の フ ィ ール ド が ATF と PMU フ ァ ーム ウ ェ アで同 じ にな る 必要があ り ます。
EEMI API バージ ョ ンの確認方法
ATF に実装 さ れてい る EEMI バージ ョ ンは、 ロ ーカルの EEMI_API_VERSON フ ラ グに定義 さ れてい ます。ATF と
PMU フ ァ ーム ウ ェ アの EEMI API バージ ョ ン を確認す る には、 ロ ーカル関数 XPm_GetApiVersion() を使用で き ます。 こ れ ら のバージ ョ ンが異な る 場合、 こ の呼び出 し でエ ラ ーが レ ポー ト さ れます。
注記:こ の EEMI API 呼び出 し はバージ ョ ンに依存 し ません。 つま り 、 すべての EEMI バージ ョ ンに こ の呼び出 し が 実装 さ れてい ます。
第 9 章: 電力管理 フ レームワー クの概要
PMU フ ァ ームウ ェ ア
PMU フ ァ ーム ウ ェ アには、PM コ ン ト ロ ー ラ ー と 呼ばれ る モジ ュ ールの 1 つ と し て EEMI サービ ス ハン ド ラ ーが実 装 さ れてい ます (別の タ イ プのサービ ス を処理す る ために PMU フ ァ ーム ウ ェ アで実行 さ れ る モジ ュ ールがほかに も あ る )。
Migrate Info Type (オプシ ョ ン)
呼び出 し 元が ト ラ ス テ ッ ド OS に存在す る マルチ コ アサポー ト の レベルを識別 可能にな る 。
あ り
Migrate Info Up CPU (オプシ ョ ン)
ユニプ ロ セ ッ サの ト ラ ス テ ッ ド OS の場合、 こ の関数は現在の常駐 コ ア を返す。 あ り
System Off シ ス テ ム を シ ャ ッ ト ダ ウ ンす る 。 あ り
System Reset シ ス テ ム を リ セ ッ ト す る 。 あ り
PSCI Features PSCI v1.0 で導入。
ク エ リ API を使用 し て、 特定の PSCI 関数が実装 さ れてい る か ど う か、 ま たそ の機能情報について API に問い合わせ る 。
あ り
CPU Freeze (オプシ ョ ン)
PSCI v1.0 で導入。
コ ア を IMPLEMENTATION DEFINED 低電力ス テー ト にす る 。CPU_OFF と は異 な り 、 コ アに割 り 込みを タ ーゲ ッ ト す る には有効。 ただ し 、CPU_ON コ マ ン ド が発行 さ れ る ま で、 コ アは低電力状態を維持す る 必要があ る 。
な し
CPU Default Suspend (オプシ ョ ン)
PSCI v1.0 で導入。
コ ア を IMPLEMENTATION DEFINED 低電力ス テー ト にす る 。CPU_SUSPEND と は異な り 、 呼び出 し 元が電力ス テー ト パ ラ メ ー タ ーを指定す る は必要ない。
な し
Node HW State (オプシ ョ ン)
PSCI v1.0 で導入。
こ の API は、 シ ス テ ムの電力 ド メ イ ン ト ポ ロ ジ内の ノ ー ド の真の HW ス テー ト を返す こ と を目的 と す る 。
あ り
System Suspend (オプシ ョ ン)
PSCI v1.0 で導入。
RAM にサ スペン ド を実装する 。 最 も 低い電力ス テー ト にする CPU_SUSPEND と 同等。
あ り
PSCI Set Suspend Mode (オプシ ョ ン)
PSCI v1.0 で導入。
こ の API を使用 し て、CPU_SUSPEND で使用 さ れ る モー ド を設定 し て電源ス テー ト を調整で き る 。
な し
PSCI Stat Residency (オプシ ョ ン)
PSCI v1.0 で導入。
コ ール ド ブー ト 後にプ ラ ッ ト フ ォームが指定 さ れた電源ス テー ト で費や し た時 間を返す。
あ り
PSCI Stat Count (オプシ ョ ン)
PSCI v1.0 で導入。
コ ール ドブー ト 後にプ ラ ッ ト フ ォームが指定 さ れた電源ス テー ト を使用 し た回 数を返す。
あ り 表 9-1: ATF でサポー ト さ れる PSCI v0.2 の関数 (続き)
関数 説明 サポー ト
第 9 章: 電力管理 フ レームワー クの概要
電力管理イ ベン ト
PM コ ン ト ロ ー ラ ーは イ ベン ト 駆動型であ る ため、 すべての操作は次のいずれかの イ ベン ト に よ っ て ト リ ガー さ れま す。
• IPI0 割 り 込みで ト リ ガー さ れ る EEMI API イ ベン ト
• GPI1 割 り 込みで ト リ ガー さ れ る ウ ェー ク ア ッ プイ ベン ト
• GPI2 割 り 込みで ト リ ガー さ れ る ス リ ープイ ベン ト
• PIT2 割 り 込みで ト リ ガー さ れ る タ イ マーイ ベン ト
EEMI API イ ベ ン ト
EEMI API イ ベン ト は、 ソ フ ト ウ ェ アで生成 さ れ る イ ベン ト です。PM マ ス タ ーが PMU への EEMI API 呼び出 し を開 始す る と 、IPI 割 り 込みに よ っ て イ ベン ト が ト リ ガー さ れます。PM コ ン ト ロ ー ラ ーは EEMI 要求を処理 し 、 肯定応 答を返す こ と がで き ます (要求 さ れてい る 場合)。 通常 (一部の例外を除 く)、EEMI 要求は ノ ー ド ま たはマ ス タ ーの電 源ス テー ト の変更を ト リ ガー し ます。
ウ ェ ー ク ア ッ プ イ ベン ト
ウ ェ ー ク ア ッ プ イ ベン ト は、 ハー ド ウ ェ ア で生成 さ れ る イ ベン ト です。 こ れ ら はペ リ フ ェ ラ ル信号で ト リ ガー さ
れ、PM マ ス タ ーを復帰 さ せ る 必要が あ る こ と を示 し ま す。 すべての ウ ェ ー ク ア ッ プ イ ベン ト は GPI1 割 り 込みで
ト リ ガー さ れ ま す。
PM コ ン ト ロ ー ラ ーでサポー ト さ れ る ウ ェー ク ア ッ プ イ ベン ト を次に示 し ます。
• 関連す る GIC イ ン タ ー フ ェ イ ス のハー ド ウ ェ ア リ ソ ー ス に よ っ て ト リ ガー さ れ る 割 り 込みが発生 し 、CPU を 復帰 さ せ る 必要が あ る こ と を通知す る GIC ウ ェ ー ク ア ッ プ イ ベン ト 。 サポー ト さ れ る GIC ウ ェ ー ク ア ッ プ
イ ベン ト を次に示 し ま す。
° APU[3:0] 各 APU プ ロ セ ッ サに 1 つの イ ベン ト
° RPU[1:0] 各 RPU プ ロ セ ッ サに 1 つの イ ベン ト
• GIC プ ロ キ シで指示 さ れ る FPD ウ ェー ク ア ッ プ イ ベン ト 。 こ の ウ ェー ク ア ッ プ イ ベン ト は、 ウ ェー ク ア ッ プ ソ ース がサ スペン ド さ れ る 前に有効にな っ た と き に ト リ ガー さ れます。 こ の イ ベン ト の目的は、FPD の電源が オ フ にな っ てい る と き に APU マ ス タ ーの ウ ェー ク ア ッ プ を ト リ ガーす る こ と です。FPD の電源がオ フ にな っ て いない場合は、 いずれの ウ ェー ク ア ッ プ信号 も FPD ウ ェー ク ア ッ プ を使用 し て伝搬 さ れません。 代わ り に、
GIC での関連す る 割 り 込みが適切に有効にな っ てい る 場合には、GIC ウ ェー ク ア ッ プ を使用 し て ウ ェー ク ア ッ
プ信号を伝搬で き ます。RPU を タ ーゲ ッ ト と す る すべての ウ ェー ク ア ッ プ信号は、 関連す る GIC ウ ェー ク ア ッ プ を使用 し て伝搬 さ れます。
ス リ ープ イ ベン ト
ス リ ープ イ ベン ト は、 ソ フ ト ウ ェ アで生成 さ れ る イ ベン ト です。 サ スペン ド 処理を完了 し た後に CPU に よ っ て ト リ ガー さ れ る イ ベン ト であ り 、 低電力ス テー ト に遷移す る 準備が整っ た こ と を PMU に通知す る 目的があ り ます。 すべ ての ス リ ープイ ベン ト は GPI2 割 り 込みに よ っ て ト リ ガー さ れます。
サポー ト さ れ る ス リ ープ イ ベン ト を次に示 し ます。
• APU[3:0] 各 APU プ ロ セ ッ サに 1 つの イ ベン ト
第 9 章: 電力管理 フ レームワー クの概要
PM コ ン ト ロ ー ラ ーが特定の CPU の ス リ ープイ ベン ト を受信す る と 、 その CPU は低電力ス テー ト にな り ます。
タ イ マー イ ベン ト
タ イ マーイ ベン ト は、 ハー ド ウ ェ アで生成 さ れ る イ ベン ト です。 一定の時間が経過す る と 、 ハー ド ウ ェ ア タ イ マー に よ っ て ト リ ガー さ れます。 こ の イ ベン ト は電力管理 タ イ ム ア ウ ト ア カ ウ ン テ ィ ン グに使用 さ れ、PIT2 割 り 込みで
ト リ ガー さ れます。
EEMI API 呼び出 し の一般的フ ロー
次の図は、PM マ ス タ ー (別の PU な ど) で開始 さ れ る 呼び出 し か ら 始ま る 、 標準的な API 呼び出 し のシーケ ン ス を示 し てい ます。
上記の図には 4 つのア ク タ ーがあ り 、1 番目は PM マ ス タ ー (RPU、APU、MicroBlaze™ プ ロ セ ッ サ コ ア な ど) です。
残 り の 3 つのア ク タ ーは PMU の異な る ソ フ ト ウ ェ ア層 と な り ます。
まず最初に PMU フ ァ ーム ウ ェ アが IPI 割 り 込みを受信 し ます。 こ の割 り 込みが電力管理関連の割 り 込み と し て認識 さ れ る と 、 電力管理モジ ュ ールに IPI 引数が渡 さ れます。 その後、PM コ ン ト ロ ー ラ ーが API 呼び出 し を処理 し ます。
必要に応 じ て、PMU ROM を呼び出 し て、 電源ア イ ラ ン ド や電力 ド メ イ ンのパ ワーオン/パ ワーオ フ な ど の電力管理 動作を実行 し ます。
X-Ref Target - Figure 9-10
図 9-10: EEMI API 呼び出 し シーケ ン ス