Module Name: src
Committed By: matt
Date: Thu Nov 29 17:38:27 UTC 2012
Modified Files:
src/sys/arch/arm/broadcom: bcm53xx_reg.h bcm53xx_usb.c
Log Message:
Make sure to bring the ULPI ports out of reset.
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/broadcom/bcm53xx_reg.h
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/broadcom/bcm53xx_usb.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/broadcom/bcm53xx_reg.h
diff -u src/sys/arch/arm/broadcom/bcm53xx_reg.h:1.10 src/sys/arch/arm/broadcom/bcm53xx_reg.h:1.11
--- src/sys/arch/arm/broadcom/bcm53xx_reg.h:1.10 Thu Nov 1 21:29:42 2012
+++ src/sys/arch/arm/broadcom/bcm53xx_reg.h Thu Nov 29 17:38:27 2012
@@ -658,6 +658,13 @@
#endif /* IDM_PRIVATE */
+#ifdef USBH_PRIVATE
+#define USBH_PHY_CTRL_P0 0x200
+#define USBH_PHY_CTRL_P1 0x204
+
+#define USBH_PHY_CTRL_INIT 0x3ff
+#endif
+
#ifdef GMAC_PRIVATE
struct gmac_txdb {
Index: src/sys/arch/arm/broadcom/bcm53xx_usb.c
diff -u src/sys/arch/arm/broadcom/bcm53xx_usb.c:1.2 src/sys/arch/arm/broadcom/bcm53xx_usb.c:1.3
--- src/sys/arch/arm/broadcom/bcm53xx_usb.c:1.2 Thu Sep 27 00:24:36 2012
+++ src/sys/arch/arm/broadcom/bcm53xx_usb.c Thu Nov 29 17:38:26 2012
@@ -26,12 +26,13 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
+#define USBH_PRIVATE
#include "locators.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: bcm53xx_usb.c,v 1.2 2012/09/27 00:24:36 matt Exp $");
+__KERNEL_RCSID(1, "$NetBSD: bcm53xx_usb.c,v 1.3 2012/11/29 17:38:26 matt Exp $");
#include <sys/bus.h>
#include <sys/device.h>
@@ -242,6 +243,14 @@ bcmusb_ccb_attach(device_t parent, devic
0x1000, &usbsc->usbsc_ohci_bsh);
/*
+ * Bring the PHYs out of reset.
+ */
+ bus_space_write_4(usbsc->usbsc_bst, usbsc->usbsc_ehci_bsh,
+ USBH_PHY_CTRL_P0, USBH_PHY_CTRL_INIT);
+ bus_space_write_4(usbsc->usbsc_bst, usbsc->usbsc_ehci_bsh,
+ USBH_PHY_CTRL_P1, USBH_PHY_CTRL_INIT);
+
+ /*
* Disable interrupts
*/
bus_space_write_4(usbsc->usbsc_bst, usbsc->usbsc_ohci_bsh,