2 Replies Latest reply on Aug 28, 2019 12:28 PM by mboechat

    Interfacing with the USB 3320 phy

    mboechat

      I hope this is the right place to ask. The question goes a little beyond hardware, and a little beyond the UltraZed.

       

      The UltraZed uses a Microchip USB3320 phy on MIO[52..63] (USB0). When using the BSP to build petalinux, everything works fine and I can see usb devices on the port.

       

      My custom design is also using a USB3320 on MIO[52..63] (USB0) as well as an other one on MIO[64..75] (USB1) and I am unable to build a petalinux instance that interacts with the phys.

       

      I wonder if there is some "magic" done by the UZ bsp package that enables petalinux to work with the USB phy. I have tried many many kernel configurations around USB drives and ULPI support, nothing works, I see no activity on the interface.

       

      I have of course been searching for solution already. I have gotten a lot of hits on Xilinx's confluence site, which does not help me much. The most relevant resource I found is this (https://forums.xilinx.com/t5/Embedded-Linux/Zynqmp-USB2-0/td-p/790522) long thread on xilinx forums that suggests that my issue is not unique, and has been going on for a while. I have tried to modify the device tree manually, it usually breaks the build. I have tried changing the kernel config. I have not touched the rootfs config.

       

      My hope is that someone went through this trouble while building the bsp for the UltraZed and has some pointers for me. That would be much appreciated. I am NOT an expert in building linux, so feel free to mention basic or obvious things I might have missed.

       

      my current workflow is

      petalinux-create -t project -n name --template zynqMP

      cd name

      petalinux-config -c kernel --> Device drivers > USB drivers

      petalinux-build

      petalinux-package --boot --format BIN --fsbl images/linux/zynqmp_fsbl.elf --u-boot images/linux/u-boot.elf --pmufw images/linux/pmufw.elf --fpga images/linux/*.bit --force