e02d2f0325Remove dependencies on application-specific USB descriptors.
Jared Boone
2013-09-17 15:13:12 -07:00
fe2a700f8fMove files that have no application-specific bits (e.g. USB stack, tuning, and RF path APIs) to ../common/.
Jared Boone
2013-09-17 15:10:46 -07:00
78121f5a3eMerge branch 'refs/heads/bgamari_usb_merge' into jboone_refactor_20130906
Jared Boone
2013-09-17 13:10:30 -07:00
4984a8b681Fix to SPIFI addressing during hackrf_spiflash read operation. This fixes mismatches between programmed and read-back data.
Jared Boone
2013-09-17 12:18:33 -07:00
d13e80b520With bgamari's new USB configuration for CPLD, be sure to turn up CPU clock to maximum.
Jared Boone
2013-09-16 15:21:28 -07:00
c0274cd2d3Merge remote-tracking branch 'bgamari/usb' into bgamari_usb_merge
Jared Boone
2013-09-16 15:18:14 -07:00
0a46aae5b9Convert from unsigned to two's complement inside CPLD. TODO: This requires changes to gr-osmosdr and software that uses hackrf_transfer files directly.
Jared Boone
2013-09-16 14:59:14 -07:00
4cd7662f7chackrf_usb_rom_to_ram: Add usb_queue to Makefile
Ben Gamari
2013-09-15 18:29:33 -04:00
b3f6134fc1hackrf_cpldjtag: Update for new hackrf_cpld_write interface
Ben Gamari
2013-09-08 13:46:03 -04:00
d21d616576libhackrf: Rework hackrf_cpld_write to use new firmware interface
Ben Gamari
2013-09-08 13:43:29 -04:00
67a181ac36hackrf_usb: Update transceiver_mode on all configuration changes
Ben Gamari
2013-09-09 00:54:24 -04:00
64ef3f71c0hackrf_usb: Make main loop non-blocking
Ben Gamari
2013-09-09 00:53:41 -04:00
3ba8d33de8hackrf: Enter cpld_update from main loop
Ben Gamari
2013-09-08 23:47:18 -04:00
dc9c6c9667cpld: Stream CPLD data from host
Ben Gamari
2013-09-02 19:44:22 -04:00
d2b2b11998xapp058/ports: Clean up comments and dead code
Ben Gamari
2013-07-09 19:05:00 -04:00
8e897be975usb_standard_request: Multiple config support
Ben Gamari
2013-09-08 22:29:56 -04:00
34fabad121usb_standard_request: Sent descriptors can be const
Ben Gamari
2013-09-08 22:28:40 -04:00
4773ee5a53hackrf_usb: Port to use usb_queue
Ben Gamari
2013-09-08 13:54:56 -04:00
693c262134libhackrf: Stop streaming before killing transfer thread
Ben Gamari
2013-09-08 13:54:25 -04:00
500aa5888cusb_queue: Introduce queue management
Ben Gamari
2013-09-02 19:22:27 -04:00
24d5a5c4f1usb: Add usb_endpoint_append_td
Ben Gamari
2013-06-28 21:30:46 -04:00
1a44890095usb_descriptor: Add description strings for configurations
Ben Gamari
2013-09-08 12:47:08 -04:00
21ad0778d2usb_descriptor: Fix whitespace
Ben Gamari
2013-09-02 19:40:29 -04:00
7075cc6c1cMore constraints clean-up: Associating timing specification groups on the NET declarations. Updated setup/hold constraints -- old constraints were incomplete and possibly incorrect, though I'm still not *positive*.
Jared Boone
2013-09-11 16:52:11 -07:00
d628e2d09cAdd CODEC_CLK to adc_data constraint group.
Jared Boone
2013-09-11 16:22:39 -07:00
e9236e50c2Fix CPLD constraint to assume SGPIO frequency of 40MHz, not 20MHz.
Jared Boone
2013-09-11 16:21:16 -07:00
5a7b927db6Change line endings in CPLD user constraints file license header to match the rest of the file.
Jared Boone
2013-09-11 16:20:43 -07:00
d7e2a8d133Added note on generating XSVF inside Xilinx tools.
Jared Boone
2013-09-11 15:54:17 -07:00
042229ea19Set transceiver mode to OFF whenever USB configuration changes.
Jared Boone
2013-09-08 15:52:36 -07:00
0411ffe3f0Set RF path direction to "off" when transceiver_mode is OFF.
Jared Boone
2013-09-08 15:44:37 -07:00
98e33fbb5bRemove commented RFFC5071 code in set_transceiver_mode.
Jared Boone
2013-09-08 15:36:25 -07:00
d00123ed24Update RFFC5071 enable state when switching RF path direction. TODO: There's some stuff here that needs refactoring -- duplicate code is showing up.
Jared Boone
2013-09-08 15:20:47 -07:00
a897c4f016Add RF_PATH_DIRECTION_OFF enum and code.
Jared Boone
2013-09-08 15:16:51 -07:00
217630d82cConvert rf_path_set_direction from if/else to switch/case.
Jared Boone
2013-09-08 15:13:44 -07:00
9b2b7b0817Move SGPIO ISRs to separate .c/.h files. Move usb_bulk_buffer* to separate .c/.h files.
Jared Boone
2013-09-08 15:10:19 -07:00
1c81fa895cBump mossmann/libopencm3 commit.
Jared Boone
2013-09-07 22:34:36 -07:00
ddf4c01f66Forgot to propagate license to rf_path.[ch].
Jared Boone
2013-09-07 22:30:48 -07:00
14eba3d947Extract tuning code into separate .c/.h file.
Jared Boone
2013-09-07 22:30:13 -07:00
b5dc264d22Extract rf_path code into a separate .c/.h. Add an rf_path_init() function to do initial, idle configuration during start-up.
Jared Boone
2013-09-07 22:22:03 -07:00
7cf4058372Move various switchctrl manipulation into clearly-defined rf_path_*() implementations.
Jared Boone
2013-09-07 22:06:01 -07:00
bf297e0e08I might've been a bit hasty removing volatile from transceiver_mode.
Jared Boone
2013-09-07 22:01:46 -07:00
4ad3680428Break SGPIO interrupt handlers in two -- RX and TX. Assign an SGPIO interrupt handler function at runtime, based on RX or TX mode. NOTE: This is incompatible with placing the vector table in ROM, which is fine on a device with no internal flash). Remove SGPIO interrupt-time dependency on volatile transceiver_mode variable. Side effect is that a few cycles are probably saved inside the SGPIO interrupt.
Jared Boone
2013-09-07 20:58:08 -07:00
e7c6408473Add comment describing SWITCHCTRL pins vs. RF path configurations.
Jared Boone
2013-09-07 20:21:43 -07:00
d65314db37Clean up switchctrl code a bit -- redundant #ifdefs and complex if conditions.
Jared Boone
2013-09-07 20:20:48 -07:00
bafe97e302Extract knowledge of RF path configurations from the RFFC5071 driver. Change initial RF path mode to SWITCHCTRL_SAFE. (Previously started at SWITCHCTRL_SAFE and then immediately switched to SWITCHCTRL_AMP_BYPASS.)
Jared Boone
2013-09-07 12:59:57 -07:00
6dee455ef2Contain calls to rffc5071_(rx|tr) to a single location.
Jared Boone
2013-09-07 12:40:09 -07:00
518c46a111Oops, missed a spot where I should've called a MAX2837 mode function.
Jared Boone
2013-09-06 23:01:40 -07:00
b89f43e97eReplace transceiver_mode dependent MAX2837 mode management with max2837_mode() -> max2837_set_mode() calls.
Jared Boone
2013-09-06 22:50:04 -07:00
a367f84d15Add MAX2837 mode set/get functions.
Jared Boone
2013-09-06 22:29:57 -07:00
a5c0b5deebAdd MAX2837 functions to control operating mode. Replace direct manipulation of GPIOs controlling MAX2837 with operating mode functions.
Jared Boone
2013-09-06 21:29:31 -07:00
7c5db57f02Hide the MAX2837 intermediate frequency behind a function. It also prevents leakage of the freq_*_cache variables.
Jared Boone
2013-09-06 16:28:19 -07:00
1ac3d59875Update libopencm3 submodule commit.
Jared Boone
2013-09-06 16:02:01 -07:00
5cad831075Fixed cut-and-paste oops in variable name.
Jared Boone
2013-09-06 15:37:24 -07:00
5143456d6dUpdate libopencm3 submodule commit.
Jared Boone
2013-09-06 15:25:34 -07:00
b893b0a694Merge remote-tracking branch 'bgamari/usb' into bgamari_usb_merge
Jared Boone
2013-09-06 15:20:58 -07:00
266003f3afAdded two CGU debugging tools:
Jared Boone
2013-09-04 16:34:20 -07:00
6c0d803647Cleaned up management of SGPIO and transceiver mode state vs. USB configuration state. This should help with power management. It may also be necessary when operating at low speed (48MHz), to keep the SGPIO interrupts from chewing up ALL available CPU cycles.
Jared Boone
2013-09-04 16:27:43 -07:00
1f5b979fd9Added usb_set_configuration_changed_cb() call that bgamari fixed in his as-yet-unmerged USB branch.
Jared Boone
2013-09-04 16:24:19 -07:00
d76d72665eAdjusted cpu_clock_pll1_low_speed() to operate at 48MHz, as per several comments with the code. The actual MSEL value was previously selecting 84MHz.
Jared Boone
2013-09-04 16:23:32 -07:00
237bf6ecdbPulled redundant PLL1 initialization code from cpu_clock_init(). Called cpu_clock_pll1_low_speed() instead.
Jared Boone
2013-09-04 16:22:41 -07:00
189d245868Merge remote-tracking branch 'TitanMKD/master' into titanmkd_overclock_fix
Jared Boone
2013-09-04 12:41:03 -07:00
d5cebd92deMerge pull request #98 from mikeryan/blockdiagram-images
Jared Boone
2013-09-04 10:44:41 -07:00
a90c3b2324Merge pull request #100 from jboone/master
Jared Boone
2013-09-02 11:10:11 -07:00
24ed48d93aFix for "issues/62 fix PLL1 overclock bug" see hackrf_core.c -> cpu_clock_init() Fix for "issues/78 startup current too high" see hackrf_core.c -> New functions cpu_clock_pll1_low_speed()/cpu_clock_pll1_max_speed() & hackrf_usb.c to switch low_speed/max_speed.
TitanMKD
2013-08-28 22:01:57 +02:00
10d67a8265doc: block diagram of HackRF
Mike Ryan
2013-08-17 10:07:03 -07:00
2648107a0badded dfu-util requirement
Michael Ossmann
2013-08-11 14:56:32 -06:00
11156d958dDelete jawbreaker_boot_mode.pdf
Jared Boone
2013-08-11 12:51:50 -07:00
d0f0090474Delete jawbreaker_boot_mode.ods
Jared Boone
2013-08-11 12:51:40 -07:00
b056efcaf8.so and .pc version update
Michael Ossmann
2013-07-26 18:30:46 -06:00
3642fe9bc6usb_queue: Kill dead declaration
Ben Gamari
2013-07-09 20:57:37 -04:00
0e14a38403fix3
Ben Gamari
2013-07-07 23:22:34 -04:00
f6b41dbda5fix2
Ben Gamari
2013-07-07 23:21:18 -04:00
b738cd5294fix1
Ben Gamari
2013-07-07 23:21:11 -04:00
bb69f655b1usb_queue: Use while instead of for
Ben Gamari
2013-07-07 21:58:06 -04:00
f50253eaa3usb_queue: Use ldrex/strex to avoid disabling interrupts
Ben Gamari
2013-07-07 21:54:25 -04:00
e23cc9bd6cusb_queue: Disable interrupts when allocating transfer
Ben Gamari
2013-07-07 21:25:31 -04:00
cce17c42fdlibopencm3: Update
Ben Gamari
2013-07-07 21:24:13 -04:00
df400eced6Bump libopencm3
Ben Gamari
2013-07-07 21:08:57 -04:00
4822512dacBump libopencm3
Ben Gamari
2013-07-07 18:51:50 -04:00
a9f8103fechackrf_stop_rx: First set mode, then kill transfer thread
Ben Gamari
2013-07-06 19:21:12 -04:00
d30d7309d9usb_queue: Mark queues as volatile
Ben Gamari
2013-07-06 19:17:57 -04:00
36cf222ef4usb_queue: Add some interrupt disabling around critical sections
Ben Gamari
2013-07-06 19:17:38 -04:00
14526cd1c2hackrf_usb: Be more careful in transceiver_mode check
Ben Gamari
2013-07-06 19:15:17 -04:00
9f2dca3e4eusb_standard_request: Always call configuration_changed_cb
Ben Gamari
2013-07-06 17:01:12 -04:00
f12defebc6usb: Ensure endpoint queue is flushed on disable/init
Ben Gamari
2013-07-06 17:08:51 -04:00
8fdc22f8c8usb-queue: Add flush utility
Ben Gamari
2013-07-06 17:00:23 -04:00
969647dbefusb_queue: Update queue before calling completion callback
Ben Gamari
2013-07-05 11:15:23 -04:00
5a70772295usb_queue: Enable transfer chaining
Ben Gamari
2013-07-04 15:30:43 -04:00
3e3a57e3cehackrf_usb: Don't attempt to schedule transfers when OFF
Ben Gamari
2013-07-04 15:30:15 -04:00
abb0b3f928hackrf_usb: Forgotten initialization
Ben Gamari
2013-07-04 14:01:32 -04:00
dd81921650usb_queue: Reduce transfer_pool size
Ben Gamari
2013-07-04 13:36:25 -04:00
df97b6584bhackrf_usb: Port to usb_queue
Ben Gamari
2013-07-04 11:53:09 -04:00
b6f9a3699ausb_queue: Kill assert reference
Ben Gamari
2013-07-04 11:35:32 -04:00
63ce57b306usb_queue: Clarify comment
Ben Gamari
2013-07-04 11:26:22 -04:00
f1fc4a6d73usb_queue: Account for completion of multiple transfers
Ben Gamari
2013-07-03 19:11:26 -04:00
13589b8695usb_queue: Ensure fields get set
Ben Gamari
2013-07-03 18:14:15 -04:00
28fcb2a961usb_queue: Merge fill_in_transfer into schedule
Ben Gamari
2013-07-03 17:51:42 -04:00
1d9119fd8ausb: Ensure TERMINATE bit gets set
Ben Gamari
2013-07-03 17:48:55 -04:00
2ad4cbe087usb_queue: Fix calculation of transferred
Ben Gamari
2013-07-03 17:48:43 -04:00
f3a36d06fdusb_queue: Add new transfer after finding tail
Ben Gamari
2013-07-03 17:11:29 -04:00