add usrp - Support software for the Universal Software Radio Peripheral (USRP)
authorMichael Lauer <mickey@vanille-media.de>
Thu, 21 Jul 2005 14:18:55 +0000 (14:18 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Thu, 21 Jul 2005 14:18:55 +0000 (14:18 +0000)
Patch courtesy Philip Balister

packages/usrp/.mtn2git_empty [new file with mode: 0644]
packages/usrp/files/.mtn2git_empty [new file with mode: 0644]
packages/usrp/files/usb11.patch [new file with mode: 0644]
packages/usrp/usrp_0.8.bb [new file with mode: 0644]

diff --git a/packages/usrp/.mtn2git_empty b/packages/usrp/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/usrp/files/.mtn2git_empty b/packages/usrp/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/usrp/files/usb11.patch b/packages/usrp/files/usb11.patch
new file mode 100644 (file)
index 0000000..a0f1f54
--- /dev/null
@@ -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: 
+       
diff --git a/packages/usrp/usrp_0.8.bb b/packages/usrp/usrp_0.8.bb
new file mode 100644 (file)
index 0000000..1b9966f
--- /dev/null
@@ -0,0 +1,31 @@
+DESCRIPTION = "Support software for the Universal Software Radio Peripheral (USRP)"
+LICENSE = "GPL"
+MAINTAINER = "Philip Balister philip@balister.org"
+HOMEPAGE = "http://comsec.com/wiki?UniversalSoftwareRadioPeripheral"
+SECTION = "devel"
+DEPENDS = "swig-native sdcc-native libusb"
+PR = "r0"
+
+SRC_URI = "ftp://ftp.gnu.org/gnu/gnuradio/usrp-${PV}.tar.gz \
+           file://usb11.patch;patch=1"
+S = "${WORKDIR}/usrp-${PV}"
+
+inherit autotools
+
+do_stage () {
+     oe_libinstall -so -C host/lib/.libs/ libusrp ${STAGING_LIBDIR}
+
+     install -m 644 host/lib/usrp0.h ${STAGING_INCDIR}
+     install -m 644 host/lib/usrp_basic.h ${STAGING_INCDIR}
+     install -m 644 host/lib/usrp_bytesex.h ${STAGING_INCDIR}
+     install -m 644 host/lib/usrp_config.h ${STAGING_INCDIR}
+     install -m 644 host/lib/usrp_daughterboards.h ${STAGING_INCDIR}
+     install -m 644 host/lib/usrp_prims.h ${STAGING_INCDIR}
+     install -m 644 host/lib/usrp_slots.h ${STAGING_INCDIR}
+     install -m 644 host/lib/usrp_standard.h ${STAGING_INCDIR}
+
+     install -m 644 firmware/include/usrp_i2c_addr.h ${STAGING_INCDIR}
+}
+
+PACKAGES += "python-pyursp"
+FILES_python-pyursp = "${libdir}/python*"