From 130553bae078a5c761a16ce5c93a9fdb578dc558 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Thu, 29 Jan 2015 15:46:21 +0000 Subject: [PATCH 01/11] White space in preprocessor item only --- module_usb_audio/endpoint0/descriptors.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module_usb_audio/endpoint0/descriptors.h b/module_usb_audio/endpoint0/descriptors.h index 0ffe3c9b..8f1a9fc3 100644 --- a/module_usb_audio/endpoint0/descriptors.h +++ b/module_usb_audio/endpoint0/descriptors.h @@ -1831,7 +1831,7 @@ typedef struct // USB_Descriptor_Audio_MixerUnit_t Audio_MixerUnit; unsigned char configDesc_MixerUnit[MIXER_LENGTH]; #endif -#if defined (SPDIF_RX) || defined (ADAT_RX) +#if defined(SPDIF_RX) || defined(ADAT_RX) /* Interrupt EP */ USB_Descriptor_Endpoint_t Audio_Int_Endpoint; #endif From ea931680adb3bf90f211320ba5a62f9b2f363e8e Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Wed, 4 Mar 2015 15:56:01 +0000 Subject: [PATCH 02/11] Fixed trap when SPDIF_TX and ADAT_TX both enabled - caused by sharing clock block --- module_usb_audio/audio.xc | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/module_usb_audio/audio.xc b/module_usb_audio/audio.xc index 6929e9f5..8c5aea29 100755 --- a/module_usb_audio/audio.xc +++ b/module_usb_audio/audio.xc @@ -963,17 +963,20 @@ chanend ?c_config, chanend ?c) EnableBufferedPort(p_dsd_dac[i], 32); } #endif - +#ifdef ADAT_TX + /* Share SPDIF clk blk */ + configure_clock_src(clk_mst_spd, p_mclk_in); + configure_out_port_no_ready(p_adat_tx, clk_mst_spd, 0); + set_clock_fall_delay(clk_mst_spd, 7); +#ifndef SPDIF + start_clock(clk_mst_spd); +#endif +#endif /* Configure ADAT/SPDIF tx ports */ #ifdef SPDIF SpdifTransmitPortConfig(p_spdif_tx, clk_mst_spd, p_mclk_in); #endif -#ifdef ADAT_TX - configure_clock_src(clk_mst_spd, p_mclk_in); - configure_out_port_no_ready(p_adat_tx, clk_mst_spd, 0); - set_clock_fall_delay(clk_mst_spd, 7); - start_clock(clk_mst_spd); -#endif + /* Perform required CODEC/ADC/DAC initialisation */ AudioHwInit(c_config); From 389546a2b5e329acad60f78e1babbcb05c32d192 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Wed, 4 Mar 2015 15:59:52 +0000 Subject: [PATCH 03/11] Fixed hard-coded adat/mclk multiplier --- module_usb_audio/audio.xc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/module_usb_audio/audio.xc b/module_usb_audio/audio.xc index 8c5aea29..0ecb47f1 100755 --- a/module_usb_audio/audio.xc +++ b/module_usb_audio/audio.xc @@ -907,6 +907,7 @@ chanend ?c_config, chanend ?c) #ifdef ADAT_TX chan c_adat_out; unsigned adatSmuxMode = 0; + unsigned adatMultiple = 0; #endif unsigned curSamFreq = DEFAULT_FREQ; @@ -990,6 +991,7 @@ chanend ?c_config, chanend ?c) #ifdef ADAT_TX /* Calculate ADAT SMUX mode (1, 2, 4) */ adatSmuxMode = curSamFreq / 44100; + adatMultiple = mClk / 44100; #endif } else if ((MCLK_48 % curSamFreq) == 0) @@ -998,6 +1000,7 @@ chanend ?c_config, chanend ?c) #ifdef ADAT_TX /* Calculate ADAT SMUX mode (1, 2, 4) */ adatSmuxMode = curSamFreq / 48000; + adatMultiple = mClk / 48000; #endif } @@ -1147,7 +1150,7 @@ chanend ?c_config, chanend ?c) // adatSmuxMode = 1 for FS = 44K1 or 48K0 // = 2 for FS = 88K2 or 96K0 // = 4 for FS = 176K4 or 192K0 - outuint(c_adat_out, mClk/curSamFreq); + outuint(c_adat_out, adatMultiple); outuint(c_adat_out, adatSmuxMode); #endif command = deliver(c_mix_out, From 0796ecb86e3036e23e263b9f7d2cf2e84a9ec278 Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Wed, 4 Mar 2015 16:02:54 +0000 Subject: [PATCH 04/11] Changelog updates for 6.11.1 --- CHANGELOG.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 2a6666e1..c75d1dea 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,8 +1,9 @@ sc_usb_audio Change Log ======================= -HEAD ----- +6.11.1 +------ + - ADDED: ADAT transmit functionality, inclusing SMUX. See ADAT_TX and ADAT_TX_INDEX. - RESOLVED: Build issue with CODEC_MASTER (xCore is I2S slave) enabled - RESOLVED: Channel ordering issue in when TDM and CODEC_MASTER mode enabled - RESOLVED: DFU fails when SPDIF_RX enabled due to clock block being shared between SPDIF From a28fccdcb738d8450cef98bb8ff9a17403c799ac Mon Sep 17 00:00:00 2001 From: Ross Owen Date: Wed, 4 Mar 2015 16:10:04 +0000 Subject: [PATCH 05/11] xpd: Patched version number --- module_dfu/.cproject | 18 +++++++++++++++--- module_usb_audio/devicedefines.h | 2 +- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/module_dfu/.cproject b/module_dfu/.cproject index da068095..bb778c83 100644 --- a/module_dfu/.cproject +++ b/module_dfu/.cproject @@ -156,7 +156,11 @@