diff options
Diffstat (limited to 'recipes/usrp/files/usb11.patch')
-rw-r--r-- | recipes/usrp/files/usb11.patch | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/recipes/usrp/files/usb11.patch b/recipes/usrp/files/usb11.patch new file mode 100644 index 0000000000..a0f1f548a6 --- /dev/null +++ b/recipes/usrp/files/usb11.patch @@ -0,0 +1,96 @@ +diff -ur usrp-0.8/firmware/include/fpga_regs_standard.h usrp-0.8-usb11/firmware/include/fpga_regs_standard.h +--- usrp-0.8/firmware/include/fpga_regs_standard.h 2004-12-10 23:25:42.000000000 -0500 ++++ usrp-0.8-usb11/firmware/include/fpga_regs_standard.h 2005-04-18 15:48:58.000000000 -0400 +@@ -103,6 +103,7 @@ + // 3 chan 1 Q + + #define FR_TX_MUX 39 ++#define FR_USB_PACKET_SIZE 40 + + #endif /* INCLUDED_FPGA_REGS_STANDARD_H */ + +diff -ur usrp-0.8/firmware/src/common/usrp_common.c usrp-0.8-usb11/firmware/src/common/usrp_common.c +--- usrp-0.8/firmware/src/common/usrp_common.c 2004-03-28 17:28:58.000000000 -0500 ++++ usrp-0.8-usb11/firmware/src/common/usrp_common.c 2005-04-17 12:10:26.000000000 -0400 +@@ -101,9 +101,13 @@ + // set autoin length for EP6 + // FIXME should be f(enumeration) + +- EP6AUTOINLENH = (512) >> 8; SYNCDELAY; // this is the length for high speed +- EP6AUTOINLENL = (512) & 0xff; SYNCDELAY; +- ++ if (USBCS & bmHSM) { ++ EP6AUTOINLENH = (512) >> 8; SYNCDELAY; // this is the length for high speed ++ EP6AUTOINLENL = (512) & 0xff; SYNCDELAY; ++ } else { ++ EP6AUTOINLENH = (64) >> 8; SYNCDELAY; // this is the length for full speed ++ EP6AUTOINLENL = (64) & 0xff; SYNCDELAY; ++ } + init_board (); + } + +diff -ur usrp-0.8/firmware/src/usrp2/usb_descriptors.a51 usrp-0.8-usb11/firmware/src/usrp2/usb_descriptors.a51 +--- usrp-0.8/firmware/src/usrp2/usb_descriptors.a51 2004-12-08 16:11:24.000000000 -0500 ++++ usrp-0.8-usb11/firmware/src/usrp2/usb_descriptors.a51 2005-04-14 11:51:07.000000000 -0400 +@@ -236,7 +236,7 @@ + .db DSCR_CONFIG + .db <(_full_speed_config_descr_end - _full_speed_config_descr) ; LSB + .db >(_full_speed_config_descr_end - _full_speed_config_descr) ; MSB +- .db 1 ; bNumInterfaces ++ .db 3 ; bNumInterfaces + .db 1 ; bConfigurationValue + .db 0 ; iConfiguration + .db 0x80 | bmSELF_POWERED ; bmAttributes +@@ -253,7 +253,53 @@ + .db 0xff ; bInterfaceSubClass (vendor specific) + .db 0xff ; bInterfaceProtocol (vendor specific) + .db SI_COMMAND_AND_STATUS ; iInterface (description) ++ ++ ;; interface descriptor 1 (transmit path, ep2 OUT BULK) ++ ++ .db DSCR_INTRFC_LEN ++ .db DSCR_INTRFC ++ .db 1 ; bInterfaceNumber (zero based) ++ .db 0 ; bAlternateSetting ++ .db 1 ; bNumEndpoints ++ .db 0xff ; bInterfaceClass (vendor specific) ++ .db 0xff ; bInterfaceSubClass (vendor specific) ++ .db 0xff ; bInterfaceProtocol (vendor specific) ++ .db SI_TX_PATH ; iInterface (description) ++ ++ ;; interface 1's end point ++ ++ .db DSCR_ENDPNT_LEN ++ .db DSCR_ENDPNT ++ .db 0x02 ; bEndpointAddress (ep 2 OUT) ++ .db ET_BULK ; bmAttributes ++ .db <64 ; wMaxPacketSize (LSB) ++ .db >64 ; wMaxPacketSize (MSB) ++ .db 0 ; bInterval (iso only) ++ ++ ;; interface descriptor 2 (receive path, ep6 IN BULK) ++ ++ .db DSCR_INTRFC_LEN ++ .db DSCR_INTRFC ++ .db 2 ; bInterfaceNumber (zero based) ++ .db 0 ; bAlternateSetting ++ .db 1 ; bNumEndpoints ++ .db 0xff ; bInterfaceClass (vendor specific) ++ .db 0xff ; bInterfaceSubClass (vendor specific) ++ .db 0xff ; bInterfaceProtocol (vendor specific) ++ .db SI_RX_PATH ; iInterface (description) ++ ++ ;; interface 2's end point ++ ++ .db DSCR_ENDPNT_LEN ++ .db DSCR_ENDPNT ++ .db 0x86 ; bEndpointAddress (ep 6 IN) ++ .db ET_BULK ; bmAttributes ++ .db <64 ; wMaxPacketSize (LSB) ++ .db >64 ; wMaxPacketSize (MSB) ++ .db 0 ; bInterval (iso only) ++ + ++ + _full_speed_config_descr_end: + |