SPDIF_TX and XUA_DFU_EN changes for build

This commit is contained in:
xross
2018-01-04 09:54:04 +00:00
parent 2f9a89d716
commit e322010cf1
4 changed files with 25 additions and 30 deletions

View File

@@ -22,7 +22,7 @@
* CODEC configuration functions. * CODEC configuration functions.
*/ */
void XUA_AudioHub(chanend ?c_aud void XUA_AudioHub(chanend ?c_aud
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE) #if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
, chanend c_spdif_tx , chanend c_spdif_tx
#endif #endif
#if(defined(SPDIF_RX) || defined(ADAT_RX)) #if(defined(SPDIF_RX) || defined(ADAT_RX))

View File

@@ -299,13 +299,8 @@
/** /**
* @brief Enables SPDIF Tx. Default: 0 (Disabled) * @brief Enables SPDIF Tx. Default: 0 (Disabled)
*/ */
#ifndef SPDIF_TX #ifndef XUA_SPDIF_TX_EN
#define SPDIF_TX (0) #define XUA_SPDIF_TX_EN (0)
#endif
/* Tidy up old SPDIF usage */
#if defined(SPDIF_TX) && (SPDIF_TX == 0)
#undef SPDIF_TX
#endif #endif
/** /**

View File

@@ -1,6 +1,6 @@
/** /**
* @file audio.xc * @file xua_audiohub.xc
* @brief XMOS L1/L2 USB 2,0 Audio Reference Design. Audio Functions. * @brief XMOS USB 2.0 Audio Reference Design. Audio Functions.
* @author Ross Owen, XMOS Semiconductor Ltd * @author Ross Owen, XMOS Semiconductor Ltd
* *
* This thread handles I2S and pars an additional SPDIF Tx thread. It forwards samples to the SPDIF Tx thread. * This thread handles I2S and pars an additional SPDIF Tx thread. It forwards samples to the SPDIF Tx thread.
@@ -19,7 +19,7 @@
#include "audioports.h" #include "audioports.h"
#include "audiohw.h" #include "audiohw.h"
#include "mic_array_conf.h" #include "mic_array_conf.h"
#ifdef SPDIF_TX #if (XUA_SPDIF_TX_EN)
#include "SpdifTransmit.h" #include "SpdifTransmit.h"
#endif #endif
#ifdef ADAT_TX #ifdef ADAT_TX
@@ -103,7 +103,7 @@ unsigned dsdMode = DSD_MODE_OFF;
extern unsafe port p_mclk_in; extern unsafe port p_mclk_in;
extern in port p_mclk_in2; extern in port p_mclk_in2;
#ifdef SPDIF_TX #if (XUA_SPDIF_TX_EN)
extern buffered out port:32 p_spdif_tx; extern buffered out port:32 p_spdif_tx;
#endif #endif
@@ -816,7 +816,7 @@ unsigned static deliver(chanend ?c_out, chanend ?c_spd_out
/* Request digital data (with prefill) */ /* Request digital data (with prefill) */
outuint(c_dig_rx, 0); outuint(c_dig_rx, 0);
#endif #endif
#if defined(SPDIF_TX) && (NUM_USB_CHAN_OUT > 0) #if (XUA_SPDIF_TX_EN) && (NUM_USB_CHAN_OUT > 0)
outuint(c_spd_out, samplesOut[SPDIF_TX_INDEX]); /* Forward sample to S/PDIF Tx thread */ outuint(c_spd_out, samplesOut[SPDIF_TX_INDEX]); /* Forward sample to S/PDIF Tx thread */
unsigned sample = samplesOut[SPDIF_TX_INDEX + 1]; unsigned sample = samplesOut[SPDIF_TX_INDEX + 1];
outuint(c_spd_out, sample); /* Forward sample to S/PDIF Tx thread */ outuint(c_spd_out, sample); /* Forward sample to S/PDIF Tx thread */
@@ -1023,7 +1023,7 @@ unsigned static deliver(chanend ?c_out, chanend ?c_spd_out
return 0; return 0;
} }
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE) #if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
void SpdifTxWrapper(chanend c_spdif_tx) void SpdifTxWrapper(chanend c_spdif_tx)
{ {
unsigned portId; unsigned portId;
@@ -1102,7 +1102,7 @@ static void dummy_deliver(chanend ?c_out, unsigned &command)
} }
void XUA_AudioHub(chanend ?c_mix_out void XUA_AudioHub(chanend ?c_mix_out
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE) #if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
chanend c_spdif_out, chanend c_spdif_out,
#endif #endif
#if (defined(ADAT_RX) || defined(SPDIF_RX)) #if (defined(ADAT_RX) || defined(SPDIF_RX))
@@ -1116,7 +1116,7 @@ chanend c_dig_rx,
#endif #endif
) )
{ {
#if defined (SPDIF_TX) && (SPDIF_TX_TILE == AUDIO_IO_TILE) #if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE == AUDIO_IO_TILE)
chan c_spdif_out; chan c_spdif_out;
#endif #endif
#ifdef ADAT_TX #ifdef ADAT_TX
@@ -1155,12 +1155,12 @@ chanend c_dig_rx,
configure_clock_src(clk_mst_spd, p_mclk_in); configure_clock_src(clk_mst_spd, p_mclk_in);
configure_out_port_no_ready(p_adat_tx, clk_mst_spd, 0); configure_out_port_no_ready(p_adat_tx, clk_mst_spd, 0);
set_clock_fall_delay(clk_mst_spd, 7); set_clock_fall_delay(clk_mst_spd, 7);
#ifndef SPDIF_TX #if (XUA_SPDIF_TX_EN == 0)
start_clock(clk_mst_spd); start_clock(clk_mst_spd);
#endif #endif
#endif #endif
/* Configure ADAT/SPDIF tx ports */ /* Configure ADAT/SPDIF tx ports */
#if defined(SPDIF_TX) && (SPDIF_TX_TILE == AUDIO_IO_TILE) #if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE == AUDIO_IO_TILE)
SpdifTransmitPortConfig(p_spdif_tx, clk_mst_spd, p_mclk_in); SpdifTransmitPortConfig(p_spdif_tx, clk_mst_spd, p_mclk_in);
#endif #endif
@@ -1307,7 +1307,7 @@ chanend c_dig_rx,
par par
{ {
#if defined(SPDIF_TX) && (SPDIF_TX_TILE == AUDIO_IO_TILE) #if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE == AUDIO_IO_TILE)
{ {
set_thread_fast_mode_on(); set_thread_fast_mode_on();
SpdifTransmit(p_spdif_tx, c_spdif_out); SpdifTransmit(p_spdif_tx, c_spdif_out);
@@ -1321,7 +1321,7 @@ chanend c_dig_rx,
} }
#endif #endif
{ {
#ifdef SPDIF_TX #if (XUA_SPDIF_TX_EN)
/* Communicate master clock and sample freq to S/PDIF thread */ /* Communicate master clock and sample freq to S/PDIF thread */
outuint(c_spdif_out, curSamFreq); outuint(c_spdif_out, curSamFreq);
outuint(c_spdif_out, mClk); outuint(c_spdif_out, mClk);
@@ -1346,7 +1346,7 @@ chanend c_dig_rx,
outuint(c_adat_out, adatSmuxMode); outuint(c_adat_out, adatSmuxMode);
#endif #endif
command = deliver(c_mix_out command = deliver(c_mix_out
#ifdef SPDIF_TX #if (XUA_SPDIF_TX_EN)
, c_spdif_out , c_spdif_out
#else #else
, null , null
@@ -1412,7 +1412,7 @@ chanend c_dig_rx,
#endif /* NO_USB */ #endif /* NO_USB */
#ifdef SPDIF_TX #if (XUA_SPDIF_TX_EN)
/* Notify S/PDIF task of impending new freq... */ /* Notify S/PDIF task of impending new freq... */
outct(c_spdif_out, XS1_CT_END); outct(c_spdif_out, XS1_CT_END);
#endif #endif

View File

@@ -1,5 +1,5 @@
#include "xua.h" /* Device specific defines */ #include "xua.h" /* Device specific defines */
#ifndef EXCLUDE_USB_AUDIO_MAIN #ifndef EXCLUDE_USB_AUDIO_MAIN
/** /**
@@ -137,7 +137,7 @@ unsafe
on tile[XUD_TILE] : in port p_for_mclk_count = PORT_MCLK_COUNT; on tile[XUD_TILE] : in port p_for_mclk_count = PORT_MCLK_COUNT;
#endif #endif
#ifdef SPDIF_TX #if (XUA_SPDIF_TX_EN == 1)
on tile[SPDIF_TX_TILE] : buffered out port:32 p_spdif_tx = PORT_SPDIF_OUT; on tile[SPDIF_TX_TILE] : buffered out port:32 p_spdif_tx = PORT_SPDIF_OUT;
#endif #endif
@@ -423,7 +423,7 @@ VENDOR_REQUESTS_PARAMS_DEC_
#endif /* NO_USB */ #endif /* NO_USB */
void usb_audio_io(chanend ?c_aud_in, chanend ?c_adc, void usb_audio_io(chanend ?c_aud_in, chanend ?c_adc,
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE) #if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
chanend c_spdif_tx, chanend c_spdif_tx,
#endif #endif
#ifdef MIXER #ifdef MIXER
@@ -433,7 +433,7 @@ void usb_audio_io(chanend ?c_aud_in, chanend ?c_adc,
chanend ?c_adat_rx, chanend ?c_adat_rx,
chanend ?c_clk_ctl, chanend ?c_clk_ctl,
chanend ?c_clk_int chanend ?c_clk_int
#if (XUD_TILE != 0) && (AUDIO_IO_TILE == 0) #if (XUD_TILE != 0) && (AUDIO_IO_TILE == 0) && (XUA_DFU_EN == 1)
, server interface i_dfu ?dfuInterface , server interface i_dfu ?dfuInterface
#endif #endif
#if (NUM_PDM_MICS > 0) #if (NUM_PDM_MICS > 0)
@@ -469,7 +469,7 @@ void usb_audio_io(chanend ?c_aud_in, chanend ?c_adc,
#define AUDIO_CHANNEL c_aud_in #define AUDIO_CHANNEL c_aud_in
#endif #endif
XUA_AudioHub(AUDIO_CHANNEL XUA_AudioHub(AUDIO_CHANNEL
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE) #if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
c_spdif_tx, c_spdif_tx,
#endif #endif
#if defined(SPDIF_RX) || defined(ADAT_RX) #if defined(SPDIF_RX) || defined(ADAT_RX)
@@ -545,7 +545,7 @@ int main()
#define c_adat_rx null #define c_adat_rx null
#endif #endif
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE) #if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
chan c_spdif_tx; chan c_spdif_tx;
#endif #endif
@@ -617,7 +617,7 @@ int main()
p_mclk_in = p_mclk_in_; p_mclk_in = p_mclk_in_;
} }
usb_audio_io(c_mix_out, c_adc usb_audio_io(c_mix_out, c_adc
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE) #if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
, c_spdif_tx , c_spdif_tx
#endif #endif
#ifdef MIXER #ifdef MIXER
@@ -633,7 +633,7 @@ int main()
); );
} }
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE) #if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
on tile[SPDIF_TX_TILE]: on tile[SPDIF_TX_TILE]:
{ {
thread_speed(); thread_speed();