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.
FSBL Modification
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.
SoM | USB PHY Reset | Notes |
---|---|---|
TE0715 | MIO51 | |
TE0720 | System Controller | Reset must be implemented in fsbl_hooks.c |
TE0723 | ||
TE0726 | ||
TE0745 | ||
TE0782 |
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.
Overview
Content Tools