Artikel-ID: 000088371 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 09.02.2022

Warum sehe ich, dass der HPS ECONTROLLER mit voll gefülltem RX-Puffer auf meinem Cyclone® V SoC-Design hängt?

Umgebung

Linux-socfpga

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Beschreibung

Aufgrund eines Problems in der Linux-Socfpga-Kernel-Version 5.4 und neuer kann der HPS E STANDBY unter bestimmten Umständen hängen oder zum Stillstand gebracht werden.

Dieses Problem ist auf eine falsche Einstellung im Cyclone® V SoC Linux Gerätebaum zurückzuführen.

  • Das Bit "Shared Enable Override" muss auf dem L2C-310 Cache-Controller aktiviert sein
  • Das Limit für ausstehende Lese- und Schreibzugriffe sollte auf 0xf auf der ECONTROLLER-DMA gesetzt werden.
Auflösung

Führen Sie die folgenden Schritte durch, um dieses Problem zu beheben:


1. Stellen Sie sicher, dass der L2C-310 Gerätebaumknoten das freigegebene Enable Override-Bit setzt, indem Sie arch/arm/boot/dts/socfpga.dtsi bearbeiten.

       L2: Cache-controller@fffef000 {

compatible = "arm,pl310-cache";

reg = <0xfffef000 0x1000>;

Interrupts = <0 38 0x04>;

Cache-vereinheitlicht;

Cache-Level = <2>;

arm,tag-latency = <1 1 1>;

arm, Datenlatenz = <2 1 1>;

Prefetch-data = <1>;

Prefetch-instr = <1>;

arm, Shared-Override;   Anzahl überprüfen, ob dies vorhanden ist

arm,double-line ( Doppellinie) = <1>;

arm,double-linelich-incr = <0>;

arm,double-line/ wrap = <1>;

arm,prefetch-drop = <0>;

Arm,Prefetch-Offset = <7>;

};

2. Bearbeiten Sie die Ethernet-Knoten, um eine Referenz(en) für eine snps,axi-Config hinzuzufügen und Knoten für die snps,axi-config in arch/arm/boot/dts/socfpga.dtsi hinzuzufügen

Beispiel für GSDS:

diff --git a/arch/arm/boot/dts/socfpga.dtsi b/arch/arm/boot/dts/socfpga.dtsi

Index e404220.. 90a0560 100644

--- a/arch/arm/boot/dts/socfpga.dtsi

+++ b/arch/arm/boot/dts/socfpga.dtsi

@@ -560,10 +560,16 @@

reset-names = "stmmaceth";

snps,multicast-filter-bins = <256>;

snps,perfect-filter-entries = <128>;

+ snps, axi-config = ;

tx-fifo-depth = <4096>;

rx-fifo-depth = <4096>;

status = "deaktiviert";

};

+

+ stmmac_axi_setup_0: stm ieee-axi-config_0 {

+ snps, wr_osr_lmt = <0xf>;

+ SNPS rd_osr_lmt = <0xf>;

+    };

Dieses Problem wird voraussichtlich in einer zukünftigen Version des Linux-Socfpga-Kernels behoben werden.

Zugehörige Produkte

Dieser Artikel bezieht sich auf 3 Produkte

Cyclone® V ST SoC-FPGA
Cyclone® V SX SoC-FPGA
Cyclone® V SE SoC-FPGA

Disclaimer/Rechtliche Hinweise

1

Alle Posts und die Nutzung der Inhalte auf dieser Website unterliegen den Intel.com Nutzungsbedingungen.

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.