[ls1028a] unreliable usb due to dwc3
On ls1028a the usb controller (dwc3 module) is unreliable and the system might start without it, leading to it being impossible to enter a luks passphrase, for example.
The workaround in reform-hw-setup
is to run:
# Workaround for a DWC3 USB Controller regression
# Assert USB hub reset
gpioset 2 13=0
# Reload DWC3 module
rmmod dwc3
modprobe dwc3
# Deassert USB hub reset
gpioset 2 13=1
The problem became worse when the default kernel loglevel was switched from 7 down to 3. Somehow, the selected loglevel influences whether dwc3 works or not. This can even be reproduced dynamically:
rmmod dwc3
dmesg -n 7
modprobe dwc3
The above turns dwc3 from unusable back to mostly working.
It is unclear what exactly the underlying problem in dwc3 is and more investigation is required.