文章 ID: 000086392 內容類型: 疑難排解 最近查看日期: 2018 年 10 月 18 日

為什麼 Intel® Stratix® 10 HPS UART / I2C / SPI 周邊裝置以錯誤的速度執行,或在 Linux 中無法運作?

環境

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

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    描述

    由於兩個不同的問題,Intel® Stratix® 10 SoC FPGA硬核處理器系統 (HPS) 裝置上的 UART、I2C 和 SPI IP 可能會在較舊的核心版本上以錯誤的速度執行。

    使用非預設 MPU 頻率頻率時,SoC FPGA Linux Kernels 4.17 和更新版本(2018 年 6 月之後),使用非預設 MPU 頻率:上傳至 HTTPs://github.com/altera-opensource/linux-socfpga 的修復和修補程式會執行 23d4f7b2c6000e095399a6266ef35c213f93649e

    • 在 SoC FPGA Linux 4.17 核心和更新版本中,Stratix 10 頻率管理器驅動程式會從FPGA位流擷取計時資訊。裝置樹中僅指定參考頻率頻率。
    • 由於問題,如果 MPU 頻率設定為非預設值,某些頻率可能不正確。

    SoC FPGA Linux 核心 2018 年 6 月前 4.17,以及 4.16 及更早版本:

    • Linux 裝置樹包含 Intel® Stratix® 10 SoC FPGA硬核處理器系統 (HPS) 的計時結構相關資訊。它必須反映硬處理器系統中的頻率設定,Intel Stratix Intel® Quartus® Prime Pro 平臺設計者系統中的 10 FPGA IP。 如果計時結構未更新以反映主機板與設計,則周邊裝置在 Linux 中可能會操作不正確。 一般的問題是 UART 或 I2C 介面在 u-boot 中運作,但在 Linux 中無法運作。
    • 由於問題,如果 MPU 頻率設定為非預設值(下方的解決方法),某些頻率可能不正確

    此問題已針對較新的核心版本修復。頻率資訊會從FPGA組態位流和更新的頻率驅動程式讀取。

    解決方法

    使用非預設 MPU 頻率頻率時,SoC FPGA Linux 核心 4.17 和更新版本(2018 年 6 月之後)

    此外,請參閱相關的 KDB:當我使用f2s_free_clock作為 HPS 參考頻率時,為什麼 Linux 無法開機于 Intel® Stratix® 10 SoC?

     

    Soc FPGA Linux 核心 4.17 于 2018 年 6 月前和 4.16 日及更早版本:

    請參閱 如何將 Linux 裝置樹更新為 Stratix 10 SX,以符合平臺設計者中的頻率設定? 以取得如何更新 Linux 裝置樹以反映設計中的計時設定的資訊。

    若使用非預設 MPU 頻率頻率,則要解決數學錯誤問題

    - 手動設定裝置樹中的 L3、L4 L4 慢速頻率頻率

    6 離開邏輯來描述 PLL 的

    6 從 L3 分隔器覆寫頻率

     

    l3_main_free_clk:l3_main_free_clk {

    #clock單元 = ;

    #compatible = 「altr,socfpga-s10-perip-clk」;

    #clocks = ;

    #fixed分隔器 = ;

    頻率頻率 = ;

    相容 = 「固定頻率」

                        

    };

     

    l4_sys_free_clk:l4_sys_free_clk {

    #clock單元 = ;

    #compatible = 「altr,socfpga-s10-perip-clk」;

    #clocks = ;

    #fixed分隔器 = ;

    頻率頻率 = ;

    相容 = 「固定頻率」

    };

     

    l4_main_clk:l4_main_clk {

    #clock單元 = ;

    #compatible = 「altr,socfpga-s10-gate-clk」;

    #clocks = ;

    頻率頻率 = ;

    相容 =「固定頻率」;

    #div-reg = ;

    #clk-gate = ;

    };

     

    l4_mp_clk:l4_mp_clk {

    #clock單元 = ;

    #compatible = 「altr,socfpga-s10-gate-clk」;

    #clocks = ;

    頻率頻率 = ;

    相容 =「固定頻率」;

    #div-reg= ;

    #clk-gate = ;

    };

     

    l4_sp_clk:l4_sp_clk {

    #clock單元 = ;

    #compatible = 「altr,socfpga-s10-gate-clk」;

    #clocks = ;

    頻率頻率 = ;

    相容 =「固定頻率」;

    #div-reg= ;

    #clk-gate = ;

    };

    相關產品

    本文章適用於 1 產品

    顯示全部

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