I have a BeagleBone running a buildroot image I made, and I wanted to add the LAN9514 USB 2.0 and ethernet controller chip. I believe the Pi and the Beaglebone-XM incorporate the same hardware.
I believe I've correctly connected everything (leaving off the optional eeprom) and I included the SMSC95XX as a module in buildroot for the driver. However, when booting with the new hardware connected, I see these errors:
[ 10.300000] usb 3-1: device descriptor read/64, error -62
[ 10.590000] usb 3-1: device descriptor read/64, error -62
[ 11.300000] usb 3-1: device not accepting address 4, error -62
[ 11.900000] usb 3-1: device not accepting address 5, error -62
[ 11.900000] usb usb3-port1: unable to enumerate USB device
Like the Beaglebone-XM, I have the PRTCTL pins connected to the input enable signals on a mosfet in order to control the 5v power to the USB ports. However, the PRTCTL are never being driven high, so no connected USB device can get power.
I'm wondering if there's something I'm missing (a device tree entry, maybe?) in order to make this work. It seems to me like the driver should tell the chip to reset to its default eeprom values and drive the pins high, but I think I must have skipped a step in order to bind the device to the driver properly.
linux/drivers/net/usb/smsc95xx.c - Elixir - Free Electrons
If anyone has any ideas, let me know. Thanks in advance!