ID บทความ: 000086392 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 18/10/2018

ทําไมอุปกรณ์ต่อพ่วง Intel® Stratix® 10 HPS UART / I2C / SPI ทํางานที่ความเร็วไม่ถูกต้องหรือไม่ทํางานใน Linux

สิ่งแวดล้อม

    Intel® Quartus® Prime Pro Edition

Linux-socfpga 4.X

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

เนื่องจากสองปัญหาที่แตกต่างกัน UART, I2C และ IP SPI บนอุปกรณ์ Intel® Stratix® 10 SoC FPGA Hard Processor System (HPS) อาจทํางานที่ความเร็วที่ไม่ถูกต้องในเวอร์ชันเคอร์เนลเก่า

SoC FPGA Linux Kernels 4.17 และใหม่กว่า (หลังเดือนมิถุนายน 2018) เมื่อใช้ความถี่สัญญาณนาฬิกา MPU ที่ไม่ใช่ค่าเริ่มต้น: อัปโหลดแก้ไขและอัปโหลดเพื่อ https://github.com/altera-opensource/linux-socfpga ยอมรับ 23d4f7b2c600e095399a6266ef35c213f93649e

  • ใน SoC FPGA Linux 4.17 Kernels และใหม่กว่า ไดรเวอร์ Stratix 10 Clock Manager จะดึงข้อมูลการนาฬิกาจากบิตสตรีม FPGA ระบุเฉพาะความถี่นาฬิกาอ้างอิงในโครงสร้างอุปกรณ์
  • เนื่องจากปัญหา ความถี่บางอย่างอาจไม่ถูกต้องหากตั้งความถี่ MPU เป็นค่าที่ไม่ใช่ค่าเริ่มต้น

SoC FPGA Linux Kernels 4.17 ก่อนเดือนมิถุนายน 2018 และ 4.16 และก่อนหน้า:

  • Linux Device Tree มีข้อมูลเกี่ยวกับโครงสร้างการตอกบัตรของ Intel® Stratix® 10 SoC FPGA Hard Processor System (HPS) โดยต้องแสดงการตั้งค่าสัญญาณนาฬิกาในระบบฮาร์ดโปรเซสเซอร์ Intel Stratix IP FPGA 10 ตัวในระบบ Intel® Quartus® Prime Pro Platform Designer  หากโครงสร้างการตอกบัตรไม่เป็นการอัปเดตเพื่อแสดงบอร์ดและการออกแบบ อุปกรณ์ต่อพ่วงอาจทํางานไม่ถูกต้องใน Linux  ปัญหาทั่วไปคืออินเทอร์เฟซ UART หรือ I2C ทํางานใน u-boot แต่ไม่สามารถใช้งานได้ใน Linux
  • เนื่องจากปัญหา ความถี่บางอย่างอาจไม่ถูกต้องหากตั้งความถี่ MPU เป็นค่าที่ไม่ใช่ค่าเริ่มต้น (การแก้ไขปัญหาด้านล่าง)

ปัญหานี้ได้รับการแก้ไขสําหรับเวอร์ชัน Kernel ที่ใหม่กว่า ข้อมูลนาฬิกาจะถูกอ่านจากบิตการกําหนดค่า FPGA และด้วยไดรเวอร์นาฬิกาที่อัปเดต

ความละเอียด

SoC FPGA Linux Kernels 4.17 และใหม่กว่า (หลังเดือนมิถุนายน 2018) เมื่อมีการใช้ความถี่สัญญาณนาฬิกา MPU ที่ไม่ใช่ค่าเริ่มต้น

  • ปัญหานี้ได้รับการแก้ไขสําหรับเคอร์เนล 4.18 บน https://github.com/altera-opensource/linux-socfpga โดยมี 23d4f7b2c6000e095399a6266ef35c213f93649e
  • นอกจากนี้ยังมีโปรแกรมแก้ไขสําหรับแก้ไขปัญหานี้ 0002_clk-pll-s10_L3L4clockFrequencyFix_1.patch

และดู KDB ที่เกี่ยวข้อง: เหตุใด Linux จึงไม่สามารถบูตบน Intel® Stratix® 10 SoC ของฉันเมื่อฉันใช้ f2s_free_clock เป็นสัญญาณนาฬิกาอ้างอิง HPS

 

Soc FPGA Linux Kernels 4.17 ก่อนเดือนมิถุนายน 2018 และ 4.16 และก่อนหน้า :

ดู ฉันจะอัปเดต Linux Device Tree สําหรับ Stratix 10 SX เพื่อให้ตรงกับการตั้งค่านาฬิกาใน Platform Designer ได้อย่างไร สําหรับข้อมูลเกี่ยวกับวิธีอัปเดต Linux Device Tree เพื่อแสดงการตั้งค่านาฬิกาในการออกแบบของคุณ

หากต้องการแก้ไขข้อผิดพลาดทางคณิตศาสตร์หากมีการใช้ความถี่นาฬิกา MPU เริ่มต้น

- ตั้งค่าความถี่นาฬิกาช้า L3,L4 L4 ด้วยตนเองในโครงสร้างอุปกรณ์

○ ปล่อยให้ตรรกะนี้อธิบาย PLL

○ ควบคุมนาฬิกาจากตัวแบ่ง 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-เกต = ;

};

 

l4_mp_clk: l4_mp_clk {

#clock-เซลล์ = ;

#compatible = "altr, socfpga-s10-gate-clk"

#clocks = ;

ความถี่นาฬิกา = ;

เข้ากันได้ = "นาฬิกาคงที่";

#div-reg= ;

#clk-เกต = ;

};

 

l4_sp_clk: l4_sp_clk {

#clock-เซลล์ = ;

#compatible = "altr, socfpga-s10-gate-clk"

#clocks = ;

ความถี่นาฬิกา = ;

เข้ากันได้ = "นาฬิกาคงที่";

#div-reg= ;

#clk-เกต = ;

};

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

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

Intel® Stratix® 10 SX SoC FPGA

1

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