Jared Boone
c365d0a37e
Add memory regions for M0 code to live. In the "rom_to_ram" (SPIFI) version, put M0 binary in ROM. In the RAM version, put M0 code in the destination RAM region.
2013-11-20 15:14:13 -08:00
Jared Boone
31a55d0e9b
Assembly file that includes M0 binary into a .o to be linked into the M4 binary. There's certainly a more elegant way, but for now...
2013-11-20 15:13:18 -08:00
Jared Boone
e29ec6b084
Add default M0 code that just loops forever, if a project doesn't specify any SRC_M0_[CS] files.
2013-11-20 15:11:54 -08:00
Jared Boone
91a7ca4983
Fix return value on SGPIO decimation function.
2013-11-20 15:08:59 -08:00
Jared Boone
e3f9e204c1
Relocate SGPIO pin configuration -- it only needs to be done once.
2013-11-20 13:22:19 -08:00
Jared Boone
39276f162c
Add M0 linker script.
2013-11-19 19:52:50 -08:00
Jared Boone
3bf6573dc6
Add skip-every-N function to CPLD, where N is controlled by three input pins from the microcontroller.
...
Updated SGPIO CPLD testbench, as it had fallen a bit out of date.
Add SGPIO API initialization and control of CPLD decimation feature.
2013-11-19 19:52:06 -08:00
Jared Boone
24a8e2bdb5
Remove CPLD SVF file, as it's not used by anybody (as far as I know).
2013-11-19 19:45:36 -08:00
Michael Ossmann
5b14636c2c
initial firmware support for HackRF One
2013-11-19 10:01:26 -07:00
Jared Boone
967e699815
Another little fix for the two's complement change -- initialize SGPIO data registers to DAC zero values.
2013-11-17 22:23:08 -08:00
Jared Boone
d006ec769c
Updated CPLD bitstream with two's complement I/O and sample ordering fix.
2013-11-16 13:41:54 -08:00
Jared Boone
89eafaa79a
Remove sample-pair reordering in SGPIO interrupt -- CPLD fixes address this.
2013-11-16 13:32:41 -08:00
Jared Boone
7ef9c1e932
Slow down edges of data lines coming from CPLD.
2013-11-16 13:31:19 -08:00
Jared Boone
147f47a3f5
Invert Q channel data coming from MAX5864, since MAX2837 Q differential pair is reversed.
...
Do conversion from unsigned to two's-compliment inside FPGA.
2013-11-16 13:29:00 -08:00
Jared Boone
9856ea3d14
Changes due to CGU header API changes.
2013-11-15 11:41:20 -08:00
Jared Boone
4917c5019a
Additional CGU register decoding in dump_cgu.py.
2013-11-02 22:51:35 -07:00
Jared Boone
06da7fd83a
Reduce drive strength from clock generator (Si5351C) to first mixer (RFFC5072). This reduces every-50MHz spurs in RX by 10 to 15dB.
2013-09-22 11:54:37 -07:00
Jared Boone
314b3cdc7b
Don't put MAX2837 into shutdown mode -- powering up takes a bit too long (500us for PLL to stabilize). Will need to revisit, because the MAX2837 chews up significant current (35 to 45mA) when not in shutdown.
...
Remove excess calls to max2837_start() and max2837_stop().
2013-09-22 11:52:45 -07:00
Jared Boone
b4f883595f
Remove MAX2837_FREQ_NOMINAL_MHZ #define -- it must be updated now that IF is adjustable. So I pushed the calculation directly into the two places it was used.
2013-09-21 20:27:27 -07:00
Jared Boone
2ed5c9d057
Consolidate hackrf_usb and hackrf_usb_rom_to_ram projects -- with generation of SPIFI binary by default.
2013-09-20 20:16:49 -07:00
Jared Boone
6901107c7f
Adjust Makefile_inc.mk to serve both M0 and M4 targets through the LPC43XX_TARGET variable.
2013-09-20 20:04:28 -07:00
Jared Boone
43596e07c5
Break off a chunk of local RAM to serve the M0 processor.
2013-09-20 20:03:24 -07:00
Jared Boone
e2d4a501be
Link floating point library and related/required libraries.
2013-09-20 15:08:23 -07:00
Jared Boone
322dea1884
Add make target for .s files.
2013-09-20 15:07:42 -07:00
Jared Boone
61a8d0f1d6
Move set_transceiver stuff back hackrf_usb.c, since it seems to fit better there.
2013-09-20 14:24:05 -07:00
Jared Boone
5c76b0ff50
Add miscellaneous Jawbreaker pins SCU #defines.
2013-09-20 14:19:07 -07:00
Jared Boone
7b50dfa12c
Factor out USB API for transceiver control into separate files.
...
Pull out streaming control functions into common/streaming.[ch].
Remove excess #includes in hackrf_usb.c.
2013-09-20 12:54:56 -07:00
Jared Boone
db432842da
Sync related Makefiles with changes to hackrf_usb/Makefile.
2013-09-20 12:09:47 -07:00
Jared Boone
9120e0b7ba
Extracted USB API for board information into separate files.
2013-09-19 22:45:38 -07:00
Jared Boone
aab36292db
Moved USB API for manipulating RF chip registers into separate files.
2013-09-19 22:37:36 -07:00
Jared Boone
cde5e1af8a
Extracted USB API for SPI flash erase/write/read into separate files.
2013-09-19 22:29:49 -07:00
Jared Boone
f7a42e0747
Move USB API for CPLD management into separate files.
2013-09-19 19:52:14 -07:00
Jared Boone
82ce660932
Broke some application-specific USB code into separate files within hackrf_usb/. Hoping I can use them as necessary in other projects, or push them into a library eventually.
2013-09-19 19:51:32 -07:00
Jared Boone
5b7b98be6c
Clean up SGPIO vector assignment code.
2013-09-17 22:37:40 -07:00
Jared Boone
c06facdd25
Push SGPIO configuration into RF path API.
2013-09-17 22:32:10 -07:00
Jared Boone
2e2275ed51
Pull out leaky tri-state transceiver_mode value from sgpio_configure(), replace with SGPIO_DIRECTION_* #defines.
2013-09-17 22:29:41 -07:00
Jared Boone
aebea16b0f
Remove USB endpoint fiddling from baseband_streaming_disable().
...
Create baseband_streaming_enable() to do SGPIO IRQ and stream enable.
2013-09-17 22:23:18 -07:00
Jared Boone
76704be008
Remove unused local variable causing a compiler warning.
2013-09-17 22:21:11 -07:00
Jared Boone
04e70483a2
Move RF path configuration to early in the tuning process -- before the MAX2837 is tuned.
2013-09-17 21:59:01 -07:00
Jared Boone
1ec9f560b4
Move more RF path stuff (initialization and MAX5864 state management) into rf_path.c.
...
Changed initial RF path mode to lowest power (OFF).
Remove initial MAX2837 IF setting -- it's a waste of effort when the first (and necessary) tuning operation will reset it anyway (perhaps to a different value).
2013-09-17 17:25:00 -07:00
Jared Boone
b92e916b21
Forgot an #include in rf_path.c, from moving MAX2837 code.
2013-09-17 15:36:59 -07:00
Jared Boone
53415a620d
Allow set_transceiver_mode(OFF) to fall through the rest of the function, now that sgpio_configure() is expecting OFF as a value.
2013-09-17 15:33:07 -07:00
Jared Boone
52dda32a18
Adjust logic in sgpio_configure() to treat transceiver modes outside TX and RX as RX. "OFF", for example...
2013-09-17 15:32:11 -07:00
Jared Boone
0e8e3c8d53
Push MAX2837 state management into rf_path_set_direction().
2013-09-17 15:27:16 -07:00
Jared Boone
e02d2f0325
Remove dependencies on application-specific USB descriptors.
2013-09-17 15:13:12 -07:00
Jared Boone
fe2a700f8f
Move files that have no application-specific bits (e.g. USB stack, tuning, and RF path APIs) to ../common/.
2013-09-17 15:10:46 -07:00
Jared Boone
78121f5a3e
Merge branch 'refs/heads/bgamari_usb_merge' into jboone_refactor_20130906
...
Conflicts:
firmware/hackrf_usb/hackrf_usb.c
2013-09-17 13:10:30 -07:00
Jared Boone
4984a8b681
Fix to SPIFI addressing during hackrf_spiflash read operation. This fixes mismatches between programmed and read-back data.
2013-09-17 12:18:33 -07:00
Jared Boone
d13e80b520
With bgamari's new USB configuration for CPLD, be sure to turn up CPU clock to maximum.
2013-09-16 15:21:28 -07:00
Jared Boone
c0274cd2d3
Merge remote-tracking branch 'bgamari/usb' into bgamari_usb_merge
...
Conflicts:
firmware/hackrf_usb/hackrf_usb.c
firmware/hackrf_usb/usb.c
firmware/hackrf_usb/usb_queue.c
firmware/hackrf_usb/usb_queue.h
firmware/hackrf_usb/usb_standard_request.c
2013-09-16 15:18:14 -07:00