AR# 70286

2017.1-2017.4 Zynq-7000、Zynq UltraScale+ MPSoC: GIC へカスケードされている Linux AXI INTC でエッジ トリガー タイプの割り込みが生成されない

説明

2017.1 から 2017.4 までの Linux (kernel 4.9) で、Zynq-7000 および Zynq UltraScale+ MPSoC デバイスで、AXI INTC 割り込みタイプが [Edge Interrupt] に設定されていると、PS GIC へカスケードされている AXI INTC で割り込みが生成されません。

次の IP コンフィギュレーションを参照してください。


 

cat /proc/ 割り込みの出力:

 54:          0          0          0          0  Xilinx INTC   1 Level   -level     a0010000.i2c
 55:          0          0          0          0     xgpio   0 Edge      GPIO_DIP_SW0
 56:          0          0          0          0     xgpio   1 Edge      GPIO_DIP_SW1
 57:          0          0          0          0     xgpio   2 Edge      GPIO_DIP_SW2
 58:          0          0          0          0     xgpio   3 Edge      GPIO_DIP_SW3
 59:          0          0          0          0     xgpio   4 Edge      GPIO_DIP_SW4
 60:          0          0          0          0     xgpio   5 Edge      GPIO_DIP_SW5
 61:          0          0          0          0     xgpio   6 Edge      GPIO_DIP_SW6
 62:          0          0          0          0     xgpio   7 Edge      GPIO_DIP_SW7
 85:          0          0          0          0  zynq-gpio  22 Edge      sw19
237:          0          0          0          0     GICv2  97 Level     xhci-hcd:usb1

ソリューション

これは、AXI INTC Linux デバイス ドラーバーが次の割り込みコントローラー (GIC など) に IRQ コンフィギュレーションを伝搬していないために起きます。  

この問題を修正するには、添付のパッチをカーネルに適用します。このパッチは、AXI INTC Linux デバイス ドラーバーが次の割り込みコントローラー (GIC など) に正しいトリガー タイプを伝搬するようにドライバーをアップデートします。

パッチを <plnx-proj-root>/project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%.bbappend に適用する必要があります。

SRC_URI_append ="\
    file://0001-irqchip-irq-xilinx-intc-Use-irq_set_chained_handler_.patch \
"

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

注記: レシピへのパッチの適用方法は、(UG1144) または http://www.wiki.xilinx.com/PetaLinux+Yocto+Tips

パッチを適用した後の cat /proc/ 割り込みの出力:

 54:          0          0          0          0  Xilinx INTC   1 Level   -level     a0010000.i2c
 55:          9          0          0          0     xgpio   0 Edge      GPIO_DIP_SW0
 56:         11          0          0          0     xgpio   1 Edge      GPIO_DIP_SW1
 57:         10          0          0          0     xgpio   2 Edge      GPIO_DIP_SW2
 58:         16          0          0          0     xgpio   3 Edge      GPIO_DIP_SW3
 59:         18          0          0          0     xgpio   4 Edge      GPIO_DIP_SW4
 60:         34          0          0          0     xgpio   5 Edge      GPIO_DIP_SW5
 61:         17          0          0          0     xgpio   6 Edge      GPIO_DIP_SW6
 62:         24          0          0          0     xgpio   7 Edge      GPIO_DIP_SW7
 85:          0          0          0          0  zynq-gpio  22 Edge      sw19
237:          0          0          0          0     GICv2  97 Level     xhci-hcd:usb1

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
AR70286-v2017-1-to-2017-4-Patch.zip 817 Bytes ZIP
AR# 70286
日付 05/18/2018
ステータス アクティブ
種類 一般
デバイス
ツール
Boards & Kits