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 核心檔。