lS1043AでPCIEにEDMAを使用する こんにちは、皆さん。 私たちのシステムでは 3 つの Pcie インスタンスを使用しています。システムのニーズに応じて DMA を使用する必要があります。DMA を有効にする方法を知る必要があります。 有効にするにはどうすればいいですか?デバイス ツリーに追加する必要があるかどうか、またはどのように追加する必要があるか? 私たちはls1043ardbボードを使用しており、yocto-real-time-edge BSPを使用しています。 デバイス ツリーを確認しましたが、どの Pcie ノードにも DMA 範囲が記載されていません。 以下はfsl-ls1043a.dtsiの下のデバイスツリーです。 "pcie1: pcie@3400000 { 互換性 = "fsl、ls1043a-pcie"; reg = <0x00 0x03400000 0x0 0x00100000>, /* コントローラレジスタ */ <0x40 0x00000000 0x0 0x00002000>; /* 設定空間 */ reg-names = "regs", "config"; 割り込み = 、 ; 割り込み名 = "pme", "aer"; #アドレスセル = <3>; #size-cells = <2>; デバイスタイプ = "pci"; iommu-map = <0 &smmu 0 1>; /* ブートローダーによる更新 */ ビューポート数 = <6>; バス範囲 = <0x0 0xff>; 範囲 = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* ダウンストリームI/O */ 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* プリフェッチ不可能なメモリ */ msi-parent = <&msi1>、<&msi2>、<&msi3>; #割り込みセル = <1>; 割り込みマップマスク = <0 0 0 7>; 割り込みマップ = <0000 0 0 1 &gic 0 110 0x4>, <0000 0 0 2 &gic 0 111 0x4>, <0000 0 0 3 &gic 0 112 0x4>, <0000 0 0 4 &gic 0 113 0x4>; fsl、pcie-scfg = <&scfg 0>; ビッグエンディアン; ステータス = "正常"; }; pcie2: pcie@3500000 { 互換性 = "fsl、ls1043a-pcie"; reg = <0x00 0x03500000 0x0 0x00100000>, /* コントローラレジスタ */ <0x48 0x00000000 0x0 0x00002000>; /* 設定空間 */ reg-names = "regs", "config"; 割り込み = 、 ; 割り込み名 = "pme", "aer"; #アドレスセル = <3>; #size-cells = <2>; デバイスタイプ = "pci"; iommu-map = <0 &smmu 0 1>; /* ブートローダーによる更新 */ ビューポート数 = <6>; バス範囲 = <0x0 0xff>; 範囲 = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* ダウンストリームI/O */ 0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* プリフェッチ不可能なメモリ */ msi-parent = <&msi1>、<&msi2>、<&msi3>; #割り込みセル = <1>; 割り込みマップマスク = <0 0 0 7>; 割り込みマップ = <0000 0 0 1 &gic 0 120 0x4>, <0000 0 0 2 &gic 0 121 0x4>, <0000 0 0 3 &gic 0 122 0x4>, <0000 0 0 4 &gic 0 123 0x4>; fsl、pcie-scfg = <&scfg 1>; ビッグエンディアン; ステータス = "正常"; }; pcie3: pcie@3600000 { 互換性 = "fsl、ls1043a-pcie"; reg = <0x00 0x03600000 0x0 0x00100000>, /* コントローラレジスタ */ <0x50 0x00000000 0x0 0x00002000>; /* 設定空間 */ reg-names = "regs", "config"; 割り込み = 、 ; 割り込み名 = "pme", "aer"; #アドレスセル = <3>; #size-cells = <2>; デバイスタイプ = "pci"; iommu-map = <0 &smmu 0 1>; /* ブートローダーによる更新 */ ビューポート数 = <6>; バス範囲 = <0x0 0xff>; 範囲 = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000 /* ダウンストリームI/O */ 0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* プリフェッチ不可能なメモリ */ msi-parent = <&msi1>、<&msi2>、<&msi3>; #割り込みセル = <1>; 割り込みマップマスク = <0 0 0 7>; 割り込みマップ = <0000 0 0 1 &gic 0 154 0x4>, <0000 0 0 2 &gic 0 155 0x4>, <0000 0 0 3 &gic 0 156 0x4>, <0000 0 0 4 &gic 0 157 0x4>; fsl、pcie-scfg = <&scfg 2>; ビッグエンディアン; ステータス = "正常"; }; " SO、やり方を教えてください。 #ls1043a
View full article