Jared Boone
ec508cadcd
Fix relative path for libs and ldscripts in linking.
2014-01-12 14:51:54 -08:00
Jared Boone
a097879528
Un-hardcode base address of M0 memory region.
2014-01-11 17:49:26 -08:00
Jared Boone
bb8943ce5b
Break ldscripts into smaller pieces that can be shared.
2014-01-11 17:38:27 -08:00
Jared Boone
ba2cc32ac6
Combine ram_usb[01] into a single region.
...
Assign usb_bulk_buffer symbol to ram_usb origin, instead of hard-coding a pointer in C.
Change declaration of usb_bulk_buffer from a pointer to an array.
2014-01-11 17:07:49 -08:00
Jared Boone
10e379f492
Add ldscripts for LPC4320 targets (e.g. HackRF One).
...
Qualify Makefile ldscripts based on BOARD.
2014-01-11 15:52:38 -08:00
Jared Boone
936e356040
ldscript memory region clean-up for LPC4330 targets.
2014-01-11 15:49:46 -08:00
Jared Boone
095f55abce
Make a bit of room in the M0 AHB RAM region for fixed-location shared (M4, M0 cores) data structures.
2014-01-11 15:21:20 -08:00
Jared Boone
80047c9a0c
Makefile: Add separate OBJ_M4_S and OBJ_M0_S variables for .S files. (Unused, but worked earlier and may be useful later.)
2014-01-11 15:20:10 -08:00
Jared Boone
fb5dc6d5e0
Merge remote-tracking branch 'mossmann/master' into jboone_refactor_20130906
...
Conflicts:
firmware/common/si5351c.c
Preferred Si5351C configuration that drives 40MHz into the LPC43xx GP_CLKIN.
Added HACKRF_ONE qualifier for CPLD TMS/TDI swap.
2014-01-07 16:48:52 -08:00
Jared Boone
75e1dcd9cf
Don't update MAX2837 freq_cache unless set_freq() is successful.
2014-01-04 10:15:01 -08:00
Jared Boone
dbba407069
Change M0 linking to use newlib-nano. snprintf() is a pig when the floating point junk gets pulled in on an M0...
2014-01-02 15:11:15 -08:00
Jared Boone
63292419c8
Moved M0 memory region to larger first AHB region (32K), moved USB bulk buffers to smaller AHB RAM area.
2014-01-02 15:10:09 -08:00
Jared Boone
c6b1ec2979
Adjust SGPIO GPDMA trigger slice data to a single clock width pulse. Previously, it was 3 clocks long with a 4 clock period, which *seemed* to address GPDMA data drop-outs at maximum baseband speed (20Msps complex).
2013-12-31 20:27:14 -08:00
Jared Boone
fc5ec03353
Adjust tuning API to use a single 64-bit integer for frequency in Hz, since the Cortex-M4F has good support for uint64_t.
2013-12-31 20:12:47 -08:00
Jared Boone
7f35ceaff2
Set Si5351C CLK7 output to drive LPC GP_CLKIN at 40MHz, so that activity (e.g. audio) on the LPC can be synchronized with the baseband sample rate.
2013-12-31 20:09:44 -08:00
Jared Boone
0ddb4cb7f2
Configure LPC43xx for GP_CLKIN input.
2013-12-31 20:07:11 -08:00
Jared Boone
1bec883f80
Add baseband sampling frequencies useful for 48kHz audio output.
2013-12-31 20:05:26 -08:00
Michael Ossmann
6b482b94da
set crystal load capacitance to 8 pF
2013-12-12 15:47:00 -07:00
Michael Ossmann
355597d9e6
swapped CPLD JTAG pins for HackRF One 20131127
2013-12-09 19:06:24 -07:00
Jared Boone
9f2260237b
Add GPDMA LLI functions to create a loop or one-shot chain of LLIs.
2013-12-08 18:18:22 -08:00
Jared Boone
5b59f9cb0a
Change GPDMA channel clli member to uint32_t, casting to/from gpdma_lli_t and dealing with the multiple fields was driving me crazy.
2013-12-08 18:16:58 -08:00
Jared Boone
6185b67008
Add GPDMA LLI function to enable interrupt after LLI operation is complete.
2013-12-08 17:49:50 -08:00
Jared Boone
ca070acad0
Expose SGPIO DMA LLI configuration function.
...
Remove LLI declarations internal to SGPIO DMA module.
Require a start LLI for SGPIO DMA start functions.
2013-12-08 13:14:26 -08:00
Jared Boone
ea2ca52301
Rename SGPIO DMA internal function to match style of public functions.
2013-12-08 13:07:32 -08:00
Jared Boone
ac0d50a131
Remove irrelevant assumption that LLI argument is a pointer to an array.
2013-12-08 13:06:14 -08:00
Jared Boone
d2fd5e74c5
Change SGPIO DMA configuration API from dividing up a buffer's length into M parts to creating a chain of M transfers of size N.
2013-12-08 13:05:30 -08:00
Jared Boone
6196fa2810
Move LLI_COUNT constant out of SGPIO DMA utility functions.
2013-12-08 12:50:20 -08:00
Jared Boone
2fab6c40cd
Extract SGPIO multi_slice configuration argument into an init-time function, so it doesn't need to be passed each time the SGPIO interface direction is changed.
2013-12-08 12:21:41 -08:00
Jared Boone
50ec268794
Bracket SGPIO GPDMA slice configuration with multislice==false test. It only makes sense in single slice mode (until I have a clever idea for doing GPDMA with multiple slices).
2013-12-08 12:14:00 -08:00
Jared Boone
809df425c1
Add SGPIO configuration to support GPDMA interrupts.
2013-12-08 11:54:50 -08:00
Jared Boone
45c0a6c31a
Extract/isolate path details in Makefile_inc.mk.
2013-12-08 11:33:47 -08:00
Jared Boone
f51ee2dc61
Modified ldscripts to more accurately represent LPC4330 hardware.
...
Moved M0 RAM from local to AHB.
Created separate region for sleep RAM.
2013-12-07 15:29:50 -08:00
Jared Boone
34b01d89af
Add SGPIO DMA configuration code.
2013-12-07 15:29:14 -08:00
Jared Boone
3e7ff530d7
Add GPDMA API. Should go in libopencm3 when it's more fleshed-out.
2013-12-07 15:28:59 -08:00
Michael Ossmann
99803c26cb
another clock strength adjustment
2013-11-22 17:50:10 -07:00
Michael Ossmann
ebaccf46f4
adjusted clock generator output drive strength
2013-11-22 17:24:53 -07:00
Jared Boone
5468a01a9b
Forgot to include rf_path.h now that its pin setup is called from hackrf_core.
2013-11-21 10:23:53 -08:00
Jared Boone
b285b91e4c
Merge remote-tracking branch 'mossmann/master' into jboone_refactor_20130906
...
Conflicts:
firmware/common/hackrf_core.h
firmware/common/rffc5071.c
2013-11-20 18:43:40 -08:00
Jared Boone
9db166427f
Remove I2S pin definitions, since they're too specific for generic/shared HackRF code.
2013-11-20 15:46:53 -08:00
Jared Boone
986e4dec93
Massive rework of Makefile_inc.mk, to support building of heterogeneous (M4+M0) binaries, and easy switching between RAM and SPIFI-bootable builds. Constructive criticism welcome -- I'm sure there's better ways to do this.
2013-11-20 15:28:28 -08:00
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
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
9856ea3d14
Changes due to CGU header API changes.
2013-11-15 11:41:20 -08:00