文章 ID: 000086394 內容類型: 產品資訊與文件 最近查看日期: 2018 年 10 月 17 日

如何更新 Linux 裝置樹以Intel® Stratix® 10 個 SX 裝置,以符合 Quartus® Prime 專業平臺設計者中的頻率設定?

環境

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

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    描述

    SoC FPGA Linux 核心版本 2018 年 6 月 4.17 日及更新版本,以及 4.18 及更新版本:

    • Linux 裝置樹中僅指定Intel® Stratix® 10 SX 的最高等級參考頻率頻率。
    • 頻率管理器驅動程式從FPGA位流載入Intel® Quartus® Prime Pro 平臺設計Stratix 10 HPS 元件上的頻率樹設定。

    針對 SoC FPGA Linux 核心版本 4.17 (2018 年 6 月前) 和更早版本:

    Linux 裝置樹包含 Intel® Stratix® 10 SX 的完整計時結構資訊,且必須在 Intel® Quartus® Prime Pro 平臺設計者設計中反映 Stratix 10 HPS 元件中的頻率設定。

    如果計時結構未更新以反映主機板與設計,則周邊裝置在 Linux 中可能會操作不正確。

    Linux 核心包含一般頂層裝置樹,以及適用于 Intel Stratix 10 SX 開發工具組的範例裝置樹:

    arch/arm64/boot/dts/altera/

    socfpga_stratix10.dtsi #Generic頂級裝置樹

    Intel Stratix 10 SX 開發工具組、黃金硬體參考設計 (GHRD) 和黃金軟體參考設計 (GSRD) 的 Socfpga_stratix10_socdk.dts # 範例裝置樹

     

    注意:

    • 黃金硬體參考設計 (GHRD) 隨Intel FPGA SoC EDS 在範例/硬體/資料夾中出貨
    • 黃金軟體參考設計 (GSRD) 可從 Rocketboards.org HTTPs://rocketboards.org/foswiki/Documentation/GSRD 下載

    此問題已在後續的核心版本中修復 (5.X)

    解決方法

    SoC FPGA Linux 核心版本 2018 年 6 月 4.17 日及更新版本,以及 4.18 及更新版本:

    Linux 裝置樹中僅指定 Intel® Stratix® 10 SX 的最高等級參考頻率頻率。

    clkmgr@ffd10000 {

    時鐘 {

    osc1 { 頻率頻率 = ;       };

    };

    };

     

    針對 SoC FPGA Linux 核心版本 4.17(2018 年 6 月前)和更早版本:

    socfpga_stratix10.dtsi 顯示每個頻率樹元件的可能設定。

    peri_emacb_clk:peri_emacb_clk@ec {

    #clock單元 = ;

    相容 = 「altr,socfpga-s10-perip-clk」;

    頻率 = 、、、、;

    reg = ;

    };

     

    下方是樹的一部分,顯示供應 UART 和 I2C 的頻率。 請注意,在預設情況下,IP 的原始頻率已設定,但未設定連接樹。 IP 設定有需要l4_sp_clock的頻率,由noc_clk驅動,但noc_clk和noc_free_clk沒有定義的驅動程式:

    :

    main_noc_base_clk:main_noc_base_clk {

    ...

    頻率 = ;

    ...

    };

    noc_free_clk:noc_free_clk@4c {

    ...

    頻率 = ,,

    ,,

    ;

    ...

    };

    noc_clk:noc_clk@30 {

    ...

    頻率 = 、;

    ...

    };

    l4_sp_clk:l4_sp_clk {

    ...

    頻率 = ;

    ...

    };

    i2c1:i2c@ffc02900 {

    ...

    頻率 = ;

    ...

    };

    uart0:serial0@ffc02000 {

    ...

    頻率 = ;

    ...

    };

     

    所需設定可透過您的主機板的 .dts 檔案,使用以下所示的語法套用:

     

    soc {

    clkmgr@ffd10000 {

    時鐘 {

    osc1 {

    頻率頻率 = ;

    };

    periph_pll@e4 {

    peri_emaca_clk@e8\

    頻率 = ;

    };

    peri_emacb_clk@ec {

    頻率 = ;

    };

    };

    noc_free_clk@4c {

    頻率 = ;

    };

    noc_clk@30 {

    頻率 = ;

    };

    emaca_free_clk {

    頻率 = ;

    };

    emacb_free_clk {

    頻率 = ;

    };

    emac0_clk {

    頻率 = ;

    };

    emac1_clk {

    頻率 = ;

    };

    emac2_clk\

    頻率 = ;

    };

    };

    };

    };

    };

     

    以上修復了 UART / I2C 的問題,並定義了一些乙太網路頻率。  頻率樹現在從 UART / I2C 完成,一直到主 PLL。。  這表示根據源頻率頻率設定 UART 和 I2C 的邏輯可以做出正確的計算。

    如需設備樹的詳細資訊,請參閱 Linux 核心檔。

     

    相關產品

    本文章適用於 1 產品

    顯示全部

    這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。