ID bài viết: 000086392 Loại nội dung: Xử lý sự cố Lần duyệt cuối: 18/10/2018

Tại sao Intel® Stratix® 10 HPS UART / I2C / SPI ngoại vi chạy ở tốc độ sai hoặc không hoạt động trong Linux?

Môi Trường

  • Intel® Quartus® Prime Phiên bản Pro
  • Linux-socfpga 4.X

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Mô tả

    Do hai vấn đề khác nhau, UART, I2C và SPI IP trên các thiết bị Hệ thống xử lý cứng Intel® Stratix® 10 SoC FPGA (HPS) có thể chạy sai tốc độ trên các Phiên bản Kernel cũ hơn.

    SoC FPGA Linux Kernels 4.17 trở lên (sau tháng 6 năm 2018) khi sử dụng tần số xung xung MPU không mặc định: Cố định và vá được tải lên https://github.com/altera-opensource/linux-socfpga commit 23d4f7b2c6000e095399a6266ef35c213f93649e

    • Trong SoC FPGA Nhân Linux 4.17 trở lên, trình điều khiển Trình quản lý xung Stratix 10 trích xuất thông tin xung FPGA bitstream. Chỉ tần số đồng hồ tham chiếu được chỉ định trong cây thiết bị.
    • Do sự cố, một số tần số có thể không chính xác nếu tần số MPU được đặt thành giá trị không mặc định.

    SoC FPGA Linux Kernels 4.17 trước tháng 6 năm 2018 và 4.16 và cũ hơn:

    • Linux Device Tree chứa thông tin về cấu trúc xung của SoC Intel® Stratix® 10 FPGA Hard Processor System (HPS). Nó phải phản ánh thiết lập xung giờ trong Hệ thống bộ xử lý cứng Intel Stratix IP FPGA 10 trong hệ thống Intel® Quartus® Thiết kế nền tảng Prime Pro.  Nếu cấu trúc đếm tốc không được cập nhật để phản ánh bo mạch và thiết kế của bạn, các thiết bị ngoại vi có thể hoạt động không chính xác trong Linux.  Các vấn đề điển hình là giao diện UART hoặc I2C hoạt động trong u-boot nhưng không hoạt động trong Linux.
    • Do sự cố, một số tần số có thể không chính xác nếu tần số MPU được đặt thành giá trị không mặc định (giải pháp bên dưới)

    Sự cố này đã được khắc phục cho các phiên bản Kernel mới hơn. Thông tin đồng hồ được đọc từ bitstream cấu FPGA cập nhật và trình điều khiển đồng hồ cập nhật.

    Độ phân giải

    SoC FPGA Linux Kernels 4.17 trở lên (sau tháng 6 năm 2018) khi sử dụng tần số xung xung MPU không mặc định

    • Vấn đề này được khắc phục cho kernel 4.18 trên https://github.com/altera-opensource/linux-socfpga với commit 23d4f7b2c6000e095399a6266ef35c213f93649e
    • Một bản vá cũng có sẵn để giải quyết vấn đề 0002_clk-pll-s10_L3L4clockFrequencyFix_1.patch

    Ngoài ra, xem KDB liên quan: Tại sao Linux không khởi động được trên SoC Intel® Stratix® 10 của tôi khi tôi sử dụng f2s_free_clock làm đồng hồ tham chiếu HPS?

     

    Soc FPGA Linux Kernels 4.17 trước tháng 6 năm 2018 và 4.16 và cũ hơn:

    Xem Làm cách nào để cập nhật Linux Device Tree cho Stratix 10 SX để khớp với cài đặt Đồng hồ trong Trình thiết kế nền tảng? để biết thông tin về cách cập nhật Linux Device Tree để phản ánh các cài đặt clocking trong thiết kế của bạn.

    Để xử lý lỗi toán học nếu sử dụng tần số xung xung MPU không mặc định

    - Đặt thủ công tần số đồng hồ chậm L3,L4 L4 trong cây thiết bị

    7 Rời khỏi logic để mô tả PLL

    7 Ghi đè lên các đồng hồ từ bộ chia L3

     

    l3_main_free_clk: l3_main_free_clk {

    #clock-ô = ;

    #compatible = "altr,socfpga-s10-perip-clk";

    #clocks = ;

    #fixed-divider = ;

    tần số đồng hồ = ;

    tương thích = "cố định đồng hồ"

                        

    };

     

    l4_sys_free_clk: l4_sys_free_clk {

    #clock-ô = ;

    #compatible = "altr,socfpga-s10-perip-clk";

    #clocks = ;

    #fixed-divider = ;

    tần số đồng hồ = ;

    tương thích = "cố định đồng hồ"

    };

     

    l4_main_clk: l4_main_clk {

    #clock-ô = ;

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

    #clocks = ;

    tần số đồng hồ = ;

    tương thích = "cố định đồng hồ";

    #div-reg = ;

    #clk-gate = ;

    };

     

    l4_mp_clk: l4_mp_clk {

    #clock-ô = ;

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

    #clocks = ;

    tần số đồng hồ = ;

    tương thích = "cố định đồng hồ";

    #div-reg= ;

    #clk-gate = ;

    };

     

    l4_sp_clk: l4_sp_clk {

    #clock-ô = ;

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

    #clocks = ;

    tần số đồng hồ = ;

    tương thích = "cố định đồng hồ";

    #div-reg= ;

    #clk-gate = ;

    };

    Các sản phẩm liên quan

    Bài viết này áp dụng cho 1 sản phẩm

    FPGA SoC Intel® Stratix® 10 SX

    Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.