DSD ports now only enabled once - avoids issue with stop_clock and un-driven clock. ConfigAudioPortsWrapper() also simplified.

This commit is contained in:
Ross Owen
2014-07-14 14:51:13 +01:00
parent aaac508fca
commit 4d4c7b8f39
4 changed files with 47 additions and 91 deletions

View File

@@ -4,9 +4,6 @@
#include <xccompat.h>
#include "devicedefines.h"
void ConfigAudioPorts_dsd(unsigned int divide);
#ifdef __XC__
void ConfigAudioPorts(
#if (I2S_CHANS_DAC != 0) || (DSD_CHANS_DAC != 0)
@@ -61,19 +58,19 @@ void ConfigAudioPorts(
#ifdef __XC__
void ConfigAudioPortsWrapper(
#if (I2S_CHANS_DAC != 0)
buffered out port:32 p_i2s_dac[I2S_WIRES_DAC],
buffered out port:32 p_i2s_dac[], int numPortsDAC,
#endif
#if (I2S_CHANS_ADC != 0)
buffered in port:32 p_i2s_adc[I2S_WIRES_ADC],
buffered in port:32 p_i2s_adc[], int numPortsADC,
#endif
#if (I2S_CHANS_DAC != 0) || (I2S_CHANS_ADC != 0)
#ifndef CODEC_MASTER
buffered out port:32 p_lrclk,
buffered out port:32 ?p_lrclk,
buffered out port:32 p_bclk,
#else
in port p_lrclk,
in port ?p_lrclk,
in port p_bclk,
#endif
#endif
@@ -82,28 +79,26 @@ void ConfigAudioPortsWrapper(
void ConfigAudioPortsWrapper(
#if (I2S_CHANS_DAC != 0)
port p_i2s_dac[I2S_WIRES_DAC],
port p_i2s_dac[], int numPortsDAC,
#endif
#if (I2S_CHANS_ADC != 0)
port p_i2s_adc[I2S_WIRES_ADC],
port p_i2s_adc[], int numPortsADC,
#endif
#if (I2S_CHANS_DAC != 0) || (I2S_CHANS_ADC != 0)
#ifndef CODEC_MASTER
port p_lrclk,
port p_bclk,
#else
port p_lrclk,
port p_bclk,
#endif
#endif
unsigned int divide, unsigned int dsdMode);
#endif /* __XC__*/
#ifdef __XC__
void EnableBufferedPort(buffered out port:32 p, unsigned transferWidth);
#else
void EnableBufferedPort(port p, unsigned transferWidth);
#endif
#endif /* _AUDIOPORTS_H_ */