AR# 71028

2018.1-2018.3 Zynq UltraScale+ MPSoC: PetaLinux Warm-Restart BSP でイーサネットをウェークアップできない

説明

2018.1-2018.3 PetaLinux warm-restart BSP でイーサネットをウェークアップできません。 

LAN のウェークアップ (WOL) には、DMA にアクセスできる RX BD スクラッチ エリアが必要で、接続ディスクリプタ―を使用して設定する必要があります。

この目的のために OCM が使用されているのですが、OCM はセキュアなので、この隔離デザインでは効果がありません。

この結果、非セキュアな GEM はセキュアな OCM にアクセスできないので、LAN のウェークアップは、次のデザイン コンフィギュレーションで機能しません。


  1. 隔離がイネーブルになっている。
  2. OCM は TZ セキュアで、OCM_XMPU の保護がイネーブルになっている。
  3. GEM は TZ 非セキュア。

ソリューション

次の回避策があります。

  1. OCM_XMPU 保護をディスエーブルにします (OCM を非セキュアにする)。
  2. Vivado Design Suite で次のコンフィギュレーションを使用して、GEM TZ をセキュアにします。
    • APU セキュア サブシステムにセキュア GEM マスターを追加します。
    • GEM ペリフェラル (非セキュア) および OCM (セキュア) を PMU サブシステムに追加します。
  3. イーサネットが PMUFW のウェークアップ ソースとして設定されているとき、サスペンド中に GEM TZ をセキュアにし、GEM マスターを OCM XMPU 領域に追加します (添付の 0001-pmufw-Changes-for-wakeup-on-LAN-for-isolation-design.patch を参照)。


0001-pmufw-Changes-for-wakeup-on-LAN-for-isolation-design.patch を使用して WOL を起動させる手順は次のとおりです。

a) 次のコンフィギュレーションで隔離デザインを作成します。

  1. 隔離をイネーブルにします。
  2. APU セキュア サブシステムに OCM TZ (セキュア) を追加します。
  3. GEM ペリフェラル (セキュア/非セキュア) および OCM (サイズ: 256KB) TZ (セキュア) を PMU サブシステムに追加します。
  4. HDF を上記のコンフィギュレーションで生成します。

b) 添付のパッチを pmu-firmware ディレクトリにコピーします。 

このディレクトリがない場合は、メタ ユーザー レイヤーにディレクトリを作成します。

$ cp 0001-pmufw-Changes-for-wakeup-on-LAN-for-isolation-design.patch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/pmu-firmware/files


c) pmu-firmware_%.bbappend レシピにパッチを追加し、イメージをビルドします。


SRC_URI_append = " \
        file://0001-pmufw-Changes-for-wakeup-on-LAN-for-isolation-design.patch \
        "
 
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

# Note: for 2018.3 release onwards you don't belwo variables.

EXTERNALXSCTSRC = ""
EXTERNALXSCTSRC_BUILD = ""

d) 手順 c で生成した PMUFW および FSBL を使用して Linux をブートします。

e) LAN のウェーク ページで説明されている手順に従います。

注記:

  • イーサネットをウェークアップ ソースとして使用しているサブシステムをサスペンドしているときに、ほかのサブシステムが実行している場合、XMPU/XPPU コンフィギュレーションのランタイムを変更すると、動作が不正になります。
  • 0001-pmufw-Changes-for-wakeup-on-LAN-for-isolation-design.patch では、処理中のトランザクションが処理されず、APU サブシステム実行中にテストして検証されます。
  • 0001-pmufw-Changes-for-wakeup-on-LAN-for-isolation-design.patch は embeddedsw git repo の一部ではありません。

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
AR71028-patch.zip 3 KB ZIP
AR# 71028
日付 12/10/2018
ステータス アクティブ
種類 一般
デバイス
ツール 詳細 概略
Boards & Kits