Xilinx Zynq-7000 PS has two USB IP Cores that can be used over dedicated MIO pins only (EMIO multiplexing is not supported). If both USB IP Cores is used then SD Card boot is no longer supported.

 

PHY Reset requirements

Xilinx default standard FSBL can perform USB ULPI PHY Reset only if the reset is directly connected to MIO GPIO, if not then fsbl_hooks.c has to include custom code to reset the USB PHY.

SoMUSB PHY ResetNotes
TE0715MIO51PS7 Config must include MIO51 as USB Reset, polarity active low
TE0720System ControllerReset must be implemented in fsbl_hooks.c
TE0723  
TE0726  
TE0745  
TE0782MIO0Common for both USB PHY's

 

USB VBUS Control

If USB Host VBUS is controlled by the USB ULPI PHY, then power will not be present until software stack enables it. If the USB drivers or USB ULPI PHY drivers do not load correctly, and if the USB mode is not set to Host, then VBUS remains off.

Linux Kernel

Petalinux default Kernel configuration does not enable all needed drivers for the USB to operate properly, menuconfig has to be used to select or enable required drivers.

Linux Devicetree

Petalinux automatically generated devicetree is not sufficient, devicetree top file has to be edited manually for proper USB operation, the changes required depend on the Petalinux version used.

  • No labels