25 Commits

Author SHA1 Message Date
schneider
f063f87c49 fix(sgpio): Update rad1o update_q_invert gpio access 2017-01-27 20:51:44 +01:00
schneider
35ca538c18 Merge remote-tracking branch 'mossmann/master' into rad1o
Just a very rough merge to get off the ground. Major parts are not yet
implemented. The mixer intergration is in a messed up state. Part which
need work have been marked with XXX

Conflicts:
	firmware/common/hackrf_core.c
	firmware/common/hackrf_core.h
	firmware/common/max2837.c
	firmware/common/max2837.h
	firmware/common/rf_path.c
	firmware/common/rffc5071.c
	firmware/common/rffc5071.h
	firmware/common/sgpio.c
	firmware/common/si5351c.c
	firmware/common/tuning.c
	firmware/common/w25q80bv.c
	firmware/common/w25q80bv.h
	firmware/common/xapp058/ports.c
	firmware/hackrf-common.cmake
	firmware/hackrf_usb/hackrf_usb.c
	firmware/hackrf_usb/usb_api_register.c
	firmware/hackrf_usb/usb_api_transceiver.c
	host/hackrf-tools/src/hackrf_transfer.c
2017-01-26 00:21:58 +01:00
Tobias Schneider
60b3ef3112 fix(sgpio): Fix rad1o HW bug which inverts RX Q
As it is only inverted in the RX path (in respect to the HackRF) we need
to distinguish between RX/TX and inverted and not inverted.
2015-07-27 11:30:52 +02:00
Jared Boone
5363ec3672 Use new GPIO API to abstract GPIO in various drivers.
Had to do it all at once due to name conflicts with API exposed in libopencm3.
Quite invasive patch! Also precipitated an LED API...
2014-11-15 16:26:59 -08:00
Jared Boone
422173a5f7 SGPIO: Add CPLD RX Q channel inversion, API to control. 2014-08-11 13:02:02 -07:00
Jared Boone
0ab6a92ae6 Change SGPIO CPLD decimation API interface to be one-based (decimation of 1 to 8). 2014-08-11 13:01:50 -07: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
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
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
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
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
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
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
TitanMKD
b8590db02a Comment fix. 2013-04-04 19:48:28 +02:00
TitanMKD
118953b451 Lot of comments added. 2013-04-04 19:19:59 +02:00
Jared Boone
cc5f1c61c7 Fix clock edge for TX mode. TX data was completely crapped up due to skew on my Jellybean/Lemondrop board. Hopefully, this also applies to Jawbreaker. I'll recheck once I have hardware in-hand. 2012-11-02 22:34:43 -07:00
Jared Boone
9824a723b7 Moved invariant in sgpio_configure() loop out of loop. Originally, so I could use the value to calculate another invariant. 2012-10-12 09:45:18 -07:00
Jared Boone
a1af4356b6 Reworked sgpio.c to make use of #defines for fields, instead of hard-coding shifts. Proper. 2012-10-11 20:46:21 -07:00
Jared Boone
9b579232a7 Consolidated single-slice SGPIO configuration functions into single sgpio_configure() function. 2012-10-11 15:45:28 -07:00
Jared Boone
1bad2d8536 Consolidated two "deep" SGPIO configuration functions into one, qualified by transceiver mode (RX or TX). 95-ish % of the code was common. 2012-10-11 15:18:16 -07:00
Jared Boone
8291d7fac0 Add SGPIO configuration function for "deep" (8-slice) TX mode. 2012-10-11 13:04:30 -07:00
Jared Boone
5989465eb9 Add SGPIO configuration API and code, extracted from existing SGPIO projects. 2012-10-10 14:30:28 -07:00