]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix accidental USB port resets by GPIO on Zynq/Zedboard boards
authorgonzo <gonzo@FreeBSD.org>
Tue, 3 Apr 2018 04:31:54 +0000 (04:31 +0000)
committergonzo <gonzo@FreeBSD.org>
Tue, 3 Apr 2018 04:31:54 +0000 (04:31 +0000)
commit688983ce98b7184e6eb56cc958716de15e537091
tree933a5ef460ddff3605a1da4a104bb9c1d1009b73
parent9c579660b9d87ac4de598a1f55182d35204d6028
Fix accidental USB port resets by GPIO on Zynq/Zedboard boards

The Zynq/Zedboard GPIO driver attempts to tri-state all GPIO pins on
boot up but the order in which I reset the hardware can cause the pins
to be briefly held low before being tri-stated.  This is a problem on
boards that use GPIO pins to reset devices.

In particular, the Zybo and ZC-706 boards use a GPIO pin as a USB PHY
reset.  If U-boot enables the USB port before booting the kernel, the
GPIO driver attach causes a glitch on the USB PHY reset and the USB
port loses power.  My fix is to have the GPIO driver leave the pins in
whatever configuration U-boot placed them.

PR: 225713
Submitted by: Thomas Skibo <thoma555-bsd@yahoo.com>
MFC after: 1 week
sys/arm/xilinx/zy7_gpio.c