ID บทความ: 000086394 ประเภทข้อมูล: ข้อมูลผลิตภัณฑ์และเอกสารประกอบ การตรวจสอบครั้งล่าสุด: 17/10/2018

ฉันจะอัปเดต Linux Device Tree สําหรับอุปกรณ์ Intel® Stratix® 10 SX เพื่อให้ตรงกับการตั้งค่านาฬิกาใน Quartus® Prime Pro Platform Designer ได้อย่างไร

สิ่งแวดล้อม

    Intel® Quartus® Prime Pro Edition

Linux-socfpga 4.X

BUILT IN - ARTICLE INTRO SECOND COMPONENT
คำอธิบาย

SoC FPGA Linux Kernel เวอร์ชั่น 4.17 มิถุนายน 2018 และใหม่กว่า และ 4.18 และใหม่กว่า:

  • เฉพาะความถี่สัญญาณนาฬิกาอ้างอิงระดับบนสุดสําหรับ Intel® Stratix® 10 SX เท่านั้นที่จะถูกระบุไว้ใน Linux Device Tree
  • การตั้งค่าต้นนาฬิกาตามการตั้งค่าบนส่วนประกอบ HPS Stratix 10 ในการออกแบบ Intel® Quartus® Prime Pro Platform Designer ถูกโหลดจาก FPGA บิตสตรีมโดยไดรเวอร์ตัวจัดการนาฬิกา

สําหรับ SoC FPGA Linux Kernel เวอร์ชั่น 4.17 (ก่อนเดือนมิถุนายน 2018) และก่อนหน้า:

Linux Device Tree มีข้อมูลเกี่ยวกับโครงสร้างการนาฬิกาทั้งหมดของ Intel® Stratix® 10 SX และต้องแสดงการตั้งค่านาฬิกาในส่วนประกอบ HPS Stratix 10 ในการออกแบบ Intel® Quartus® Prime Pro Platform Designer

หากโครงสร้างการตอกบัตรไม่เป็นการอัปเดตเพื่อแสดงบอร์ดและการออกแบบ อุปกรณ์ต่อพ่วงอาจทํางานไม่ถูกต้องใน Linux

เคอร์เนล Linux ประกอบด้วยโครงสร้างอุปกรณ์ระดับบนสุดทั่วไปและแผนผังอุปกรณ์ตัวอย่างสําหรับชุดพัฒนา SX Intel Stratix 10:

arch/arm64/boot/dts/altera/

socfpga_stratix10.dtsi #Generic โครงสร้างอุปกรณ์ระดับสูง

Socfpga_stratix10_socdk.dts # ตัวอย่างแผนผังอุปกรณ์สําหรับชุดพัฒนา SX Intel Stratix 10, การออกแบบอ้างอิงฮาร์ดแวร์สีทอง (GHRD) และการออกแบบอ้างอิงซอฟต์แวร์สีทอง (GSRD)

 

หมาย เหตุ:

  • การออกแบบอ้างอิงฮาร์ดแวร์สีทอง (GHRD) มีการจัดส่งพร้อม soC EDS Intel FPGA ในตัวอย่าง/ฮาร์ดแวร์/ โฟลเดอร์
  • สามารถดาวน์โหลดการออกแบบอ้างอิงซอฟต์แวร์สีทอง (GSRD) ได้จาก Rocketboards.org https://rocketboards.org/foswiki/Documentation/GSRD

ปัญหานี้ได้รับการแก้ไขในเวอร์ชันเคอร์เนลที่ใหม่กว่า (5.X)

ความละเอียด

SoC FPGA Linux Kernel เวอร์ชั่น 4.17 มิถุนายน 2018 และใหม่กว่า และ 4.18 และใหม่กว่า:

เฉพาะความถี่สัญญาณนาฬิกาอ้างอิงระดับบนสุดสําหรับ Intel® Stratix® 10 SX เท่านั้นที่มีการระบุไว้ใน Linux Device Tree

clkmgr@ffd10000 {

นาฬิกา {

osc1 { ความถี่สัญญาณนาฬิกา = ;        };

};

};

 

สําหรับ SoC FPGA Linux Kernel เวอร์ชั่น 4.17 (ก่อนเดือนมิถุนายน 2018) และก่อนหน้า:

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 ตามความถี่สัญญาณนาฬิกาต้นทางสามารถทําการคํานวณที่เหมาะสมได้

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับ Device Tree โปรดดูเอกสารประกอบ Linux Kernel

 

ผลิตภัณฑ์ที่เกี่ยวข้อง

บทความนี้จะนำไปใช้กับ 1 ผลิตภัณฑ์

Intel® Stratix® 10 SX SoC FPGA

1

เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้