Forum Discussion
teiram
New Contributor
2 days agoHi Alan,
thanks for your suggestion. I just tried it and got the same result. GPIOs seems to be set properly (at least that is what gpio status -a shows), but the USB HUB is not detected. Followed the same procedure, tried to reset and set GPIOs 0 and 9 and nothing changed :(
AlanCLTan
Occasional Contributor
1 day agoHi teiram,
Let's try these:
1. Do you have a PHY node for USB3300 in the your previous working u-boot? Something like the example below. Add it into the dtsi:
{
/* Define the PHY node outside the soc bus */
usb_phy0: usb-phy {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
reset-gpios = <&portb 0 GPIO_ACTIVE_LOW>;
status = "okay";
};
};
&usb1 {
status = "okay";
dr_mode = "host"; // Usually 'host' for Cyclone V boards
usb-phy = <&usb_phy0>; // Link to the PHY node
};2. Make sure the Linux kconfig options (set in defconfig) are set:
CONFIG_USB_DWC2=y
CONFIG_USB_OHCI_HCD=y --- sometimes needed for full/low speed support
CONFIG_PHY=y
CONFIG_NOP_USB_XCEIV=y --- Essential if using the usb-nop-xceiv compatible string.
CONFIG_USB_ULPI=y --- Required for the ULPI interface protocol.3. The USB3300 or an downstream hub requires specific GPIO states to be enabled before the USB stack starts. You can do this in U-Boot with:
gpio set 9
usb start