AR# 68166

Zynq UltraScale+ MPSoC - 2016.3 FSBL で PS-PL AXI 幅が設定されない

説明

32 または 64 ビット幅 (または M_AXI_HP0_LPD の場合は 128 ビット) の AXI インターフェイスを使用しており、FSBL を使用してシステムを初期化すると、バス幅が設定されず、データが破損します。

ソリューション

この問題は、Tcl 初期化ワークフローに対しては 2016.3 リリースで修正されていますが ((Xilinx Answer 66295) を参照)、FSBL ワークフローに対しては修正されていません。その理由は、FSBL ワークフローでは psu_ps_pl_isolation_removal_data() の代わりに独自の PS-PL 分離削除関数が使用されるからです。

現時点では、FSBL 初期化プロセスに psu_ps_pl_isolation_removal_data 関数を含めると、この問題を回避できます。

u32 XFsbl_HookPsuInit(void)
{
u32 Status = XFSBL_SUCCESS;

/* Add the code here */

Status = (u32)psu_init();

if (XFSBL_SUCCESS != Status) {
XFsbl_Printf(DEBUG_GENERAL,"XFSBL_PSU_INIT_FAILED\n\r");
/**
* Need to check a way to communicate both FSBL code
* and PSU init error code
*/
Status = XFSBL_PSU_INIT_FAILED + Status;
}

/* AFI Configuration workaround */
psu_ps_pl_isolation_removal_data();

return Status;
}

この問題は 2016.4 リリースで修正される予定です。

AR# 68166
日付 12/21/2016
ステータス アクティブ
種類 一般
デバイス
ツール
IP