- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi-
I've been developing a Cyclone V SoC device recently, and have been running in to difficulty getting the HPS USB controller to be recognized. Everything else has been working fine on all levels, including HPS-to-FPGA, FPGA-to-HPS, etc, but I've been getting error messages pretty regularly from the USB controller. The odd thing is that it is almost as if u-boot or Linux expect to see a different type of name for the device than what is shown in the devicetree. Boot-up text and the devicetree entry are below. Linux device messages are basically the same as the Linux messages. If we are having PHY problems, would we see this message? Boot messages (u-boot): SOCFPGA_CYCLONE5# sf probe SF: Read data capture delay calibrated to 3 (0 - 7) SF: Detected N25Q512 with page size 64 KiB, total 64 MiB SOCFPGA_CYCLONE5# usb start (Re)start USB... USB0: Core Release: 0.000 SNPSID is invalid (not DWC OTG device): 00000000 lowlevel init failed USB error: all controllers failed lowlevel init Devicetree: arm_cpu_usb1: usb@0xffb40000 { compatible = "snps,dwc-otg-14.1", "snps,dwc-otg", "snps,dwc2"; reg = <0xffb40000 0x00001000>; interrupt-parent = <&arm_cpu_arm_gic_0>; interrupts = <0 128 4>; clocks = <&usb_mp_clk>; clock-names = "otg"; /* embeddedsw.dts.params.clock-names type STRING */ dev-nperio-tx-fifo-size = <4096>; /* embeddedsw.dts.params.dev-nperio-tx-fifo-size type NUMBER */ dev-perio-tx-fifo-size = "<512 512 512 512 512 512 512 512 512 512 512 512 512 512 512>"; /* embeddedsw.dts.params.dev-perio-tx-fifo-size type STRING */ dev-rx-fifo-size = <512>; /* embeddedsw.dts.params.dev-rx-fifo-size type NUMBER */ dev-tx-fifo-size = "<512 512 512 512 512 512 512 512 512 512 512 512 512 512 512>"; /* embeddedsw.dts.params.dev-tx-fifo-size type STRING */ dma-mask = <268435455>; /* embeddedsw.dts.params.dma-mask type NUMBER */ enable-dynamic-fifo = <1>; /* embeddedsw.dts.params.enable-dynamic-fifo type NUMBER */ host-nperio-tx-fifo-size = <2560>; /* embeddedsw.dts.params.host-nperio-tx-fifo-size type NUMBER */ host-perio-tx-fifo-size = <2560>; /* embeddedsw.dts.params.host-perio-tx-fifo-size type NUMBER */ host-rx-fifo-size = <2560>; /* embeddedsw.dts.params.host-rx-fifo-size type NUMBER */ phy-names = "usb2-phy"; /* embeddedsw.dts.params.phy-names type STRING */ status = "okay"; /* embeddedsw.dts.params.status type STRING */ ulpi-ddr = <0>; /* embeddedsw.dts.params.ulpi-ddr type NUMBER */ voltage-switch = <0>; /* embeddedsw.dts.params.voltage-switch type NUMBER */ phys = <&usbphy0>; /* appended from boardinfo */ }; //end usb@0xffb40000 (arm_cpu_usb1) usbphy0: usbphy@0 { # phy-cells = <0>; /* appended from boardinfo */ compatible = "usb-nop-xceiv"; /* appended from boardinfo */ status = "okay"; /* appended from boardinfo */ }; //end usbphy@0 (usbphy0)Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I believe this turned out to be a kernel issue, as an updated kernel doesn't see this issue. Still debugging, but not really important right now.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page