Artikel-ID: 000086392 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 18.10.2018

Warum läuft Intel® Stratix® 10 HPS UART/ I2C / SPI-Peripheriegerät mit der falschen Geschwindigkeit oder funktioniert nicht unter Linux?

Umgebung

  • Intel® Quartus® Prime Pro Edition
  • Linux-socfpga 4.X

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Aufgrund von zwei verschiedenen Problemen können UART, I2C und SPI IP auf Intel® Stratix® 10 SoC FPGA Hard Processor System (HPS) Geräten auf älteren Kernel-Versionen mit der falschen Geschwindigkeit ausgeführt werden.

    SoC FPGA Linux Kernels 4.17 und neuer (nach Juni 2018), wenn eine nicht standardmäßige MPU-Taktfrequenz verwendet wird: Behoben und Patch in https://github.com/altera-opensource/linux-socfpga hochgeladen 23d4f7b2c6000e095399a6266ef35c213f93649e

    • In SoC FPGA Linux 4.17 Kernels und neuer extrahiert der treiber für den Stratix 10 Clock Manager die Taktinformationen aus dem FPGA Bitstrom. Im Gerätebaum werden nur die Referenztaktfrequenzen angegeben.
    • Aufgrund eines Problems können einige Frequenzen falsch sein, wenn die MPU-Frequenz auf einen nicht-Standardwert gesetzt ist.

    SoC FPGA Linux Kernels 4.17 vor Juni 2018 und 4.16 und früher:

    • Der Linux Gerätebaum enthält Informationen zur Taktstruktur des Intel® Stratix® 10 SoC FPGA Hard Processor System (HPS). Sie muss die Taktfrequenz des Hard Processor Systems Intel Stratix 10 FPGA IP im Intel® Quartus® Prime Pro Platform Designer-System spiegeln.  Wenn die Taktungsstruktur nicht entsprechend Mainboard und Design aktualisiert wird, können Peripheriegeräte unter Linux falsch funktionieren.  Typische Probleme sind UART- oder I2C-Schnittstellen, die im U-Boot-Bereich funktionieren, aber unter Linux nicht funktionieren.
    • Aufgrund eines Problems können einige Frequenzen falsch sein, wenn die MPU-Frequenz auf einen nicht-Standardwert gesetzt ist (Problemumgehung unten)

    Dieses Problem wurde für neuere Kernel-Versionen behoben. Die Taktinformationen werden aus dem FPGA Konfigurations-Bitstream und von einem aktualisierten Takttreiber gelesen.

    Lösung

    SoC FPGA Linux Kernels 4.17 und neuer (nach Juni 2018), wenn eine nicht standardmäßige MPU-Taktfrequenz verwendet wird

    Siehe auch zugehörige KDB: Warum startet Linux auf meinem Intel® Stratix® 10 SoC nicht, wenn ich den f2s_free_clock als HPS-Referenztakt verwende?

     

    Soc FPGA Linux Kernels 4.17 vor Juni 2018 und 4.16 und früher:

    Siehe Wie aktualisiere ich den Linux Gerätebaum für Stratix 10 SX, um die Taktungseinstellungen im Platform Designer abzugleichen? Weitere Informationen zur Aktualisierung des Linux Gerätebaums, um die Taktungseinstellungen in Ihrem Design widerzuspiegeln.

    Um den mathematischen Fehler zu umgehen, wenn die nicht standardmäßige MPU-Taktfrequenz verwendet wird

    - Manuelles Einstellen der L3,L4 L4 Langsamen Taktfrequenzen im Gerätebaum

    Lassen Sie die Logik stehen, um die PLL zu beschreiben

    Überschreiben Sie die Taktfrequenzen vom L3-Teiler

     

    l3_main_free_clk: l3_main_free_clk {

    #clock zellen = ;

    #compatible = "altr,socfpga-s10-perip-clk";

    #clocks = ;

    #fixed teiler = ;

    Taktfrequenz = ;

    compatible = "Fixed-Clock"

                        

    };

     

    l4_sys_free_clk: l4_sys_free_clk {

    #clock zellen = ;

    #compatible = "altr,socfpga-s10-perip-clk";

    #clocks = ;

    #fixed teiler = ;

    Taktfrequenz = ;

    compatible = "Fixed-Clock"

    };

     

    l4_main_clk: l4_main_clk {

    #clock zellen = ;

    #compatible = "altr,socfpga-s10-gate-clk";

    #clocks = ;

    Taktfrequenz = ;

    compatible = "Fixed-Clock";

    #div-reg = ;

    #clk-Gate = ;

    };

     

    l4_mp_clk: l4_mp_clk {

    #clock zellen = ;

    #compatible = "altr,socfpga-s10-gate-clk";

    #clocks = ;

    Taktfrequenz = ;

    compatible = "Fixed-Clock";

    #div-reg= ;

    #clk-Gate = ;

    };

     

    l4_sp_clk: l4_sp_clk {

    #clock zellen = ;

    #compatible = "altr,socfpga-s10-gate-clk";

    #clocks = ;

    Taktfrequenz = ;

    compatible = "Fixed-Clock";

    #div-reg= ;

    #clk-Gate = ;

    };

    Zugehörige Produkte

    Dieser Artikel bezieht sich auf 1 Produkte

    Intel® Stratix® 10 GT SoC-FPGA

    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.