hps boot
98 TopicsAgilex 5E HPS and Linux
Hi. 1. Is there a simple method to run two Linux systems on HPS, i.e.: Linux 1 - 2xA55 and Linux 2 - 2xA76 with different sets of peripherals? 2. Is it possible to use one Ethernet port by these two Linux systems. 3. Is there a simple method for communication between these two Linux systems?78Views0likes4CommentsHPS First Boot Configuration for Agilex 7
Dear Community, I'm developing a design using Agilex 7 on Quartus Pro 24.2. I'm a bit confused on the parameter settings I need for the HPS (and its EMIF) and my Quartus project settings in order to have HPS-First boot (Called HPS Early Release in former Quartus versions). For that, I'd like to generate .core.rbf and .periph.rbf files. I tried generating the .rbf files in two different ways given below, none succeeded. #1) Having the below pfg command in a text file and sourcing it in my .qsf --convert --hps -o bitstream_compression=on output_files/ProjectName.sof output_files/ProjectName.rbf #2) Using the Programming File Generator tool of Quartus I can generate .sof programming file, but converting that to .rbf fails with the following error when I did either given above. "sof is incomplete. Hps is present but bootloader information is missing". When doing case #2, I even add a bootloader .hex file that I could find on Rocketboards' webpage. Could anyone support me to have an HPS-first boot on Agilex 7 ? Thanks in advance!151Views0likes7CommentsAgilex 5/3 FreeRTOS Heterogeneous SMP SDK Release
Stable Version: v26.1 Quartus Version: 26.1 Supported devices: Agilex™ 3 and Agilex™ 5 Source: https://github.com/Ignitarium-Technology/freertos-socfpga Branch/Tag: v26.1-HSMP Release Date: June 24, 2026 Hello Everyone, A new version of the FreeRTOS SDK for Agilex 5/3 is now available. Apart from other fixes and features, the FreeRTOS port now supports heterogeneous SMP for Agilex™ 5 devices. Visit the GitHub repository for instructions on how to get started. Features and Comments Feature Agilex3 Agilex5 Agilex3 SMP Agilex5 SMP Supported Features Limitations / Known Issues A55 boot Yes Yes Yes Yes Single-core boot, Dual-core SMP, Quad-core SMP (Agilex 5) A76 boot NA Yes NA Yes Single-core boot, Dual-core SMP, Quad-core SMP QSPI boot Yes Yes Yes Yes eMMC boot Yes Yes Yes Yes SD boot Yes Yes Yes Yes NAND boot No No No No Clock Manager Yes Yes Yes Yes API to get clock speed of different blocks Reset Manager Yes Yes Yes Yes Peripheral reset assert/de-assert DMA driver Yes Yes Yes Yes Memory-to-Memory, Memory-to-Peripheral and Peripheral-to-Memory GPIO driver Yes Yes Yes Yes Write, read and interrupt support Timer driver Yes Yes Yes Yes User-defined and free-running modes UART driver Yes Yes Yes Yes Full-duplex TX and RX DMA not supported (planned for future release) I2C driver Yes Yes Yes Yes Master/Slave mode, standard and fast modes QSPI driver Yes Yes Yes Yes QSPI flash read/write/erase I3C driver Yes Yes Yes Yes Master mode, I3C and legacy I2C devices IBI not supported (planned for future release) SPI driver Yes Yes Yes Yes Master/Slave mode write and read NAND driver No No No No SDM Mailbox driver Yes Yes Yes Yes SDM commands with SIP_SVC SMMU support Yes Yes Yes Yes Static identity mapping for cache coherency SDMMC driver Yes Yes Yes Yes Standard and HS speeds, SDMMC and eMMC devices, FATFS support Ethernet stack Yes Yes Yes Yes TCP/IP, UDP, ICMP, DHCP, IPv4 and IPv6 USB 2.0 stack NT Yes NT Yes USB mass storage class Tested with a custom board and SOF USB 3.1 stack NT Yes NT Yes USB mass storage operation WDT driver Yes Yes Yes Yes Interrupt or reset on timer expiry EDAC support Yes Yes Yes Yes Error injection and detection for EMAC, USB and QSPI blocks OCRAM not supported IOSSM driver Yes Yes Yes Yes Error injection and detection Bridge driver Yes Yes Yes Yes Enable/Disable bridges Reboot Manager Yes Yes Yes Yes Warm/Cold reboot FPGA Manager Yes Yes Yes Yes FPGA configuration Legend: Yes: Feature available and tested No: Feature not available in SDK NA: Not applicable NT: Not tested Note: If you find any issues, please raise an issue on the GitHub repository. For more support and assistance, visit our website.664Views0likes0CommentsGSRD for DE25-Nano
Hello Altera In this post you state that: "Terasic DE25-NANO Board example design is planned for 26.3 release (Q3'26). " HPS on DE25-NANO | Altera Community - 353750 However on the DE25-NANO site it is possible to download the file "golden_top_hps.jic" Terasic - All FPGA Boards - Agilex 5 - DE25-Nano Development and Education Board I tested it on my DE25-NANO and the HPS works perfectly. If you can provide this file, it indicates that you already have a working GSRD project for the DE25-NANO board. Why wait til Q3'26 to release it? Can you not upload it now so I can use it for my student project please? Thanks in advance.Solved73Views0likes1CommentStratix 10 Linux SD card booting
Hi Altera Community, I tried multiple attempts to boot the SD card from Rocketboard.org. https://releases.rocketboards.org/ I downloaded and booted the SD card with the .wic image file. It only has the .itb file by default in the boot partition. Whenever I try to boot, it asks for the U-Boot.img file. And also it says "failed to load "socfpga_stratix10_socdk.dtb" even if the file is there. And then I compiled my simple HPS design and can easily program the FPGA from the Quartus Programmer (rbf and sof file), but whenever I try to overlay it, like say: echo overlay.dtb > /sys/kernel?config?device-tree/overlays/0/path It says "FPGA manager error, timeout," and so on. Does any community member have notes or steps that you made to boot the SD card of the Stratix 10 FPGA? I am following this link: https://www.rocketboards.org/foswiki/Documentation/BuildingBootloaderStratix10145Views0likes11CommentsHPS ip configuration in platform designer for uart0 enabling in arria 10 soc
I have software tools Quartus prime pro 26.1, soc eds 20.1 and linaro baremetal tool chain. Now i configure the HPs ip for uart0 enabling but i am not sure wether it is correct or not, can you please conform it, and guide if there any changes required and if configuration is fine tell me the next steps to do. Regards Tean D&D, ESSEN227Views0likes7CommentsHPS on DE25-NANO
Hello Altera Community I want to try out the HPS system on my DE25-NANO Board. It seems that Altera has already provided an example here: HPS GSRD User Guide - Altera FPGA Developer Site However they seem to only target the Premium Agilex boards. It is possible to run any of these examples on my DE25-NANO board? It has the ID: A5EB013BB23BE4SR1 The linked github site list a number of board with similar ID's GitHub - altera-fpga/agilex5e-ed-gsrd: Altera Agilex 5 E-Series GSRD · GitHub Thanks in advance.Solved113Views0likes1CommentStratix 10 HPS LED example
Can someone suggest a basic HPS project with PIO for LED control. Need the complete flow of building the project from scratch. How to assign the HPS pins in Quartus. How to add uboot along with fpga pof file in QSPI flash. How to load linux in emmc.Solved349Views0likes19CommentsNeed Step-by-Step Guide: Configuring Arria 10 HPS for UART0 Access (Tools & Workflow)
Hello Altera Community, I am starting a new project using the Intel/Altera Arria 10 SoC FPGA. My immediate goal is to successfully configure the Hard Processor System (HPS) side of the chip and enable HPS UART0 access so I can view the boot messages and interact via a serial console terminal. Since I am new to the Arria 10 HPS ecosystem, could someone provide a detailed, step-by-step workflow of the procedure? Specifically, I would appreciate guidance on: 1. Required Tools: Which exact software versions (Quartus Prime Pro, SoC EDS, Arm DS, etc.) are recommended for a stable Arria 10 HPS development pipeline? 2. Platform Designer (Qsys) Setup: What are the specific steps to route and configure UART0 pins, clocks, and DDR parameters inside Platform Designer? 3. Bootloader Generation: How do I correctly handle the hardware handoff files to generate the U-Boot/SPL bootloader using the SoC EDS utilities? 4. Target OS: I intend to use Bare-Metal . What are the final steps to write these images to a boot medium (like an SD card / QSPI flash) to verify that UART0 is transmitting successfully? If there are any updated Golden System Reference Designs (GSRD), specific user guides, or community tutorials that outline this exact UART0 baseline setup, please share the links. Thank you in advance for your time and guidance! Best regards, Team D&D ESSEN208Views0likes4CommentsAgilex7m i have configure 4GB ddr linux is not booting. I got architect time failure error.
Agilex7m I have configure 2GB DDR, linux is booting fine. But if I configure 4GB ddr linux is not booting. I got architect time failure error. But 2GB ddr configuration this error not came. I u-boot 4GB ddr is accessible but linux is not booting Boot logs init_mem_cal: Initial DDR calibration IO96B_0 succeed DDR: Calibration success is_mailbox_spec_compatible: IOSSM mailbox version: 1 DDR5: 4096 MiB ecc_interrupt_status: ECC error number detected on IO96B_0: 0 DDR5: size check success DDR5: firewall init success DDR5 init success QSPI: Reference clock at 500000 kHz Trying to boot from SPI Board ID is not in range 0 to 255 ## Checking hash(es) for config board-0 ... OK ## Checking hash(es) for Image atf ... crc32+ OK ## Checking hash(es) for Image uboot ... crc32+ OK ## Checking hash(es) for Image fdt-0 ... crc32+ OK NOTICE: BL31: v2.13.1(release):QPDS25.3.1_REL_GSRD_PR NOTICE: BL31: Built : 10:40:22, Nov 25 2025 U-Boot 2025.10-ga0db71cfad37-dirty (Dec 11 2025 - 10:49:42 +0000)socfpga_agilex7m CPU: Altera FPGA SoCFPGA Platform (ARMv8 64bit Cortex-A53) Model: SoCFPGA Agilex7-M SoCDK DRAM: 2 GiB (total 4 GiB) Core: 38 devices, 22 uclasses, devicetree: separate NAND: 0 MiB MMC: mmc@ff808000: 0 Loading Environment from FAT... OK In: serial@ffc02000 Out: serial@ffc02000 Err: serial@ffc02000 Board ID is not in range 0 to 255 Net: eth0: ethernet@ff800000 Hit any key to stop autoboot: 0 SOCFPGA_AGILEX7M # SOCFPGA_AGILEX7M # SOCFPGA_AGILEX7M # SOCFPGA_AGILEX7M # bdinfo boot_params = 0x0000000000000100 DRAM bank = 0x0000000000000000 -> start = 0x0000000000000000 -> size = 0x0000000080000000 DRAM bank = 0x0000000000000001 -> start = 0x0000000100000000 -> size = 0x0000000080000000 flashstart = 0x0000000000000000 flashsize = 0x0000000000000000 flashoffset = 0x0000000000000000 baudrate = 115200 bps00 8N1 | NOR | Minicom 2.9 | VT102 | Offline | ttyACM0 relocaddr = 0x000000007fee9000 reloc off = 0x000000007fce9000 Build = 64-bit current eth = ethernet@ff800000 ethaddr = b6:97:a4:21:e2:4a IP addr = 169.254.65.121 fdt_blob = 0x000000007fae1950 lmb_dump_all: memory.count = 0x2 memory[0] [0x0-0x7fffffff], 0x80000000 bytes, flags: none memory[1] [0x100000000-0x17fffffff], 0x80000000 bytes, flags: none reserved.count = 0x3 reserved[0] [0x0-0x1ffffff], 0x2000000 bytes, flags: no-map reserved[1] [0x7eae1940-0x7fffffff], 0x151e6c0 bytes, flags: no-overwrite reserved[2] [0x17fff7000-0x17fffffff], 0x9000 bytes, flags: no-notify, no-overwrite devicetree = separate serial addr = 0x00000000ffc02000 width = 0x0000000000000004 shift = 0x0000000000000002 offset = 0x0000000000000000 clock = 0x0000000005f5e100 arch_number = 0x0000000000000000 TLB addr = 0x000000007ffe0000 irq_sp = 0x000000007fae1940 sp start = 0x000000007fae1940 Early malloc usage: 1608 / 2000 Failure log: init_mem_cal: Initial DDR calibration IO96B_0 succeed DDR: Calibration success is_mailbox_spec_compatible: IOSSM mailbox version: 1 DDR5: 4096 MiB ecc_interrupt_status: ECC error number detected on IO96B_0: 0 DDR5: size check success DDR5: firewall init success DDR5 init success QSPI: Reference clock at 500000 kHz Trying to boot from SPI Error: -22 Trying to boot from MMC1 Board ID is not in range 0 to 255 ## Checking hash(es) for config board-0 ... OK ## Checking hash(es) for Image atf ... crc32+ OK ## Checking hash(es) for Image uboot ... crc32+ OK ## Checking hash(es) for Image fdt-0 ... crc32+ OK NOTICE: BL31: v2.13.1(release):QPDS25.3.1_REL_GSRD_PR NOTICE: BL31: Built : 10:40:22, Nov 25 2025 U-Boot 2025.10 (Dec 11 2025 - 10:49:42 +0000)socfpga_agilex7m CPU: Altera FPGA SoCFPGA Platform (ARMv8 64bit Cortex-A53) Model: SoCFPGA Agilex7-M SoCDK DRAM: 2 GiB (total 4 GiB) Core: 38 devices, 22 uclasses, devicetree: separate NAND: 0 MiB MMC: mmc@ff808000: 0 Loading Environment from FAT... OK In: serial@ffc02000 Out: serial@ffc02000 Err: serial@ffc02000 Board ID is not in range 0 to 255 Net: eth0: ethernet@ff800000 Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:1... Found U-Boot script /boot.scr.uimg 2411 bytes read in 3 ms (784.2 KiB/s) ## Executing script at 05ff0000 crc32+ Trying to boot Linux from device mmc0 Found kernel in mmc0 13661579 bytes read in 979 ms (13.3 MiB/s) ## Loading kernel (any) from FIT Image at 02000000 ... Using 'board-0' configuration Verifying Hash Integrity ... OK Trying 'kernel' kernel subimage Description: Linux Kernel Type: Kernel Image Compression: lzma compressed Data Start: 0x020000dc Data Size: 10439444 Bytes = 10 MiB Architecture: AArch64 OS: Linux Load Address: 0x06000000 Entry Point: 0x06000000 Hash algo: crc32 Hash value: 0ccd8e20 Verifying Hash Integrity ... crc32+ OK ## Loading fdt (any) from FIT Image at 02000000 ... Using 'board-0' configuration Verifying Hash Integrity ... OK Trying 'fdt-0' fdt subimage Description: socfpga_socdk_vanilla Type: Flat Device Tree Compression: uncompressed Data Start: 0x029f4cd4 Data Size: 32121 Bytes = 31.4 KiB Architecture: AArch64 Hash algo: crc32 Hash value: 262d6a47 Verifying Hash Integrity ... crc32+ OK Booting using the fdt blob at 0x29f4cd4 Working FDT set to 29f4cd4 Uncompressing Kernel Image to 6000000 Loading Device Tree to 000000007ead6000, end 000000007eae0d78 ... OK Working FDT set to 7ead6000 SF: Detected mt25qu02g with page size 256 Bytes, erase size 64 KiB, total 256 MiB Enabling QSPI at Linux DTB... Working FDT set to 7ead6000 libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND QSPI clock frequency updated RSU: Firmware or flash content not supporting RSU RSU: Firmware or flash content not supporting RSU RSU: Firmware or flash content not supporting RSU RSU: Firmware or flash content not supporting RSU Starting kernel ... Deasserting all peripheral resets [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 6.12.43-altera-gd16fc609d5a7 (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 14.3.0, GNU ld (GNU Binutils) 2.44.0.20250715) #1 SMP PREEMPT Tue Nov 25 16:06 :07 UTC 2025 [ 0.000000] KASLR disabled due to lack of seed [ 0.000000] Machine model: SoCFPGA Agilex7-M SoCDK [ 0.000000] efi: UEFI not found. [ 0.000000] earlycon: uart0 at MMIO32 0x00000000ffc02000 (options '115200n8') [ 0.000000] printk: legacy bootconsole [uart0] enabled [ 0.000000] Reserved memory: created DMA memory pool at 0x0000000000000000, size 32 MiB [ 0.000000] OF: reserved mem: initialized node svcbuffer@0, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x0000000000000000..0x0000000001ffffff (32768 KiB) nomap non-reusable svcbuffer@0 [ 0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000017fffffff] [ 0.000000] NODE_DATA(0) allocated [mem 0x17f7fbe80-0x17f7fe4bf] [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000000000000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal [mem 0x0000000100000000-0x000000017fffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x0000000001ffffff] [ 0.000000] node 0: [mem 0x0000000002000000-0x000000007fffffff] [ 0.000000] node 0: [mem 0x0000000100000000-0x000000017fffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000017fffffff] [ 0.000000] cma: Reserved 32 MiB at 0x000000007ca00000 on node -1 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.5 [ 0.000000] percpu: Embedded 25 pages/cpu s61784 r8192 d32424 u102400 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: detected: ARM erratum 845719 [ 0.000000] alternatives: applying boot alternatives [ 0.000000] Kernel command line: earlycon panic=-1 root=/dev/mmcblk0p2 rw rootwait [ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear) [ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear) [ 0.000000] Fallback order for Node 0: 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1048576 [ 0.000000] Policy zone: Normal [ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off [ 0.000000] software IO TLB: area num 4. [ 0.000000] software IO TLB: mapped [mem 0x0000000078a00000-0x000000007ca00000] (64MB) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4. [ 0.000000] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4. [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [ 0.000000] timer_probe: no matching timers found [ 0.000000] Kernel panic - not syncing: Unable to initialise architected timer. [ 0.000000] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.12.43-altera-gd16fc609d5a7 #1 [ 0.000000] Hardware name: SoCFPGA Agilex7-M SoCDK (DT) [ 0.000000] Call trace: [ 0.000000] dump_backtrace.part.0+0xd4/0xe0 [ 0.000000] show_stack+0x18/0x30 [ 0.000000] dump_stack_lvl+0x60/0x80 [ 0.000000] dump_stack+0x18/0x24 [ 0.000000] panic+0x168/0x360 [ 0.000000] time_init+0x30/0x50 [ 0.000000] start_kernel+0x544/0x6d0 [ 0.000000] __primary_switched+0x80/0x88138Views0likes3Comments