I realized that the messages received during boot-up might be useful.
So I have attached them as a text file.
Note that there is some garbage just before USB-related messages (at 2.86) This might also be relevant. It happens every boot.
boot.log.zip 9.0 KB
2 of 2 people found this helpful
The device tree needs to be modified for the PHY to work, then it worked for me without further tweaking (plain Petalinux 2018.3, just modify your_project/project-spec/meta/user/recipes-bsp/device-tree/files/system-user.dtsi as described there : https://forums.xilinx.com/t5/Embedded-Linux/make-petalinux-work-with-microsemi-USB3320-phy-on-Ultrascale/m-p/1009628
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
petalinux-config -c kernel --> Device drivers > USB drivers
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