|
@@ -195,16 +195,6 @@ int board_early_init_f(void)
|
|
|
mtdcr(AHB_TOP, 0x8000004B);
|
|
|
mtdcr(AHB_BOT, 0x8000004B);
|
|
|
|
|
|
- if (pvr_460ex()) {
|
|
|
- /*
|
|
|
- * Configure USB-STP pins as alternate and not GPIO
|
|
|
- * It seems to be neccessary to configure the STP pins as GPIO
|
|
|
- * input at powerup (perhaps while USB reset is asserted). So
|
|
|
- * we configure those pins to their "real" function now.
|
|
|
- */
|
|
|
- gpio_config(16, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1);
|
|
|
- gpio_config(19, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1);
|
|
|
- }
|
|
|
#endif
|
|
|
|
|
|
return 0;
|
|
@@ -222,6 +212,15 @@ int usb_board_init(void)
|
|
|
val &= ~(BCSR_USBCTRL_OTG_RST | BCSR_USBCTRL_HOST_RST);
|
|
|
out_8(&bcsr_data->usb_ctrl, val);
|
|
|
|
|
|
+ /*
|
|
|
+ * Configure USB-STP pins as alternate and not GPIO
|
|
|
+ * It seems to be neccessary to configure the STP pins as GPIO
|
|
|
+ * input at powerup (perhaps while USB reset is asserted). So
|
|
|
+ * we configure those pins to their "real" function now.
|
|
|
+ */
|
|
|
+ gpio_config(16, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1);
|
|
|
+ gpio_config(19, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1);
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -236,6 +235,10 @@ int usb_board_stop(void)
|
|
|
val |= (BCSR_USBCTRL_OTG_RST | BCSR_USBCTRL_HOST_RST);
|
|
|
out_8(&bcsr_data->usb_ctrl, val);
|
|
|
|
|
|
+ /* Reconfigure USB-STP pins as input */
|
|
|
+ gpio_config(16, GPIO_IN , GPIO_SEL, GPIO_OUT_0);
|
|
|
+ gpio_config(19, GPIO_IN , GPIO_SEL, GPIO_OUT_0);
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|