Identyfikator artykułu: 000088371 Typ materiałów: Rozwiązywanie problemów Ostatnia zmiana: 09-02-2022

Dlaczego widzę, że hps EMAC wiszą z buforem RX pełnym na moim projekcie układu SoC Cyclone® V?

Środowisko

Linux-socfpga

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Opis

Ze względu na problem w jądrze Linux-socfpga w wersji 5.4 i nowszej HPS EMAC może się w pewnych okolicznościach zawiesić lub zawiesić.

Ten problem jest spowodowany nieprawidłowym ustawieniem w drzewie urządzenia Linux układu SoC Cyclone® V

  • Bit Shared Enable Override musi być włączony na kontrolerze pamięci podręcznej L2C-310
  • Limit nierozstrzyggniętej transakcji odczytu i zapisu należy ustawić na 0xf na DMA EMAC
Rozdzielczość

Aby rozwiązać ten problem, wykonaj następujące czynności:


1. Upewnij się, że węzeł drzewa urządzenia L2C-310 ustawia wspólny bit Enable Override, edytując arch/arm/boot/dts/socfpga.dtsi

       L2: controller@fffef000 cache {

kompatybilność = "arm,pl310-cache";

reg = <0xfffef000 0x1000>;

przerwania = <0, 38 0x04>;

ujednolicone w pamięci podręcznej;

poziom pamięci cache = <2>;

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

opóźnienie transmisji danych — <2 1 1>;

dane wstępne = <1>;

prefetch-instr = <1>;

arm,shared-override;   # Sprawdź, czy jest obecny

arm,double-line wysuszone = <1>;

arm,double-line wcr = <0>;

arm,double-line przesuwne-osem = <1>;

arm,prefetch-drop = <0>;

przesunięcie zestawu (prefetch) = <7>;

};

2. Zmodyfikuj węzeł (węzły) Ethernet, aby dodać punkt referencyjny dla snps,axi-config i dodać węzły dla snps, axi-config w arch/arm/boot/dts/socfpga.dtsi

Przykład GMAC0:

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

indeks e404220.. 100644 90a0560

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

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

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

nazwy resetowania = "stmmaceth";

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

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

+ snps,axi-config = ;

głębokość tx-fifo = <4096>;

głębokość rx-fifo = <4096>;

status = "wyłączony";

};

+

+ stmmac_axi_setup_0: stmmac-axi-config_0 {

+ snps,wr_osr_lmt = <0xf>;

+ snps,rd_osr_lmt = <0xf>;

+    };

Ten problem ma zostać naprawiony w przyszłej wersji jądra Linux-Socfpga.

Podobne produkty

Ten artykuł dotyczy 3 prod.

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

Zastrzeżenie

1

Publikowanie treści i wykorzystanie zawartości tej witryny podlega Regulaminowi witryny Intel.com.

Materiały zawarte na tej stronie są tłumaczeniem z języka angielskiego, wykonanym częściowo przez człowieka, a częściowo automatycznie. Materiały te są udostępnione dla Twojej wygody i należy je traktować jedynie jako ogólne źródło informacji. Nie ma jednak gwarancji, że są one kompletne bądź poprawne. Jeśli istnieje jakakolwiek rozbieżność między wersją angielską tej strony a jej tłumaczeniem, wersja angielska jest wersją obowiązującą i ma rozstrzygające znaczenie. Wyświetl anglojęzyczną wersję tej strony.