Article ID: 000098830 Content Type: Connectivity Last Reviewed: 08/21/2024

Why is Mailbox Client HAL API unavailable for Agilex™ 5 FPGA devices?

Environment

  • Intel® Quartus® Prime Pro Edition
  • Avalon Mailbox Intel® FPGA IP
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Description

    In Quartus® Prime Pro Edition Software version 24.1, you might observe the HAL Application Programming Interface (API) drivers of Mailbox Client IP are not available in the BSP for Nios® V designs targeting all Agilex™ 5 family devices. 

    Other SDM-based devices are not affected.

     

    Resolution

    To work around this problem in the Quartus® Prime Pro Edition Software version 24.1, follow these steps: 

    1. Start a Nios® V processor system with Mailbox Client IP in Quartus® Prime Pro Edition Software version 24.1. 

    1. Generate the BSP, you might see that the Driver Name and Driver Version for the Mailbox Client IP are none. 

    2. Navigate to the <BSP project folder>/drivers.  

    3. Separately navigate to <Quartus Prime directory>/24.1/ip/altera/pgm/altera_s10_mailbox_client/HAL.  

    4. Observe that both folder directories are the same – inc and src

    5. Copy the contents of Quartus® Prime HAL folders into the BSP drivers folders respectively. 

    6. Navigate to <Quartus Prime directory>/24.1/ip/altera/pgm/altera_s10_mailbox_client/inc. 

    7. Copy altera_s10_mailbox_client_regs.h into the BSP drivers/inc folder. 

    8. Verify the content of the BSP inc folder is as below.

      •  

    9. Verify the content of the BSP src folder is as below. 

    10. Modify the target_sources in BSP CMakeLists.txt

      • Add the C files in the PRIVATE column. 

        • drivers/src/altera_s10_mailbox_client.c 

          drivers/src/altera_s10_mailbox_client_flash.c 

          drivers/src/altera_s10_mailbox_client_flash_rsu.c 

          drivers/src/altera_s10_mailbox_client_rsu.c 

          drivers/src/librsu.c 

          drivers/src/librsu_cb.c 

          drivers/src/librsu_cfg.c 

          drivers/src/librsu_ll_qspi.c 

          drivers/src/librsu_misc.c 

          drivers/src/rsu_client.c 

          … 

      • Add the header files in the PUBLIC column. 

        • drivers/inc/altera_s10_mailbox_client.h 

          drivers/inc/altera_s10_mailbox_client_flash.h 

          drivers/inc/altera_s10_mailbox_client_flash_rsu.h 

          drivers/inc/altera_s10_mailbox_client_regs.h 

          drivers/inc/altera_s10_mailbox_client_rsu.h 

          drivers/inc/librsu.h 

          drivers/inc/librsu_cb.h 

          drivers/inc/librsu_cfg.h 

          drivers/inc/librsu_ll.h 

          drivers/inc/librsu_misc.h 

          drivers/inc/rsu_client.h 

          … 

    11. Modify the alt_sys_init.c in the following sections. 

    • Device headers. 

      • #include "altera_s10_mailbox_client.h" 

    • Allocate the device storage. 

      • ALTERA_S10_MAILBOX_CLIENT_INSTANCE ( MAILBOX_CLIENT, mailbox_client); 

    • Initialize non-interrupt controller device. 

      • ALTERA_S10_MAILBOX_CLIENT_INIT ( MAILBOX_CLIENT, mailbox_client); 

         

    Proceed to compile the Software project. 

    Additional information

    This problem is scheduled to be fixed in a future release of the Quartus® Prime Pro Edition Software.