Commit Graph

87 Commits

Author SHA1 Message Date
Ross Owen
86faae8890 Removed the extra I2S input code. TDM and I2S port input code now shared. 2014-11-27 18:15:04 +00:00
Ross Owen
673946b028 Standard I2S mode up and running again. Still needs more generalisation. 2014-11-27 17:58:07 +00:00
Ross Owen
a6fdb9b22a Digital RX channels sent over in a separate loop in DoSampleTransfer(). Only I2S channels double buffered. 2014-11-27 17:57:28 +00:00
Ross Owen
dbbeddff03 Removed unused debug vars 2014-11-27 12:44:54 +00:00
Ross Owen
3ffbc99456 DoSampleTransfer now takes readBuffNo rather than actual buffer. Now two separate In buffers (was 2D array). Attempts to help compiler. 2014-11-27 12:44:39 +00:00
Ross Owen
69f8e83cc7 TDM code made a bit more generic. Fixed issue with multiple TDM input lines missing channels. 2014-11-20 17:28:48 +00:00
Ross Owen
d26f478835 Introduced second input buffer to take up sample delay on last TDM channel. 2014-11-19 18:03:53 +00:00
Ross Owen
8d6ef4d1d4 Simplified TDM buffer to reduce copying. 2014-11-19 15:52:37 +00:00
Ross Owen
2b85adc01d Simple TDM buffer added to sort channel delay issue. 2014-11-19 14:39:07 +00:00
Ross Owen
c82ddb5726 LRClk startup a bit nicer (was double high) 2014-11-13 15:51:10 +00:00
Ross Owen
6f0bf1e2e2 First cut TDM input 2014-11-10 18:36:51 +00:00
Ross Owen
33d2cbd538 TDM clock div tidied up 2014-11-10 18:36:38 +00:00
Ross Owen
c08e4fc5d1 TDM clock div tidied up 2014-11-10 18:36:20 +00:00
Ross Owen
925ecc631b First cut TDM implementation added 2014-11-07 12:24:16 +00:00
Ross Owen
dc84486239 Port init pulled out to a function 2014-11-07 10:42:22 +00:00
Ross Owen
743a4564f6 Added DoSampleTransfer() function and updated comments 2014-11-06 23:57:45 +00:00
Ross Owen
3c34a1c3c0 Updated I2S init and loop ordering to attempt to fix sample offset 2014-11-06 23:21:52 +00:00
Ross Owen
c25f6b5589 Initial removal of samplesInPrev buffer in deliver 2014-10-31 10:48:31 +00:00
Ross Owen
730c043ad5 I2S input operations now in ASM due to compiler adding extra setc instructions. Performance opt only (Compiler bug #15256) 2014-10-28 12:08:32 +00:00
Ross Owen
085c444f40 xpd: Cleaned up whitespace 2014-09-19 13:14:55 +01:00
Ross Owen
92ea5e492a Moved digital channel transfer to help I2S timings (24.576 MCLK not working previously) 2014-09-19 11:23:34 +01:00
Ross Owen
1a20175b01 Fixed build issue with c_dig_rx 2014-09-19 11:22:11 +01:00
Ross Owen
cc4165e57b c_dig_rx is no longer nullable (helps with timing due to issue with compiler checks) 2014-09-18 11:50:08 +01:00
Ross Owen
3848bddcc9 Re-enabled digi sample transfer in audio.xc 2014-07-29 12:28:20 +01:00
Ross Owen
9be1ef8d70 xpd: Cleaned up whitespace 2014-07-15 12:12:23 +01:00
Ross Owen
4d4c7b8f39 DSD ports now only enabled once - avoids issue with stop_clock and un-driven clock. ConfigAudioPortsWrapper() also simplified. 2014-07-14 14:51:13 +01:00
Ross Owen
192b263d76 Fix to master mode input LR swap 2014-05-29 13:53:38 +01:00
Ross Owen
d7f0cdd4be Potential fixes to master mode 2014-05-27 15:31:32 +01:00
Ross Owen
ccf7c66588 Sample shift up after volume macs no longer done in audio(). Now done in mixer(). This allows lower bits to be properly retained for 32bit (and DSD native) 2014-05-20 17:18:01 +01:00
Ross Owen
8966f5db59 xpd: Cleaned up whitespace 2014-04-14 14:00:43 +01:00
Ross Owen
671552767d Audio core now takes SET_STREAM_FORMAT_OUT command (rather than SET_DSD_MODE). It also accepts a sample resolution where appropriate. Deliver() also now has single return value. 2014-04-10 11:57:22 +01:00
Ross Owen
1b78f3f861 Temp removed interaction between audio() and clockgen() 2014-03-28 12:20:39 +00:00
Ross Owen
bbd02f157f Fixed SPDIF build issue 2014-01-27 16:28:43 +00:00
Ross Owen
f495005396 Removed unused var and func warnings. 2014-01-27 16:23:54 +00:00
Ross Owen
b2660cf04e Another crack the the master mode LR swap issue. 2014-01-23 17:59:26 +00:00
Ross Owen
ede82cd818 Attempt to fix up CODEC_MASTER output LR swap (introduced when input init made more robust) 2014-01-23 12:37:25 +00:00
Ross Owen
cfe9f508f1 Removed old README and comment only 2014-01-22 16:09:37 +00:00
Ross Owen
062e06df97 Improved the robustness of ADC I2S data port init in MASTER_CODEC mode 2014-01-22 15:59:56 +00:00
dan
98b3bdba95 added toplevel makefile for xpd 2014-01-22 11:00:41 +00:00
Ross Owen
e82bae44ad Moved initial bclk setting high to before ADC clrbuff. 2014-01-21 12:47:05 +00:00
Ross Owen
fa78990f12 Comment only 2014-01-21 12:38:46 +00:00
Ross Owen
8712acb539 deliver thread no longer waits for AUDIO_PLL_LOCK_DELAY - this was causing pop issues on rate change as DAC has mclk but no bclk/lrclk. This seems to cause issues. This delay now added to audio SF change in EP0 for safety. Related to BUG #14769 2014-01-20 18:13:54 +00:00
Ross Owen
e53de21f7a DSD native mode now outputs mute pattern on invalid freq. Previously only output clks. Helps with pop issue when changing pcm/dsd versions in foobar. (BUG #14769) 2014-01-20 18:11:50 +00:00
Ross Owen
0da282dd1c deliver now sets bclk/dsd clk initial high. This was previously done in port config. 2014-01-20 18:10:14 +00:00
Ross Owen
7c4b7a702b Removed debug #error 2014-01-16 17:56:45 +00:00
Ross Owen
1022f7d5c6 Fixed build issue when CODEC_MASTER defined (BUG #15162) 2014-01-16 17:31:28 +00:00
Ross Owen
70276c3237 Fixed build issue when NUM_USB_CHAN_IN or NUM_USB_CHAN_OUT set to 0 and MIXER set to 1 (#15096) 2014-01-15 17:22:28 +00:00
Ross Owen
1fa6e99473 Conflicted merge in mixer 2013-12-12 11:50:32 +00:00
Richard Osborne
577b5f500d Make functions static where possible, no intended functionality change.
This saves 208 bytes.
2013-12-09 18:09:18 +00:00
Ross Owen
1ce3c74ebc Deliver to/from mixer comms fixed up for new underflow protocol 2013-12-09 15:49:50 +00:00