Artikel-ID: 000086394 Inhaltstyp: Produktinformationen und Dokumente Letzte Überprüfung: 17.10.2018

Wie aktualisiere ich den Linux Gerätebaum für Intel® Stratix® 10 SX Geräte, um die Takteinstellungen im Quartus® Prime Pro Platform Designer anzupassen?

Umgebung

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

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    SoC FPGA Linux Kernel-Versionen 4.17 Juni 2018 und neuer und 4.18 und neuer:

    • Nur die Referenztaktfrequenzen der obersten Ebene für die Intel® Stratix® 10 SX werden im Linux Gerätebaum angegeben.
    • Der Taktbaum, der auf der Stratix 10-HPS-Komponente im Intel® Quartus® Prime Pro Platform Designer-Design eingerichtet ist, wird vom Taktmanagertreiber aus dem FPGA Bitstrom geladen.

    Für SoC FPGA Linux Kernel Version 4.17 (vor Juni 2018) und früher:

    Der Linux Gerätebaum enthält Informationen zur vollständigen Taktungsstruktur der Intel® Stratix® 10 SX und muss die Instandsetzung der Taktfrequenz in der Stratix 10 HPS Komponente im Intel® Quartus® Prime Pro Platform Designer Design berücksichtigen.

    Wenn die Taktungsstruktur nicht entsprechend Mainboard und Design aktualisiert wird, können Peripheriegeräte unter Linux falsch funktionieren.

    Der Linux Kernel enthält einen allgemeinen Gerätebaum der obersten Ebene und einen Beispiel-Gerätebaum für das Intel Stratix 10 SX Development Kit:

    arch/arm64/boot/dts/altera/

    socfpga_stratix10.dtsi #Generic Gerätebaum der obersten Ebene

    Socfpga_stratix10_socdk.dts # Beispiel-Gerätebaum für das Intel Stratix-10-SX-Entwicklungskit, Gold Hardware Reference Design (GHRD) und Gold Software Reference Design (GSRD)

     

    Hinweis:

    • Das Goldene Hardware-Referenzdesign (GHRD) wird mit Intel FPGA SoC EDS in den Beispielen/Hardware/Ordner geliefert
    • Das Gold Software Reference Design (GSRD) kann von Rocketboards.org https://rocketboards.org/foswiki/Documentation/GSRD

    Dieses Problem wurde in späteren Kernel-Versionen (5.X) behoben

    Lösung

    SoC FPGA Linux Kernel-Versionen 4.17 Juni 2018 und neuer und 4.18 und neuer:

    Nur die Referenztaktfrequenzen der obersten Ebene für die Intel® Stratix® 10 SX werden im Linux Gerätebaum angegeben.

    clkmgr@ffd10000 {

    Taktfrequenzen {

    osc1 { clock-frequency = ;        };

    };

    };

     

    Für SoC FPGA Linux Kernel Version 4.17 (vor Juni 2018) und früher:

    Im socfpga_stratix10.dtsi werden die möglichen Einstellungen für die einzelnen Taktbaumkomponenten angezeigt.

    peri_emacb_clk: peri_emacb_clk@ec {

    #clock zellen = ;

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

    Taktfrequenzen = , , , , ;

    reg = ;

    };

     

    Unten sehen Sie einen Teil des Baums, der die Uhr zeigt, die UART und I2C liefert.  Beachten Sie, dass die Quellentakte für die IP standardmäßig eingestellt sind, ihre Verbindung zum Baum jedoch nicht eingestellt ist.  Die dort festgelegte IP wird l4_sp_clock, was von noc_clk angetrieben wird, aber noc_clk und noc_free_clk keinen definierten Treiber haben:

    :

    main_noc_base_clk: main_noc_base_clk {

    ...

    Taktfrequenzen = ;

    ...

    };

    noc_free_clk: noc_free_clk@4c {

    ...

    Taktfrequenzen = , ,

    , ,

    < und f2s_free_clk>;

    ...

    };

    noc_clk: noc_clk@30 {

    ...

    Taktfrequenzen = , < und boot_clk>;

    ...

    };

    l4_sp_clk: l4_sp_clk {

    ...

    Taktfrequenzen = ;

    ...

    };

    i2c1: i2c@ffc02900 {

    ...

    Taktfrequenzen = ;

    ...

    };

    uart0: serial0@ffc02000 {

    ...

    Taktfrequenzen = ;

    ...

    };

     

    Die erforderlichen Einstellungen können über die .dts-Datei für Ihr Mainboard mithilfe der unten aufgeführten Datei angewendet werden:

     

    SoC {

    clkmgr@ffd10000 {

    Taktfrequenzen {

    OSC1 {

    Taktfrequenz = ;

    };

    periph_pll@e4 {

    peri_emaca_clk@e8{

    Taktfrequenz = ;

    };

    peri_emacb_clk@ec {

    Taktfrequenz = ;

    };

    };

    noc_free_clk@4c {

    Taktfrequenzen = ;

    };

    noc_clk@30 {

    Taktfrequenzen = ;

    };

    emaca_free_clk {

    Taktfrequenzen = ;

    };

    emacb_free_clk {

    Taktfrequenzen = ;

    };

    emac0_clk {

    Taktfrequenz = ;

    };

    emac1_clk {

    Taktfrequenz = ;

    };

    emac2_clk{

    Taktfrequenz = ;

    };

    };

    };

    };

    };

     

    Die oben genannten Behebung des Problems für die UART/I2C und definiert auch einige Ethernet-Takte.   Der Taktbaum ist jetzt von UART / I2C bis zur Haupt-PLL vollständig.   Dies bedeutet, dass die Logik, die UART und I2C basierend auf der Quellen-Taktfrequenz einrichtet, die richtige Berechnung durchführen kann.

    Weitere Informationen zum Gerätebaum finden Sie in der Dokumentation zum Linux Kernel.

     

    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.