Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 May 2009 09:22:58 GMT
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 161713 for review
Message-ID:  <200905070922.n479MwcF058125@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=161713

Change 161713 by hselasky@hselasky_laptop001 on 2009/05/07 09:22:18

	
	USB controller: AtmegaDCI:
	 - Add more register definitions and some minor fixes.

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#23 edit
.. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.h#10 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#23 (text+ko) ====

@@ -672,7 +672,7 @@
 	 * that like RESUME. Resume is set when there is at least 3
 	 * milliseconds of inactivity on the USB BUS.
 	 */
-	if (status & ATMEGA_UDINT_EORSMI) {
+	if (status & ATMEGA_UDINT_WAKEUPI) {
 
 		DPRINTFN(5, "resume interrupt\n");
 
@@ -700,7 +700,7 @@
 
 			/* disable suspend interrupt */
 			ATMEGA_WRITE_1(sc, ATMEGA_UDIEN,
-			    ATMEGA_UDINT_EORSMI |
+			    ATMEGA_UDINT_WAKEUPE |
 			    ATMEGA_UDINT_EORSTE);
 
 			/* complete root HUB interrupt endpoint */
@@ -1152,13 +1152,12 @@
 	    ATMEGA_UECONX_STALLRQC);
 
 	do {
-		temp = 0;
 		if (ep_type == UE_BULK) {
-			temp |= ATMEGA_UECFG0X_EPTYPE2;
+			temp = ATMEGA_UECFG0X_EPTYPE2;
 		} else if (ep_type == UE_INTERRUPT) {
-			temp |= ATMEGA_UECFG0X_EPTYPE3;
+			temp = ATMEGA_UECFG0X_EPTYPE3;
 		} else {
-			temp |= ATMEGA_UECFG0X_EPTYPE1;
+			temp = ATMEGA_UECFG0X_EPTYPE1;
 		}
 		if (ep_dir & UE_DIR_IN) {
 			temp |= ATMEGA_UECFG0X_EPDIR;

==== //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.h#10 (text+ko) ====

@@ -34,6 +34,10 @@
 
 #define	ATMEGA_MAX_DEVICES (USB_MIN_DEVICES + 1)
 
+#define	ATMEGA_OTGTCON 0xF9
+#define	ATMEGA_OTGTCON_VALUE(x) ((x) << 0)
+#define	ATMEGA_OTGTCON_PAGE(x) ((x) << 5)
+
 #define	ATMEGA_UEINT 0xF4
 #define	ATMEGA_UEINT_MASK(n) (1 << (n))	/* endpoint interrupt mask */
 
@@ -136,8 +140,19 @@
 #define	ATMEGA_UDCON_LSM (1 << 2)
 #define	ATMEGA_UDCON_RSTCPU (1 << 3)
 
+#define	ATMEGA_OTGINT 0xDF
+
+#define	ATMEGA_OTGCON 0xDD
+#define	ATMEGA_OTGCON_VBUSRQC (1 << 0)
+#define	ATMEGA_OTGCON_VBUSREQ (1 << 1)
+#define	ATMEGA_OTGCON_VBUSHWC (1 << 2)
+#define	ATMEGA_OTGCON_SRPSEL (1 << 3)
+#define	ATMEGA_OTGCON_SRPREQ (1 << 4)
+#define	ATMEGA_OTGCON_HNPREQ (1 << 5)
+
 #define	ATMEGA_USBINT 0xDA
 #define	ATMEGA_USBINT_VBUSTI (1 << 0)	/* USB VBUS interrupt */
+#define	ATMEGA_USBINT_IDI (1 << 1)	/* USB ID interrupt */
 
 #define	ATMEGA_USBSTA 0xD9
 #define	ATMEGA_USBSTA_VBUS (1 << 0)
@@ -145,6 +160,7 @@
 
 #define	ATMEGA_USBCON 0xD8
 #define	ATMEGA_USBCON_VBUSTE (1 << 0)
+#define	ATMEGA_USBCON_IDE (1 << 1)
 #define	ATMEGA_USBCON_OTGPADE (1 << 4)
 #define	ATMEGA_USBCON_FRZCLK (1 << 5)
 #define	ATMEGA_USBCON_USBE (1 << 7)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905070922.n479MwcF058125>