In SiFive unmatched board, the reset of the USB hub, PCIe-USB bridge, and ULPI rely on the power-cycling. However, sometimes the rebooting is without power-cycling. To ensure these devices will be reset in each rebooting, here always reset these devices in the spl_board_init_f().
In addition, because the reset pint of these four devices incluing GEMGXL connects to the GPIO, the 1st patch creates a new wrapper, spl_reset_device_by_gpio(), to address the GPIO operation during the reset. Vincent Chen (2): board: sifive: unmatched: refine GEMGXL initialized function in SPL board: sifive: unmatched: reset USB hub, PCIe-USB bridge, and ULPI device in SPL board/sifive/unmatched/spl.c | 90 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 73 insertions(+), 17 deletions(-) -- 2.7.4