Arria 10 SoC – USB devices always enumerating as Full-Speed (Yocto 4.1, dwc2)
Hello, My name is Ángel and I am currently working with an Intel SoC FPGA Arria 10. I am trying to connect an Intel RealSense SR300 camera to my system, but I am experiencing USB speed negotiation issues. Environment: Platform: Intel SoC FPGA Arria 10 OS: Linux (custom image built with Yocto 4.1 Langdale) USB driver: dwc2 librealsense built with -DFORCE_RSUSB_BACKEND=ON When I connect the RealSense SR300 camera, the USB link does not negotiate correctly and the device is always enumerated as Full-Speed (12M) instead of High-Speed or SuperSpeed. At first, I suspected a problem with the USB 3.0 connector of the SR300. However, when I tested with a standard USB 2.0 webcam, I observed exactly the same behavior: the device is still enumerated only as Full-Speed (12M). This suggests the issue is likely related to the USB controller configuration on the Arria 10 rather than the camera itself. System Output lsusb -t: /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 12M |__ Port 1: Dev 2, If 1, Class=Audio, Driver=, 12M |__ Port 1: Dev 2, If 2, Class=Audio, Driver=, 12M dmesg: [ 204.765768] usb 1-1: new full-speed USB device number 2 using dwc2 Yocto local.conf: MACHINE = "arria10" DISTRO_FEATURES:append = " systemd vfat" DISTRO_FEATURES:remove = " sysvinit" VIRTUAL-RUNTIME_init_manager = "systemd" IMAGE_INSTALL:append = " kernel-module-uvcvideo" KERNEL_MODULE_AUTOLOAD += "uvcvideo" IMAGE_INSTALL:append = " \ packagegroup-core-boot \ pciutils \ usbutils \ v4l-utils \ i2c-tools \ librealsense2 \ " EXTRA_OECMAKE:append:pn-librealsense2 = " -DFORCE_RSUSB_BACKEND=ON" Any guidance would be greatly appreciated.102Views0likes7CommentsSupport Request to Debug Signal Tap Issue with SoC Based Design(GHRD) on Agilex-7 FPGA
Hi Altera Support Team, Greetings from Logic Fruit Technologies. This is Bhanu Pratap and I am working on the project in which we are using Agilex-7 SOC FPGA. Goal: Utilize Agiliex-HPS's capability on a Linux OS to control dynamic features of IP Cores at runtime. Problem Statement: We are facing an issue detecting SignalTap with SoC-based designs for runtime debugging while it's enabled and added from the Quartus project to generate the programming file. Brief Description: We are using Quartus 2025.1.1 and Altera's Agilex-7 Devkit(DKSIAAGI027FA: Agilex™ 7 FPGA I-Series Transceiver-SoC Development Kit -> 4x F-Tile, Rev C). We downloaded the base GHRD design from Altera's GitHub webpage for the corresponding Quartus version. We are following each step to test GHRD and build generation for the Linux OS. We are using HPS First booting mode, we generated the build without modification and tested it. It's working fine according to the GSRD user guide. We have added a custom AXI4 Slave based CSR module to the HSP Lightweight bus to test basic register read/write using Platform Designer. We regenerated the build and re-tested but we are not getting the expected results so we added SignalTap for debugging. Build is generated using the STP file, programmed, and the OS is booting but it's not detecting SignalTap. This looks more like a process gap. We seek your support to fix this issue. Note: If we use an FPGA design without HPS, we are able to add and detect SignalTap. Seeking for urgent support. Thanks Bhanu Pratap31Views0likes1CommentAgilex 5/3 FreeRTOS SMP Support
Stable Version: v25.4 Quartus Version: 25.4 Supported devices: Agilex™ 3 and Agilex™ 5 Source : https://github.com/Ignitarium-Technology/freertos-socfpga Branch/Tag: v25.4-SMP Release Date: March 30, 2026 Hello Everyone, FreeRTOS port for A55/A76 HPS now supports SMP. visit the GitHub page for instructions on how to get started. Features and comments Features Agilex3 Agilex5 Agilex3 SMP Agilex5 SMP (A55 x 2 or A76 x 2) Supported features Limitations/ Known issues A55 boot Yes Yes Yes Yes Single core boot, Dual core SMP A76 boot NA Yes NA Yes Single core boot, Dual core SMP QSPI boot Yes Yes Yes Yes SD boot Yes Yes Yes Yes eMMC boot Yes Yes Yes Yes NAND boot No No No No Clk mngr driver Yes Yes Yes Yes API to get clock speed of different blocks Reset mngr driver Yes Yes Yes Yes Peripheral reset assert/de-assert DMA driver Yes Yes Yes Yes Memory to memory transfer Only support memory 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 mode write and read Standard and fast modes DMA not supported (Planned for future release I3C driver Yes Yes Yes Yes Master mode write and read i3c and legacy i2c devices IBI not supported (Planned for future release) SPI driver Yes Yes Yes Yes Master mode write and read DMA is not supported QSPI driver Yes Yes Yes Yes QSPI flash read/write/erase NAND driver No No No No SDM mailbox driver Yes Yes Yes Yes SDM commands with SIP_SVC SMMU enable 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 Fat FS support Ethernet stack Yes Yes Yes Yes TCP/IP, UDP, ICMP and DHCP IPv4 and IPv6 support 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 diver 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 NT Yes NT Yes Enable, Disable Reboot mngr Yes Yes Yes Yes Warm/Cold reboot FPGA manager Yes Yes Yes Yes FPGA configuration 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 in the GitHub page. For more support/assistance visit our website .23Views0likes0CommentsPreloader/U-Boot Compilation Failure
General Background: I'm working with a custom board that has an Altera/Intel Cyclone V, SoC FPGA (5CSEBA6U23, similar to the DE10-Nano development kit). The board is already equipped with all the necessary files for a successful boot sequence from a uSD card (FPGA and the ARM processor (HPS)). The Objective: I want to reconfigure the HPS functionality (Mux) for pins 53 and 54 from their current GPIO to CAN BUS. I need to ensure a successful boot from the uSD card with the updated hardware definition and Device Tree. Issue Description: Preloader/U-Boot Compilation Failure After successfully implementing the changes in Quartus and Platform Designer and after successfully generating the BSP files (bsp-editor), I'm attempting to run the "make" command to build the Preloader/U-Boot image. The process starts and creates the uboot-socfpga directory, but the compilation consistently fails with several errors, and the final boot image is not updated. Extension of the successfully completed steps: I've modified the Platform Designer (Qsys) mux functionality to reconfigure the HPS peripheral pins (GPIO53-GPIO54) for CAN BUS functionality. I've integrated the new HPS component into the top-level VHDL project. I've Generate a full VHDL compilation in Quartus. Using the "SoC EDS Command Shell", I launched the BSP-Editor and loaded the updated "settings.bsp" file. After generation, the "hps_isw_handoff" and "generated" directories were updated. I have manually verified the output files (pinmux_config.h) to confirms that CAN1 is now correctly configured in the pin multiplexing settings. What should I do?131Views0likes8CommentsOperating system kernel-level FPGA bridge communication
We are using a custom (Agilex 5) platform and need to access the FPGA bridges from the Linux kernel. We are unable to locate the corresponding device tree nodes or modifications required to access these memory-mapped regions. We're aware of the devmem2 package, but we want to access the FPGA from the kernel side without relying on it. Please guide us on how to configure the device tree and use kernel-level commands or interfaces to access the HPS-to-FPGA and Lightweight HPS-to-FPGA bridges. configuration from Linux. CONFIG_OF_RESOLVE y CONFIG_OF_OVERLAY y CONFIG_OF_CONFIGFS y CONFIG_FPGA_MGR_STRATIX10_SOC y CONFIG_FPGA_BRIDGE y CONFIG_FPGA_REGION y CONFIG_OF_FPGA_REGION y CONFIG_OVERLAY_FS y348Views0likes14CommentsAgilex 5/3 FreeRTOS SDK
Stable Version: v25.4 Quartus Version: 25.3 Supported devices: Agilex™ 3 and Agilex™ 5 Source : https://github.com/Ignitarium-Technology/freertos-socfpga Branch/Tag: v25.4 Release Date: January 16, 2026 Hello Everyone, FreeRTOS port for A55/A76 HPS in Agilex 5/3 devices are now available for public. visit the GitHub page for instructions on how to get started. Features and comments Yes: Feature available and tested, No: Feature not available in SDK, NA : Not applicable , NT: Not tested Feature Agilex3 Agilex5 Supported features Limitations/ Known issues A55 boot Yes Yes Single core boot SMP not supported A76 boot NA Yes Single core boot SMP not supported QSPI boot Yes Yes SD boot Yes Yes eMMC boot Yes Yes NAND boot No No Clk mngr driver Yes Yes API to get clock speed of different blocks Reset mngr driver Yes Yes Peripheral reset assert/de-assert DMA driver Yes Yes Memory to memory transfer Only support memory to memory GPIO driver Yes Yes Write, read and interrupt support Timer driver yes yes User defined and free running modes UART driver yes yes Full duplex Tx and Rx DMA not supported I2C driver Yes Yes Master mode write and read Standard and fast modes DMA not supported I3C driver Yes Yes Master mode write and read i3c and legacy i2c devices IBI not supported SPI driver Yes Yes Master mode write and read DMA is not supported QSPI driver Yes Yes QSPI flash read/write/erase NAND driver No No SDM mailbox driver Yes Yes SDM commands with SIP_SVC SMMU enable support Yes Yes Static identity mapping for cache coherency SDMMC driver Yes Yes standard and HS speeds SDMMC and eMMC devices Fat FS support Ethernet stack Yes Yes TCP/IP, UDP, ICMP and DHCP IPv4 and IPv6 support 100mbps and 1gbps operation USB 2.0 stack NT Yes USB mass storage class Tested with a custom board and SOF USB 3.1 stack NT yes USB mass storage operation WDT driver Yes Yes interrupt or reset on timer expiry EDAC support Yes Yes Error injection and detection for EMAC, USB and QSPI blocks OCRAM not supported IOSSM driver Yes Yes Error injection and detection Bridge driver NT Yes Enable, Disable Reboot mngr Yes Yes Warm/Cold reboot FPGA manager Yes Yes FPGA configuration Note: If you find any issues, please raise an issue in the GitHub page. For more support/assistance visit our website .250Views1like2CommentsMSGDMA ST-to-MM: Linux Driver Necessity & F2SDRAM Path Feasibility
Hello everyone, I am currently working on an MSGDMA implementation. I have verified that I can read the MSGDMA CSR and Descriptor registers via the LWH2F bridge using devmem2. My setup is configured in Streaming-to-Memory-Mapped (ST-to-MM) mode. I have two specific questions regarding this setup: 1、Is configuring the MSGDMA Linux kernel driver a mandatory condition for the hardware to function correctly? Is it possible to bypass the driver and configure the MSGDMA to start data transfer directly using devmem2 (user-space access)? 2、I noticed that some implementations write to the PS-side memory via the FPGA-to-HPS bridge. However, my design utilizes the F2SDRAM link, as indicated by the numbered sequence in the attached diagram. Could you please confirm if this architectural approach is feasible?Solved125Views0likes3CommentsCyclone V: how to enable USB1 with a ULPI USB PHY (USB3320)?
I want to enable USB1 (USB 2.0 controller) of the Cyclone V in host-only mode. But Vbus is not present and no device is detected. A ULPI-compatible Microchip USB3320 USB PHY is connected to the Cyclone V with a ULPI interface. The CPEN pin of the USB3320 controls a power switch on the board. To enable the 5V Vbus voltage, used to power USB devices, the CPEN pin must be driven high. Its POR state is low. HPS_GPIO0 is connected to the active-low RESET# pin of the USB3320. To check if Vbus is on, I connected a mouse, that should light up when connected to a USB host. The main DT file is socfpga.dtsi. I altered it a little in both Barebox and Linux v6.6.22: &usbphy0 { reset-gpios = <&porta 0 GPIO_ACTIVE_LOW>; status = "okay"; }; &usb1 { status = "okay"; dr_mode = "host"; }; Barebox shows that GPIO0 (RESET#) is an output and is high, which is OK: barebox:/ gpioinfo ff708000.gpio@ff708000:gpio-controller@0.of GPIOs 454-482, chip ff708000.gpio@ff708000:gpio-controller@0.of: dir val requested name label GPIO 0: out hi active low soc:usbphy.of reset GPIO 1: in lo false GPIO 2: in lo false Barebox shows that the dwc2 driver binds to usb1: barebox@Enclustra Mercury+ SA2:/ drvinfo dwc2 Driver Device(s) -------------------- dwc2 ffb40000.usb@ffb40000.of Linux boot log: # dmesg | grep -Ei 'usb|dwc2' [ 0.042372] usbcore: registered new interface driver usbfs [ 0.042408] usbcore: registered new interface driver hub [ 0.042448] usbcore: registered new device driver usb [ 0.896138] usbcore: registered new interface driver usb-storage [ 0.920377] usbcore: registered new interface driver usbhid [ 0.932106] usbhid: USB HID core driver [ 1.086689] usb_phy_generic soc:usbphy: dummy supplies not allowed for exclusive requests [ 1.095129] dwc2 ffb40000.usb: supply vusb_d not found, using dummy regulator [ 1.111913] dwc2 ffb40000.usb: supply vusb_a not found, using dummy regulator [ 1.137639] dwc2 ffb40000.usb: DWC OTG Controller [ 1.142362] dwc2 ffb40000.usb: new USB bus registered, assigned bus number 1 [ 1.149465] dwc2 ffb40000.usb: irq 48, io mem 0xffb40000 [ 1.155604] hub 1-0:1.0: USB hub found I was told that the "dummy regulator" messages are nothing to worry about. More Linux commands: # lsusb Bus 001 Device 001: ID 1d6b:0002 Linux 6.6.22 dwc2_hsotg DWC OTG Controller # gpioinfo gpiochip0 gpiochip0 - 29 lines: line 0: unnamed "reset" output active-low [used] line 1: unnamed unused input active-high line 2: unnamed unused input active-high Pastebin my configuration: https://paste.debian.net/hidden/77078877 Buildroot defconfig: https://paste.debian.net/hidden/e8b1d0fc Linux defconfig: https://paste.debian.net/hidden/d578d0f9Solved88Views0likes3CommentsTo evaluate and monitor CPU frequency behavior in the Kernel OS
We need to verify CPU frequency behaviour straight from the Linux kernel because we are currently working with a customised Agilex 5 System-on-Module (SOM). Ensuring appropriate frequency scaling and governor functionality under a range of workloads is our aim. Would you kindly provide guidance regarding the device tree modifications, kernel configurations, and testing methods needed to enable and validate CPU frequency scaling on this platform? I would be very grateful for any advice or reference materials that are specific to Agilex 5.220Views0likes6Comments